Lines Matching refs:Restore
111 MachineBasicBlock *Restore; member in __anon967e77880111::ShrinkWrap
165 Restore = nullptr; in init()
181 bool ArePointsInteresting() const { return Save != Entry && Save && Restore; } in ArePointsInteresting()
285 if (!Restore) in updateSaveRestorePoints()
286 Restore = &MBB; in updateSaveRestorePoints()
288 Restore = MPDT->findNearestCommonDominator(Restore, &MBB); in updateSaveRestorePoints()
292 if (Restore == &MBB) { in updateSaveRestorePoints()
298 Restore = nullptr; in updateSaveRestorePoints()
303 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in updateSaveRestorePoints()
308 if (!Restore) { in updateSaveRestorePoints()
322 while (Save && Restore && in updateSaveRestorePoints()
323 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints()
324 !(RestorePostDominatesSave = MPDT->dominates(Restore, Save)) || in updateSaveRestorePoints()
342 MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
345 Save = MDT->findNearestCommonDominator(Save, Restore); in updateSaveRestorePoints()
350 Restore = MPDT->findNearestCommonDominator(Restore, Save); in updateSaveRestorePoints()
353 if (Save && Restore && in updateSaveRestorePoints()
354 (MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
355 if (MLI->getLoopDepth(Save) > MLI->getLoopDepth(Restore)) { in updateSaveRestorePoints()
365 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
368 MachineBasicBlock *IPdom = Restore; in updateSaveRestorePoints()
377 if (IPdom && MLI->getLoopDepth(IPdom) < MLI->getLoopDepth(Restore)) in updateSaveRestorePoints()
378 Restore = IPdom; in updateSaveRestorePoints()
380 Restore = nullptr; in updateSaveRestorePoints()
476 assert(!Save && !Restore && "We miss a shrink-wrap opportunity?!"); in runOnMachineFunction()
489 << Restore->getNumber() << ' ' << Restore->getName() << ' ' in runOnMachineFunction()
490 << MBFI->getBlockFreq(Restore).getFrequency() << '\n'); in runOnMachineFunction()
494 EntryFreq >= MBFI->getBlockFreq(Restore).getFrequency()) && in runOnMachineFunction()
496 TFI->canUseAsEpilogue(*Restore))) in runOnMachineFunction()
507 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in runOnMachineFunction()
508 if (!Restore) in runOnMachineFunction()
510 NewBB = Restore; in runOnMachineFunction()
513 } while (Save && Restore); in runOnMachineFunction()
522 << Restore->getNumber() << ' ' << Restore->getName() << '\n'); in runOnMachineFunction()
526 MFI->setRestorePoint(Restore); in runOnMachineFunction()