| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | LCSSA.cpp | 71 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument 72 return is_contained(ExitBlocks, BB); in isExitBlock() 105 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local 107 if (ExitBlocks.empty()) in formLCSSAForInstructions() 154 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions() 218 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructions() 298 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits() 347 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local 348 L.getExitBlocks(ExitBlocks); in formLCSSA() 349 if (ExitBlocks.empty()) in formLCSSA() [all …]
|
| H A D | LoopUtils.cpp | 1207 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 1208 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 1209 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1212 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted() 1270 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 1271 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 1277 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
|
| H A D | LoopPeel.cpp | 348 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local 349 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck() 350 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
|
| H A D | LoopUnroll.cpp | 307 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 308 L->getExitBlocks(ExitBlocks); in UnrollLoop() 374 any_of(ExitBlocks, in UnrollLoop()
|
| H A D | CodeExtractor.cpp | 1675 SmallPtrSet<BasicBlock *, 1> ExitBlocks; in extractCodeRegion() local 1684 ExitBlocks.insert(Succ); in extractCodeRegion() 1688 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion() 1702 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion() 1812 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion()
|
| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | LoopInfoImpl.h | 68 ExitBlocks.push_back(Succ); in getExitBlocks() 73 SmallVector<BlockT *, 8> ExitBlocks; in hasNoExitBlocks() local 74 getExitBlocks(ExitBlocks); in hasNoExitBlocks() 75 return ExitBlocks.empty(); in hasNoExitBlocks() 83 SmallVector<BlockT *, 8> ExitBlocks; in getExitBlock() local 84 getExitBlocks(ExitBlocks); in getExitBlock() 85 if (ExitBlocks.size() == 1) in getExitBlock() 86 return ExitBlocks[0]; in getExitBlock() 117 ExitBlocks.push_back(Successor); in getUniqueExitBlocksHelper() 123 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueExitBlocks() [all …]
|
| H A D | MemorySSAUpdater.h | 104 ArrayRef<BasicBlock *> ExitBlocks, 113 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 117 ArrayRef<BasicBlock *> ExitBlocks, 283 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
| H A D | LoopInfo.h | 297 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 309 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 315 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | SimpleLoopUnswitch.cpp | 1137 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1355 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops() 1356 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1648 llvm::erase_if(ExitBlocks, in deleteDeadBlocksFromLoop() 1829 ExitsInLoops.reserve(ExitBlocks.size()); in rebuildLoopAfterUnswitch() 1830 for (auto *ExitBB : ExitBlocks) in rebuildLoopAfterUnswitch() 2132 for (auto *ExitBB : ExitBlocks) { in unswitchNontrivialInvariants() 2607 ExitBlocks.push_back(CheckBI->getSuccessor(1)); in turnGuardIntoBranch() 2828 SmallVector<BasicBlock *, 4> ExitBlocks; in unswitchBestCondition() local 2829 L.getUniqueExitBlocks(ExitBlocks); in unswitchBestCondition() [all …]
|
| H A D | LICM.cpp | 460 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 461 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 471 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 472 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop() 473 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop() 1522 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1523 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1525 ExitBlocks.end()); in splitPredecessorsOfLoopExit() 1657 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local 1658 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink() [all …]
|
| H A D | LoopSimplifyCFG.cpp | 260 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 261 L.getExitBlocks(ExitBlocks); in analyze() 263 for (auto *ExitBlock : ExitBlocks) in analyze()
|
| H A D | LoopIdiomRecognize.cpp | 203 SmallVectorImpl<BasicBlock *> &ExitBlocks); 397 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 398 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 420 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 623 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 627 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
|
| H A D | IndVarSimplify.cpp | 445 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 446 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 449 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/ |
| H A D | InstrProfiling.cpp | 161 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 165 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 173 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 174 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 218 ArrayRef<BasicBlock *> ExitBlocks; member in __anon9365ea9b0111::PGOCounterPromoterHelper 245 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 253 if (ExitBlocks.size() == 0) in run() 262 for (auto BB : ExitBlocks) in run() 292 L.getLoopPreheader(), ExitBlocks, in run() 383 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon9365ea9b0111::PGOCounterPromoter
|
| /llvm-project-15.0.7/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()
|
| /llvm-project-15.0.7/llvm/lib/CodeGen/ |
| H A D | ShrinkWrap.cpp | 429 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 430 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 434 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
| H A D | MachineLICM.cpp | 137 SmallVector<MachineBasicBlock *, 8> ExitBlocks; member in __anonfbf8dede0111::MachineLICMBase 140 return is_contained(ExitBlocks, MBB); in isExitBlock() 373 ExitBlocks.clear(); in runOnMachineFunction() 382 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | MemorySSAUpdater.cpp | 677 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument 747 for (auto *BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 750 for (auto *BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 774 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument 778 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop() 788 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument 791 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop() 796 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument 806 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
|
| H A D | LoopInfo.cpp | 1001 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 1002 L.getExitBlocks(ExitBlocks); in printLoop() 1003 if (!ExitBlocks.empty()) { in printLoop() 1005 for (auto *Block : ExitBlocks) in printLoop()
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMLowOverheadLoops.cpp | 150 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local 151 ML.getExitBlocks(ExitBlocks); in ProcessLoop() 152 append_range(Order, ExitBlocks); in ProcessLoop() 1027 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local 1028 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts() 1030 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts() 1031 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
|
| H A D | ARMTargetTransformInfo.cpp | 2328 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local 2329 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences() 2330 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
|
| /llvm-project-15.0.7/llvm/lib/Target/Hexagon/ |
| H A D | HexagonLoopIdiomRecognition.cpp | 138 SmallVectorImpl<BasicBlock *> &ExitBlocks); 2149 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2150 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2151 if (ExitBlocks.size() != 1) in processCopyingStore() 2153 ExitB = ExitBlocks[0]; in processCopyingStore() 2368 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2375 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2403 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2404 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2413 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|
| /llvm-project-15.0.7/polly/lib/Support/ |
| H A D | ScopHelper.cpp | 452 SmallVector<BasicBlock *, 4> ExitBlocks; in getNumBlocksInLoop() local 453 L->getExitBlocks(ExitBlocks); in getNumBlocksInLoop() 455 for (auto ExitBlock : ExitBlocks) { in getNumBlocksInLoop()
|
| /llvm-project-15.0.7/polly/lib/Analysis/ |
| H A D | ScopDetection.cpp | 1332 SmallVector<BasicBlock *, 4> ExitBlocks; in isValidLoop() local 1333 L->getExitBlocks(ExitBlocks); in isValidLoop() 1334 BasicBlock *TheExitBlock = ExitBlocks[0]; in isValidLoop() 1335 for (BasicBlock *ExitBB : ExitBlocks) { in isValidLoop()
|
| /llvm-project-15.0.7/llvm/lib/Target/PowerPC/ |
| H A D | PPCTargetTransformInfo.cpp | 775 SmallVector<BasicBlock *, 4> ExitBlocks; in isHardwareLoopProfitable() local 776 L->getExitBlocks(ExitBlocks); in isHardwareLoopProfitable() 777 for (auto &BB : ExitBlocks) { in isHardwareLoopProfitable()
|