Lines Matching full:latch
92 // The latch must either be the only exiting block or all non-latch exit
97 // note that LoopPeeling currently can only update the branch weights of latch
284 // All non-latch exit blocks must have an UnreachableInst terminator.
293 // Now look for invariant loads that dominate the latch and are not known to
299 BasicBlock *Latch = L.getLoopLatch();
318 if (DT.dominates(BB, Latch) && L.isLoopInvariant(Ptr) &&
517 BasicBlock *Latch = L->getLoopLatch();
518 if (!Latch)
521 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator());
522 if (!LatchBR || LatchBR->getNumSuccessors() != 2 || !L->isLoopExiting(Latch))
527 "At least one edge out of the latch must go to the header");
686 // Don't set the probability of taking the edge from latch to loop header
758 BasicBlock *Latch = L->getLoopLatch();
813 // Similarly, for the latch:
818 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]);
841 Value *LatchVal = NewPHI->getIncomingValueForBlock(Latch);
853 // values are adjusted, since the value going out of the latch may also be
927 BasicBlock *Latch = L->getLoopLatch();
946 // nearest common dominator of the previous idom and the first latch,
948 BasicBlock *NewIDom = DT.findNearestCommonDominator(BB, Latch);
1011 cast<Instruction>(cast<BasicBlock>(Latch)->getTerminator());
1050 // Remove Loop metadata from the latch branch instruction
1051 // because it is not the Loop's latch branch anymore.
1067 Value *NewVal = PHI->getIncomingValueForBlock(Latch);