Lines Matching defs:LowOverheadLoop
353 struct LowOverheadLoop { struct
355 MachineLoop &ML;
356 MachineBasicBlock *Preheader = nullptr;
357 MachineLoopInfo &MLI;
358 ReachingDefAnalysis &RDA;
359 const TargetRegisterInfo &TRI;
360 const ARMBaseInstrInfo &TII;
361 MachineFunction *MF = nullptr;
362 MachineBasicBlock::iterator StartInsertPt;
363 MachineBasicBlock *StartInsertBB = nullptr;
364 MachineInstr *Start = nullptr;
365 MachineInstr *Dec = nullptr;
366 MachineInstr *End = nullptr;
367 MachineOperand TPNumElements;
368 SmallVector<MachineInstr*, 4> VCTPs;
369 SmallPtrSet<MachineInstr*, 4> ToRemove;
370 SmallPtrSet<MachineInstr*, 4> BlockMasksToRecompute;
371 bool Revert = false;
372 bool CannotTailPredicate = false;
374 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop() function
392 void AnalyseMVEInst(MachineInstr *MI) { in AnalyseMVEInst()
396 bool IsTailPredicationLegal() const { in IsTailPredicationLegal()
425 bool FoundAllComponents() const { in FoundAllComponents()
429 SmallVectorImpl<VPTState> &getVPTBlocks() { in getVPTBlocks()
435 MachineOperand &getLoopStartOperand() { in getLoopStartOperand()
441 unsigned getStartOpcode() const { in getStartOpcode()
449 void dump() const { in dump()