Lines Matching defs:ML
127 MachineLoop &ML;
133 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI)
134 : ML(ML), MLI(MLI) { }
149 if (!ML.contains(Succ))
158 ML.getExitBlocks(ExitBlocks);
162 Search(ML.getHeader());
172 if (auto *Preheader = ML.getLoopPreheader())
174 else if (auto *Preheader = MLI.findLoopPreheader(&ML, true, true))
363 MachineLoop &ML;
385 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI,
388 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII),
390 MF = ML.getHeader()->getParent();
391 if (auto *MBB = ML.getLoopPreheader())
393 else if (auto *MBB = MLI.findLoopPreheader(&ML, true, true))
410 !CannotTailPredicate && ML.getNumBlocks() == 1;
502 bool ProcessLoop(MachineLoop *ML);
607 assert(ML.getBlocks().size() == 1 &&
938 MachineBasicBlock *Header = ML.getHeader();
1014 ML.getExitBlocks(ExitBlocks);
1015 assert(ML.getNumBlocks() == 1 && "Expected single block loop!");
1065 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) {
1071 if (TgtBB != ML.getHeader()) {
1078 if (BBUtils->getOffsetOf(End) < BBUtils->getOffsetOf(ML.getHeader()) ||
1079 !BBUtils->isBBInRange(End, ML.getHeader(), 4094)) {
1100 Revert = !ValidateRanges(Start, End, BBUtils, ML);
1124 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) {
1166 ML->getExitBlocks(Frontier);
1265 if (MI->mayStore() && !ValidateMVEStore(MI, &ML))
1306 for (auto *ML : *MLI) {
1307 if (ML->isOutermost())
1308 Changed |= ProcessLoop(ML);
1314 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) {
1318 for (MachineLoop *L : *ML)
1323 if (auto *Preheader = ML->getLoopPreheader())
1325 else if (auto *Preheader = MLI->findLoopPreheader(ML, true, true))
1327 for (auto *MBB : ML->getBlocks())
1344 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII);
1356 for (auto *MBB : reverse(ML->getBlocks())) {
1790 PostOrderLoopTraversal DFS(LoLoop.ML, *MLI);