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()
322 Loop &L, const DominatorTree &DT, SmallVector<BasicBlock *, 8> &ExitBlocks, in computeBlocksDominatingExits() argument
326 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits()
375 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local
376 L.getExitBlocks(ExitBlocks); in formLCSSA()
[all …]
H A DLoopUtils.cpp1436 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local
1437 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted()
1438 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted()
1441 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted()
1499 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local
1500 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues()
1506 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
H A DLoopPeel.cpp529 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local
530 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck()
531 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
H A DLoopUnroll.cpp496 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
497 L->getExitBlocks(ExitBlocks); in UnrollLoop()
567 any_of(ExitBlocks, in UnrollLoop()
H A DCodeExtractor.cpp1759 SetVector<BasicBlock *> ExitBlocks; in extractCodeRegion() local
1768 ExitBlocks.insert(Succ); in extractCodeRegion()
1772 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion()
1782 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion()
1899 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,
285 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;
289 /// non Latch predecessor in a loop it will be added to ExitBlocks.
291 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp1169 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, in buildClonedLoopBlocks() argument
1177 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); in buildClonedLoopBlocks()
1211 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks()
1423 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, in buildClonedLoops()
1441 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops()
1442 for (auto *ExitBB : ExitBlocks) in buildClonedLoops()
1673 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, in deleteDeadClonedBlocks()
1678 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadClonedBlocks()
1703 SmallVectorImpl<BasicBlock *> &ExitBlocks, in deleteDeadBlocksFromLoop()
1714 SmallVector<BasicBlock *, 16> DeathCandidates(ExitBlocks in deleteDeadBlocksFromLoop()
1422 buildClonedLoops(Loop & OrigL,ArrayRef<BasicBlock * > ExitBlocks,const ValueToValueMapTy & VMap,LoopInfo & LI,SmallVectorImpl<Loop * > & NonChildClonedLoops) buildClonedLoops() argument
1672 deleteDeadClonedBlocks(Loop & L,ArrayRef<BasicBlock * > ExitBlocks,ArrayRef<std::unique_ptr<ValueToValueMapTy>> VMaps,DominatorTree & DT,MemorySSAUpdater * MSSAU) deleteDeadClonedBlocks() argument
1702 deleteDeadBlocksFromLoop(Loop & L,SmallVectorImpl<BasicBlock * > & ExitBlocks,DominatorTree & DT,LoopInfo & LI,MemorySSAUpdater * MSSAU,ScalarEvolution * SE,LPMUpdater & LoopUpdater) deleteDeadBlocksFromLoop() argument
1906 rebuildLoopAfterUnswitch(Loop & L,ArrayRef<BasicBlock * > ExitBlocks,LoopInfo & LI,SmallVectorImpl<Loop * > & HoistedLoops,ScalarEvolution * SE) rebuildLoopAfterUnswitch() argument
2261 SmallVector<BasicBlock *, 4> ExitBlocks; unswitchNontrivialInvariants() local
3297 SmallVector<BasicBlock *, 4> ExitBlocks; isSafeForNoNTrivialUnswitching() local
[all...]
H A DLICM.cpp484 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local
485 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
488 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { in runOnLoop()
495 InsertPts.reserve(ExitBlocks.size()); in runOnLoop()
496 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop()
497 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
513 PointerMustAliases, ExitBlocks, InsertPts, MSSAInsertPts, PIC, LI, in runOnLoop()
1565 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local
1566 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit()
1567 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(ExitBlocks.begin(), in splitPredecessorsOfLoopExit()
[all …]
H A DLoopSimplifyCFG.cpp258 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
259 L.getExitBlocks(ExitBlocks); in analyze()
261 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp192 SmallVectorImpl<BasicBlock *> &ExitBlocks);
329 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
330 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
352 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
555 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument
559 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
H A DIndVarSimplify.cpp442 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local
443 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues()
446 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/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.cpp1017 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local
1018 L.getExitBlocks(ExitBlocks); in printLoop()
1019 if (!ExitBlocks.empty()) { in printLoop()
1021 for (auto *Block : ExitBlocks) in printLoop()
H A DMemorySSA.cpp1574 SmallVector<BasicBlock *> ExitBlocks; in buildMemorySSA() local
1575 L->getExitBlocks(ExitBlocks); in buildMemorySSA()
1576 Visited.insert(ExitBlocks.begin(), ExitBlocks.end()); in buildMemorySSA()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp410 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument
414 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper()
422 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion()
423 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion()
468 ArrayRef<BasicBlock *> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoterHelper
498 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
506 if (ExitBlocks.size() == 0) in run()
515 for (auto *BB : ExitBlocks) in run()
545 L.getLoopPreheader(), ExitBlocks, in run()
636 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoter
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLowOverheadLoops.cpp160 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local
161 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
162 append_range(Order, ExitBlocks); in ProcessLoop()
1016 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local
1017 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
1019 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts()
1020 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
H A DARMTargetTransformInfo.cpp2518 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local
2519 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences()
2520 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp138 SmallVectorImpl<BasicBlock *> &ExitBlocks);
2142 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local
2143 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore()
2144 if (ExitBlocks.size() != 1) in processCopyingStore()
2146 ExitB = ExitBlocks[0]; in processCopyingStore()
2356 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument
2363 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock()
2391 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
2392 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
2401 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DShrinkWrap.cpp780 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
781 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
785 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/Transforms/Vectorize/
H A DLoopIdiomVectorize.cpp118 SmallVectorImpl<BasicBlock *> &ExitBlocks);
H A DLoopVectorize.cpp2959 SmallVector<BasicBlock *> ExitBlocks; in fixVectorizedLoop() local
2960 OrigLoop->getExitBlocks(ExitBlocks); in fixVectorizedLoop()
2961 for (BasicBlock *Exit : ExitBlocks) in fixVectorizedLoop()