/external/llvm/include/llvm/CodeGen/ |
D | MachineLoopInfo.h | 40 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 …]
|
D | MachineTraceMetrics.h | 61 class MachineLoop; variable 323 const MachineLoop *getLoopFor(const MachineBasicBlock*) const;
|
D | MachineRegionInfo.h | 42 typedef MachineLoop LoopT;
|
/external/swiftshader/third_party/LLVM/include/llvm/CodeGen/ |
D | MachineLoopInfo.h | 38 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 …]
|
D | MachineLoopRanges.h | 25 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/ |
D | Splitter.h | 66 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 …]
|
D | Splitter.cpp | 56 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 …]
|
D | CodePlacementOpt.cpp | 60 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 …]
|
D | MachineLoopInfo.cpp | 24 #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()
|
D | PrologEpilogInserter.h | 92 DenseMap<MachineBasicBlock*, MachineLoop*> TLLoops; 146 MachineBasicBlock* getTopLevelLoopPreheader(MachineLoop* LP); 147 MachineLoop* getTopLevelLoopParent(MachineLoop *LP); 150 void propagateUsesAroundLoop(MachineBasicBlock* MBB, MachineLoop* LP);
|
D | MachineLoopRanges.cpp | 49 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()
|
D | ShrinkWrapping.cpp | 104 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()
|
D | ScheduleDAGInstrs.h | 50 void VisitLoop(const MachineLoop *Loop) { in VisitLoop() 69 const MachineLoop *Loop, in VisitRegion()
|
D | MachineLICM.cpp | 81 MachineLoop *CurLoop; // The current loop we are working on. 295 static bool LoopIsOuterMostWithPredecessor(MachineLoop *CurLoop) { in LoopIsOuterMostWithPredecessor() 300 for (MachineLoop *L = CurLoop->getParentLoop(); L; L = L->getParentLoop()) in LoopIsOuterMostWithPredecessor() 340 SmallVector<MachineLoop *, 8> Worklist(MLI->begin(), MLI->end()); in runOnMachineFunction() 479 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegionPostRA() 619 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegion()
|
D | MachineBasicBlock.cpp | 624 if (MachineLoop *TIL = MLI->getLoopFor(this)) { in SplitCriticalEdge() 627 if (MachineLoop *DestLoop = MLI->getLoopFor(Succ)) { in SplitCriticalEdge() 644 if (MachineLoop *P = DestLoop->getParentLoop()) in SplitCriticalEdge()
|
/external/llvm/lib/CodeGen/ |
D | MachineLoopInfo.cpp | 26 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()
|
D | MachineBlockPlacement.cpp | 323 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 …]
|
D | MachineTraceMetrics.cpp | 156 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()
|
D | MachineLICM.cpp | 88 MachineLoop *CurLoop; // The current loop we are working on. 250 static bool LoopIsOuterMostWithPredecessor(MachineLoop *CurLoop) { in INITIALIZE_PASS_DEPENDENCY() 255 for (MachineLoop *L = CurLoop->getParentLoop(); L; L = L->getParentLoop()) in INITIALIZE_PASS_DEPENDENCY() 298 SmallVector<MachineLoop *, 8> Worklist(MLI->begin(), MLI->end()); in runOnMachineFunction() 456 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistRegionPostRA() 641 const MachineLoop *ML = MLI->getLoopFor(BB); in HoistOutOfLoop()
|
/external/llvm/lib/Target/WebAssembly/ |
D | WebAssemblyCFGStackify.cpp | 75 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 …]
|
D | WebAssemblyFixIrreducibleControlFlow.cpp | 65 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/ |
D | HexagonHardwareLoops.cpp | 156 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 …]
|
D | HexagonEarlyIfConv.cpp | 156 bool matchFlowPattern(MachineBasicBlock *B, MachineLoop *L, 158 bool visitBlock(MachineBasicBlock *B, MachineLoop *L); 159 bool visitLoop(MachineLoop *L); 208 MachineLoop *L = MLI->getLoopFor(SB); in isPreheader() 214 MachineLoop *L, FlowPattern &FP) { in matchFlowPattern() 552 MachineLoop *L) { in visitBlock() 597 bool HexagonEarlyIfConversion::visitLoop(MachineLoop *L) { in visitLoop() 603 for (MachineLoop::iterator I = L->begin(), E = L->end(); I != E; ++I) in visitLoop()
|
D | HexagonSplitDouble.cpp | 72 typedef std::map<const MachineLoop*,USet> LoopRegMap; 81 void collectIndRegsForLoop(const MachineLoop *L, USet &Rs); 409 const MachineLoop *L = MLI->getLoopFor(PB); in isProfitable() 430 void HexagonSplitDoubleRegs::collectIndRegsForLoop(const MachineLoop *L, in collectIndRegsForLoop() 527 typedef std::vector<MachineLoop*> LoopVector; in collectIndRegs() 539 MachineLoop *L = WorkQ[i]; in collectIndRegs()
|
/external/llvm/lib/Target/AMDGPU/ |
D | AMDILCFGStructurizer.cpp | 127 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 …]
|