Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp70 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 DLoopUtils.cpp1291 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 DLoopPeel.cpp489 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 DLoopUnroll.cpp333 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
334 L->getExitBlocks(ExitBlocks); in UnrollLoop()
404 any_of(ExitBlocks, in UnrollLoop()
H A DCodeExtractor.cpp1725 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 DMemorySSAUpdater.h104 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 DGenericLoopInfoImpl.h65 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 DGenericLoopInfo.h273 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 DSimpleLoopUnswitch.cpp1202 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 DLICM.cpp475 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 DLoopSimplifyCFG.cpp259 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
260 L.getExitBlocks(ExitBlocks); in analyze()
262 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp194 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 DIndVarSimplify.cpp432 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 DLoopExtractor.cpp200 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 DInstrProfiling.cpp329 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 DMemorySSAUpdater.cpp668 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 DLoopInfo.cpp1006 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 DARMLowOverheadLoops.cpp154 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 DARMTargetTransformInfo.cpp2506 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 DHexagonLoopIdiomRecognition.cpp138 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 DShrinkWrap.cpp778 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
779 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
783 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
H A DMachineLICM.cpp151 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 DAArch64LoopIdiomTransform.cpp98 SmallVectorImpl<BasicBlock *> &ExitBlocks);
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIInstrInfo.cpp217 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 DLoopVectorize.cpp3488 SmallVector<BasicBlock *> ExitBlocks; in fixVectorizedLoop() local
3489 OrigLoop->getExitBlocks(ExitBlocks); in fixVectorizedLoop()
3490 for (BasicBlock *Exit : ExitBlocks) in fixVectorizedLoop()