Lines Matching refs:Latch
690 auto *Latch = L->getLoopLatch(); in breakLoopBackedge() local
691 assert(Latch && "multiple latches not yet supported"); in breakLoopBackedge()
704 if (auto *BI = dyn_cast<BranchInst>(Latch->getTerminator())) { in breakLoopBackedge()
714 if (L->isLoopExiting(Latch)) { in breakLoopBackedge()
723 Header->removePredecessor(Latch, true); in breakLoopBackedge()
733 DTU.applyUpdates({{DominatorTree::Delete, Latch, Header}}); in breakLoopBackedge()
735 MSSAU->applyUpdates({{DominatorTree::Delete, Latch, Header}}, DT); in breakLoopBackedge()
743 auto *BackedgeBB = SplitEdge(Latch, Header, &DT, &LI, MSSAU.get()); in breakLoopBackedge()
768 BasicBlock *Latch = L->getLoopLatch(); in getExpectedExitLoopLatchBranch() local
769 if (!Latch) in getExpectedExitLoopLatchBranch()
772 BranchInst *LatchBR = dyn_cast<BranchInst>(Latch->getTerminator()); in getExpectedExitLoopLatchBranch()
773 if (!LatchBR || LatchBR->getNumSuccessors() != 2 || !L->isLoopExiting(Latch)) in getExpectedExitLoopLatchBranch()