Lines Matching defs:Latch
98 // Latch
100 BasicBlock *Latch = L->getLoopLatch();
101 assert(Latch && "Loop must have a latch");
102 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]);
109 for (BasicBlock *Succ : successors(Latch)) {
131 Value *V = PN.getIncomingValueForBlock(Latch);
183 if (hasBranchWeightMD(*Latch->getTerminator())) {
216 BasicBlock *Latch = L->getLoopLatch();
217 assert(Latch && "Loop must have a latch");
218 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]);
226 // Latch
240 // PN = PHI [I, Latch]
258 Value *V = PN.getIncomingValueForBlock(Latch);
274 // PN = PHI [I, Latch], [poison, PreHeader]
280 // Create PHI nodes at NewExit (from the unrolling loop Latch and PreHeader).
282 for (BasicBlock *Succ : successors(Latch)) {
294 NewPN->addIncoming(PN.getIncomingValueForBlock(Latch), Latch);
313 if (hasBranchWeightMD(*Latch->getTerminator())) {
326 SmallVector<BasicBlock*, 4> NewExitPreds{Latch};
347 BasicBlock *Latch = L->getLoopLatch();
381 if (Latch == *BB) {
430 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]);
431 idx = NewPHI->getBasicBlockIndex(Latch);
600 BasicBlock *Latch = L->getLoopLatch();
603 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
618 // targets of the Latch be an exit block out of the loop.
652 // We calculate the backedge count by using getExitCount on the Latch block,
656 const SCEV *BECountSC = SE->getExitCount(L, Latch);
698 // Latch
713 NewExit = SplitBlockPredecessors(LatchExit, {Latch}, ".unr-lcssa", DT, LI,
757 // Latch Header
759 // *EpilogPreHeader Latch
800 if (hasBranchWeightMD(*Latch->getTerminator())) {
853 if (PredBB == Latch)
907 // Latch PrologLatch
912 // EpilogLatch Latch
939 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
949 NewIdx->addIncoming(IdxNext, Latch);