Lines Matching refs:ExitingBlock

4816 /// This "trip count" assumes that control exits via ExitingBlock. More
4817 /// precisely, it is the number of times that control may reach ExitingBlock
4822 BasicBlock *ExitingBlock) {
4823 assert(ExitingBlock && "Must pass a non-null exiting block!");
4824 assert(L->isLoopExiting(ExitingBlock) &&
4827 dyn_cast<SCEVConstant>(getExitCount(L, ExitingBlock));
4860 /// that control exits the loop via ExitingBlock.
4863 BasicBlock *ExitingBlock) {
4864 assert(ExitingBlock && "Must pass a non-null exiting block!");
4865 assert(L->isLoopExiting(ExitingBlock) &&
4867 const SCEV *ExitCount = getExitCount(L, ExitingBlock);
4895 // this loop is guaranteed not to exit via ExitingBlock. Otherwise return
4897 const SCEV *ScalarEvolution::getExitCount(Loop *L, BasicBlock *ExitingBlock) {
4898 return getBackedgeTakenInfo(L).getExact(ExitingBlock, this);
5087 /// getExact(ExitingBlock, SE).
5094 if (!ExitNotTaken.ExitingBlock) return SE->getCouldNotCompute();
5114 ScalarEvolution::BackedgeTakenInfo::getExact(BasicBlock *ExitingBlock,
5119 if (ENT->ExitingBlock == ExitingBlock)
5136 if (!ExitNotTaken.ExitingBlock)
5162 ExitNotTaken.ExitingBlock = ExitCounts[0].first;
5172 ENT->ExitingBlock = ExitCounts[i].first;
5179 ExitNotTaken.ExitingBlock = nullptr;
5244 ScalarEvolution::computeExitLimit(const Loop *L, BasicBlock *ExitingBlock) {
5251 for (succ_iterator SI = succ_begin(ExitingBlock), SE = succ_end(ExitingBlock);
5278 if (!MustExecuteLoopHeader && ExitingBlock != L->getHeader()) {
5282 for (BasicBlock *BB = ExitingBlock; BB; ) {
5306 TerminatorInst *Term = ExitingBlock->getTerminator();
5535 BasicBlock *ExitingBlock,
5537 assert(!L->contains(ExitingBlock) && "Not an exiting block!");
5540 if (Switch->getDefaultDest() == ExitingBlock)
5546 const SCEV *RHS = getConstant(Switch->findCaseDest(ExitingBlock));