Lines Matching defs:Latch

99   //    Latch
101 BasicBlock *Latch = L->getLoopLatch();
102 assert(Latch && "Loop must have a latch");
103 BasicBlock *PrologLatch = cast<BasicBlock>(VMap[Latch]);
110 for (BasicBlock *Succ : successors(Latch)) {
132 Value *V = PN.getIncomingValueForBlock(Latch);
184 if (hasBranchWeightMD(*Latch->getTerminator())) {
217 BasicBlock *Latch = L->getLoopLatch();
218 assert(Latch && "Loop must have a latch");
219 BasicBlock *EpilogLatch = cast<BasicBlock>(VMap[Latch]);
227 // Latch
241 // PN = PHI [I, Latch]
259 Value *V = PN.getIncomingValueForBlock(Latch);
275 // PN = PHI [I, Latch], [poison, PreHeader]
281 // Create PHI nodes at NewExit (from the unrolling loop Latch and PreHeader).
283 for (BasicBlock *Succ : successors(Latch)) {
295 NewPN->addIncoming(PN.getIncomingValueForBlock(Latch), Latch);
314 if (hasBranchWeightMD(*Latch->getTerminator())) {
327 SmallVector<BasicBlock*, 4> NewExitPreds{Latch};
348 BasicBlock *Latch = L->getLoopLatch();
382 if (Latch == *BB) {
431 BasicBlock *NewLatch = cast<BasicBlock>(VMap[Latch]);
432 idx = NewPHI->getBasicBlockIndex(Latch);
599 BasicBlock *Latch = L->getLoopLatch();
602 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
617 // targets of the Latch be an exit block out of the loop.
650 // We calculate the backedge count by using getExitCount on the Latch block,
654 const SCEV *BECountSC = SE->getExitCount(L, Latch);
696 // Latch
711 NewExit = SplitBlockPredecessors(LatchExit, {Latch}, ".unr-lcssa", DT, LI,
755 // Latch Header
757 // *EpilogPreHeader Latch
798 if (hasBranchWeightMD(*Latch->getTerminator())) {
851 if (PredBB == Latch)
905 // Latch PrologLatch
910 // EpilogLatch Latch
937 BranchInst *LatchBR = cast<BranchInst>(Latch->getTerminator());
947 NewIdx->addIncoming(IdxNext, Latch);