Home
last modified time | relevance | path

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

/openbsd-src/gnu/llvm/llvm/lib/Transforms/Utils/
H A DUnifyLoopExits.cpp152 SetVector<BasicBlock *> ExitingBlocks; in unifyLoopExits() local
159 ExitingBlocks.insert(BB); in unifyLoopExits()
178 for (auto EB : ExitingBlocks) { in unifyLoopExits()
191 CreateControlFlowHub(&DTU, GuardBlocks, ExitingBlocks, Exits, "loop.exit", in unifyLoopExits()
194 restoreSSA(DT, L, ExitingBlocks, LoopExitBlock); in unifyLoopExits()
H A DLoopUnroll.cpp325 SmallVector<BasicBlock *> ExitingBlocks; in UnrollLoop() member
328 SmallVector<BasicBlock *, 4> ExitingBlocks; in UnrollLoop() local
329 L->getExitingBlocks(ExitingBlocks); in UnrollLoop()
330 for (auto *ExitingBlock : ExitingBlocks) { in UnrollLoop()
348 Info.ExitingBlocks.push_back(ExitingBlock); in UnrollLoop()
596 ExitInfoIt->second.ExitingBlocks.push_back(New); in UnrollLoop()
738 for (unsigned i = 0, e = Info.ExitingBlocks.size(); i != e; ++i) { in UnrollLoop()
745 Info.FirstExitingBlock = Info.ExitingBlocks[i]; in UnrollLoop()
756 Info.FirstExitingBlock = Info.ExitingBlocks[i]; in UnrollLoop()
760 SetDest(Info.ExitingBlocks[i], *KnownWillExit, Info.ExitOnTrue); in UnrollLoop()
[all …]
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()
896 SmallVector<BasicBlock*, 8> ExitingBlocks;
897 L->getExitingBlocks(ExitingBlocks);
898 for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) {
899 if (isa<IndirectBrInst>((ExitingBlocks[i])->getTerminator())) {
H A DLoopPeel.cpp325 SmallVector<BasicBlock *> ExitingBlocks; in peelToTurnInvariantLoadsDerefencebale() local
326 L.getExitingBlocks(ExitingBlocks); in peelToTurnInvariantLoadsDerefencebale()
327 if (any_of(ExitingBlocks, [&LoadUsers](BasicBlock *Exiting) { in peelToTurnInvariantLoadsDerefencebale()
630 SmallVector<BasicBlock *> ExitingBlocks; in initBranchWeights() local
631 L->getExitingBlocks(ExitingBlocks); in initBranchWeights()
632 for (BasicBlock *ExitingBlock : ExitingBlocks) { in initBranchWeights()
H A DLoopUtils.cpp1204 SmallVector<BasicBlock *, 4> ExitingBlocks; in canLoopBeDeleted() local
1205 L->getExitingBlocks(ExitingBlocks); in canLoopBeDeleted()
1208 if (ExitBlocks.size() != 1 || ExitingBlocks.size() != 1) in canLoopBeDeleted()
1214 Value *Incoming = P->getIncomingValueForBlock(ExitingBlocks[0]); in canLoopBeDeleted()
1759 SmallVector<BasicBlock *, 4> ExitingBlocks; in hasPartialIVCondition() local
1760 L.getExitingBlocks(ExitingBlocks); in hasPartialIVCondition()
1762 [&L, &AA, &AccessedLocs, &ExitingBlocks, &InstToDuplicate, in hasPartialIVCondition()
1836 for (auto *Exiting : ExitingBlocks) { in hasPartialIVCondition()
H A DLoopUnrollRuntime.cpp443 SmallVector<BasicBlock*, 4> ExitingBlocks; in canProfitablyUnrollMultiExitLoop() local
444 L->getExitingBlocks(ExitingBlocks); in canProfitablyUnrollMultiExitLoop()
445 if (ExitingBlocks.size() > 2) in canProfitablyUnrollMultiExitLoop()
H A DScalarEvolutionExpander.cpp2050 SmallVector<BasicBlock *, 4> ExitingBlocks; in getRelatedExistingExpansion() local
2051 L->getExitingBlocks(ExitingBlocks); in getRelatedExistingExpansion()
2054 for (BasicBlock *BB : ExitingBlocks) { in getRelatedExistingExpansion()
/openbsd-src/gnu/llvm/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp1547 SmallVector<BasicBlock*, 16> ExitingBlocks; in canonicalizeExitCondition() local
1548 L->getExitingBlocks(ExitingBlocks); in canonicalizeExitCondition()
1550 for (auto *ExitingBB : ExitingBlocks) { in canonicalizeExitCondition()
1596 for (auto *ExitingBB : ExitingBlocks) { in canonicalizeExitCondition()
1672 SmallVector<BasicBlock*, 16> ExitingBlocks; in optimizeLoopExits() local
1673 L->getExitingBlocks(ExitingBlocks); in optimizeLoopExits()
1677 llvm::erase_if(ExitingBlocks, [&](BasicBlock *ExitingBB) { in optimizeLoopExits()
1705 if (ExitingBlocks.empty()) in optimizeLoopExits()
1716 llvm::sort(ExitingBlocks, [&](BasicBlock *A, BasicBlock *B) { in optimizeLoopExits()
1729 for (unsigned i = 1; i < ExitingBlocks.size(); i++) { in optimizeLoopExits()
[all …]
H A DLoopDeletion.cpp66 SmallVectorImpl<BasicBlock *> &ExitingBlocks, in isLoopDead() argument
78 Value *incoming = P.getIncomingValueForBlock(ExitingBlocks[0]); in isLoopDead()
85 all_of(ArrayRef(ExitingBlocks).slice(1), [&](BasicBlock *BB) { in isLoopDead()
480 SmallVector<BasicBlock *, 4> ExitingBlocks; in deleteLoopIfDead() local
481 L->getExitingBlocks(ExitingBlocks); in deleteLoopIfDead()
493 if (!isLoopDead(L, SE, ExitingBlocks, ExitBlock, Changed, Preheader, LI)) { in deleteLoopIfDead()
H A DLoopPredication.cpp1076 SmallVector<BasicBlock *, 16> ExitingBlocks; in getMinAnalyzeableBackedgeTakenCount() local
1077 L->getExitingBlocks(ExitingBlocks); in getMinAnalyzeableBackedgeTakenCount()
1080 for (BasicBlock *ExitingBB : ExitingBlocks) { in getMinAnalyzeableBackedgeTakenCount()
1119 SmallVector<BasicBlock *, 16> ExitingBlocks; in predicateLoopExits() local
1120 L->getExitingBlocks(ExitingBlocks); in predicateLoopExits()
1122 if (ExitingBlocks.empty()) in predicateLoopExits()
1145 for (auto *ExitingBB : ExitingBlocks) { in predicateLoopExits()
1193 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits()
H A DLoopUnrollPass.cpp1233 SmallVector<BasicBlock *, 8> ExitingBlocks; in tryToUnrollLoop() local
1234 L->getExitingBlocks(ExitingBlocks); in tryToUnrollLoop()
1235 for (BasicBlock *ExitingBlock : ExitingBlocks) in tryToUnrollLoop()
H A DLoopStrengthReduce.cpp2431 SmallVector<BasicBlock*, 8> ExitingBlocks; in OptimizeLoopTermCond() local
2432 L->getExitingBlocks(ExitingBlocks); in OptimizeLoopTermCond()
2433 if (!llvm::is_contained(ExitingBlocks, LatchBlock)) { in OptimizeLoopTermCond()
2440 for (BasicBlock *ExitingBlock : ExitingBlocks) { in OptimizeLoopTermCond()
5280 SmallVector<BasicBlock *, 4> ExitingBlocks; in AdjustInsertPositionForExpand() local
5281 PIL->getExitingBlocks(ExitingBlocks); in AdjustInsertPositionForExpand()
5282 if (!ExitingBlocks.empty()) { in AdjustInsertPositionForExpand()
5283 BasicBlock *BB = ExitingBlocks[0]; in AdjustInsertPositionForExpand()
5284 for (unsigned i = 1, e = ExitingBlocks.size(); i != e; ++i) in AdjustInsertPositionForExpand()
5285 BB = DT.findNearestCommonDominator(BB, ExitingBlocks[i]); in AdjustInsertPositionForExpand()
/openbsd-src/gnu/llvm/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()
/openbsd-src/gnu/llvm/llvm/include/llvm/Analysis/
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 DLoopInfoImpl.h34 SmallVectorImpl<BlockT *> &ExitingBlocks) const { in getExitingBlocks() argument
40 ExitingBlocks.push_back(BB); in getExitingBlocks()
H A DLoopInfo.h290 void getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const;
/openbsd-src/gnu/llvm/llvm/lib/Target/PowerPC/
H A DPPCTargetTransformInfo.cpp371 SmallVector<BasicBlock*, 4> ExitingBlocks; in isHardwareLoopProfitable() local
372 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopProfitable()
376 for (auto &BB : ExitingBlocks) { in isHardwareLoopProfitable()
/openbsd-src/gnu/llvm/llvm/lib/Analysis/
H A DTargetTransformInfo.cpp110 SmallVector<BasicBlock *, 4> ExitingBlocks; in isHardwareLoopCandidate() local
111 L->getExitingBlocks(ExitingBlocks); in isHardwareLoopCandidate()
113 for (BasicBlock *BB : ExitingBlocks) { in isHardwareLoopCandidate()
H A DScalarEvolution.cpp8248 SmallVector<BasicBlock *, 8> ExitingBlocks; in getSmallConstantTripMultiple() local
8249 L->getExitingBlocks(ExitingBlocks); in getSmallConstantTripMultiple()
8252 for (auto *ExitingBB : ExitingBlocks) { in getSmallConstantTripMultiple()
8766 SmallVector<BasicBlock *, 8> ExitingBlocks; in computeBackedgeTakenCount() local
8767 L->getExitingBlocks(ExitingBlocks); in computeBackedgeTakenCount()
8781 for (unsigned i = 0, e = ExitingBlocks.size(); i != e; ++i) { in computeBackedgeTakenCount()
8782 BasicBlock *ExitBB = ExitingBlocks[i]; in computeBackedgeTakenCount()
8846 bool MaxOrZero = (MustExitMaxOrZero && ExitingBlocks.size() == 1); in computeBackedgeTakenCount()
13508 SmallVector<BasicBlock *, 8> ExitingBlocks; in PrintLoopInfo() local
13509 L->getExitingBlocks(ExitingBlocks); in PrintLoopInfo()
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/
H A DRISCVTargetTransformInfo.cpp1392 SmallVector<BasicBlock *, 4> ExitingBlocks; in getUnrollingPreferences() local
1393 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences()
1396 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences()
1400 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()
/openbsd-src/gnu/llvm/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp2316 SmallVector<BasicBlock*, 4> ExitingBlocks; in getUnrollingPreferences() local
2317 L->getExitingBlocks(ExitingBlocks); in getUnrollingPreferences()
2320 << "Exit blocks: " << ExitingBlocks.size() << "\n"); in getUnrollingPreferences()
2324 if (ExitingBlocks.size() > 2) in getUnrollingPreferences()