| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | UnifyLoopExits.cpp | 146 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 D | LoopSimplify.cpp | 522 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 D | LoopUnroll.cpp | 324 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 D | LoopUtils.cpp | 1205 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 D | LoopPeel.cpp | 210 SmallVector<BasicBlock *> ExitingBlocks; in peelToTurnInvariantLoadsDerefencebale() local 211 L.getExitingBlocks(ExitingBlocks); in peelToTurnInvariantLoadsDerefencebale() 212 if (any_of(ExitingBlocks, [&LoadUsers](BasicBlock *Exiting) { in peelToTurnInvariantLoadsDerefencebale()
|
| H A D | LoopUnrollRuntime.cpp | 442 SmallVector<BasicBlock*, 4> ExitingBlocks; in canProfitablyUnrollMultiExitLoop() local 443 L->getExitingBlocks(ExitingBlocks); in canProfitablyUnrollMultiExitLoop() 444 if (ExitingBlocks.size() > 2) in canProfitablyUnrollMultiExitLoop()
|
| H A D | ScalarEvolutionExpander.cpp | 2059 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 D | IndVarSimplify.cpp | 1440 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 D | LoopDeletion.cpp | 66 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 D | LoopPredication.cpp | 1068 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 D | LoopUnrollPass.cpp | 1229 SmallVector<BasicBlock *, 8> ExitingBlocks; in tryToUnrollLoop() local 1230 L->getExitingBlocks(ExitingBlocks); in tryToUnrollLoop() 1231 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop()
|
| H A D | LoopStrengthReduce.cpp | 2414 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 D | LoopInfoImpl.h | 34 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 D | RegionInfoImpl.h | 129 SmallVector<BlockT *, 8> ExitingBlocks; in contains() local 130 L->getExitingBlocks(ExitingBlocks); in contains() 132 for (BlockT *BB : ExitingBlocks) { in contains()
|
| H A D | LoopInfo.h | 289 void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const;
|
| /llvm-project-15.0.7/llvm/lib/Target/RISCV/ |
| H A D | RISCVTargetTransformInfo.cpp | 394 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 D | InstrProfiling.cpp | 311 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 D | TargetTransformInfo.cpp | 109 SmallVector<BasicBlock *, 4> ExitingBlocks; in isHardwareLoopCandidate() local 110 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopCandidate() 112 for (BasicBlock *BB : ExitingBlocks) { in isHardwareLoopCandidate()
|
| H A D | ScalarEvolution.cpp | 8057 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 D | PPCTargetTransformInfo.cpp | 748 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 D | ScopDetection.cpp | 1275 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 D | ARMTargetTransformInfo.cpp | 2275 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()
|