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.cpp157 bool linearFunctionTestReplace(Loop *L, BasicBlock *ExitingBB,
697 static bool isLoopExitTestBasedOn(Value *V, BasicBlock *ExitingBB) { in isLoopExitTestBasedOn() argument
698 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in isLoopExitTestBasedOn()
710 static bool needsLFTR(Loop *L, BasicBlock *ExitingBB) { in needsLFTR() argument
717 BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); in needsLFTR()
827 static PHINode *FindLoopCounter(Loop *L, BasicBlock *ExitingBB, in FindLoopCounter() argument
832 Value *Cond = cast<BranchInst>(ExitingBB->getTerminator())->getCondition(); in FindLoopCounter()
862 if (!isLoopExitTestBasedOn(Phi, ExitingBB) && in FindLoopCounter()
863 !isLoopExitTestBasedOn(IncPhi, ExitingBB)) in FindLoopCounter()
876 !mustExecuteUBIfPoisonOnPathTo(Phi, ExitingBB->getTerminator(), DT)) in FindLoopCounter()
[all …]
H A DLoopPredication.cpp1010 for (BasicBlock *ExitingBB : ExitingBlocks) { in getMinAnalyzeableBackedgeTakenCount()
1011 const SCEV *ExitCount = SE.getExitCount(L, ExitingBB); in getMinAnalyzeableBackedgeTakenCount()
1014 assert(DT.dominates(ExitingBB, L->getLoopLatch()) && in getMinAnalyzeableBackedgeTakenCount()
1075 for (auto *ExitingBB : ExitingBlocks) { in predicateLoopExits() local
1076 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits()
1079 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits()
1116 for (BasicBlock *ExitingBB : ExitingBlocks) { in predicateLoopExits()
1120 if (LI->getLoopFor(ExitingBB) != L) in predicateLoopExits()
1124 auto *BI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in predicateLoopExits()
1132 const SCEV *ExitCount = SE->getExitCount(L, ExitingBB); in predicateLoopExits()
[all …]
H A DLoopBoundSplit.cpp200 BasicBlock *ExitingBB = L.getExitingBlock(); in canSplitLoopBound() local
202 if (!ExitingBB) in canSplitLoopBound()
205 BranchInst *ExitingBI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canSplitLoopBound()
H A DLoopUnrollPass.cpp657 BasicBlock *ExitingBB, *ExitBB; in analyzeLoopUnrollCost() local
658 std::tie(ExitingBB, ExitBB) = ExitWorklist.pop_back_val(); in analyzeLoopUnrollCost()
665 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.cpp568 void rotateLoop(BlockChain &LoopChain, const MachineBasicBlock *ExitingBB,
2282 MachineBasicBlock *ExitingBB = nullptr; in findBestLoopExit() local
2301 MachineBasicBlock *OldExitingBB = ExitingBB; in findBestLoopExit()
2342 if (!ExitingBB || SuccLoopDepth > BestExitLoopDepth || in findBestLoopExit()
2347 ExitingBB = MBB; in findBestLoopExit()
2353 ExitingBB = OldExitingBB; in findBestLoopExit()
2359 if (!ExitingBB) { in findBestLoopExit()
2373 !BlocksExitingToOuterLoop.count(ExitingBB)) in findBestLoopExit()
2376 LLVM_DEBUG(dbgs() << " Best exiting block: " << getBlockName(ExitingBB) in findBestLoopExit()
2379 return ExitingBB; in findBestLoopExit()
[all …]
H A DModuloSchedule.cpp1786 MachineBasicBlock *ExitingBB = CreateLCSSAExitingBlock(); in peelPrologAndEpilogs() local
1787 EliminateDeadPhis(ExitingBB, MRI, LIS, /*KeepSingleSrcPhi=*/true); in peelPrologAndEpilogs()
1879 EliminateDeadPhis(ExitingBB, MRI, LIS); in peelPrologAndEpilogs()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopSimplify.cpp616 for (auto *ExitingBB : ExitingBlocks) in simplifyOneLoop() local
617 for (auto *SuccBB : successors(ExitingBB)) { in simplifyOneLoop()
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanTransforms.cpp2668 VPBasicBlock *ExitingBB = Plan->getVectorLoopRegion()->getExitingBasicBlock(); in expandVPWidenIntOrFpInduction() local
2669 Builder.setInsertPoint(ExitingBB, ExitingBB->getTerminator()->getIterator()); in expandVPWidenIntOrFpInduction()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DScalarEvolution.h1949 BasicBlock *ExitingBB,
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DScalarEvolution.cpp7383 auto *ExitingBB = L->getExitingBlock(); in isAddRecNeverPoison() local
7384 if (!ExitingBB || !loopHasNoAbnormalExits(L)) in isAddRecNeverPoison()
7402 DT.dominates(PoisonUser->getParent(), ExitingBB)) in isAddRecNeverPoison()
8245 for (auto *ExitingBB : ExitingBlocks) { in getSmallConstantTripMultiple() local
8246 unsigned Multiple = getSmallConstantTripMultiple(L, ExitingBB); in getSmallConstantTripMultiple()