| /freebsd-12.1/contrib/llvm/lib/Transforms/IPO/ |
| H A D | LoopExtractor.cpp | 116 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local 117 L->getExitBlocks(ExitBlocks); in runOnLoop() 118 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop() 119 if (!isa<ReturnInst>(ExitBlocks[i]->getTerminator())) { in runOnLoop() 130 SmallVector<BasicBlock*, 8> ExitBlocks; in runOnLoop() local 131 L->getExitBlocks(ExitBlocks); in runOnLoop() 132 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoop() 133 if (ExitBlocks[i]->isEHPad()) { in runOnLoop()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Utils/ |
| H A D | LCSSA.cpp | 68 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument 69 return is_contained(ExitBlocks, BB); in isExitBlock() 98 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local 100 if (ExitBlocks.empty()) in formLCSSAForInstructions() 138 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions() 261 Loop &L, DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, in computeBlocksDominatingExits() argument 267 for (BasicBlock *BB : ExitBlocks) in computeBlocksDominatingExits() 309 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local 310 L.getExitBlocks(ExitBlocks); in formLCSSA() 311 if (ExitBlocks.empty()) in formLCSSA() [all …]
|
| H A D | LoopUnroll.cpp | 414 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local 415 L->getExitBlocks(ExitBlocks); in UnrollLoop() 425 any_of(ExitBlocks, [](const BasicBlock *BB) { in UnrollLoop()
|
| H A D | CodeExtractor.cpp | 1299 SmallPtrSet<BasicBlock *, 1> ExitBlocks; in extractCodeRegion() local 1309 ExitBlocks.insert(*SI); in extractCodeRegion() 1313 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion() 1317 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion() 1411 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion()
|
| /freebsd-12.1/contrib/llvm/include/llvm/Analysis/ |
| H A D | LoopInfoImpl.h | 64 SmallVectorImpl<BlockT *> &ExitBlocks) const { in getExitBlocks() argument 70 ExitBlocks.push_back(Succ); in getExitBlocks() 78 SmallVector<BlockT *, 8> ExitBlocks; in getExitBlock() local 79 getExitBlocks(ExitBlocks); in getExitBlock() 80 if (ExitBlocks.size() == 1) in getExitBlock() 81 return ExitBlocks[0]; in getExitBlock() 89 SmallVector<BlockT *, 4> ExitBlocks; in hasDedicatedExits() local 90 getExitBlocks(ExitBlocks); in hasDedicatedExits() 91 for (BlockT *EB : ExitBlocks) in hasDedicatedExits() 129 ExitBlocks.push_back(Successor); in getUniqueExitBlocks() [all …]
|
| H A D | MemorySSAUpdater.h | 115 ArrayRef<BasicBlock *> ExitBlocks, 124 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks, 128 ArrayRef<BasicBlock *> ExitBlocks, 278 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
|
| H A D | LoopInfo.h | 258 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const; 272 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/ |
| H A D | SimpleLoopUnswitch.cpp | 985 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks() 1191 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops() 1192 for (auto *ExitBB : ExitBlocks) in buildClonedLoops() 1482 llvm::erase_if(ExitBlocks, in deleteDeadBlocksFromLoop() 1657 ExitsInLoops.reserve(ExitBlocks.size()); in rebuildLoopAfterUnswitch() 1658 for (auto *ExitBB : ExitBlocks) in rebuildLoopAfterUnswitch() 1948 for (auto *ExitBB : ExitBlocks) { in unswitchNontrivialInvariants() 2375 ExitBlocks.push_back(CheckBI->getSuccessor(1)); in turnGuardIntoBranch() 2572 SmallVector<BasicBlock *, 4> ExitBlocks; in unswitchBestCondition() local 2573 L.getUniqueExitBlocks(ExitBlocks); in unswitchBestCondition() [all …]
|
| H A D | LoopUnswitch.cpp | 1213 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in SplitExitEdges() 1214 BasicBlock *ExitBlock = ExitBlocks[i]; in SplitExitEdges() 1253 SmallVector<BasicBlock*, 8> ExitBlocks; in UnswitchNontrivialCondition() local 1254 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition() 1258 SplitExitEdges(L, ExitBlocks); in UnswitchNontrivialCondition() 1261 ExitBlocks.clear(); in UnswitchNontrivialCondition() 1262 L->getUniqueExitBlocks(ExitBlocks); in UnswitchNontrivialCondition() 1265 LoopBlocks.insert(LoopBlocks.end(), ExitBlocks.begin(), ExitBlocks.end()); in UnswitchNontrivialCondition() 1300 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in UnswitchNontrivialCondition() 1303 if (Loop *ExitBBLoop = LI->getLoopFor(ExitBlocks[i])) in UnswitchNontrivialCondition() [all …]
|
| H A D | LICM.cpp | 337 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local 338 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop() 347 InsertPts.reserve(ExitBlocks.size()); in runOnLoop() 348 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoop() 1360 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local 1361 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit() 1363 ExitBlocks.end()); in splitPredecessorsOfLoopExit() 1494 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local 1495 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink() 1497 ExitBlocks.end()); in sink() [all …]
|
| H A D | LoopSimplifyCFG.cpp | 230 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local 231 L.getExitBlocks(ExitBlocks); in analyze() 232 for (auto *ExitBlock : ExitBlocks) in analyze()
|
| H A D | LoopIdiomRecognize.cpp | 162 SmallVectorImpl<BasicBlock *> &ExitBlocks); 313 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 314 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 335 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop() 535 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument 539 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoopBlock() 540 if (!DT->dominates(BB, ExitBlocks[i])) in runOnLoopBlock()
|
| H A D | IndVarSimplify.cpp | 569 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local 570 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues() 576 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues() 711 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local 712 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues() 717 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues() 789 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local 790 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted() 791 if (ExitBlocks.size() > 1 || ExitingBlocks.size() > 1) in canLoopBeDeleted() 794 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted()
|
| /freebsd-12.1/contrib/llvm/lib/Transforms/Instrumentation/ |
| H A D | InstrProfiling.cpp | 179 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument 183 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper() 191 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion() 192 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion() 222 ArrayRef<BasicBlock *> ExitBlocks; member in __anon2c6eeb300111::PGOCounterPromoterHelper 236 : LoopToCandidates(LoopToCands), ExitBlocks(), InsertPts(), L(CurLoop), in PGOCounterPromoter() 245 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter() 253 if (ExitBlocks.size() == 0) in run() 267 L.getLoopPreheader(), ExitBlocks, in run() 342 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon2c6eeb300111::PGOCounterPromoter
|
| /freebsd-12.1/contrib/llvm/lib/Analysis/ |
| H A D | MemorySSAUpdater.cpp | 464 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument 530 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 533 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop() 554 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument 558 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop() 568 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument 571 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop() 576 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument 586 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
|
| H A D | LoopInfo.cpp | 718 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local 719 L.getExitBlocks(ExitBlocks); in printLoop() 720 if (!ExitBlocks.empty()) { in printLoop() 722 for (auto *Block : ExitBlocks) in printLoop()
|
| H A D | ScalarEvolution.cpp | 11405 SmallVector<BasicBlock *, 8> ExitBlocks; in PrintLoopInfo() local 11406 L->getExitBlocks(ExitBlocks); in PrintLoopInfo() 11407 if (ExitBlocks.size() != 1) in PrintLoopInfo()
|
| /freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyFixIrreducibleControlFlow.cpp | 184 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in run() local 185 InnerLoop->getExitBlocks(ExitBlocks); in run() 186 for (auto *Succ : ExitBlocks) { in run()
|
| /freebsd-12.1/contrib/llvm/lib/CodeGen/ |
| H A D | ShrinkWrap.cpp | 418 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local 419 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints() 423 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
|
| H A D | MachineLICM.cpp | 115 SmallVector<MachineBasicBlock *, 8> ExitBlocks; member in __anona8a949b30111::MachineLICMBase 118 return is_contained(ExitBlocks, MBB); in isExitBlock() 346 ExitBlocks.clear(); in runOnMachineFunction() 355 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
|
| /freebsd-12.1/contrib/llvm/lib/Target/Hexagon/ |
| H A D | HexagonLoopIdiomRecognition.cpp | 151 SmallVectorImpl<BasicBlock*> &ExitBlocks); 2133 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local 2134 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore() 2135 if (ExitBlocks.size() != 1) in processCopyingStore() 2137 ExitB = ExitBlocks[0]; in processCopyingStore() 2357 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument 2364 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock() 2392 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local 2393 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop() 2402 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
|