Home
last modified time | relevance | path

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

/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp71 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 DLoopUtils.cpp1207 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 DLoopPeel.cpp348 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 DLoopUnroll.cpp307 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
308 L->getExitBlocks(ExitBlocks); in UnrollLoop()
374 any_of(ExitBlocks, in UnrollLoop()
H A DCodeExtractor.cpp1675 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 DLoopInfoImpl.h68 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 DMemorySSAUpdater.h104 ArrayRef<BasicBlock *> ExitBlocks,
113 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
117 ArrayRef<BasicBlock *> ExitBlocks,
283 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
H A DLoopInfo.h297 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 DSimpleLoopUnswitch.cpp1137 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 DLICM.cpp460 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 DLoopSimplifyCFG.cpp260 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
261 L.getExitBlocks(ExitBlocks); in analyze()
263 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp203 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 DIndVarSimplify.cpp445 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 DInstrProfiling.cpp161 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 DLoopExtractor.cpp200 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 DShrinkWrap.cpp429 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
430 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
434 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
H A DMachineLICM.cpp137 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 DMemorySSAUpdater.cpp677 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 DLoopInfo.cpp1001 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 DARMLowOverheadLoops.cpp150 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 DARMTargetTransformInfo.cpp2328 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 DHexagonLoopIdiomRecognition.cpp138 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 DScopHelper.cpp452 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 DScopDetection.cpp1332 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 DPPCTargetTransformInfo.cpp775 SmallVector<BasicBlock *, 4> ExitBlocks; in isHardwareLoopProfitable() local
776 L->getExitBlocks(ExitBlocks); in isHardwareLoopProfitable()
777 for (auto &BB : ExitBlocks) { in isHardwareLoopProfitable()