Home
last modified time | relevance | path

Searched refs:ExitBlocks (Results 1 – 21 of 21) sorted by relevance

/freebsd-12.1/contrib/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp116 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 DLCSSA.cpp68 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 DLoopUnroll.cpp414 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
415 L->getExitBlocks(ExitBlocks); in UnrollLoop()
425 any_of(ExitBlocks, [](const BasicBlock *BB) { in UnrollLoop()
H A DCodeExtractor.cpp1299 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 DLoopInfoImpl.h64 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 DMemorySSAUpdater.h115 ArrayRef<BasicBlock *> ExitBlocks,
124 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
128 ArrayRef<BasicBlock *> ExitBlocks,
278 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
H A DLoopInfo.h258 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
272 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
/freebsd-12.1/contrib/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp985 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 DLoopUnswitch.cpp1213 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 DLICM.cpp337 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 DLoopSimplifyCFG.cpp230 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
231 L.getExitBlocks(ExitBlocks); in analyze()
232 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp162 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 DIndVarSimplify.cpp569 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 DInstrProfiling.cpp179 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 DMemorySSAUpdater.cpp464 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 DLoopInfo.cpp718 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 DScalarEvolution.cpp11405 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 DWebAssemblyFixIrreducibleControlFlow.cpp184 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 DShrinkWrap.cpp418 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
419 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
423 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
H A DMachineLICM.cpp115 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 DHexagonLoopIdiomRecognition.cpp151 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()