Lines Matching refs:Latch
688 auto *Latch = L->getLoopLatch(); in breakLoopBackedge() local
689 assert(Latch && "multiple latches not yet supported"); in breakLoopBackedge()
703 if (auto *BI = dyn_cast<BranchInst>(Latch->getTerminator())) { in breakLoopBackedge()
713 if (L->isLoopExiting(Latch)) { in breakLoopBackedge()
722 Header->removePredecessor(Latch, true); in breakLoopBackedge()
732 DTU.applyUpdates({{DominatorTree::Delete, Latch, Header}}); in breakLoopBackedge()
734 MSSAU->applyUpdates({{DominatorTree::Delete, Latch, Header}}, DT); in breakLoopBackedge()
742 auto *BackedgeBB = SplitEdge(Latch, Header, &DT, &LI, MSSAU.get()); in breakLoopBackedge()
767 BasicBlock *Latch = L->getLoopLatch(); in getExpectedExitLoopLatchBranch() local
768 if (!Latch) in getExpectedExitLoopLatchBranch()
771 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in getExpectedExitLoopLatchBranch()
772 if (!LatchBR || LatchBR->getNumSuccessors() != 2 || !L->isLoopExiting(Latch)) in getExpectedExitLoopLatchBranch()