Home
last modified time | relevance | path

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

/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLCSSA.cpp72 const SmallVectorImpl<BasicBlock *> &ExitBlocks) { in isExitBlock() argument
73 return is_contained(ExitBlocks, BB); in isExitBlock()
106 const SmallVectorImpl<BasicBlock *> &ExitBlocks = LoopExitBlocks[L]; in formLCSSAForInstructions() local
108 if (ExitBlocks.empty()) in formLCSSAForInstructions()
155 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructions()
219 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructions()
299 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits()
346 SmallVector<BasicBlock *, 8> ExitBlocks; in formLCSSA() local
347 L.getExitBlocks(ExitBlocks); in formLCSSA()
348 if (ExitBlocks.empty()) in formLCSSA()
[all …]
H A DLoopUtils.cpp759 SmallVector<BasicBlock *, 4> ExitBlocks; in getExpectedExitLoopLatchBranch() local
760 L->getUniqueNonLatchExitBlocks(ExitBlocks); in getExpectedExitLoopLatchBranch()
761 if (any_of(ExitBlocks, [](const BasicBlock *EB) { in getExpectedExitLoopLatchBranch()
1192 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local
1193 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted()
1194 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted()
1197 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted()
1243 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local
1244 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues()
1250 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
H A DLoopUnroll.cpp297 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
298 L->getExitBlocks(ExitBlocks); in UnrollLoop()
364 any_of(ExitBlocks, in UnrollLoop()
H A DCodeExtractor.cpp1615 SmallPtrSet<BasicBlock *, 1> ExitBlocks; in extractCodeRegion() local
1624 ExitBlocks.insert(Succ); in extractCodeRegion()
1628 NumExitBlocks = ExitBlocks.size(); in extractCodeRegion()
1632 severSplitPHINodesOfExits(ExitBlocks); in extractCodeRegion()
1742 for (BasicBlock *ExitBB : ExitBlocks) in extractCodeRegion()
/freebsd-13.1/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h69 ExitBlocks.push_back(Succ); in getExitBlocks()
74 SmallVector<BlockT *, 8> ExitBlocks; in hasNoExitBlocks() local
75 getExitBlocks(ExitBlocks); in hasNoExitBlocks()
76 return ExitBlocks.empty(); in hasNoExitBlocks()
84 SmallVector<BlockT *, 8> ExitBlocks; in getExitBlock() local
85 getExitBlocks(ExitBlocks); in getExitBlock()
86 if (ExitBlocks.size() == 1) in getExitBlock()
87 return ExitBlocks[0]; in getExitBlock()
118 ExitBlocks.push_back(Successor); in getUniqueExitBlocksHelper()
124 getUniqueExitBlocksHelper(this, ExitBlocks, in getUniqueExitBlocks()
[all …]
H A DMemorySSAUpdater.h106 ArrayRef<BasicBlock *> ExitBlocks,
115 void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
119 ArrayRef<BasicBlock *> ExitBlocks,
285 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
H A DLoopInfo.h281 void getExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
293 void getUniqueExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
299 void getUniqueNonLatchExitBlocks(SmallVectorImpl<BlockT *> &ExitBlocks) const;
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp1111 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks()
1329 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops()
1330 for (auto *ExitBB : ExitBlocks) in buildClonedLoops()
1622 llvm::erase_if(ExitBlocks, in deleteDeadBlocksFromLoop()
1803 ExitsInLoops.reserve(ExitBlocks.size()); in rebuildLoopAfterUnswitch()
1804 for (auto *ExitBB : ExitBlocks) in rebuildLoopAfterUnswitch()
2105 for (auto *ExitBB : ExitBlocks) { in unswitchNontrivialInvariants()
2557 ExitBlocks.push_back(CheckBI->getSuccessor(1)); in turnGuardIntoBranch()
2782 SmallVector<BasicBlock *, 4> ExitBlocks; in unswitchBestCondition() local
2783 L.getUniqueExitBlocks(ExitBlocks); in unswitchBestCondition()
[all …]
H A DLoopUnswitch.cpp1313 for (unsigned I = 0, E = ExitBlocks.size(); I != E; ++I) { in splitExitEdges()
1314 BasicBlock *ExitBlock = ExitBlocks[I]; in splitExitEdges()
1357 SmallVector<BasicBlock*, 8> ExitBlocks; in unswitchNontrivialCondition() local
1358 L->getUniqueExitBlocks(ExitBlocks); in unswitchNontrivialCondition()
1362 splitExitEdges(L, ExitBlocks); in unswitchNontrivialCondition()
1365 ExitBlocks.clear(); in unswitchNontrivialCondition()
1366 L->getUniqueExitBlocks(ExitBlocks); in unswitchNontrivialCondition()
1369 llvm::append_range(LoopBlocks, ExitBlocks); in unswitchNontrivialCondition()
1406 if (Loop *ExitBBLoop = LI->getLoopFor(ExitBlocks[EBI])) in unswitchNontrivialCondition()
1416 Value *V = PN.getIncomingValueForBlock(ExitBlocks[EBI]); in unswitchNontrivialCondition()
[all …]
H A DLICM.cpp457 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local
458 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
468 InsertPts.reserve(ExitBlocks.size()); in runOnLoop()
470 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop()
471 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
1616 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local
1617 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit()
1619 ExitBlocks.end()); in splitPredecessorsOfLoopExit()
1751 SmallVector<BasicBlock *, 32> ExitBlocks; in sink() local
1752 CurLoop->getUniqueExitBlocks(ExitBlocks); in sink()
[all …]
H A DLoopSimplifyCFG.cpp265 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
266 L.getExitBlocks(ExitBlocks); in analyze()
268 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp204 SmallVectorImpl<BasicBlock *> &ExitBlocks);
398 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
399 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
421 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
624 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument
628 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) in runOnLoopBlock()
629 if (!DT->dominates(BB, ExitBlocks[i])) 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-13.1/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp182 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument
186 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper()
194 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion()
195 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion()
227 ArrayRef<BasicBlock *> ExitBlocks; member in __anon05d9999f0111::PGOCounterPromoterHelper
241 : LoopToCandidates(LoopToCands), ExitBlocks(), InsertPts(), L(CurLoop), in PGOCounterPromoter()
255 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
263 if (ExitBlocks.size() == 0) in run()
272 for (auto BB : ExitBlocks) in run()
303 L.getLoopPreheader(), ExitBlocks, in run()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Transforms/IPO/
H A DLoopExtractor.cpp205 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnFunction() local
206 TLL->getExitBlocks(ExitBlocks); in runOnFunction()
207 for (auto *ExitBlock : ExitBlocks) in runOnFunction()
/freebsd-13.1/contrib/llvm-project/llvm/lib/CodeGen/
H A DShrinkWrap.cpp421 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
422 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
426 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
H A DMachineLICM.cpp137 SmallVector<MachineBasicBlock *, 8> ExitBlocks; member in __anon3ed712e20111::MachineLICMBase
140 return is_contained(ExitBlocks, MBB); in isExitBlock()
371 ExitBlocks.clear(); in runOnMachineFunction()
380 CurLoop->getExitBlocks(ExitBlocks); in runOnMachineFunction()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSAUpdater.cpp678 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument
748 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop()
751 for (auto BB : llvm::concat<BasicBlock *const>(LoopBlocks, ExitBlocks)) in updateForClonedLoop()
775 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument
779 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop()
789 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument
792 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop()
797 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument
807 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
H A DLoopInfo.cpp1007 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local
1008 L.getExitBlocks(ExitBlocks); in printLoop()
1009 if (!ExitBlocks.empty()) { in printLoop()
1011 for (auto *Block : ExitBlocks) in printLoop()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLowOverheadLoops.cpp140 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local
141 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
142 append_range(Order, ExitBlocks); in ProcessLoop()
988 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local
989 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
991 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts()
992 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
H A DARMTargetTransformInfo.cpp2206 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local
2207 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences()
2208 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp138 SmallVectorImpl<BasicBlock *> &ExitBlocks);
2154 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local
2155 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore()
2156 if (ExitBlocks.size() != 1) in processCopyingStore()
2158 ExitB = ExitBlocks[0]; in processCopyingStore()
2374 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument
2381 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock()
2409 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
2410 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
2419 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/PowerPC/
H A DPPCTargetTransformInfo.cpp770 SmallVector<BasicBlock *, 4> ExitBlocks; in isHardwareLoopProfitable() local
771 L->getExitBlocks(ExitBlocks); in isHardwareLoopProfitable()
772 for (auto &BB : ExitBlocks) { in isHardwareLoopProfitable()