Home
last modified time | relevance | path

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

1234

/external/swiftshader/third_party/llvm-7.0/llvm/include/llvm/CodeGen/
DMachineLoopInfo.h42 class MachineLoop; variable
43 extern template class LoopBase<MachineBasicBlock, MachineLoop>;
45 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
73 friend class LoopInfoBase<MachineBasicBlock, MachineLoop>;
75 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
76 : LoopBase<MachineBasicBlock, MachineLoop>(MBB) {} in MachineLoop()
78 MachineLoop() = default;
82 extern template class LoopInfoBase<MachineBasicBlock, MachineLoop>;
85 friend class LoopBase<MachineBasicBlock, MachineLoop>;
87 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
[all …]
/external/llvm/include/llvm/CodeGen/
DMachineLoopInfo.h40 class MachineLoop; variable
41 extern template class LoopBase<MachineBasicBlock, MachineLoop>;
43 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
45 MachineLoop();
60 friend class LoopInfoBase<MachineBasicBlock, MachineLoop>;
61 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
62 : LoopBase<MachineBasicBlock, MachineLoop>(MBB) {} in MachineLoop()
66 extern template class LoopInfoBase<MachineBasicBlock, MachineLoop>;
69 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
70 friend class LoopBase<MachineBasicBlock, MachineLoop>;
[all …]
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/
DMachineLoopInfo.h38 class MachineLoop : public LoopBase<MachineBasicBlock, MachineLoop> {
40 MachineLoop();
55 friend class LoopInfoBase<MachineBasicBlock, MachineLoop>;
56 explicit MachineLoop(MachineBasicBlock *MBB) in MachineLoop() function
57 : LoopBase<MachineBasicBlock, MachineLoop>(MBB) {} in MachineLoop()
61 LoopInfoBase<MachineBasicBlock, MachineLoop> LI;
62 friend class LoopBase<MachineBasicBlock, MachineLoop>;
74 LoopInfoBase<MachineBasicBlock, MachineLoop>& getBase() { return LI; } in getBase()
79 typedef LoopInfoBase<MachineBasicBlock, MachineLoop>::iterator iterator;
87 inline MachineLoop *getLoopFor(const MachineBasicBlock *BB) const { in getLoopFor()
[all …]
DMachineLoopRanges.h25 class MachineLoop; variable
39 const MachineLoop *const Loop;
49 MachineLoopRange(const MachineLoop*, Allocator&, SlotIndexes&);
53 const MachineLoop *getLoop() const { return Loop; } in getLoop()
87 typedef DenseMap<const MachineLoop*, MachineLoopRange*> CacheMap;
101 MachineLoopRange *getLoopRange(const MachineLoop *Loop);
/external/swiftshader/third_party/LLVM/lib/CodeGen/
DSplitter.h66 typedef std::map<MachineLoop*, LoopRanges> LoopRangeMap;
69 void dumpLoopInfo(MachineLoop &loop);
75 bool canInsertPreHeader(MachineLoop &loop);
76 MachineBasicBlock& insertPreHeader(MachineLoop &loop);
78 bool isCriticalEdge(MachineLoop::Edge &edge);
79 bool canSplitEdge(MachineLoop::Edge &edge);
80 MachineBasicBlock& splitEdge(MachineLoop::Edge &edge, MachineLoop &loop);
82 LoopRanges& getLoopRanges(MachineLoop &loop);
84 MachineLoop &loop);
86 void dumpLoopRanges(MachineLoop &loop);
[all …]
DSplitter.cpp56 LoopSplit(LoopSplitter &ls, LiveInterval &li, MachineLoop &loop) in LoopSplit()
64 MachineLoop& getLoop() const { return loop; } in getLoop()
74 void splitOutgoing(MachineLoop::Edge &edge) { outSplits.insert(edge); } in splitOutgoing()
89 MachineLoop &loop;
91 std::set<MachineLoop::Edge> outSplits;
158 for (std::set<MachineLoop::Edge>::iterator osItr = outSplits.begin(), in applyOutgoing()
161 MachineLoop::Edge edge = *osItr; in applyOutgoing()
232 for (MachineLoop::block_iterator bbItr = loop.block_begin(), in copyRanges()
368 void LoopSplitter::dumpLoopInfo(MachineLoop &loop) { in dumpLoopInfo()
370 typedef SmallVector<MachineLoop::Edge, 8> ExitEdgesList; in dumpLoopInfo()
[all …]
DCodePlacementOpt.cpp60 MachineLoop *L);
62 MachineLoop *L);
63 bool OptimizeIntraLoopEdgesInLoopNest(MachineFunction &MF, MachineLoop *L);
66 bool AlignLoop(MachineFunction &MF, MachineLoop *L, unsigned Align);
155 MachineLoop *L) { in EliminateUnconditionalJumpsToTop()
250 MachineLoop *L) { in MoveDiscontiguousLoopBlocks()
279 for (MachineLoop::block_iterator BI = L->block_begin(), BE = L->block_end(); in MoveDiscontiguousLoopBlocks()
343 MachineLoop *L) { in OptimizeIntraLoopEdgesInLoopNest()
347 for (MachineLoop::iterator I = L->begin(), E = L->end(); I != E; ++I) in OptimizeIntraLoopEdgesInLoopNest()
397 bool CodePlacementOpt::AlignLoop(MachineFunction &MF, MachineLoop *L, in AlignLoop()
[all …]
DMachineLoopInfo.cpp24 #define MLB class LoopBase<MachineBasicBlock, MachineLoop>
27 #define MLIB class LoopInfoBase<MachineBasicBlock, MachineLoop>
53 MachineBasicBlock *MachineLoop::getTopBlock() { in getTopBlock()
67 MachineBasicBlock *MachineLoop::getBottomBlock() { in getBottomBlock()
81 void MachineLoop::dump() const { in dump()
DPrologEpilogInserter.h92 DenseMap<MachineBasicBlock*, MachineLoop*> TLLoops;
146 MachineBasicBlock* getTopLevelLoopPreheader(MachineLoop* LP);
147 MachineLoop* getTopLevelLoopParent(MachineLoop *LP);
150 void propagateUsesAroundLoop(MachineBasicBlock* MBB, MachineLoop* LP);
DMachineLoopRanges.cpp49 MachineLoopRange *MachineLoopRanges::getLoopRange(const MachineLoop *Loop) { in getLoopRange()
57 MachineLoopRange::MachineLoopRange(const MachineLoop *loop, in MachineLoopRange()
62 for (MachineLoop::block_iterator I = Loop->block_begin(), in MachineLoopRange()
DShrinkWrapping.cpp104 MachineBasicBlock* PEI::getTopLevelLoopPreheader(MachineLoop* LP) { in getTopLevelLoopPreheader()
107 MachineLoop* PLP = LP->getParentLoop(); in getTopLevelLoopPreheader()
115 MachineLoop* PEI::getTopLevelLoopParent(MachineLoop *LP) { in getTopLevelLoopParent()
118 MachineLoop* PLP = LP->getParentLoop(); in getTopLevelLoopParent()
327 void PEI::propagateUsesAroundLoop(MachineBasicBlock* MBB, MachineLoop* LP) { in propagateUsesAroundLoop()
441 if (MachineLoop* LP = LI.getLoopFor(MBB)) { in calculateSets()
444 MachineLoop* PLP = getTopLevelLoopParent(LP); in calculateSets()
457 for (MachineLoop* PLP = LP->getParentLoop(); PLP; in calculateSets()
636 for (DenseMap<MachineBasicBlock*, MachineLoop*>::iterator in addUsesForTopLevelLoops()
639 MachineLoop* LP = I->second; in addUsesForTopLevelLoops()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/CodeGen/
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()
DMachineTraceMetrics.cpp168 const MachineLoop*
305 static bool isExitingLoop(const MachineLoop *From, const MachineLoop *To) { in isExitingLoop()
330 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred()
358 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc()
461 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(*From)) { in insertEdge()
598 const MachineLoop *Loop = getLoopFor(MBB); in verify()
606 const MachineLoop *Loop = getLoopFor(MBB); in verify()
607 const MachineLoop *SuccLoop = getLoopFor(TBI.Succ); in verify()
1071 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
DMachineBlockPlacement.cpp456 const MachineLoop &L, const BlockFilterSet &LoopBlockSet);
458 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()
2181 MachineBlockPlacement::collectLoopBlockSet(const MachineLoop &L) { in collectLoopBlockSet()
[all …]
/external/llvm/lib/CodeGen/
DMachineLoopInfo.cpp26 template class llvm::LoopBase<MachineBasicBlock, MachineLoop>;
27 template class llvm::LoopInfoBase<MachineBasicBlock, MachineLoop>;
50 MachineBasicBlock *MachineLoop::getTopBlock() { in getTopBlock()
65 MachineBasicBlock *MachineLoop::getBottomBlock() { in getBottomBlock()
81 LLVM_DUMP_METHOD void MachineLoop::dump() const { in dump()
DMachineBlockPlacement.cpp323 MachineBasicBlock *findBestLoopTop(MachineLoop &L,
325 MachineBasicBlock *findBestLoopExit(MachineLoop &L,
327 BlockFilterSet collectLoopBlockSet(MachineLoop &L);
328 void buildLoopChains(MachineLoop &L);
331 void rotateLoopWithProfile(BlockChain &LoopChain, MachineLoop &L,
902 MachineBlockPlacement::findBestLoopTop(MachineLoop &L, in findBestLoopTop()
956 MachineBlockPlacement::findBestLoopExit(MachineLoop &L, in findBestLoopExit()
1016 if (MachineLoop *ExitLoop = MLI->getLoopFor(Succ)) { in findBestLoopExit()
1120 BlockChain &LoopChain, MachineLoop &L, const BlockFilterSet &LoopBlockSet) { in rotateLoopWithProfile()
1257 MachineBlockPlacement::collectLoopBlockSet(MachineLoop &L) { in collectLoopBlockSet()
[all …]
DMachineTraceMetrics.cpp156 const MachineLoop*
293 static bool isExitingLoop(const MachineLoop *From, const MachineLoop *To) { in isExitingLoop()
316 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTracePred()
344 const MachineLoop *CurLoop = getLoopFor(MBB); in pickTraceSucc()
440 if (const MachineLoop *FromLoop = LB.Loops->getLoopFor(From)) { in insertEdge()
576 const MachineLoop *Loop = getLoopFor(MBB); in verify()
584 const MachineLoop *Loop = getLoopFor(MBB); in verify()
585 const MachineLoop *SuccLoop = getLoopFor(TBI.Succ); in verify()
1046 if (const MachineLoop *Loop = getLoopFor(MBB)) in computeInstrHeights()
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/
DWebAssemblyCFGSort.cpp101 const MachineLoop *Loop;
108 explicit Entry(const MachineLoop *L) in Entry()
125 if (MachineLoop *L = MLI.getLoopFor(&MBB)) in SortBlocks()
148 const MachineLoop *L = MLI.getLoopFor(MBB); in SortBlocks()
167 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in SortBlocks()
229 SmallSetVector<MachineLoop *, 8> OnStack; in SortBlocks()
239 MachineLoop *Loop = MLI.getLoopFor(&MBB); in SortBlocks()
DWebAssemblyFixIrreducibleControlFlow.cpp65 bool VisitLoop(MachineFunction &MF, MachineLoopInfo &MLI, MachineLoop *Loop);
95 explicit MetaBlock(MachineLoop *Loop) : Block(Loop->getHeader()) { in MetaBlock()
123 explicit SuccessorList(MachineLoop *Loop) in SuccessorList()
138 MachineLoop *Loop) { in VisitLoop()
162 MachineLoop *InnerLoop = MLI.getLoopFor(Next); in VisitLoop()
282 SmallVector<MachineLoop *, 8> Worklist(MLI.begin(), MLI.end()); in runOnMachineFunction()
284 MachineLoop *CurLoop = Worklist.pop_back_val(); in runOnMachineFunction()
/external/llvm/lib/Target/WebAssembly/
DWebAssemblyCFGStackify.cpp75 static MachineBasicBlock *LoopBottom(const MachineLoop *Loop) { in LoopBottom()
118 const MachineLoop *Loop;
125 explicit Entry(const MachineLoop *L) in Entry()
142 if (MachineLoop *L = MLI.getLoopFor(&MBB)) in SortBlocks()
165 const MachineLoop *L = MLI.getLoopFor(MBB); in SortBlocks()
184 if (MachineLoop *SuccL = MLI.getLoopFor(Succ)) in SortBlocks()
246 SmallSetVector<MachineLoop *, 8> OnStack; in SortBlocks()
256 MachineLoop *Loop = MLI.getLoopFor(&MBB); in SortBlocks()
354 for (MachineLoop *Loop = MLI.getLoopFor(LayoutPred); in PlaceBlockMarker()
361 MachineLoop *HeaderLoop = MLI.getLoopFor(Header); in PlaceBlockMarker()
[all …]
DWebAssemblyFixIrreducibleControlFlow.cpp65 bool VisitLoop(MachineFunction &MF, MachineLoopInfo &MLI, MachineLoop *Loop);
92 explicit MetaBlock(MachineLoop *Loop) : Block(Loop->getHeader()) { in MetaBlock()
120 explicit SuccessorList(MachineLoop *Loop) in SuccessorList()
135 MachineLoop *Loop) { in VisitLoop()
159 MachineLoop *InnerLoop = MLI.getLoopFor(Next); in VisitLoop()
279 SmallVector<MachineLoop *, 8> Worklist(MLI.begin(), MLI.end()); in runOnMachineFunction()
281 MachineLoop *CurLoop = Worklist.pop_back_val(); in runOnMachineFunction()
/external/llvm/lib/Target/Hexagon/
DHexagonHardwareLoops.cpp156 bool findInductionRegister(MachineLoop *L, unsigned &Reg,
168 CountValue *getLoopTripCount(MachineLoop *L,
178 CountValue *computeCount(MachineLoop *Loop, const MachineOperand *Start,
189 bool containsInvalidInstruction(MachineLoop *L, bool IsInnerHWLoop) const;
193 bool convertToHardwareLoop(MachineLoop *L, bool &L0used, bool &L1used);
211 bool isLoopFeeder(MachineLoop *L, MachineBasicBlock *A, MachineInstr *MI,
218 MachineBasicBlock *MBB, MachineLoop *L,
225 MachineBasicBlock *MBB, MachineLoop *L,
271 bool fixupInductionVariable(MachineLoop *L);
275 MachineBasicBlock *createPreheaderForLoop(MachineLoop *L);
[all …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/Hexagon/
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 …]
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/AMDGPU/
DAMDILCFGStructurizer.cpp121 using LoopLandInfoMap = std::map<MachineLoop *, MachineBasicBlock *>;
197 for (MachineLoop::iterator iter = LoopInfo.begin(), in PrintLoopinfo()
205 MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const;
271 int mergeLoop(MachineLoop *LoopRep);
311 MachineBasicBlock *normalizeInfiniteLoopExit(MachineLoop *LoopRep);
336 std::map<MachineLoop *, bool> Visited;
352 MachineBasicBlock *AMDGPUCFGStructurizer::getLoopLandInfo(MachineLoop *LoopRep) in getLoopLandInfo()
361 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge()
376 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead()
721 MachineLoop *LoopRep = (*It); in prepare()
[all …]
/external/llvm/lib/Target/AMDGPU/
DAMDILCFGStructurizer.cpp127 typedef std::map<MachineLoop *, MachineBasicBlock *> LoopLandInfoMap;
204 for (MachineLoop::iterator iter = LoopInfo.begin(), in PrintLoopinfo()
212 MachineBasicBlock *getLoopLandInfo(MachineLoop *LoopRep) const;
273 int mergeLoop(MachineLoop *LoopRep);
312 MachineBasicBlock *normalizeInfiniteLoopExit(MachineLoop *LoopRep);
336 std::map<MachineLoop *, bool> Visited;
348 MachineBasicBlock *AMDGPUCFGStructurizer::getLoopLandInfo(MachineLoop *LoopRep) in getLoopLandInfo()
357 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in hasBackEdge()
372 MachineLoop *LoopRep = MLI->getLoopFor(MBB); in isActiveLoophead()
721 MachineLoop *LoopRep = (*It); in prepare()
[all …]

1234