Home
last modified time | relevance | path

Searched refs:ExitingBlocks (Results 1 – 22 of 22) sorted by relevance

/llvm-project-15.0.7/llvm/lib/Transforms/Utils/
H A DUnifyLoopExits.cpp146 SetVector<BasicBlock *> ExitingBlocks; in unifyLoopExits() local
153 ExitingBlocks.insert(BB); in unifyLoopExits()
172 for (auto EB : ExitingBlocks) { in unifyLoopExits()
184 auto LoopExitBlock = CreateControlFlowHub(&DTU, GuardBlocks, ExitingBlocks, in unifyLoopExits()
187 restoreSSA(DT, L, ExitingBlocks, LoopExitBlock); in unifyLoopExits()
H A DLoopSimplify.cpp522 SmallVector<BasicBlock*, 8> ExitingBlocks; in simplifyOneLoop() local
523 L->getExitingBlocks(ExitingBlocks); in simplifyOneLoop()
524 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop()
620 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop()
634 for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) { in simplifyOneLoop()
635 BasicBlock *ExitingBlock = ExitingBlocks[i]; in simplifyOneLoop()
901 SmallVector<BasicBlock*, 8> ExitingBlocks;
902 L->getExitingBlocks(ExitingBlocks);
903 for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) {
904 if (isa<IndirectBrInst>((ExitingBlocks[i])->getTerminator())) {
H A DLoopUnroll.cpp324 SmallVector<BasicBlock *> ExitingBlocks; in UnrollLoop() member
327 SmallVector<BasicBlock *, 4> ExitingBlocks; in UnrollLoop() local
328 L->getExitingBlocks(ExitingBlocks); in UnrollLoop()
329 for (auto *ExitingBlock : ExitingBlocks) { in UnrollLoop()
347 Info.ExitingBlocks.push_back(ExitingBlock); in UnrollLoop()
591 ExitInfoIt->second.ExitingBlocks.push_back(New); in UnrollLoop()
734 for (unsigned i = 0, e = Info.ExitingBlocks.size(); i != e; ++i) { in UnrollLoop()
750 SetDest(Info.ExitingBlocks[i], *KnownWillExit, Info.ExitOnTrue); in UnrollLoop()
H A DLoopUtils.cpp1205 SmallVector<BasicBlock *, 4> ExitingBlocks; in canLoopBeDeleted() local
1206 L->getExitingBlocks(ExitingBlocks); in canLoopBeDeleted()
1209 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted()
1215 Value *Incoming = P->getIncomingValueForBlock(ExitingBlocks[0]); in canLoopBeDeleted()
1762 SmallVector<BasicBlock *, 4> ExitingBlocks; in hasPartialIVCondition() local
1763 L.getExitingBlocks(ExitingBlocks); in hasPartialIVCondition()
1765 [&L, &AA, &AccessedLocs, &ExitingBlocks, &InstToDuplicate, in hasPartialIVCondition()
1839 for (auto *Exiting : ExitingBlocks) { in hasPartialIVCondition()
H A DLoopPeel.cpp210 SmallVector<BasicBlock *> ExitingBlocks; in peelToTurnInvariantLoadsDerefencebale() local
211 L.getExitingBlocks(ExitingBlocks); in peelToTurnInvariantLoadsDerefencebale()
212 if (any_of(ExitingBlocks, [&LoadUsers](BasicBlock *Exiting) { in peelToTurnInvariantLoadsDerefencebale()
H A DLoopUnrollRuntime.cpp442 SmallVector<BasicBlock*, 4> ExitingBlocks; in canProfitablyUnrollMultiExitLoop() local
443 L->getExitingBlocks(ExitingBlocks); in canProfitablyUnrollMultiExitLoop()
444 if (ExitingBlocks.size() > 2) in canProfitablyUnrollMultiExitLoop()
H A DScalarEvolutionExpander.cpp2059 SmallVector<BasicBlock *, 4> ExitingBlocks; in getRelatedExistingExpansion() local
2060 L->getExitingBlocks(ExitingBlocks); in getRelatedExistingExpansion()
2063 for (BasicBlock *BB : ExitingBlocks) { in getRelatedExistingExpansion()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp1440 L->getExitingBlocks(ExitingBlocks); in canonicalizeExitCondition()
1565 L->getExitingBlocks(ExitingBlocks); in optimizeLoopExits()
1597 if (ExitingBlocks.empty()) in optimizeLoopExits()
1622 assert(DT->dominates(ExitingBlocks[i-1], ExitingBlocks[i])); in optimizeLoopExits()
1723 L->getExitingBlocks(ExitingBlocks); in predicateLoopExits()
1789 llvm::sort(ExitingBlocks, in predicateLoopExits()
1802 if (!DT->dominates(ExitingBlocks[i-1], ExitingBlocks[i])) in predicateLoopExits()
1808 if (BadExit(ExitingBlocks[i])) { in predicateLoopExits()
1809 ExitingBlocks.resize(i); in predicateLoopExits()
1813 if (ExitingBlocks.empty()) in predicateLoopExits()
[all …]
H A DLoopDeletion.cpp66 SmallVectorImpl<BasicBlock *> &ExitingBlocks, in isLoopDead() argument
78 Value *incoming = P.getIncomingValueForBlock(ExitingBlocks[0]); in isLoopDead()
85 all_of(makeArrayRef(ExitingBlocks).slice(1), [&](BasicBlock *BB) { in isLoopDead()
481 SmallVector<BasicBlock *, 4> ExitingBlocks; in deleteLoopIfDead() local
482 L->getExitingBlocks(ExitingBlocks); in deleteLoopIfDead()
494 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLoopPredication.cpp1068 SmallVector<BasicBlock *, 16> ExitingBlocks; in getMinAnalyzeableBackedgeTakenCount() local
1069 L->getExitingBlocks(ExitingBlocks); in getMinAnalyzeableBackedgeTakenCount()
1072 for (BasicBlock *ExitingBB : ExitingBlocks) { in getMinAnalyzeableBackedgeTakenCount()
1111 SmallVector<BasicBlock *, 16> ExitingBlocks; in predicateLoopExits() local
1112 L->getExitingBlocks(ExitingBlocks); in predicateLoopExits()
1114 if (ExitingBlocks.empty()) in predicateLoopExits()
1137 for (auto *ExitingBB : ExitingBlocks) { in predicateLoopExits()
1185 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits()
H A DLoopUnrollPass.cpp1229 SmallVector<BasicBlock *, 8> ExitingBlocks; in tryToUnrollLoop() local
1230 L->getExitingBlocks(ExitingBlocks); in tryToUnrollLoop()
1231 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop()
H A DLoopStrengthReduce.cpp2414 SmallVector<BasicBlock*, 8> ExitingBlocks; in OptimizeLoopTermCond() local
2415 L->getExitingBlocks(ExitingBlocks); in OptimizeLoopTermCond()
2416 if (llvm::all_of(ExitingBlocks, [&LatchBlock](const BasicBlock *BB) { in OptimizeLoopTermCond()
2425 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond()
5246 SmallVector<BasicBlock *, 4> ExitingBlocks; in AdjustInsertPositionForExpand() local
5247 PIL->getExitingBlocks(ExitingBlocks); in AdjustInsertPositionForExpand()
5248 if (!ExitingBlocks.empty()) { in AdjustInsertPositionForExpand()
5249 BasicBlock *BB = ExitingBlocks[0]; in AdjustInsertPositionForExpand()
5250 for (unsigned i = 1, e = ExitingBlocks.size(); i != e; ++i) in AdjustInsertPositionForExpand()
5251 BB = DT.findNearestCommonDominator(BB, ExitingBlocks[i]); in AdjustInsertPositionForExpand()
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DLoopInfoImpl.h34 SmallVectorImpl<BlockT *> &ExitingBlocks) const { in getExitingBlocks() argument
40 ExitingBlocks.push_back(BB); in getExitingBlocks()
50 SmallVector<BlockT *, 8> ExitingBlocks; in getExitingBlock() local
51 getExitingBlocks(ExitingBlocks); in getExitingBlock()
52 if (ExitingBlocks.size() == 1) in getExitingBlock()
53 return ExitingBlocks[0]; in getExitingBlock()
H A DRegionInfoImpl.h129 SmallVector<BlockT *, 8> ExitingBlocks; in contains() local
130 L->getExitingBlocks(ExitingBlocks); in contains()
132 for (BlockT *BB : ExitingBlocks) { in contains()
H A DLoopInfo.h289 void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const;
/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp394 SmallVector<BasicBlock *, 4> ExitingBlocks; in getUnrollingPreferences() local
395 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences()
398 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences()
402 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()
/llvm-project-15.0.7/llvm/lib/Transforms/Instrumentation/
H A DInstrProfiling.cpp311 SmallVector<BasicBlock *, 8> ExitingBlocks; in allowSpeculativeCounterPromotion() local
312 L.getExitingBlocks(ExitingBlocks); in allowSpeculativeCounterPromotion()
314 if (ExitingBlocks.size() == 1) in allowSpeculativeCounterPromotion()
316 if (ExitingBlocks.size() > SpeculativeCounterPromotionMaxExiting) in allowSpeculativeCounterPromotion()
349 SmallVector<BasicBlock *, 8> ExitingBlocks; in getMaxNumOfPromotionsInLoop() local
350 LP->getExitingBlocks(ExitingBlocks); in getMaxNumOfPromotionsInLoop()
357 if (ExitingBlocks.size() == 1) in getMaxNumOfPromotionsInLoop()
360 if (ExitingBlocks.size() > SpeculativeCounterPromotionMaxExiting) in getMaxNumOfPromotionsInLoop()
/llvm-project-15.0.7/llvm/lib/Analysis/
H A DTargetTransformInfo.cpp109 SmallVector<BasicBlock *, 4> ExitingBlocks; in isHardwareLoopCandidate() local
110 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopCandidate()
112 for (BasicBlock *BB : ExitingBlocks) { in isHardwareLoopCandidate()
H A DScalarEvolution.cpp8057 SmallVector<BasicBlock *, 8> ExitingBlocks; in getSmallConstantTripMultiple() local
8058 L->getExitingBlocks(ExitingBlocks); in getSmallConstantTripMultiple()
8061 for (auto *ExitingBB : ExitingBlocks) { in getSmallConstantTripMultiple()
8522 SmallVector<BasicBlock *, 8> ExitingBlocks; in computeBackedgeTakenCount() local
8523 L->getExitingBlocks(ExitingBlocks); in computeBackedgeTakenCount()
8538 BasicBlock *ExitBB = ExitingBlocks[i]; in computeBackedgeTakenCount()
13174 SmallVector<BasicBlock *, 8> ExitingBlocks; in PrintLoopInfo() local
13175 L->getExitingBlocks(ExitingBlocks); in PrintLoopInfo()
13176 if (ExitingBlocks.size() != 1) in PrintLoopInfo()
13184 if (ExitingBlocks.size() > 1) in PrintLoopInfo()
[all …]
/llvm-project-15.0.7/llvm/lib/Target/PowerPC/
H A DPPCTargetTransformInfo.cpp748 SmallVector<BasicBlock*, 4> ExitingBlocks; in isHardwareLoopProfitable() local
749 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopProfitable()
753 for (auto &BB : ExitingBlocks) { in isHardwareLoopProfitable()
/llvm-project-15.0.7/polly/lib/Analysis/
H A DScopDetection.cpp1275 SmallVector<BasicBlock *, 4> ExitingBlocks; in hasExitingBlocks() local
1276 L->getExitingBlocks(ExitingBlocks); in hasExitingBlocks()
1277 return !ExitingBlocks.empty(); in hasExitingBlocks()
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp2275 SmallVector<BasicBlock*, 4> ExitingBlocks; in getUnrollingPreferences() local
2276 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences()
2279 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences()
2283 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()