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