Lines Matching refs:Latch
726 auto *Latch = L->getLoopLatch(); in breakLoopBackedge() local
727 assert(Latch && "multiple latches not yet supported"); in breakLoopBackedge()
741 if (auto *BI = dyn_cast<BranchInst>(Latch->getTerminator())) { in breakLoopBackedge()
751 if (L->isLoopExiting(Latch)) { in breakLoopBackedge()
760 Header->removePredecessor(Latch, true); in breakLoopBackedge()
770 DTU.applyUpdates({{DominatorTree::Delete, Latch, Header}}); in breakLoopBackedge()
772 MSSAU->applyUpdates({{DominatorTree::Delete, Latch, Header}}, DT); in breakLoopBackedge()
780 auto *BackedgeBB = SplitEdge(Latch, Header, &DT, &LI, MSSAU.get()); in breakLoopBackedge()
805 BasicBlock *Latch = L->getLoopLatch(); in getExpectedExitLoopLatchBranch() local
806 if (!Latch) in getExpectedExitLoopLatchBranch()
809 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in getExpectedExitLoopLatchBranch()
810 if (!LatchBR || LatchBR->getNumSuccessors() != 2 || !L->isLoopExiting(Latch)) in getExpectedExitLoopLatchBranch()