Lines Matching refs:ML
123 MachineLoop &ML; member in __anon67cf66980111::PostOrderLoopTraversal
129 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal() argument
130 : ML(ML), MLI(MLI) { } in PostOrderLoopTraversal()
146 if (!ML.contains(Succ)) in ProcessLoop()
155 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
159 Search(ML.getHeader()); in ProcessLoop()
169 if (auto *Preheader = ML.getLoopPreheader()) in ProcessLoop()
171 else if (auto *Preheader = MLI.findLoopPreheader(&ML, true, true)) in ProcessLoop()
366 MachineLoop &ML; member
387 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop()
390 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
392 MF = ML.getHeader()->getParent(); in LowOverheadLoop()
393 if (auto *MBB = ML.getLoopPreheader()) in LowOverheadLoop()
395 else if (auto *MBB = MLI.findLoopPreheader(&ML, true, true)) in LowOverheadLoop()
413 !CannotTailPredicate && ML.getNumBlocks() == 1; in IsTailPredicationLegal()
507 bool ProcessLoop(MachineLoop *ML);
616 assert(ML.getBlocks().size() == 1 && in ValidateTailPredicate()
953 MachineBasicBlock *Header = ML.getHeader(); in ValidateLiveOuts()
1029 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
1030 assert(ML.getNumBlocks() == 1 && "Expected single block loop!"); in ValidateLiveOuts()
1080 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate() argument
1086 if (TgtBB != ML.getHeader()) { in Validate()
1093 if (BBUtils->getOffsetOf(End) < BBUtils->getOffsetOf(ML.getHeader()) || in Validate()
1094 !BBUtils->isBBInRange(End, ML.getHeader(), 4094)) { in Validate()
1115 Revert = !ValidateRanges(Start, End, BBUtils, ML); in Validate()
1139 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) { in ValidateMVEStore() argument
1181 ML->getExitBlocks(Frontier); in ValidateMVEStore()
1280 if (MI->mayStore() && !ValidateMVEStore(MI, &ML)) in ValidateMVEInst()
1321 for (auto *ML : *MLI) { in runOnMachineFunction()
1322 if (ML->isOutermost()) in runOnMachineFunction()
1323 Changed |= ProcessLoop(ML); in runOnMachineFunction()
1329 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop() argument
1334 for (MachineLoop *L : *ML) in ProcessLoop()
1339 if (auto *Preheader = ML->getLoopPreheader()) in ProcessLoop()
1341 else if (auto *Preheader = MLI->findLoopPreheader(ML, true, true)) in ProcessLoop()
1343 for (auto *MBB : ML->getBlocks()) in ProcessLoop()
1360 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1372 for (auto *MBB : reverse(ML->getBlocks())) { in ProcessLoop()
1806 PostOrderLoopTraversal DFS(LoLoop.ML, *MLI); in Expand()