/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() 326 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits() 375 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local 376 L.getExitBlocks(ExitBlocks); in formLCSSA() 377 if (ExitBlocks.empty()) in formLCSSA() [all …]
|
H A D | LoopUtils.cpp | 1291 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 1292 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 1293 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1296 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() 1354 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 1355 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 1361 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
|
H A D | LoopPeel.cpp | 489 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local 490 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck() 491 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
|
H A D | LoopUnroll.cpp | 333 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 334 L->getExitBlocks(ExitBlocks); in UnrollLoop() 404 any_of(ExitBlocks, in UnrollLoop()
|
H A D | CodeExtractor.cpp | 1725 SmallPtrSet<BasicBlock *, 1> ExitBlocks; in extractCodeRegion() local 1734 ExitBlocks.insert(Succ); in extractCodeRegion() 1738 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion() 1748 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion() 1861 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, 280 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; 291 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | SimpleLoopUnswitch.cpp | 1202 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1428 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1720 llvm::erase_if(ExitBlocks, in deleteDeadBlocksFromLoop() 1904 ExitsInLoops.reserve(ExitBlocks.size()); in rebuildLoopAfterUnswitch() 1905 for (auto *ExitBB : ExitBlocks) in rebuildLoopAfterUnswitch() 2248 SmallVector<BasicBlock *, 4> ExitBlocks; in unswitchNontrivialInvariants() local 2249 L.getUniqueExitBlocks(ExitBlocks); in unswitchNontrivialInvariants() 2250 for (auto *ExitBB : ExitBlocks) { in unswitchNontrivialInvariants() 3276 SmallVector<BasicBlock *, 4> ExitBlocks; in isSafeForNoNTrivialUnswitching() local 3277 L.getUniqueExitBlocks(ExitBlocks); in isSafeForNoNTrivialUnswitching() [all …]
|
H A D | LICM.cpp | 475 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 476 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 486 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 487 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop() 488 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop() 1550 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1551 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1684 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local 1685 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink() 1954 SmallVectorImpl<BasicBlock *> &ExitBlocks, in promoteLoopAccessesToScalars() argument [all …]
|
H A D | LoopSimplifyCFG.cpp | 259 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 260 L.getExitBlocks(ExitBlocks); in analyze() 262 for (auto *ExitBlock : ExitBlocks) in analyze()
|
H A D | LoopIdiomRecognize.cpp | 194 SmallVectorImpl<BasicBlock *> &ExitBlocks); 324 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 325 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 347 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 550 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 554 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
|
H A D | IndVarSimplify.cpp | 432 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 433 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 436 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/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 329 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 333 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 341 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 342 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 387 ArrayRef<BasicBlock *> ExitBlocks; member in __anon30c533330111::PGOCounterPromoterHelper 417 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 425 if (ExitBlocks.size() == 0) in run() 434 for (auto *BB : ExitBlocks) in run() 464 L.getLoopPreheader(), ExitBlocks, in run() 555 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon30c533330111::PGOCounterPromoter
|
/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 | 1006 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 1007 L.getExitBlocks(ExitBlocks); in printLoop() 1008 if (!ExitBlocks.empty()) { in printLoop() 1010 for (auto *Block : ExitBlocks) in printLoop()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMLowOverheadLoops.cpp | 154 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local 155 ML.getExitBlocks(ExitBlocks); in ProcessLoop() 156 append_range(Order, ExitBlocks); in ProcessLoop() 1028 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local 1029 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts() 1031 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts() 1032 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
|
H A D | ARMTargetTransformInfo.cpp | 2506 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local 2507 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences() 2508 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/ |
H A D | HexagonLoopIdiomRecognition.cpp | 138 SmallVectorImpl<BasicBlock *> &ExitBlocks); 2148 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2149 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2150 if (ExitBlocks.size() != 1) in processCopyingStore() 2152 ExitB = ExitBlocks[0]; in processCopyingStore() 2362 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2369 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2397 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2398 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2407 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ShrinkWrap.cpp | 778 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 779 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 783 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/Target/AArch64/ |
H A D | AArch64LoopIdiomTransform.cpp | 98 SmallVectorImpl<BasicBlock *> &ExitBlocks);
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIInstrInfo.cpp | 217 SmallVector<MachineBasicBlock *, 1> ExitBlocks; in isSafeToSink() local 218 FromCycle->getExitBlocks(ExitBlocks); in isSafeToSink() 219 assert(ExitBlocks.size() == 1); in isSafeToSink() 220 assert(ExitBlocks[0]->getSinglePredecessor()); in isSafeToSink() 223 if (hasDivergentBranch(ExitBlocks[0]->getSinglePredecessor())) { in isSafeToSink()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopVectorize.cpp | 3488 SmallVector<BasicBlock *> ExitBlocks; in fixVectorizedLoop() local 3489 OrigLoop->getExitBlocks(ExitBlocks); in fixVectorizedLoop() 3490 for (BasicBlock *Exit : ExitBlocks) in fixVectorizedLoop()
|