/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | LCSSA.cpp | 70 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument 71 return is_contained(ExitBlocks, BB); in isExitBlock() 103 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local 105 if (ExitBlocks.empty()) in formLCSSAForInstructions() 155 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions() 228 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructions() 322 Loop &L, const DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, in computeBlocksDominatingExits() argument 326 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits() 375 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local 376 L.getExitBlocks(ExitBlocks); in formLCSSA() [all …]
|
H A D | LoopUtils.cpp | 1436 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 1437 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 1438 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1441 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() 1499 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 1500 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 1506 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
|
H A D | LoopPeel.cpp | 529 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local 530 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck() 531 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
|
H A D | LoopUnroll.cpp | 496 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 497 L->getExitBlocks(ExitBlocks); in UnrollLoop() 567 any_of(ExitBlocks, in UnrollLoop()
|
H A D | CodeExtractor.cpp | 1759 SetVector<BasicBlock *> ExitBlocks; in extractCodeRegion() local 1768 ExitBlocks.insert(Succ); in extractCodeRegion() 1772 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion() 1782 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion() 1899 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | MemorySSAUpdater.h | 104 ArrayRef<BasicBlock *> ExitBlocks, 113 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 117 ArrayRef<BasicBlock *> ExitBlocks, 285 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericLoopInfoImpl.h | 65 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getExitBlocks() argument 71 ExitBlocks.push_back(Succ); in getExitBlocks() 129 SmallVectorImpl<BlockT *> &ExitBlocks, in getUniqueExitBlocksHelper() argument 138 ExitBlocks.push_back(Successor); in getUniqueExitBlocksHelper() 143 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getUniqueExitBlocks() argument 144 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueExitBlocks() 150 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getUniqueNonLatchExitBlocks() argument 153 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueNonLatchExitBlocks()
|
H A D | GenericLoopInfo.h | 273 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 285 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 289 /// non Latch predecessor in a loop it will be added to ExitBlocks. 291 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SimpleLoopUnswitch.cpp | 1169 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, in buildClonedLoopBlocks() argument 1177 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); in buildClonedLoopBlocks() 1211 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1423 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, in buildClonedLoops() 1441 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops() 1442 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1673 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, in deleteDeadClonedBlocks() 1678 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadClonedBlocks() 1703 SmallVectorImpl<BasicBlock *> &ExitBlocks, in deleteDeadBlocksFromLoop() 1714 SmallVector<BasicBlock *, 16> DeathCandidates(ExitBlocks in deleteDeadBlocksFromLoop() 1422 buildClonedLoops(Loop & OrigL,ArrayRef<BasicBlock * > ExitBlocks,const ValueToValueMapTy & VMap,LoopInfo & LI,SmallVectorImpl<Loop * > & NonChildClonedLoops) buildClonedLoops() argument 1672 deleteDeadClonedBlocks(Loop & L,ArrayRef<BasicBlock * > ExitBlocks,ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps,DominatorTree & DT,MemorySSAUpdater * MSSAU) deleteDeadClonedBlocks() argument 1702 deleteDeadBlocksFromLoop(Loop & L,SmallVectorImpl<BasicBlock * > & ExitBlocks,DominatorTree & DT,LoopInfo & LI,MemorySSAUpdater * MSSAU,ScalarEvolution * SE,LPMUpdater & LoopUpdater) deleteDeadBlocksFromLoop() argument 1906 rebuildLoopAfterUnswitch(Loop & L,ArrayRef<BasicBlock * > ExitBlocks,LoopInfo & LI,SmallVectorImpl<Loop * > & HoistedLoops,ScalarEvolution * SE) rebuildLoopAfterUnswitch() argument 2261 SmallVector<BasicBlock *, 4> ExitBlocks; unswitchNontrivialInvariants() local 3297 SmallVector<BasicBlock *, 4> ExitBlocks; isSafeForNoNTrivialUnswitching() local [all...] |
H A D | LICM.cpp | 484 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 485 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 488 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { in runOnLoop() 495 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 496 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop() 497 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop() 513 PointerMustAliases, ExitBlocks, InsertPts, MSSAInsertPts, PIC, LI, in runOnLoop() 1565 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1566 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1567 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks.begin(), in splitPredecessorsOfLoopExit() [all …]
|
H A D | LoopSimplifyCFG.cpp | 258 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 259 L.getExitBlocks(ExitBlocks); in analyze() 261 for (auto *ExitBlock : ExitBlocks) in analyze()
|
H A D | LoopIdiomRecognize.cpp | 192 SmallVectorImpl<BasicBlock *> &ExitBlocks); 329 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 330 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 352 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 555 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 559 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
|
H A D | IndVarSimplify.cpp | 442 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 443 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 446 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/IPO/ |
H A D | LoopExtractor.cpp | 200 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnFunction() local 201 TLL->getExitBlocks(ExitBlocks); in runOnFunction() 202 for (auto *ExitBlock : ExitBlocks) in runOnFunction()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | MemorySSAUpdater.cpp | 668 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument 722 for (auto *BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 725 for (auto *BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 749 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument 753 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop() 763 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument 766 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop() 771 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument 781 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
|
H A D | LoopInfo.cpp | 1017 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 1018 L.getExitBlocks(ExitBlocks); in printLoop() 1019 if (!ExitBlocks.empty()) { in printLoop() 1021 for (auto *Block : ExitBlocks) in printLoop()
|
H A D | MemorySSA.cpp | 1574 SmallVector<BasicBlock *> ExitBlocks; in buildMemorySSA() local 1575 L->getExitBlocks(ExitBlocks); in buildMemorySSA() 1576 Visited.insert(ExitBlocks.begin(), ExitBlocks.end()); in buildMemorySSA()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 410 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 414 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 422 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 423 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 468 ArrayRef<BasicBlock *> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoterHelper 498 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 506 if (ExitBlocks.size() == 0) in run() 515 for (auto *BB : ExitBlocks) in run() 545 L.getLoopPreheader(), ExitBlocks, in run() 636 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoter
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMLowOverheadLoops.cpp | 160 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local 161 ML.getExitBlocks(ExitBlocks); in ProcessLoop() 162 append_range(Order, ExitBlocks); in ProcessLoop() 1016 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local 1017 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts() 1019 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts() 1020 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
|
H A D | ARMTargetTransformInfo.cpp | 2518 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local 2519 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences() 2520 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonLoopIdiomRecognition.cpp | 138 SmallVectorImpl<BasicBlock *> &ExitBlocks); 2142 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2143 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2144 if (ExitBlocks.size() != 1) in processCopyingStore() 2146 ExitB = ExitBlocks[0]; in processCopyingStore() 2356 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2363 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2391 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2392 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2401 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ShrinkWrap.cpp | 780 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 781 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 785 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
H A D | MachineLICM.cpp | 151 SmallVector<MachineBasicBlock *, 8> ExitBlocks; in isExitBlock() local 152 CurLoop->getExitBlocks(ExitBlocks); in isExitBlock() 153 ExitBlockMap[CurLoop] = ExitBlocks; in isExitBlock() 154 return is_contained(ExitBlocks, MBB); in isExitBlock()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopIdiomVectorize.cpp | 118 SmallVectorImpl<BasicBlock *> &ExitBlocks);
|
H A D | LoopVectorize.cpp | 2959 SmallVector<BasicBlock *> ExitBlocks; in fixVectorizedLoop() local 2960 OrigLoop->getExitBlocks(ExitBlocks); in fixVectorizedLoop() 2961 for (BasicBlock *Exit : ExitBlocks) in fixVectorizedLoop()
|