Lines Matching defs:LowOverheadLoop
360 struct LowOverheadLoop { struct
362 MachineLoop &ML;
363 MachineBasicBlock *Preheader = nullptr;
364 MachineLoopInfo &MLI;
365 ReachingDefAnalysis &RDA;
366 const TargetRegisterInfo &TRI;
367 const ARMBaseInstrInfo &TII;
368 MachineFunction *MF = nullptr;
369 MachineBasicBlock::iterator StartInsertPt;
370 MachineBasicBlock *StartInsertBB = nullptr;
371 MachineInstr *Start = nullptr;
372 MachineInstr *Dec = nullptr;
373 MachineInstr *End = nullptr;
374 MachineOperand TPNumElements;
375 SmallVector<MachineInstr *, 4> VCTPs;
376 SmallPtrSet<MachineInstr *, 4> ToRemove;
377 SmallPtrSet<MachineInstr *, 4> BlockMasksToRecompute;
378 SmallPtrSet<MachineInstr *, 4> DoubleWidthResultInstrs;
379 SmallPtrSet<MachineInstr *, 4> VMOVCopies;
380 bool Revert = false;
381 bool CannotTailPredicate = false;
383 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop() function
401 void AnalyseMVEInst(MachineInstr *MI) { in AnalyseMVEInst()
405 bool IsTailPredicationLegal() const { in IsTailPredicationLegal()
434 bool FoundAllComponents() const { in FoundAllComponents()
438 SmallVectorImpl<VPTState> &getVPTBlocks() { in getVPTBlocks()
444 MachineOperand &getLoopStartOperand() { in getLoopStartOperand()
450 unsigned getStartOpcode() const { in getStartOpcode()
458 void dump() const { in dump()