Lines Matching refs:ExitingBlock
8189 const BasicBlock *ExitingBlock) { in getSmallConstantTripCount() argument
8190 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripCount()
8191 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripCount()
8194 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock)); in getSmallConstantTripCount()
8248 const BasicBlock *ExitingBlock) { in getSmallConstantTripMultiple() argument
8249 assert(ExitingBlock && "Must pass a non-null exiting block!"); in getSmallConstantTripMultiple()
8250 assert(L->isLoopExiting(ExitingBlock) && in getSmallConstantTripMultiple()
8252 const SCEV *ExitCount = getExitCount(L, ExitingBlock); in getSmallConstantTripMultiple()
8257 const BasicBlock *ExitingBlock, in getExitCount() argument
8261 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this); in getExitCount()
8263 return getBackedgeTakenInfo(L).getSymbolicMax(ExitingBlock, this); in getExitCount()
8265 return getBackedgeTakenInfo(L).getConstantMax(ExitingBlock, this); in getExitCount()
8573 assert(SE->DT.dominates(ENT.ExitingBlock, Latch) && in getExact()
8595 ScalarEvolution::BackedgeTakenInfo::getExact(const BasicBlock *ExitingBlock, in getExact() argument
8598 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getExact()
8605 const BasicBlock *ExitingBlock, ScalarEvolution *SE) const { in getConstantMax() argument
8607 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getConstantMax()
8614 const BasicBlock *ExitingBlock, ScalarEvolution *SE) const { in getSymbolicMax() argument
8616 if (ENT.ExitingBlock == ExitingBlock && ENT.hasAlwaysTruePredicate()) in getSymbolicMax()
8829 ScalarEvolution::computeExitLimit(const Loop *L, BasicBlock *ExitingBlock, in computeExitLimit() argument
8831 assert(L->contains(ExitingBlock) && "Exit count for non-loop block?"); in computeExitLimit()
8835 if (!Latch || !DT.dominates(ExitingBlock, Latch)) in computeExitLimit()
8839 Instruction *Term = ExitingBlock->getTerminator(); in computeExitLimit()
8854 for (auto *SBB : successors(ExitingBlock)) in computeExitLimit()
9233 BasicBlock *ExitingBlock, in computeExitLimitFromSingleExitSwitch() argument
9235 assert(!L->contains(ExitingBlock) && "Not an exiting block!"); in computeExitLimitFromSingleExitSwitch()
9238 if (Switch->getDefaultDest() == ExitingBlock) in computeExitLimitFromSingleExitSwitch()
9244 const SCEV *RHS = getConstant(Switch->findCaseDest(ExitingBlock)); in computeExitLimitFromSingleExitSwitch()
13486 for (BasicBlock *ExitingBlock : ExitingBlocks) { in PrintLoopInfo()
13487 OS << " exit count for " << ExitingBlock->getName() << ": " in PrintLoopInfo()
13488 << *SE->getExitCount(L, ExitingBlock) << "\n"; in PrintLoopInfo()
13520 for (BasicBlock *ExitingBlock : ExitingBlocks) { in PrintLoopInfo()
13521 OS << " symbolic max exit count for " << ExitingBlock->getName() << ": " in PrintLoopInfo()
13522 << *SE->getExitCount(L, ExitingBlock, ScalarEvolution::SymbolicMaximum) in PrintLoopInfo()