Lines Matching defs:ML

72   bool LowerWhileLoopStart(MachineLoop *ML);
73 bool MergeLoopEnd(MachineLoop *ML);
74 bool ConvertTailPredLoop(MachineLoop *ML, MachineDominatorTree *DT);
108 // Given a loop ML, this attempts to find the t2LoopEnd, t2LoopDec and
111 static bool findLoopComponents(MachineLoop *ML, MachineRegisterInfo *MRI,
114 MachineBasicBlock *Header = ML->getHeader();
115 MachineBasicBlock *Latch = ML->getLoopLatch();
228 bool MVETPAndVPTOptimisations::LowerWhileLoopStart(MachineLoop *ML) {
230 << ML->getHeader()->getName() << "\n");
233 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
320 bool MVETPAndVPTOptimisations::MergeLoopEnd(MachineLoop *ML) {
324 LLVM_DEBUG(dbgs() << "MergeLoopEnd on loop " << ML->getHeader()->getName()
328 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
334 auto *PreHeader = ML->getLoopPreheader();
338 for (MachineBasicBlock *MBB : ML->blocks()) {
399 if (LoopPhi->getOperand(2).getMBB() == ML->getLoopLatch()) {
438 bool MVETPAndVPTOptimisations::ConvertTailPredLoop(MachineLoop *ML,
441 << ML->getHeader()->getName() << "\n");
446 if (!findLoopComponents(ML, MRI, LoopStart, LoopPhi, LoopDec, LoopEnd))
454 for (MachineBasicBlock *BB : ML->blocks()) {
496 (Phi->getOperand(2).getMBB() != ML->getLoopLatch() &&
497 Phi->getOperand(4).getMBB() != ML->getLoopLatch())) {
501 CountReg = Phi->getOperand(2).getMBB() == ML->getLoopLatch()
513 !DT->dominates(ML->getHeader(), Use.getParent())) {
1075 for (MachineLoop *ML : MLI->getLoopsInPreorder()) {
1076 Modified |= LowerWhileLoopStart(ML);
1077 Modified |= MergeLoopEnd(ML);
1078 Modified |= ConvertTailPredLoop(ML, DT);