Home
last modified time | relevance | path

Searched refs:ExitingBB (Results 1 – 11 of 11) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DIndVarSimplify.cpp159 bool linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
702 static bool isLoopExitTestBasedOn(Value *V, BasicBlock *ExitingBB) { in isLoopExitTestBasedOn() argument
703 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn()
715 static bool needsLFTR(Loop *L, BasicBlock *ExitingBB) { in needsLFTR() argument
722 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR()
836 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter() argument
841 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter()
871 if (!isLoopExitTestBasedOn(Phi, ExitingBB) && in FindLoopCounter()
872 !isLoopExitTestBasedOn(IncPhi, ExitingBB)) in FindLoopCounter()
885 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter()
[all …]
H A DLoopPredication.cpp1011 for (BasicBlock *ExitingBB : ExitingBlocks) { in isLoopProfitableToPredicate()
1012 const SCEV *ExitCount = SE.getExitCount(L, ExitingBB); in isLoopProfitableToPredicate()
1015 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in isLoopProfitableToPredicate()
1076 for (auto *ExitingBB : ExitingBlocks) { in FindWidenableTerminatorAboveLoop()
1077 if (LI->getLoopFor(ExitingBB) != L) in FindWidenableTerminatorAboveLoop()
1080 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in FindWidenableTerminatorAboveLoop()
1117 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits()
1121 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits()
1125 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits()
1133 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits()
1159 for (auto *ExitingBB : ExitingBlocks) { predicateLoopExits() local
[all...]
H A DLoopBoundSplit.cpp201 BasicBlock *ExitingBB = L.getExitingBlock(); in canSplitLoopBound() local
203 if (!ExitingBB) in canSplitLoopBound()
206 BranchInst *ExitingBI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canSplitLoopBound()
H A DLoopUnrollPass.cpp656 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local
657 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost()
664 Value *Op = PN->getIncomingValueForBlock(ExitingBB); in analyzeLoopUnrollCost()
H A DSimpleLoopUnswitch.cpp253 const BasicBlock &ExitingBB, in areLoopExitPHIsLoopInvariant() argument
263 if (!L.isLoopInvariant(PN->getIncomingValueForBlock(&ExitingBB))) in areLoopExitPHIsLoopInvariant()
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DMachineBlockPlacement.cpp542 BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
2229 MachineBasicBlock *ExitingBB = nullptr; in findBestLoopExit() local
2248 MachineBasicBlock *OldExitingBB = ExitingBB; in findBestLoopExit()
2289 if (!ExitingBB || SuccLoopDepth > BestExitLoopDepth || in findBestLoopExit()
2294 ExitingBB = MBB; in findBestLoopExit()
2300 ExitingBB = OldExitingBB; in findBestLoopExit()
2306 if (!ExitingBB) { in findBestLoopExit()
2320 !BlocksExitingToOuterLoop.count(ExitingBB)) in findBestLoopExit()
2323 LLVM_DEBUG(dbgs() << " Best exiting block: " << getBlockName(ExitingBB) in findBestLoopExit()
2326 return ExitingBB; in findBestLoopExit()
[all …]
H A DModuloSchedule.cpp1767 MachineBasicBlock *ExitingBB = CreateLCSSAExitingBlock(); in peelPrologAndEpilogs() local
1768 EliminateDeadPhis(ExitingBB, MRI, LIS, /*KeepSingleSrcPhi=*/true); in peelPrologAndEpilogs()
1860 EliminateDeadPhis(ExitingBB, MRI, LIS); in peelPrologAndEpilogs()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp619 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop() local
620 for (auto *SuccBB : successors(ExitingBB)) { in simplifyOneLoop()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolution.h1857 BasicBlock *ExitingBB,
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorize.cpp8377 BasicBlock *ExitingBB = OrigLoop->getExitingBlock(); in addUsersInExitBlock() local
8379 if (!ExitBB || !ExitBB->getSinglePredecessor() || !ExitingBB) in addUsersInExitBlock()
8385 ExitPhi.getIncomingValueForBlock(ExitingBB); in addUsersInExitBlock()
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp7363 auto *ExitingBB = L->getExitingBlock(); in isAddRecNeverPoison() local
7364 if (!ExitingBB || !loopHasNoAbnormalExits(L)) in isAddRecNeverPoison()
7382 DT.dominates(PoisonUser->getParent(), ExitingBB)) in isAddRecNeverPoison()
8225 for (auto *ExitingBB : ExitingBlocks) { in getSmallConstantTripMultiple() local
8226 unsigned Multiple = getSmallConstantTripMultiple(L, ExitingBB); in getSmallConstantTripMultiple()