Lines Matching refs:ML
129 MachineLoop &ML; member in __anona50655620111::PostOrderLoopTraversal
135 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal() argument
136 : ML(ML), MLI(MLI) { } in PostOrderLoopTraversal()
152 if (!ML.contains(Succ)) in ProcessLoop()
161 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
165 Search(ML.getHeader()); in ProcessLoop()
175 if (auto *Preheader = ML.getLoopPreheader()) in ProcessLoop()
177 else if (auto *Preheader = MLI.findLoopPreheader(&ML, true, true)) in ProcessLoop()
366 MachineLoop &ML; member
388 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop()
391 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
393 MF = ML.getHeader()->getParent(); in LowOverheadLoop()
394 if (auto *MBB = ML.getLoopPreheader()) in LowOverheadLoop()
396 else if (auto *MBB = MLI.findLoopPreheader(&ML, true, true)) in LowOverheadLoop()
413 !CannotTailPredicate && ML.getNumBlocks() == 1; in IsTailPredicationLegal()
505 bool ProcessLoop(MachineLoop *ML);
610 assert(ML.getBlocks().size() == 1 && in ValidateTailPredicate()
941 MachineBasicBlock *Header = ML.getHeader(); in ValidateLiveOuts()
1017 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
1018 assert(ML.getNumBlocks() == 1 && "Expected single block loop!"); in ValidateLiveOuts()
1068 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate() argument
1074 if (TgtBB != ML.getHeader()) { in Validate()
1081 if (BBUtils->getOffsetOf(End) < BBUtils->getOffsetOf(ML.getHeader()) || in Validate()
1082 !BBUtils->isBBInRange(End, ML.getHeader(), 4094)) { in Validate()
1103 Revert = !ValidateRanges(Start, End, BBUtils, ML); in Validate()
1127 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) { in ValidateMVEStore() argument
1169 ML->getExitBlocks(Frontier); in ValidateMVEStore()
1268 if (MI->mayStore() && !ValidateMVEStore(MI, &ML)) in ValidateMVEInst()
1309 for (auto *ML : *MLI) { in runOnMachineFunction()
1310 if (ML->isOutermost()) in runOnMachineFunction()
1311 Changed |= ProcessLoop(ML); in runOnMachineFunction()
1317 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop() argument
1321 for (MachineLoop *L : *ML) in ProcessLoop()
1326 if (auto *Preheader = ML->getLoopPreheader()) in ProcessLoop()
1328 else if (auto *Preheader = MLI->findLoopPreheader(ML, true, true)) in ProcessLoop()
1330 for (auto *MBB : ML->getBlocks()) in ProcessLoop()
1347 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1359 for (auto *MBB : reverse(ML->getBlocks())) { in ProcessLoop()
1793 PostOrderLoopTraversal DFS(LoLoop.ML, *MLI); in Expand()