/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | IndVarSimplify.cpp | 1436 SmallVector<BasicBlock*, 16> ExitingBlocks; in canonicalizeExitCondition() local 1437 L->getExitingBlocks(ExitingBlocks); in canonicalizeExitCondition() 1439 for (auto *ExitingBB : ExitingBlocks) { in canonicalizeExitCondition() 1485 for (auto *ExitingBB : ExitingBlocks) { in canonicalizeExitCondition() 1561 SmallVector<BasicBlock*, 16> ExitingBlocks; in optimizeLoopExits() local 1562 L->getExitingBlocks(ExitingBlocks); in optimizeLoopExits() 1566 llvm::erase_if(ExitingBlocks, [&](BasicBlock *ExitingBB) { in optimizeLoopExits() 1594 if (ExitingBlocks.empty()) in optimizeLoopExits() 1605 llvm::sort(ExitingBlocks, [&](BasicBlock *A, BasicBlock *B) { in optimizeLoopExits() 1618 for (unsigned i = 1; i < ExitingBlocks.size(); i++) { in optimizeLoopExits() [all …]
|
H A D | LoopDeletion.cpp | 64 SmallVectorImpl<BasicBlock *> &ExitingBlocks, in isLoopDead() argument 76 Value *incoming = P.getIncomingValueForBlock(ExitingBlocks[0]); in isLoopDead() 83 all_of(ArrayRef(ExitingBlocks).slice(1), [&](BasicBlock *BB) { in isLoopDead() 485 SmallVector<BasicBlock *, 4> ExitingBlocks; in deleteLoopIfDead() local 486 L->getExitingBlocks(ExitingBlocks); in deleteLoopIfDead() 499 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
|
H A D | LoopPredication.cpp | 1007 SmallVector<BasicBlock *, 16> ExitingBlocks; in isLoopProfitableToPredicate() 1008 L->getExitingBlocks(ExitingBlocks); in isLoopProfitableToPredicate() 1011 for (BasicBlock *ExitingBB : ExitingBlocks) { in isLoopProfitableToPredicate() 1050 SmallVector<BasicBlock *, 16> ExitingBlocks; 1051 L->getExitingBlocks(ExitingBlocks); 1053 if (ExitingBlocks.empty()) in FindWidenableTerminatorAboveLoop() 1076 for (auto *ExitingBB : ExitingBlocks) { in FindWidenableTerminatorAboveLoop() 1117 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits() 1090 SmallVector<BasicBlock *, 16> ExitingBlocks; getMinAnalyzeableBackedgeTakenCount() local 1133 SmallVector<BasicBlock *, 16> ExitingBlocks; predicateLoopExits() local
|
H A D | LoopUnrollPass.cpp | 1256 SmallVector<BasicBlock *, 8> ExitingBlocks; in tryToUnrollLoop() local 1257 L->getExitingBlocks(ExitingBlocks); in tryToUnrollLoop() 1258 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop()
|
H A D | LoopStrengthReduce.cpp | 2620 SmallVector<BasicBlock*, 8> ExitingBlocks; in OptimizeLoopTermCond() local 2621 L->getExitingBlocks(ExitingBlocks); in OptimizeLoopTermCond() 2622 if (!llvm::is_contained(ExitingBlocks, LatchBlock)) { in OptimizeLoopTermCond() 2629 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond() 5646 SmallVector<BasicBlock *, 4> ExitingBlocks; in AdjustInsertPositionForExpand() local 5647 PIL->getExitingBlocks(ExitingBlocks); in AdjustInsertPositionForExpand() 5648 if (!ExitingBlocks.empty()) { in AdjustInsertPositionForExpand() 5649 BasicBlock *BB = ExitingBlocks[0]; in AdjustInsertPositionForExpand() 5650 for (unsigned i = 1, e = ExitingBlocks.size(); i != e; ++i) in AdjustInsertPositionForExpand() 5651 BB = DT.findNearestCommonDominator(BB, ExitingBlocks[i]); in AdjustInsertPositionForExpand()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
H A D | UnifyLoopExits.cpp | 149 SetVector<BasicBlock *> ExitingBlocks; in unifyLoopExits() local 156 ExitingBlocks.insert(BB); in unifyLoopExits() 175 for (auto EB : ExitingBlocks) { in unifyLoopExits() 188 CreateControlFlowHub(&DTU, GuardBlocks, ExitingBlocks, Exits, "loop.exit", in unifyLoopExits() 191 restoreSSA(DT, L, ExitingBlocks, LoopExitBlock); in unifyLoopExits()
|
H A D | LoopUnroll.cpp | 517 SmallVector<BasicBlock *> ExitingBlocks; in UnrollLoop() member 520 SmallVector<BasicBlock *, 4> ExitingBlocks; in UnrollLoop() local 521 L->getExitingBlocks(ExitingBlocks); in UnrollLoop() 522 for (auto *ExitingBlock : ExitingBlocks) { in UnrollLoop() 540 Info.ExitingBlocks.push_back(ExitingBlock); in UnrollLoop() 787 ExitInfoIt->second.ExitingBlocks.push_back(New); in UnrollLoop() 929 for (unsigned i = 0, e = Info.ExitingBlocks.size(); i != e; ++i) { in UnrollLoop() 936 Info.FirstExitingBlock = Info.ExitingBlocks[i]; in UnrollLoop() 947 Info.FirstExitingBlock = Info.ExitingBlocks[i]; in UnrollLoop() 951 SetDest(Info.ExitingBlocks[i], *KnownWillExit, Info.ExitOnTrue); in UnrollLoop() [all …]
|
H A D | LoopSimplify.cpp | 521 SmallVector<BasicBlock*, 8> ExitingBlocks; in simplifyOneLoop() local 522 L->getExitingBlocks(ExitingBlocks); in simplifyOneLoop() 523 for (BasicBlock *ExitingBlock : ExitingBlocks) in simplifyOneLoop() 619 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop() 633 for (BasicBlock *ExitingBlock : ExitingBlocks) { in simplifyOneLoop() 895 SmallVector<BasicBlock*, 8> ExitingBlocks; 896 L->getExitingBlocks(ExitingBlocks); 897 for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) { 898 if (isa<IndirectBrInst>((ExitingBlocks[i])->getTerminator())) {
|
H A D | LoopPeel.cpp | 325 SmallVector<BasicBlock *> ExitingBlocks; in peelToTurnInvariantLoadsDerefencebale() local 326 L.getExitingBlocks(ExitingBlocks); in peelToTurnInvariantLoadsDerefencebale() 327 if (any_of(ExitingBlocks, [&LoadUsers](BasicBlock *Exiting) { in peelToTurnInvariantLoadsDerefencebale() 699 SmallVector<BasicBlock *> ExitingBlocks; in initBranchWeights() local 700 L->getExitingBlocks(ExitingBlocks); in initBranchWeights() 701 for (BasicBlock *ExitingBlock : ExitingBlocks) { in initBranchWeights()
|
H A D | LoopUtils.cpp | 1434 SmallVector<BasicBlock *, 4> ExitingBlocks; in canLoopBeDeleted() local 1435 L->getExitingBlocks(ExitingBlocks); in canLoopBeDeleted() 1438 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted() 1444 Value *Incoming = P->getIncomingValueForBlock(ExitingBlocks[0]); in canLoopBeDeleted() 2054 SmallVector<BasicBlock *, 4> ExitingBlocks; in hasPartialIVCondition() local 2055 L.getExitingBlocks(ExitingBlocks); in hasPartialIVCondition() 2057 [&L, &AA, &AccessedLocs, &ExitingBlocks, &InstToDuplicate, in hasPartialIVCondition() 2131 for (auto *Exiting : ExitingBlocks) { in hasPartialIVCondition()
|
H A D | LoopUnrollRuntime.cpp | 488 SmallVector<BasicBlock*, 4> ExitingBlocks; in canProfitablyUnrollMultiExitLoop() local 489 L->getExitingBlocks(ExitingBlocks); in canProfitablyUnrollMultiExitLoop() 490 if (ExitingBlocks.size() > 2) in canProfitablyUnrollMultiExitLoop()
|
H A D | ScalarEvolutionExpander.cpp | 1778 SmallVector<BasicBlock *, 4> ExitingBlocks; in hasRelatedExistingExpansion() local 1779 L->getExitingBlocks(ExitingBlocks); in hasRelatedExistingExpansion() 1782 for (BasicBlock *BB : ExitingBlocks) { in hasRelatedExistingExpansion()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/ |
H A D | InstrProfiling.cpp | 564 SmallVector<BasicBlock *, 8> ExitingBlocks; in allowSpeculativeCounterPromotion() local 565 L.getExitingBlocks(ExitingBlocks); in allowSpeculativeCounterPromotion() 567 if (ExitingBlocks.size() == 1) in allowSpeculativeCounterPromotion() 569 if (ExitingBlocks.size() > SpeculativeCounterPromotionMaxExiting) in allowSpeculativeCounterPromotion() 602 SmallVector<BasicBlock *, 8> ExitingBlocks; in getMaxNumOfPromotionsInLoop() local 603 LP->getExitingBlocks(ExitingBlocks); in getMaxNumOfPromotionsInLoop() 610 if (ExitingBlocks.size() == 1) in getMaxNumOfPromotionsInLoop() 613 if (ExitingBlocks.size() > SpeculativeCounterPromotionMaxExiting) in getMaxNumOfPromotionsInLoop()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
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()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCTargetTransformInfo.cpp | 369 SmallVector<BasicBlock*, 4> ExitingBlocks; in isHardwareLoopProfitable() local 370 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopProfitable() 374 for (auto &BB : ExitingBlocks) { in isHardwareLoopProfitable()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | GenericLoopInfoImpl.h | 34 SmallVectorImpl<BlockT *> &ExitingBlocks) const { in getExitingBlocks() argument 40 ExitingBlocks.push_back(BB); in getExitingBlocks()
|
H A D | GenericLoopInfo.h | 265 void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const;
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | TargetTransformInfo.cpp | 128 SmallVector<BasicBlock *, 4> ExitingBlocks; in isHardwareLoopCandidate() local 129 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopCandidate() 131 for (BasicBlock *BB : ExitingBlocks) { in isHardwareLoopCandidate()
|
H A D | ScalarEvolution.cpp | 8221 SmallVector<BasicBlock *, 8> ExitingBlocks; in getSmallConstantTripMultiple() local 8222 L->getExitingBlocks(ExitingBlocks); in getSmallConstantTripMultiple() 8225 for (auto *ExitingBB : ExitingBlocks) { in getSmallConstantTripMultiple() 8774 SmallVector<BasicBlock *, 8> ExitingBlocks; in computeBackedgeTakenCount() local 8775 L->getExitingBlocks(ExitingBlocks); in computeBackedgeTakenCount() 8785 bool IsOnlyExit = ExitingBlocks.size() == 1; in computeBackedgeTakenCount() 8790 for (BasicBlock *ExitBB : ExitingBlocks) { in computeBackedgeTakenCount() 8857 bool MaxOrZero = (MustExitMaxOrZero && ExitingBlocks.size() == 1); in computeBackedgeTakenCount() 13609 SmallVector<BasicBlock *, 8> ExitingBlocks; in PrintLoopInfo() local 13610 L->getExitingBlocks(ExitingBlocks); in PrintLoopInfo() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVTargetTransformInfo.cpp | 1841 SmallVector<BasicBlock *, 4> ExitingBlocks; in getUnrollingPreferences() local 1842 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences() 1845 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences() 1849 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMTargetTransformInfo.cpp | 2465 SmallVector<BasicBlock*, 4> ExitingBlocks; in getUnrollingPreferences() local 2466 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences() 2469 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences() 2473 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SIInstrInfo.cpp | 213 SmallVector<MachineBasicBlock *, 1> ExitingBlocks; in isSafeToSink() local 214 FromCycle->getExitingBlocks(ExitingBlocks); in isSafeToSink() 217 for (MachineBasicBlock *ExitingBlock : ExitingBlocks) { in isSafeToSink()
|