Lines Matching defs:LowOverheadLoop
356 struct LowOverheadLoop { struct
358 MachineLoop &ML;
359 MachineBasicBlock *Preheader = nullptr;
360 MachineLoopInfo &MLI;
361 ReachingDefAnalysis &RDA;
362 const TargetRegisterInfo &TRI;
363 const ARMBaseInstrInfo &TII;
364 MachineFunction *MF = nullptr;
365 MachineBasicBlock::iterator StartInsertPt;
366 MachineBasicBlock *StartInsertBB = nullptr;
367 MachineInstr *Start = nullptr;
368 MachineInstr *Dec = nullptr;
369 MachineInstr *End = nullptr;
370 MachineOperand TPNumElements;
371 SmallVector<MachineInstr*, 4> VCTPs;
372 SmallPtrSet<MachineInstr*, 4> ToRemove;
373 SmallPtrSet<MachineInstr*, 4> BlockMasksToRecompute;
374 bool Revert = false;
375 bool CannotTailPredicate = false;
377 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop() argument
395 void AnalyseMVEInst(MachineInstr *MI) { in AnalyseMVEInst()
399 bool IsTailPredicationLegal() const { in IsTailPredicationLegal()
428 bool FoundAllComponents() const { in FoundAllComponents()
432 SmallVectorImpl<VPTState> &getVPTBlocks() { in getVPTBlocks()
438 MachineOperand &getLoopStartOperand() { in getLoopStartOperand()
444 unsigned getStartOpcode() const { in getStartOpcode()
452 void dump() const { in dump()