Lines Matching refs:Latch
725 auto *Latch = L->getLoopLatch(); in breakLoopBackedge() local
726 assert(Latch && "multiple latches not yet supported"); in breakLoopBackedge()
740 if (auto *BI = dyn_cast<BranchInst>(Latch->getTerminator())) { in breakLoopBackedge()
750 if (L->isLoopExiting(Latch)) { in breakLoopBackedge()
759 Header->removePredecessor(Latch, true); in breakLoopBackedge()
769 DTU.applyUpdates({{DominatorTree::Delete, Latch, Header}}); in breakLoopBackedge()
771 MSSAU->applyUpdates({{DominatorTree::Delete, Latch, Header}}, DT); in breakLoopBackedge()
779 auto *BackedgeBB = SplitEdge(Latch, Header, &DT, &LI, MSSAU.get()); in breakLoopBackedge()
804 BasicBlock *Latch = L->getLoopLatch(); in getExpectedExitLoopLatchBranch() local
805 if (!Latch) in getExpectedExitLoopLatchBranch()
808 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in getExpectedExitLoopLatchBranch()
809 if (!LatchBR || LatchBR->getNumSuccessors() != 2 || !L->isLoopExiting(Latch)) in getExpectedExitLoopLatchBranch()