Home
last modified time | relevance | path

Searched refs:MachineLoop (Results 1 – 25 of 49) sorted by relevance

12

/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h42 class MachineLoop; variable
45 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
89 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
92 MachineLoop() = default;
101 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
175 inline void changeTopLevelLoop(MachineLoop *OldLoop, MachineLoop *NewLoop) { in changeTopLevelLoop()
180 inline void addTopLevelLoop(MachineLoop *New) { in addTopLevelLoop()
193 template <> struct GraphTraits<const MachineLoop*> {
194 using NodeRef = const MachineLoop *;
202 template <> struct GraphTraits<MachineLoop*> {
[all …]
H A DModuloSchedule.h73 class MachineLoop; variable
83 MachineLoop *Loop;
107 ModuloSchedule(MachineFunction &MF, MachineLoop *Loop, in ModuloSchedule()
120 MachineLoop *getLoop() const { return Loop; } in getLoop()
H A DMachinePipeliner.h106 bool canPipelineLoop(MachineLoop &L);
107 bool scheduleLoop(MachineLoop &L);
108 bool swingModuloScheduler(MachineLoop &L);
109 void setPragmaPipelineOptions(MachineLoop &L);
122 MachineLoop &Loop;
204 SwingSchedulerDAG(MachinePipeliner &P, MachineLoop &L, LiveIntervals &lis, in SwingSchedulerDAG()
H A DMachineTraceMetrics.h62 class MachineLoop; variable
354 const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
H A DMachineRegionInfo.h41 using LoopT = MachineLoop;
/freebsd-14.2/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineLoopInfo.cpp30 template class llvm::LoopBase<MachineBasicBlock, MachineLoop>;
31 template class llvm::LoopInfoBase<MachineBasicBlock, MachineLoop>;
61 MachineBasicBlock *MachineLoop::getTopBlock() { in getTopBlock()
76 MachineBasicBlock *MachineLoop::getBottomBlock() { in getBottomBlock()
91 MachineBasicBlock *MachineLoop::findLoopControlBlock() const { in findLoopControlBlock()
101 DebugLoc MachineLoop::getStartLoc() const { in getStartLoc()
118 MachineLoopInfo::findLoopPreheader(MachineLoop *L, bool SpeculativePreheader, in findLoopPreheader()
146 MachineLoop *T = getLoopFor(S); in findLoopPreheader()
154 MDNode *MachineLoop::getLoopID() const { in getLoopID()
201 bool MachineLoop::isLoopInvariant(MachineInstr &I) const { in isLoopInvariant()
[all …]
H A DMachineLICM.cpp220 void HoistRegionPostRA(MachineLoop *CurLoop,
229 MachineLoop *CurLoop);
288 MachineLoop *CurLoop);
386 MachineLoop *CurLoop = Worklist.pop_back_val(); in INITIALIZE_PASS_DEPENDENCY()
432 MachineLoop *CurLoop) { in ProcessMI()
536 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegionPostRA()
627 MachineLoop *CurLoop, in HoistPostRA()
751 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistOutOfLoop()
802 SmallVector<MachineLoop *> InnerLoopWorkList; in HoistOutOfLoop()
1365 SmallVector<MachineLoop *, 8> LoopsInPreOrder; in InitializeLoadsHoistableLoops()
[all …]
H A DMachineTraceMetrics.cpp167 const MachineLoop*
303 static bool isExitingLoop(const MachineLoop *From, const MachineLoop *To) { in isExitingLoop()
343 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred()
371 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc()
478 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(*From)) { in insertEdge()
615 const MachineLoop *Loop = getLoopFor(MBB); in verify()
623 const MachineLoop *Loop = getLoopFor(MBB); in verify()
624 const MachineLoop *SuccLoop = getLoopFor(TBI.Succ); in verify()
1078 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
H A DMachineBlockPlacement.cpp532 const MachineLoop &L, const BlockFilterSet &LoopBlockSet,
534 BlockFilterSet collectLoopBlockSet(const MachineLoop &L);
535 void buildLoopChains(const MachineLoop &L);
540 BlockChain &LoopChain, const MachineLoop &L,
2077 const MachineLoop &L, in findBestLoopTopHelper()
2145 MachineBlockPlacement::findBestLoopTop(const MachineLoop &L, in findBestLoopTop()
2237 if (MachineLoop *ExitLoop = MLI->getLoopFor(Succ)) { in findBestLoopExit()
2421 BlockChain &LoopChain, const MachineLoop &L, in rotateLoopWithProfile()
2606 for (const MachineLoop *InnerLoop : L) in buildLoopChains()
2732 for (MachineLoop *L : *MLI) in buildCFGChains()
[all …]
H A DRegAllocGreedy.h51 class MachineLoop; variable
449 RAGreedyStats reportStats(MachineLoop *L);
H A DPHIElimination.cpp682 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges()
699 const MachineLoop *PreLoop = MLI ? MLI->getLoopFor(PreMBB) : nullptr; in SplitPHIEdges()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCCTRLoops.cpp77 bool processLoop(MachineLoop *ML);
79 void expandNormalLoops(MachineLoop *ML, MachineInstr *Start,
81 void expandCTRLoops(MachineLoop *ML, MachineInstr *Start, MachineInstr *Dec);
143 bool PPCCTRLoops::processLoop(MachineLoop *ML) { in processLoop()
147 for (MachineLoop *I : *ML) in processLoop()
237 void PPCCTRLoops::expandNormalLoops(MachineLoop *ML, MachineInstr *Start, in expandNormalLoops()
314 void PPCCTRLoops::expandCTRLoops(MachineLoop *ML, MachineInstr *Start, in expandCTRLoops()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblySortRegion.cpp11 bool ConcreteSortRegion<MachineLoop>::isLoop() const { in isLoop()
33 LoopMap[ML] = std::make_unique<ConcreteSortRegion<MachineLoop>>(ML); in getRegionFor()
52 MachineBasicBlock *SortRegionInfo::getBottom(const MachineLoop *ML) { in getBottom()
H A DWebAssemblySortRegion.h24 class MachineLoop; variable
67 DenseMap<const MachineLoop *, std::unique_ptr<SortRegion>> LoopMap;
83 MachineBasicBlock *getBottom(const MachineLoop *ML);
H A DWebAssemblyCFGSort.cpp199 if (MachineLoop *L = MLI.getLoopFor(&MBB)) in sortBlocks()
246 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in sortBlocks()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMBlockPlacement.cpp45 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 DMVETPAndVPTOptimisationsPass.cpp72 bool LowerWhileLoopStart(MachineLoop *ML);
73 bool MergeLoopEnd(MachineLoop *ML);
74 bool ConvertTailPredLoop(MachineLoop *ML, MachineDominatorTree *DT);
111 static bool findLoopComponents(MachineLoop *ML, MachineRegisterInfo *MRI, in findLoopComponents()
228 bool MVETPAndVPTOptimisations::LowerWhileLoopStart(MachineLoop *ML) { in LowerWhileLoopStart()
320 bool MVETPAndVPTOptimisations::MergeLoopEnd(MachineLoop *ML) { in MergeLoopEnd()
438 bool MVETPAndVPTOptimisations::ConvertTailPredLoop(MachineLoop *ML, in ConvertTailPredLoop()
1070 for (MachineLoop *ML : MLI->getBase().getLoopsInPreorder()) { in runOnMachineFunction()
H A DARMLowOverheadLoops.cpp123 MachineLoop &ML;
129 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal()
366 MachineLoop &ML;
387 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop()
507 bool ProcessLoop(MachineLoop *ML);
1080 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate()
1139 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) { in ValidateMVEStore()
1329 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop()
1334 for (MachineLoop *L : *ML) in ProcessLoop()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp183 bool findInductionRegister(MachineLoop *L, Register &Reg,
195 CountValue *getLoopTripCount(MachineLoop *L,
298 bool fixupInductionVariable(MachineLoop *L);
302 MachineBasicBlock *createPreheaderForLoop(MachineLoop *L);
404 bool HexagonHardwareLoops::findInductionRegister(MachineLoop *L, in findInductionRegister()
1126 bool HexagonHardwareLoops::convertToHardwareLoop(MachineLoop *L, in convertToHardwareLoop()
1137 for (MachineLoop *I : *L) { in convertToHardwareLoop()
1384 MachineLoop *L, LoopFeederMap &LoopFeederPhi) const { in phiMayWrapOrUnderflow()
1412 MachineBasicBlock *MBB, MachineLoop *L, in loopCountMayWrapOrUnderFlow()
1833 MachineLoop *L) { in createPreheaderForLoop()
[all …]
H A DHexagonEarlyIfConv.cpp177 bool matchFlowPattern(MachineBasicBlock *B, MachineLoop *L,
179 bool visitBlock(MachineBasicBlock *B, MachineLoop *L);
180 bool visitLoop(MachineLoop *L);
234 MachineLoop *L = MLI->getLoopFor(SB); in isPreheader()
239 MachineLoop *L, FlowPattern &FP) { in matchFlowPattern()
598 MachineLoop *L) { in visitBlock()
642 bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) { in visitLoop()
649 for (MachineLoop *I : *L) in visitLoop()
1065 for (MachineLoop *L : *MLI) in runOnMachineFunction()
H A DHexagonSplitDouble.cpp93 using LoopRegMap = std::map<const MachineLoop *, USet>;
103 void collectIndRegsForLoop(const MachineLoop *L, USet &Rs);
453 const MachineLoop *L = MLI->getLoopFor(PB); in isProfitable()
474 void HexagonSplitDoubleRegs::collectIndRegsForLoop(const MachineLoop *L, in collectIndRegsForLoop()
571 using LoopVector = std::vector<MachineLoop *>; in collectIndRegs()
580 for (MachineLoop *L : WorkQ) { in collectIndRegs()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DR600MachineCFGStructurizer.cpp177 for (const MachineLoop *L : LoopInfo) in PrintLoopinfo()
249 int mergeLoop(MachineLoop *LoopRep);
314 std::map<MachineLoop *, bool> Visited;
339 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge()
354 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead()
693 for (MachineLoop *LoopRep : *MLI) { in prepare()
982 std::deque<MachineLoop *> NestedLoops; in loopendPatternMatch()
984 for (MachineLoop *ML : depth_first(It)) in loopendPatternMatch()
994 for (MachineLoop *ExaminedLoop : NestedLoops) { in loopendPatternMatch()
1038 MachineLoop *ParentLoop = LoopRep->getParentLoop(); in mergeLoop()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/SystemZ/
H A DSystemZMachineScheduler.cpp41 const MachineLoop *Loop) { in getSingleSchedPred()
89 LLVM_DEBUG(const MachineLoop *Loop = MLI->getLoopFor(MBB); in enterMBB()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86CmovConversion.cpp239 SmallVector<MachineLoop *, 4> Loops(MLI->begin(), MLI->end()); in runOnMachineFunction()
243 for (MachineLoop *Child : Loops[i]->getSubLoops()) in runOnMachineFunction()
246 for (MachineLoop *CurrLoop : Loops) { in runOnMachineFunction()
884 if (MachineLoop *L = MLI->getLoopFor(MBB)) { in convertCmovInstsToBranches()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DAArch64FalkorHWPFFix.cpp201 void runOnLoop(MachineLoop &L, MachineFunction &Fn);
675 void FalkorHWPFFix::runOnLoop(MachineLoop &L, MachineFunction &Fn) { in runOnLoop()
828 for (MachineLoop *I : LI) in runOnMachineFunction()
829 for (MachineLoop *L : depth_first(I)) in runOnMachineFunction()

12