/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | IndVarSimplify.cpp | 159 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 D | LoopPredication.cpp | 1011 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 D | LoopBoundSplit.cpp | 201 BasicBlock *ExitingBB = L.getExitingBlock(); in canSplitLoopBound() local 203 if (!ExitingBB) in canSplitLoopBound() 206 BranchInst *ExitingBI = dyn_cast<BranchInst>(ExitingBB->getTerminator()); in canSplitLoopBound()
|
H A D | LoopUnrollPass.cpp | 656 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 D | SimpleLoopUnswitch.cpp | 253 const BasicBlock &ExitingBB, in areLoopExitPHIsLoopInvariant() argument 263 if (!L.isLoopInvariant(PN->getIncomingValueForBlock(&ExitingBB))) in areLoopExitPHIsLoopInvariant()
|
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | MachineBlockPlacement.cpp | 542 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 D | ModuloSchedule.cpp | 1767 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 D | LoopSimplify.cpp | 619 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 D | ScalarEvolution.h | 1857 BasicBlock *ExitingBB,
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/ |
H A D | LoopVectorize.cpp | 8377 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 D | ScalarEvolution.cpp | 7363 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()
|