| /freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/ |
| H A D | MachineLoopInfo.h | 44 class MachineLoop; variable 45 extern template class LoopBase<MachineBasicBlock, MachineLoop>; 47 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> { 93 friend class LoopInfoBase<MachineBasicBlock, MachineLoop>; 98 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function 99 : LoopBase<MachineBasicBlock, MachineLoop>(MBB) {} in MachineLoop() 101 MachineLoop() = default; 106 LoopInfoBase<MachineBasicBlock, MachineLoop>; 108 class MachineLoopInfo : public LoopInfoBase<MachineBasicBlock, MachineLoop> { 109 friend class LoopBase<MachineBasicBlock, MachineLoop>; [all …]
|
| H A D | ModuloSchedule.h | 73 class MachineLoop; variable 83 MachineLoop *Loop; 107 ModuloSchedule(MachineFunction &MF, MachineLoop *Loop, in ModuloSchedule() 120 MachineLoop *getLoop() const { return Loop; } in getLoop() 442 static bool canApply(MachineLoop &L);
|
| H A D | WindowScheduler.h | 66 MachineLoop &Loop; 107 WindowScheduler(MachineSchedContext *C, MachineLoop &ML);
|
| H A D | MachinePipeliner.h | 109 bool canPipelineLoop(MachineLoop &L); 110 bool scheduleLoop(MachineLoop &L); 111 bool swingModuloScheduler(MachineLoop &L); 112 void setPragmaPipelineOptions(MachineLoop &L); 113 bool runWindowScheduler(MachineLoop &L); 285 MachineLoop &Loop; 375 SwingSchedulerDAG(MachinePipeliner &P, MachineLoop &L, LiveIntervals &lis, in SwingSchedulerDAG()
|
| H A D | MachineTraceMetrics.h | 63 class MachineLoop; variable 363 const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
|
| H A D | MachineRegionInfo.h | 41 using LoopT = MachineLoop;
|
| /freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
| H A D | MachineLoopInfo.cpp | 32 llvm::LoopBase<MachineBasicBlock, MachineLoop>; 34 llvm::LoopInfoBase<MachineBasicBlock, MachineLoop>; 92 MachineBasicBlock *MachineLoop::getTopBlock() { in getTopBlock() 107 MachineBasicBlock *MachineLoop::getBottomBlock() { in getBottomBlock() 122 MachineBasicBlock *MachineLoop::findLoopControlBlock() const { in findLoopControlBlock() 132 DebugLoc MachineLoop::getStartLoc() const { in getStartLoc() 149 MachineLoopInfo::findLoopPreheader(MachineLoop *L, bool SpeculativePreheader, in findLoopPreheader() 177 MachineLoop *T = getLoopFor(S); in findLoopPreheader() 185 MDNode *MachineLoop::getLoopID() const { in getLoopID() 216 bool MachineLoop::isLoopInvariantImplicitPhysReg(Register Reg) const { in isLoopInvariantImplicitPhysReg() [all …]
|
| H A D | MachineLICM.cpp | 144 SmallDenseMap<MachineLoop *, bool> AllowedToHoistLoads; 147 DenseMap<MachineLoop *, SmallVector<MachineBasicBlock *, 8>> ExitBlockMap; 149 bool isExitBlock(MachineLoop *CurLoop, const MachineBasicBlock *MBB) { in isExitBlock() 217 void HoistRegionPostRA(MachineLoop *CurLoop); 219 void HoistPostRA(MachineInstr *MI, Register Def, MachineLoop *CurLoop); 224 MachineLoop *CurLoop); 226 void AddToLiveIns(MCRegister Reg, MachineLoop *CurLoop); 228 bool IsLICMCandidate(MachineInstr &I, MachineLoop *CurLoop); 230 bool IsLoopInvariantInst(MachineInstr &I, MachineLoop *CurLoop); 232 bool HasLoopPHIUse(const MachineInstr *MI, MachineLoop *CurLoop); [all …]
|
| H A D | MachineTraceMetrics.cpp | 181 const MachineLoop* 317 static bool isExitingLoop(const MachineLoop *From, const MachineLoop *To) { in isExitingLoop() 357 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred() 385 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc() 507 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(*From)) { in insertEdge() 644 const MachineLoop *Loop = getLoopFor(MBB); in verify() 652 const MachineLoop *Loop = getLoopFor(MBB); in verify() 653 const MachineLoop *SuccLoop = getLoopFor(TBI.Succ); in verify() 1106 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
|
| H A D | MachineBlockPlacement.cpp | 559 const MachineLoop &L, 561 MachineBasicBlock *findBestLoopTop(const MachineLoop &L, 563 MachineBasicBlock *findBestLoopExit(const MachineLoop &L, 566 BlockFilterSet collectLoopBlockSet(const MachineLoop &L); 567 void buildLoopChains(const MachineLoop &L); 570 void rotateLoopWithProfile(BlockChain &LoopChain, const MachineLoop &L, 2168 MachineBasicBlock *OldTop, const MachineLoop &L, in findBestLoopTopHelper() 2236 MachineBlockPlacement::findBestLoopTop(const MachineLoop &L, in findBestLoopTop() 2265 MachineBlockPlacement::findBestLoopExit(const MachineLoop &L, in findBestLoopExit() 2326 if (MachineLoop *ExitLoop = MLI->getLoopFor(Succ)) { in findBestLoopExit() [all …]
|
| H A D | RegAllocGreedy.h | 52 class MachineLoop; variable 440 RAGreedyStats reportStats(MachineLoop *L);
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
| H A D | PPCCTRLoops.cpp | 71 bool processLoop(MachineLoop *ML); 73 void expandNormalLoops(MachineLoop *ML, MachineInstr *Start, 75 void expandCTRLoops(MachineLoop *ML, MachineInstr *Start, MachineInstr *Dec); 140 bool PPCCTRLoops::processLoop(MachineLoop *ML) { in processLoop() 144 for (MachineLoop *I : *ML) in processLoop() 234 void PPCCTRLoops::expandNormalLoops(MachineLoop *ML, MachineInstr *Start, in expandNormalLoops() 310 void PPCCTRLoops::expandCTRLoops(MachineLoop *ML, MachineInstr *Start, in expandCTRLoops()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblySortRegion.h | 24 class MachineLoop; variable 67 DenseMap<const MachineLoop *, std::unique_ptr<SortRegion>> LoopMap; 83 MachineBasicBlock *getBottom(const MachineLoop *ML);
|
| H A D | WebAssemblySortRegion.cpp | 11 bool ConcreteSortRegion<MachineLoop>::isLoop() const { in isLoop() 33 It->second = std::make_unique<ConcreteSortRegion<MachineLoop>>(ML); in getRegionFor() 52 MachineBasicBlock *SortRegionInfo::getBottom(const MachineLoop *ML) { in getBottom()
|
| H A D | WebAssemblyCFGSort.cpp | 198 if (MachineLoop *L = MLI.getLoopFor(&MBB)) in sortBlocks() 245 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in sortBlocks()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMBlockPlacement.cpp | 45 bool fixBackwardsWLS(MachineLoop *ML); 46 bool processPostOrderLoops(MachineLoop *ML); 76 static MachineInstr *findWLS(MachineLoop *ML) { in findWLS() 154 bool ARMBlockPlacement::fixBackwardsWLS(MachineLoop *ML) { in fixBackwardsWLS() 206 bool ARMBlockPlacement::processPostOrderLoops(MachineLoop *ML) { in processPostOrderLoops()
|
| H A D | MVETPAndVPTOptimisationsPass.cpp | 71 bool LowerWhileLoopStart(MachineLoop *ML); 72 bool MergeLoopEnd(MachineLoop *ML); 73 bool ConvertTailPredLoop(MachineLoop *ML, MachineDominatorTree *DT); 110 static bool findLoopComponents(MachineLoop *ML, MachineRegisterInfo *MRI, in findLoopComponents() 227 bool MVETPAndVPTOptimisations::LowerWhileLoopStart(MachineLoop *ML) { in LowerWhileLoopStart() 318 bool MVETPAndVPTOptimisations::MergeLoopEnd(MachineLoop *ML) { in MergeLoopEnd() 436 bool MVETPAndVPTOptimisations::ConvertTailPredLoop(MachineLoop *ML, in ConvertTailPredLoop() 1074 for (MachineLoop *ML : MLI->getLoopsInPreorder()) { in runOnMachineFunction()
|
| H A D | ARMLowOverheadLoops.cpp | 127 MachineLoop &ML; 133 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal() 363 MachineLoop &ML; 385 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop() 500 bool ProcessLoop(MachineLoop *ML); 1062 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate() 1121 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) { in ValidateMVEStore() 1311 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop() 1315 for (MachineLoop *L : *ML) in ProcessLoop()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
| H A D | HexagonHardwareLoops.cpp | 176 bool findInductionRegister(MachineLoop *L, Register &Reg, 188 CountValue *getLoopTripCount(MachineLoop *L, 198 CountValue *computeCount(MachineLoop *Loop, const MachineOperand *Start, 209 bool containsInvalidInstruction(MachineLoop *L, bool IsInnerHWLoop) const; 213 bool convertToHardwareLoop(MachineLoop *L, bool &L0used, bool &L1used); 231 bool isLoopFeeder(MachineLoop *L, MachineBasicBlock *A, MachineInstr *MI, 238 MachineBasicBlock *MBB, MachineLoop *L, 245 MachineBasicBlock *MBB, MachineLoop *L, 291 bool fixupInductionVariable(MachineLoop *L); 295 MachineBasicBlock *createPreheaderForLoop(MachineLoop *L); [all …]
|
| H A D | HexagonEarlyIfConv.cpp | 170 bool matchFlowPattern(MachineBasicBlock *B, MachineLoop *L, 172 bool visitBlock(MachineBasicBlock *B, MachineLoop *L); 173 bool visitLoop(MachineLoop *L); 227 MachineLoop *L = MLI->getLoopFor(SB); in isPreheader() 232 MachineLoop *L, FlowPattern &FP) { in matchFlowPattern() 591 MachineLoop *L) { in visitBlock() 635 bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) { in visitLoop() 642 for (MachineLoop *I : *L) in visitLoop() 1059 for (MachineLoop *L : *MLI) in runOnMachineFunction()
|
| H A D | HexagonSplitDouble.cpp | 87 using LoopRegMap = std::map<const MachineLoop *, USet>; 97 void collectIndRegsForLoop(const MachineLoop *L, USet &Rs); 447 const MachineLoop *L = MLI->getLoopFor(PB); in isProfitable() 468 void HexagonSplitDoubleRegs::collectIndRegsForLoop(const MachineLoop *L, in collectIndRegsForLoop() 565 using LoopVector = std::vector<MachineLoop *>; in collectIndRegs() 574 for (MachineLoop *L : WorkQ) { in collectIndRegs()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
| H A D | R600MachineCFGStructurizer.cpp | 91 using LoopLandInfoMap = std::map<MachineLoop *, MachineBasicBlock *>; 168 for (const MachineLoop *L : LoopInfo) in PrintLoopinfo() 174 MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const; 240 int mergeLoop(MachineLoop *LoopRep); 280 MachineBasicBlock *normalizeInfiniteLoopExit(MachineLoop *LoopRep); 305 std::map<MachineLoop *, bool> Visited; 321 MachineBasicBlock *R600MachineCFGStructurizer::getLoopLandInfo(MachineLoop *LoopRep) in getLoopLandInfo() 330 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge() 345 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead() 684 for (MachineLoop *LoopRep : *MLI) { in prepare() [all …]
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
| H A D | SystemZMachineScheduler.cpp | 41 const MachineLoop *Loop) { in getSingleSchedPred() 89 LLVM_DEBUG(const MachineLoop *Loop = MLI->getLoopFor(MBB); in enterMBB()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
| H A D | AArch64FalkorHWPFFix.cpp | 195 void runOnLoop(MachineLoop &L, MachineFunction &Fn); 669 void FalkorHWPFFix::runOnLoop(MachineLoop &L, MachineFunction &Fn) { in runOnLoop() 822 for (MachineLoop *I : LI) in runOnMachineFunction() 823 for (MachineLoop *L : depth_first(I)) in runOnMachineFunction()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
| H A D | X86CmovConversion.cpp | 237 SmallVector<MachineLoop *, 4> Loops(MLI->begin(), MLI->end()); in runOnMachineFunction() 243 for (MachineLoop *CurrLoop : Loops) { in runOnMachineFunction() 881 if (MachineLoop *L = MLI->getLoopFor(MBB)) { in convertCmovInstsToBranches()
|