Lines Matching defs:ML

71   bool LowerWhileLoopStart(MachineLoop *ML);
72 bool MergeLoopEnd(MachineLoop *ML);
73 bool ConvertTailPredLoop(MachineLoop *ML, MachineDominatorTree *DT);
107 // Given a loop ML, this attempts to find the t2LoopEnd, t2LoopDec and
110 static bool findLoopComponents(MachineLoop *ML, MachineRegisterInfo *MRI,
113 MachineBasicBlock *Header = ML->getHeader();
114 MachineBasicBlock *Latch = ML->getLoopLatch();
227 bool MVETPAndVPTOptimisations::LowerWhileLoopStart(MachineLoop *ML) {
229 << ML->getHeader()->getName() << "\n");
232 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
319 bool MVETPAndVPTOptimisations::MergeLoopEnd(MachineLoop *ML) {
323 LLVM_DEBUG(dbgs() << "MergeLoopEnd on loop " << ML->getHeader()->getName()
327 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
333 auto *PreHeader = ML->getLoopPreheader();
337 for (MachineBasicBlock *MBB : ML->blocks()) {
398 if (LoopPhi->getOperand(2).getMBB() == ML->getLoopLatch()) {
437 bool MVETPAndVPTOptimisations::ConvertTailPredLoop(MachineLoop *ML,
440 << ML->getHeader()->getName() << "\n");
445 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
453 for (MachineBasicBlock *BB : ML->blocks()) {
495 (Phi->getOperand(2).getMBB() != ML->getLoopLatch() &&
496 Phi->getOperand(4).getMBB() != ML->getLoopLatch())) {
500 CountReg = Phi->getOperand(2).getMBB() == ML->getLoopLatch()
512 !DT->dominates(ML->getHeader(), Use.getParent())) {
1074 for (MachineLoop *ML : MLI->getLoopsInPreorder()) {
1075 Modified |= LowerWhileLoopStart(ML);
1076 Modified |= MergeLoopEnd(ML);
1077 Modified |= ConvertTailPredLoop(ML, DT);