Lines Matching full:latch
280 /// The desired flow is: phi ---> bump -+-> comparison-in-latch.
289 /// +-> comparison-in-latch (against upper_bound-bump),
296 /// couldn't be identified, or if the value in the latch's comparison
411 MachineBasicBlock *Latch = L->getLoopLatch();
413 if (!Header || !Preheader || !Latch || !ExitingBlock)
435 // latch block, and see if is a result of an addition of form "reg+imm",
438 if (Phi->getOperand(i+1).getMBB() != Latch)
609 MachineBasicBlock *Latch = L->getLoopLatch();
614 else if (MBB == Latch)
631 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) {
634 bool NotAnalyzed = TII->analyzeBranch(*Latch, LTB, LFB, LCond, false);
637 if (TB == Latch)
1189 // Is the induction variable bump feeding the latch condition?
1593 MachineBasicBlock *Latch = L->getLoopLatch();
1596 if (!(Header && Latch && ExitingBlock))
1609 // %1 = PHI ..., [ latch, %2 ]
1619 if (Phi->getOperand(i+1).getMBB() != Latch)
1649 if (ExitingBlock != Latch && (TB == Latch || FB == Latch)) {
1652 bool NotAnalyzed = TII->analyzeBranch(*Latch, LTB, LFB, LCond, false);
1656 // Since latch is not the exiting block, the latch branch should be an
1658 if (TB == Latch)
1665 // The latch/exit block does not go back to the header.
1671 // This case can happen when the Latch has two jumps like this:
1839 MachineBasicBlock *Latch = L->getLoopLatch();
1849 if (!Latch || !ExitingBlock || Header->hasAddressTaken())
1876 // the loop latch. Any additional predecessors of the header should
1893 // Copy all non-latch operands of a header's PHI node to the newly
1899 if (PredB == Latch)
1912 if (PredB != Latch) {
1923 // The header has only two predecessors, but the non-latch predecessor
1933 if (MO.getMBB() != Latch)
1948 if (PB != Latch) {
1959 // It can happen that the latch block will fall through into the header.
1962 bool LatchNotAnalyzed = TII->analyzeBranch(*Latch, TB, FB, Tmp2, false);
1966 TII->insertBranch(*Latch, Header, nullptr, EmptyCond, DL);