Lines Matching refs:ML
109 MachineLoop &ML; member in __anon88abca160111::PostOrderLoopTraversal
115 PostOrderLoopTraversal(MachineLoop &ML, MachineLoopInfo &MLI) in PostOrderLoopTraversal() argument
116 : ML(ML), MLI(MLI) { } in PostOrderLoopTraversal()
132 if (!ML.contains(Succ)) in ProcessLoop()
141 ML.getExitBlocks(ExitBlocks); in ProcessLoop()
145 Search(ML.getHeader()); in ProcessLoop()
155 if (auto *Preheader = ML.getLoopPreheader()) in ProcessLoop()
157 else if (auto *Preheader = MLI.findLoopPreheader(&ML, true, true)) in ProcessLoop()
358 MachineLoop &ML; member
377 LowOverheadLoop(MachineLoop &ML, MachineLoopInfo &MLI, in LowOverheadLoop()
380 : ML(ML), MLI(MLI), RDA(RDA), TRI(TRI), TII(TII), in LowOverheadLoop()
382 MF = ML.getHeader()->getParent(); in LowOverheadLoop()
383 if (auto *MBB = ML.getLoopPreheader()) in LowOverheadLoop()
385 else if (auto *MBB = MLI.findLoopPreheader(&ML, true, true)) in LowOverheadLoop()
403 !CannotTailPredicate && ML.getNumBlocks() == 1; in IsTailPredicationLegal()
502 bool ProcessLoop(MachineLoop *ML);
611 assert(ML.getBlocks().size() == 1 && in ValidateTailPredicate()
928 MachineBasicBlock *Header = ML.getHeader(); in ValidateLiveOuts()
989 ML.getExitBlocks(ExitBlocks); in ValidateLiveOuts()
990 assert(ML.getNumBlocks() == 1 && "Expected single block loop!"); in ValidateLiveOuts()
1028 ARMBasicBlockUtils *BBUtils, MachineLoop &ML) { in Validate() argument
1034 if (TgtBB != ML.getHeader()) { in Validate()
1041 if (BBUtils->getOffsetOf(End) < BBUtils->getOffsetOf(ML.getHeader()) || in Validate()
1042 !BBUtils->isBBInRange(End, ML.getHeader(), 4094)) { in Validate()
1063 Revert = !ValidateRanges(Start, End, BBUtils, ML); in Validate()
1087 static bool ValidateMVEStore(MachineInstr *MI, MachineLoop *ML) { in ValidateMVEStore() argument
1129 ML->getExitBlocks(Frontier); in ValidateMVEStore()
1221 if (MI->mayStore() && !ValidateMVEStore(MI, &ML)) in ValidateMVEInst()
1262 for (auto ML : *MLI) { in runOnMachineFunction()
1263 if (ML->isOutermost()) in runOnMachineFunction()
1264 Changed |= ProcessLoop(ML); in runOnMachineFunction()
1270 bool ARMLowOverheadLoops::ProcessLoop(MachineLoop *ML) { in ProcessLoop() argument
1275 for (auto I = ML->begin(), E = ML->end(); I != E; ++I) in ProcessLoop()
1280 if (auto *Preheader = ML->getLoopPreheader()) in ProcessLoop()
1282 else if (auto *Preheader = MLI->findLoopPreheader(ML, true, true)) in ProcessLoop()
1284 for (auto *MBB : ML->getBlocks()) in ProcessLoop()
1301 LowOverheadLoop LoLoop(*ML, *MLI, *RDA, *TRI, *TII); in ProcessLoop()
1313 for (auto *MBB : reverse(ML->getBlocks())) { in ProcessLoop()
1720 PostOrderLoopTraversal DFS(LoLoop.ML, *MLI); in Expand()