Home
last modified time | relevance | path

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

12

/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()
105 const SmallVectorImpl<BasicBlock *> &ExitBlocks = It->second; in formLCSSAForInstructionsImpl() local
107 if (ExitBlocks.empty()) in formLCSSAForInstructionsImpl()
157 for (BasicBlock *ExitBB : ExitBlocks) { in formLCSSAForInstructionsImpl()
230 if (isa<PHINode>(UserBB->begin()) && isExitBlock(UserBB, ExitBlocks)) { in formLCSSAForInstructionsImpl()
338 Loop &L, const DominatorTree &DT, ArrayRef<BasicBlock *> ExitBlocks, in computeBlocksDominatingExits() argument
342 SmallVector<BasicBlock *, 8> BBWorklist(ExitBlocks); in computeBlocksDominatingExits()
395 const SmallVectorImpl<BasicBlock *> &ExitBlocks = It->second; in formLCSSAImpl() local
396 if (ExitBlocks.empty()) in formLCSSAImpl()
[all …]
H A DLoopUtils.cpp1502 SmallVector<BasicBlock *, 8> ExitBlocks; in canLoopBeDeleted() local
1503 L->getUniqueExitBlocks(ExitBlocks); in canLoopBeDeleted()
1504 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted()
1507 BasicBlock *ExitBlock = ExitBlocks[0]; in canLoopBeDeleted()
1565 SmallVector<BasicBlock*, 8> ExitBlocks; in rewriteLoopExitValues() local
1566 L->getUniqueExitBlocks(ExitBlocks); in rewriteLoopExitValues()
1572 for (BasicBlock *ExitBB : ExitBlocks) { in rewriteLoopExitValues()
H A DLoopUnroll.cpp492 SmallVector<BasicBlock *, 4> ExitBlocks; in UnrollLoop() local
493 L->getExitBlocks(ExitBlocks); in UnrollLoop()
563 any_of(ExitBlocks, in UnrollLoop()
H A DLoopPeel.cpp595 SmallVector<BasicBlock *, 4> ExitBlocks; in violatesLegacyMultiExitLoopCheck() local
596 L->getUniqueNonLatchExitBlocks(ExitBlocks); in violatesLegacyMultiExitLoopCheck()
597 return any_of(ExitBlocks, [](const BasicBlock *EB) { in violatesLegacyMultiExitLoopCheck()
H A DCodeExtractor.cpp1562 SmallPtrSet<BasicBlock *, 2> ExitBlocks; in computeExtractedFuncRetVals() local
1568 bool IsNew = ExitBlocks.insert(Succ).second; in computeExtractedFuncRetVals()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMemorySSAUpdater.h106 ArrayRef<BasicBlock *> ExitBlocks,
115 LLVM_ABI void updateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
119 ArrayRef<BasicBlock *> ExitBlocks,
293 void privateUpdateExitBlocksForClonedLoop(ArrayRef<BasicBlock *> ExitBlocks,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DSimpleLoopUnswitch.cpp1174 ArrayRef<BasicBlock *> ExitBlocks, BasicBlock *ParentBB, in buildClonedLoopBlocks() argument
1182 NewBlocks.reserve(L.getNumBlocks() + ExitBlocks.size()); in buildClonedLoopBlocks()
1216 for (auto *ExitBB : ExitBlocks) { in buildClonedLoopBlocks()
1428 static void buildClonedLoops(Loop &OrigL, ArrayRef<BasicBlock *> ExitBlocks, in buildClonedLoops() argument
1446 ClonedExitsInLoops.reserve(ExitBlocks.size()); in buildClonedLoops()
1447 for (auto *ExitBB : ExitBlocks) in buildClonedLoops()
1678 deleteDeadClonedBlocks(Loop &L, ArrayRef<BasicBlock *> ExitBlocks, in deleteDeadClonedBlocks() argument
1683 for (BasicBlock *BB : llvm::concat<BasicBlock *const>(L.blocks(), ExitBlocks)) in deleteDeadClonedBlocks()
1708 SmallVectorImpl<BasicBlock *> &ExitBlocks, in deleteDeadBlocksFromLoop() argument
1719 SmallVector<BasicBlock *, 16> DeathCandidates(ExitBlocks.begin(), in deleteDeadBlocksFromLoop()
[all …]
H A DLICM.cpp487 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnLoop() local
488 L->getUniqueExitBlocks(ExitBlocks); in runOnLoop()
491 bool HasCatchSwitch = llvm::any_of(ExitBlocks, [](BasicBlock *Exit) { in runOnLoop()
498 InsertPts.reserve(ExitBlocks.size()); in runOnLoop()
499 MSSAInsertPts.reserve(ExitBlocks.size()); in runOnLoop()
500 for (BasicBlock *ExitBlock : ExitBlocks) { in runOnLoop()
516 PointerMustAliases, ExitBlocks, InsertPts, MSSAInsertPts, PIC, LI, in runOnLoop()
1495 SmallVector<BasicBlock *, 32> ExitBlocks; in splitPredecessorsOfLoopExit() local
1496 CurLoop->getUniqueExitBlocks(ExitBlocks); in splitPredecessorsOfLoopExit()
1497 SmallPtrSet<BasicBlock *, 32> ExitBlockSet(llvm::from_range, ExitBlocks); in splitPredecessorsOfLoopExit()
[all …]
H A DLoopSimplifyCFG.cpp273 SmallVector<BasicBlock *, 8> ExitBlocks; in analyze() local
274 L.getExitBlocks(ExitBlocks); in analyze()
276 for (auto *ExitBlock : ExitBlocks) in analyze()
H A DLoopIdiomRecognize.cpp214 SmallVectorImpl<BasicBlock *> &ExitBlocks);
357 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
358 CurLoop->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
380 MadeChange |= runOnLoopBlock(BB, BECount, ExitBlocks); in runOnCountableLoop()
579 SmallVectorImpl<BasicBlock *> &ExitBlocks) { in runOnLoopBlock() argument
583 for (BasicBlock *ExitBlock : ExitBlocks) in runOnLoopBlock()
H A DIndVarSimplify.cpp438 SmallVector<BasicBlock *, 8> ExitBlocks; in rewriteFirstIterationLoopExitValues() local
439 L->getUniqueExitBlocks(ExitBlocks); in rewriteFirstIterationLoopExitValues()
442 for (auto *ExitBB : ExitBlocks) { in rewriteFirstIterationLoopExitValues()
/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/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.cpp432 BasicBlock *PH, ArrayRef<BasicBlock *> ExitBlocks, in PGOCounterPromoterHelper() argument
436 : LoadAndStorePromoter({L, S}, SSA), Store(S), ExitBlocks(ExitBlocks), in PGOCounterPromoterHelper()
444 for (unsigned i = 0, e = ExitBlocks.size(); i != e; ++i) { in doExtraRewritesBeforeFinalDeletion()
445 BasicBlock *ExitBlock = ExitBlocks[i]; in doExtraRewritesBeforeFinalDeletion()
490 ArrayRef<BasicBlock *> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoterHelper
520 ExitBlocks.push_back(ExitBlock); in PGOCounterPromoter()
528 if (ExitBlocks.size() == 0) in run()
537 for (auto *BB : ExitBlocks) in run()
567 L.getLoopPreheader(), ExitBlocks, in run()
658 SmallVector<BasicBlock *, 8> ExitBlocks; member in __anon21e6fd6b0111::PGOCounterPromoter
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DMemorySSAUpdater.cpp670 ArrayRef<BasicBlock *> ExitBlocks, in updateForClonedLoop() argument
674 llvm::from_range, concat<BasicBlock *const>(LoopBlocks, ExitBlocks)); in updateForClonedLoop()
758 ArrayRef<BasicBlock *> ExitBlocks, Iter ValuesBegin, Iter ValuesEnd, in privateUpdateExitBlocksForClonedLoop() argument
762 for (auto *Exit : ExitBlocks) in privateUpdateExitBlocksForClonedLoop()
772 ArrayRef<BasicBlock *> ExitBlocks, const ValueToValueMapTy &VMap, in updateExitBlocksForClonedLoop() argument
775 privateUpdateExitBlocksForClonedLoop(ExitBlocks, std::begin(Arr), in updateExitBlocksForClonedLoop()
780 ArrayRef<BasicBlock *> ExitBlocks, in updateExitBlocksForClonedLoop() argument
790 privateUpdateExitBlocksForClonedLoop(ExitBlocks, MapBegin, MapEnd, DT); in updateExitBlocksForClonedLoop()
H A DLoopInfo.cpp1029 SmallVector<BasicBlock *, 8> ExitBlocks; in printLoop() local
1030 L.getExitBlocks(ExitBlocks); in printLoop()
1031 if (!ExitBlocks.empty()) { in printLoop()
1033 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_range(ExitBlocks); in buildMemorySSA()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMLowOverheadLoops.cpp157 SmallVector<MachineBasicBlock*, 2> ExitBlocks; in ProcessLoop() local
158 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
159 append_range(Order, ExitBlocks); in ProcessLoop()
1010 SmallVector<MachineBasicBlock *, 2> ExitBlocks; in ValidateLiveOuts() local
1011 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
1013 assert(ExitBlocks.size() == 1 && "Expected a single exit block"); in ValidateLiveOuts()
1014 MachineBasicBlock *ExitBB = ExitBlocks.front(); in ValidateLiveOuts()
H A DARMTargetTransformInfo.cpp2641 SmallVector<BasicBlock *, 4> ExitBlocks; in getUnrollingPreferences() local
2642 L->getExitBlocks(ExitBlocks); in getUnrollingPreferences()
2643 for (auto *Exit : ExitBlocks) { in getUnrollingPreferences()
/freebsd/contrib/llvm-project/llvm/lib/Target/Hexagon/
H A DHexagonLoopIdiomRecognition.cpp131 SmallVectorImpl<BasicBlock *> &ExitBlocks);
2130 SmallVector<BasicBlock*, 8> ExitBlocks; in processCopyingStore() local
2131 CurLoop->getUniqueExitBlocks(ExitBlocks); in processCopyingStore()
2132 if (ExitBlocks.size() != 1) in processCopyingStore()
2134 ExitB = ExitBlocks[0]; in processCopyingStore()
2343 const SCEV *BECount, SmallVectorImpl<BasicBlock*> &ExitBlocks) { in runOnLoopBlock() argument
2350 if (!all_of(ExitBlocks, DominatedByBB)) in runOnLoopBlock()
2378 SmallVector<BasicBlock *, 8> ExitBlocks; in runOnCountableLoop() local
2379 L->getUniqueExitBlocks(ExitBlocks); in runOnCountableLoop()
2388 Changed |= runOnLoopBlock(L, BB, BECount, ExitBlocks); in runOnCountableLoop()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DShrinkWrap.cpp783 SmallVector<MachineBasicBlock*, 4> ExitBlocks; in updateSaveRestorePoints() local
784 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
788 for (MachineBasicBlock *LoopExitBB: ExitBlocks) { in updateSaveRestorePoints()
H A DMachineLICM.cpp152 SmallVector<MachineBasicBlock *, 8> ExitBlocks; in isExitBlock() local
153 CurLoop->getExitBlocks(ExitBlocks); in isExitBlock()
154 It->second = std::move(ExitBlocks); in isExitBlock()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlan.cpp928 ExitBlocks.push_back(createVPIRBasicBlock(EB)); in VPlan()
990 return is_contained(ExitBlocks, VPBB); in isExitBlock()
1291 NewPlan->ExitBlocks.push_back(cast<VPIRBasicBlock>(VPB)); in duplicate()
H A DVPlan.h3870 SmallVector<VPIRBasicBlock *, 2> ExitBlocks;
4008 ArrayRef<VPIRBasicBlock *> getExitBlocks() const { return ExitBlocks; }
4216 return ExitBlocks.size() > 1 ||
4217 (ExitBlocks.size() == 1 && ExitBlocks[0]->getNumPredecessors() > 1);

12