Home
last modified time | relevance | path

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

12

/netbsd-src/external/apache2/llvm/dist/llvm/include/llvm/CodeGen/
H A DMachineLoopInfo.h42 class MachineLoop; variable
43 extern template class LoopBase<MachineBasicBlock, MachineLoop>;
45 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
79 friend class LoopInfoBase<MachineBasicBlock, MachineLoop>;
81 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
82 : LoopBase<MachineBasicBlock, MachineLoop>(MBB) {} in MachineLoop()
84 MachineLoop() = default;
88 extern template class LoopInfoBase<MachineBasicBlock, MachineLoop>;
91 friend class LoopBase<MachineBasicBlock, MachineLoop>;
93 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
[all …]
H A DMachinePipeliner.h98 bool canPipelineLoop(MachineLoop &L);
99 bool scheduleLoop(MachineLoop &L);
100 bool swingModuloScheduler(MachineLoop &L);
101 void setPragmaPipelineOptions(MachineLoop &L);
114 MachineLoop &Loop;
194 SwingSchedulerDAG(MachinePipeliner &P, MachineLoop &L, LiveIntervals &lis, in SwingSchedulerDAG()
H A DModuloSchedule.h81 MachineLoop *Loop;
105 ModuloSchedule(MachineFunction &MF, MachineLoop *Loop, in ModuloSchedule()
118 MachineLoop *getLoop() const { return Loop; } in getLoop()
H A DMachineTraceMetrics.h63 class MachineLoop; variable
345 const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
H A DMachineLoopUtils.h13 class MachineLoop; variable
H A DMachineRegionInfo.h41 using LoopT = MachineLoop;
/netbsd-src/external/apache2/llvm/dist/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() { in findLoopControlBlock()
101 DebugLoc MachineLoop::getStartLoc() const { in getStartLoc()
118 MachineLoopInfo::findLoopPreheader(MachineLoop *L, in findLoopPreheader()
145 MachineLoop *T = getLoopFor(S); in findLoopPreheader()
152 bool MachineLoop::isLoopInvariant(MachineInstr &I) const { in isLoopInvariant()
206 LLVM_DUMP_METHOD void MachineLoop::dump() const { in dump()
H A DMachineBlockPlacement.cpp506 const MachineLoop &L, const BlockFilterSet &LoopBlockSet);
508 const MachineLoop &L, const BlockFilterSet &LoopBlockSet);
510 const MachineLoop &L, const BlockFilterSet &LoopBlockSet,
512 BlockFilterSet collectLoopBlockSet(const MachineLoop &L);
513 void buildLoopChains(const MachineLoop &L);
518 BlockChain &LoopChain, const MachineLoop &L,
2045 const MachineLoop &L, in findBestLoopTopHelper()
2110 MachineBlockPlacement::findBestLoopTop(const MachineLoop &L, in findBestLoopTop()
2141 MachineBlockPlacement::findBestLoopExit(const MachineLoop &L, in findBestLoopExit()
2202 if (MachineLoop *ExitLoop = MLI->getLoopFor(Succ)) { in findBestLoopExit()
[all …]
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 DMachineLICM.cpp133 MachineLoop *CurLoop; // The current loop we are working on.
316 static bool LoopIsOuterMostWithPredecessor(MachineLoop *CurLoop) { in INITIALIZE_PASS_DEPENDENCY()
321 for (MachineLoop *L = CurLoop->getParentLoop(); L; L = L->getParentLoop()) in INITIALIZE_PASS_DEPENDENCY()
367 SmallVector<MachineLoop *, 8> Worklist(MLI->begin(), MLI->end()); in runOnMachineFunction()
529 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegionPostRA()
719 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistOutOfLoop()
H A DMachineSink.cpp233 void FindLoopSinkCandidates(MachineLoop *L, MachineBasicBlock *BB,
235 bool SinkIntoLoop(MachineLoop *L, MachineInstr &I);
379 void MachineSinking::FindLoopSinkCandidates(MachineLoop *L, MachineBasicBlock *BB, in FindLoopSinkCandidates()
465 SmallVector<MachineLoop *, 8> Loops(LI->begin(), LI->end()); in runOnMachineFunction()
773 MachineLoop *ML = LI->getLoopFor(MBB); in isProfitableToSinkTo()
1220 bool MachineSinking::SinkIntoLoop(MachineLoop *L, MachineInstr &I) { in SinkIntoLoop()
H A DPHIElimination.cpp633 const MachineLoop *CurLoop = MLI ? MLI->getLoopFor(&MBB) : nullptr; in SplitPHIEdges()
650 const MachineLoop *PreLoop = MLI ? MLI->getLoopFor(PreMBB) : nullptr; in SplitPHIEdges()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/ARM/
H A DARMBlockPlacement.cpp41 bool fixBackwardsWLS(MachineLoop *ML);
42 bool processPostOrderLoops(MachineLoop *ML);
72 static MachineInstr *findWLS(MachineLoop *ML) { in findWLS()
90 bool ARMBlockPlacement::fixBackwardsWLS(MachineLoop *ML) { in fixBackwardsWLS()
143 bool ARMBlockPlacement::processPostOrderLoops(MachineLoop *ML) { in processPostOrderLoops()
H A DMVETPAndVPTOptimisationsPass.cpp67 bool LowerWhileLoopStart(MachineLoop *ML);
68 bool MergeLoopEnd(MachineLoop *ML);
69 bool ConvertTailPredLoop(MachineLoop *ML, MachineDominatorTree *DT);
106 static bool findLoopComponents(MachineLoop *ML, MachineRegisterInfo *MRI, in findLoopComponents()
223 bool MVETPAndVPTOptimisations::LowerWhileLoopStart(MachineLoop *ML) { in LowerWhileLoopStart()
312 bool MVETPAndVPTOptimisations::MergeLoopEnd(MachineLoop *ML) { in MergeLoopEnd()
419 bool MVETPAndVPTOptimisations::ConvertTailPredLoop(MachineLoop *ML, in ConvertTailPredLoop()
1031 for (MachineLoop *ML : MLI->getBase().getLoopsInPreorder()) { in runOnMachineFunction()
H A DARMLowOverheadLoops.cpp113 MachineLoop &ML;
119 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal()
362 MachineLoop &ML;
381 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop()
506 bool ProcessLoop(MachineLoop *ML);
1029 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate()
1192 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop()
/netbsd-src/external/apache2/llvm/dist/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()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/Hexagon/
H A DHexagonHardwareLoops.cpp183 bool findInductionRegister(MachineLoop *L, unsigned &Reg,
195 CountValue *getLoopTripCount(MachineLoop *L,
205 CountValue *computeCount(MachineLoop *Loop, const MachineOperand *Start,
216 bool containsInvalidInstruction(MachineLoop *L, bool IsInnerHWLoop) const;
220 bool convertToHardwareLoop(MachineLoop *L, bool &L0used, bool &L1used);
238 bool isLoopFeeder(MachineLoop *L, MachineBasicBlock *A, MachineInstr *MI,
245 MachineBasicBlock *MBB, MachineLoop *L,
252 MachineBasicBlock *MBB, MachineLoop *L,
298 bool fixupInductionVariable(MachineLoop *L);
302 MachineBasicBlock *createPreheaderForLoop(MachineLoop *L);
[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()
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.cpp93 using LoopRegMap = std::map<const MachineLoop *, USet>;
103 void collectIndRegsForLoop(const MachineLoop *L, USet &Rs);
454 const MachineLoop *L = MLI->getLoopFor(PB); in isProfitable()
475 void HexagonSplitDoubleRegs::collectIndRegsForLoop(const MachineLoop *L, in collectIndRegsForLoop()
572 using LoopVector = std::vector<MachineLoop *>; in collectIndRegs()
582 MachineLoop *L = WorkQ[i]; in collectIndRegs()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AMDGPU/
H A DAMDILCFGStructurizer.cpp96 using LoopLandInfoMap = std::map<MachineLoop *, MachineBasicBlock *>;
172 for (MachineLoop::iterator iter = LoopInfo.begin(), in PrintLoopinfo()
180 MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const;
246 int mergeLoop(MachineLoop *LoopRep);
286 MachineBasicBlock *normalizeInfiniteLoopExit(MachineLoop *LoopRep);
311 std::map<MachineLoop *, bool> Visited;
327 MachineBasicBlock *AMDGPUCFGStructurizer::getLoopLandInfo(MachineLoop *LoopRep) in getLoopLandInfo()
336 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge()
351 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead()
696 MachineLoop *LoopRep = (*It); in prepare()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/SystemZ/
H A DSystemZMachineScheduler.cpp41 const MachineLoop *Loop) { in getSingleSchedPred()
89 LLVM_DEBUG(const MachineLoop *Loop = MLI->getLoopFor(MBB); in enterMBB()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/X86/
H A DX86CmovConversion.cpp224 SmallVector<MachineLoop *, 4> Loops(MLI.begin(), MLI.end()); in runOnMachineFunction()
228 for (MachineLoop *Child : Loops[i]->getSubLoops()) in runOnMachineFunction()
231 for (MachineLoop *CurrLoop : Loops) { in runOnMachineFunction()
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/AArch64/
H A DAArch64FalkorHWPFFix.cpp204 void runOnLoop(MachineLoop &L, MachineFunction &Fn);
677 void FalkorHWPFFix::runOnLoop(MachineLoop &L, MachineFunction &Fn) { in runOnLoop()
830 for (MachineLoop *I : LI) in runOnMachineFunction()

12