Home
last modified time | relevance | path

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

12

/freebsd-12.1/contrib/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h42 class MachineLoop; variable
45 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
75 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
78 MachineLoop() = default;
87 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
155 inline void changeTopLevelLoop(MachineLoop *OldLoop, MachineLoop *NewLoop) { in changeTopLevelLoop()
160 inline void addTopLevelLoop(MachineLoop *New) { in addTopLevelLoop()
173 template <> struct GraphTraits<const MachineLoop*> {
174 using NodeRef = const MachineLoop *;
182 template <> struct GraphTraits<MachineLoop*> {
[all …]
H A DMachinePipeliner.h100 bool canPipelineLoop(MachineLoop &L);
101 bool scheduleLoop(MachineLoop &L);
102 bool swingModuloScheduler(MachineLoop &L);
113 MachineLoop &Loop;
192 SwingSchedulerDAG(MachinePipeliner &P, MachineLoop &L, LiveIntervals &lis, in SwingSchedulerDAG()
H A DMachineTraceMetrics.h64 class MachineLoop; variable
346 const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
H A DMachineRegionInfo.h42 using LoopT = MachineLoop;
/freebsd-12.1/contrib/llvm/lib/CodeGen/
H A DMachineLoopInfo.cpp27 template class llvm::LoopBase<MachineBasicBlock, MachineLoop>;
28 template class llvm::LoopInfoBase<MachineBasicBlock, MachineLoop>;
51 MachineBasicBlock *MachineLoop::getTopBlock() { in getTopBlock()
66 MachineBasicBlock *MachineLoop::getBottomBlock() { in getBottomBlock()
81 MachineBasicBlock *MachineLoop::findLoopControlBlock() { in findLoopControlBlock()
91 DebugLoc MachineLoop::getStartLoc() const { in getStartLoc()
108 MachineLoopInfo::findLoopPreheader(MachineLoop *L, in findLoopPreheader()
135 MachineLoop *T = getLoopFor(S); in findLoopPreheader()
143 LLVM_DUMP_METHOD void MachineLoop::dump() const { in dump()
H A DMachineTraceMetrics.cpp168 const MachineLoop*
304 static bool isExitingLoop(const MachineLoop *From, const MachineLoop *To) { in isExitingLoop()
329 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred()
357 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc()
460 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(*From)) { in insertEdge()
597 const MachineLoop *Loop = getLoopFor(MBB); in verify()
605 const MachineLoop *Loop = getLoopFor(MBB); in verify()
606 const MachineLoop *SuccLoop = getLoopFor(TBI.Succ); in verify()
1070 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
H A DMachineBlockPlacement.cpp456 const MachineLoop &L, const BlockFilterSet &LoopBlockSet);
459 BlockFilterSet collectLoopBlockSet(const MachineLoop &L);
460 void buildLoopChains(const MachineLoop &L);
465 BlockChain &LoopChain, const MachineLoop &L,
1771 MachineBlockPlacement::findBestLoopTop(const MachineLoop &L, in findBestLoopTop()
1835 MachineBlockPlacement::findBestLoopExit(const MachineLoop &L, in findBestLoopExit()
1895 if (MachineLoop *ExitLoop = MLI->getLoopFor(Succ)) { in findBestLoopExit()
2042 BlockChain &LoopChain, const MachineLoop &L, in rotateLoopWithProfile()
2221 for (const MachineLoop *InnerLoop : L) in buildLoopChains()
2348 for (MachineLoop *L : *MLI) in buildCFGChains()
[all …]
H A DMachineLICM.cpp111 MachineLoop *CurLoop; // The current loop we are working on.
294 static bool LoopIsOuterMostWithPredecessor(MachineLoop *CurLoop) { in INITIALIZE_PASS_DEPENDENCY()
299 for (MachineLoop *L = CurLoop->getParentLoop(); L; L = L->getParentLoop()) in INITIALIZE_PASS_DEPENDENCY()
342 SmallVector<MachineLoop *, 8> Worklist(MLI->begin(), MLI->end()); in runOnMachineFunction()
507 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegionPostRA()
691 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistOutOfLoop()
H A DPHIElimination.cpp564 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges()
581 const MachineLoop *PreLoop = MLI ? MLI->getLoopFor(PreMBB) : nullptr; in SplitPHIEdges()
H A DCalcSpillWeights.cpp156 MachineLoop *loop = nullptr; in weightCalcHelper()
H A DMachineBasicBlock.cpp1077 if (MachineLoop *TIL = MLI->getLoopFor(this)) { in SplitCriticalEdge()
1080 if (MachineLoop *DestLoop = MLI->getLoopFor(Succ)) { in SplitCriticalEdge()
1097 if (MachineLoop *P = DestLoop->getParentLoop()) in SplitCriticalEdge()
/freebsd-12.1/contrib/llvm/lib/Target/AMDGPU/
H A DSIFixWWMLiveness.cpp104 std::vector<std::pair<MachineOperand *, MachineLoop *>> LoopExitDefs;
105 std::vector<std::pair<MachineOperand *, MachineLoop *>> LoopPhiDefs;
134 bool processLoopExitDef(MachineOperand *DefOpnd, MachineLoop *Loop);
135 bool processLoopPhiDef(MachineOperand *DefOpnd, MachineLoop *Loop);
277 LoopExitDefs.push_back(std::pair<MachineOperand *, MachineLoop *>( in processDef()
307 std::pair<MachineOperand *, MachineLoop *>(&DefOpnd, Loop)); in processDef()
354 MachineLoop *Loop) { in processLoopExitDef()
389 MachineLoop *Loop) { in processLoopPhiDef()
H A DAMDILCFGStructurizer.cpp197 for (MachineLoop::iterator iter = LoopInfo.begin(), in PrintLoopinfo()
271 int mergeLoop(MachineLoop *LoopRep);
336 std::map<MachineLoop *, bool> Visited;
361 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge()
376 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead()
721 MachineLoop *LoopRep = (*It); in prepare()
1015 std::deque<MachineLoop *> NestedLoops; in loopendPatternMatch()
1017 for (MachineLoop *ML : depth_first(It)) in loopendPatternMatch()
1027 for (MachineLoop *ExaminedLoop : NestedLoops) { in loopendPatternMatch()
1071 MachineLoop *ParentLoop = LoopRep->getParentLoop(); in mergeLoop()
[all …]
/freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/
H A DWebAssemblyFixIrreducibleControlFlow.cpp76 LoopFixer(MachineFunction &MF, MachineLoopInfo &MLI, MachineLoop *Loop) in LoopFixer()
85 MachineLoop *Loop;
102 MachineLoop *InnerLoop = MLI.getLoopFor(MBB); in canonicalize()
169 MachineLoop *InnerLoop = MLI.getLoopFor(MBB); in run()
378 SmallVector<MachineLoop *, 8> Worklist(MLI.begin(), MLI.end()); in runIteration()
380 MachineLoop *Loop = Worklist.pop_back_val(); in runIteration()
H A DWebAssemblyCFGSort.cpp68 template <> bool ConcreteRegion<MachineLoop>::isLoop() const { return true; } in isLoop()
76 DenseMap<const MachineLoop *, std::unique_ptr<Region>> LoopMap;
93 LoopMap[ML] = llvm::make_unique<ConcreteRegion<MachineLoop>>(ML); in getRegionFor()
240 if (MachineLoop *L = MLI.getLoopFor(&MBB)) in SortBlocks()
286 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in SortBlocks()
H A DWebAssemblyCFGStackify.cpp193 MachineLoop *L = MLI.getLoopFor(Begin->getParent()); in getBottom()
354 MachineLoop *Loop = MLI.getLoopFor(&MBB); in placeLoopMarker()
/freebsd-12.1/contrib/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp183 bool findInductionRegister(MachineLoop *L, unsigned &Reg,
195 CountValue *getLoopTripCount(MachineLoop *L,
298 bool fixupInductionVariable(MachineLoop *L);
302 MachineBasicBlock *createPreheaderForLoop(MachineLoop *L);
402 bool HexagonHardwareLoops::findInductionRegister(MachineLoop *L, in findInductionRegister()
725 CountValue *HexagonHardwareLoops::computeCount(MachineLoop *Loop, in computeCount()
1124 bool HexagonHardwareLoops::convertToHardwareLoop(MachineLoop *L, in convertToHardwareLoop()
1389 MachineLoop *L, LoopFeederMap &LoopFeederPhi) const { in phiMayWrapOrUnderflow()
1417 MachineBasicBlock *MBB, MachineLoop *L, in loopCountMayWrapOrUnderFlow()
1850 MachineLoop *L) { in createPreheaderForLoop()
[all …]
H A DHexagonEarlyIfConv.cpp178 bool matchFlowPattern(MachineBasicBlock *B, MachineLoop *L,
180 bool visitBlock(MachineBasicBlock *B, MachineLoop *L);
181 bool visitLoop(MachineLoop *L);
235 MachineLoop *L = MLI->getLoopFor(SB); in isPreheader()
240 MachineLoop *L, FlowPattern &FP) { in matchFlowPattern()
598 MachineLoop *L) { in visitBlock()
644 bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) { in visitLoop()
651 for (MachineLoop::iterator I = L->begin(), E = L->end(); I != E; ++I) in visitLoop()
H A DHexagonSplitDouble.cpp94 using LoopRegMap = std::map<const MachineLoop *, USet>;
104 void collectIndRegsForLoop(const MachineLoop *L, USet &Rs);
456 const MachineLoop *L = MLI->getLoopFor(PB); in isProfitable()
477 void HexagonSplitDoubleRegs::collectIndRegsForLoop(const MachineLoop *L, in collectIndRegsForLoop()
574 using LoopVector = std::vector<MachineLoop *>; in collectIndRegs()
587 MachineLoop *L = WorkQ[i]; in collectIndRegs()
H A DHexagonInstrInfo.h136 bool analyzeLoop(MachineLoop &L, MachineInstr *&IndVarInst,
/freebsd-12.1/contrib/llvm/lib/Target/SystemZ/
H A DSystemZMachineScheduler.cpp41 const MachineLoop *Loop) { in getSingleSchedPred()
88 LLVM_DEBUG(const MachineLoop *Loop = MLI->getLoopFor(MBB); in enterMBB()
/freebsd-12.1/contrib/llvm/lib/Target/X86/
H A DX86CmovConversion.cpp226 SmallVector<MachineLoop *, 4> Loops(MLI.begin(), MLI.end()); in runOnMachineFunction()
230 for (MachineLoop *Child : Loops[i]->getSubLoops()) in runOnMachineFunction()
233 for (MachineLoop *CurrLoop : Loops) { in runOnMachineFunction()
H A DX86FixupBWInsts.cpp341 if (MachineLoop *ML = MLI->getLoopFor(&MBB)) in tryReplaceInstr()
/freebsd-12.1/contrib/llvm/lib/Target/AArch64/
H A DAArch64FalkorHWPFFix.cpp204 void runOnLoop(MachineLoop &L, MachineFunction &Fn);
677 void FalkorHWPFFix::runOnLoop(MachineLoop &L, MachineFunction &Fn) { in runOnLoop()
833 for (MachineLoop *I : LI) in runOnMachineFunction()
/freebsd-12.1/contrib/llvm/include/llvm/Analysis/
H A DBlockFrequencyInfoImpl.h59 class MachineLoop; variable
559 using LoopT = MachineLoop;

12