Lines Matching refs:Restore
124 MachineBasicBlock *Restore; member in __anone21e770d0111::ShrinkWrap
193 Restore = nullptr; in init()
212 bool ArePointsInteresting() const { return Save != Entry && Save && Restore; } in ArePointsInteresting()
344 if (!Restore) in updateSaveRestorePoints()
345 Restore = &MBB; in updateSaveRestorePoints()
351 Restore = MPDT->findNearestCommonDominator(Restore, &MBB); in updateSaveRestorePoints()
353 Restore = nullptr; // Abort, we can't find a restore point in this case. in updateSaveRestorePoints()
357 if (Restore == &MBB) { in updateSaveRestorePoints()
363 Restore = nullptr; // Abort, we can't find a restore point in this case. in updateSaveRestorePoints()
368 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in updateSaveRestorePoints()
373 if (!Restore) { in updateSaveRestorePoints()
388 while (Restore && in updateSaveRestorePoints()
389 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints()
390 !(RestorePostDominatesSave = MPDT->dominates(Restore, Save)) || in updateSaveRestorePoints()
408 MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
411 Save = MDT->findNearestCommonDominator(Save, Restore); in updateSaveRestorePoints()
416 Restore = MPDT->findNearestCommonDominator(Restore, Save); in updateSaveRestorePoints()
419 if (Restore && (MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
420 if (MLI->getLoopDepth(Save) > MLI->getLoopDepth(Restore)) { in updateSaveRestorePoints()
430 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
433 MachineBasicBlock *IPdom = Restore; in updateSaveRestorePoints()
442 if (IPdom && MLI->getLoopDepth(IPdom) < MLI->getLoopDepth(Restore)) in updateSaveRestorePoints()
443 Restore = IPdom; in updateSaveRestorePoints()
445 Restore = nullptr; in updateSaveRestorePoints()
535 assert(!Save && !Restore && "We miss a shrink-wrap opportunity?!"); in runOnMachineFunction()
548 << "\nRestore: " << Restore->getNumber() << ' ' in runOnMachineFunction()
549 << Restore->getName() << ' ' in runOnMachineFunction()
550 << MBFI->getBlockFreq(Restore).getFrequency() << '\n'); in runOnMachineFunction()
554 EntryFreq >= MBFI->getBlockFreq(Restore).getFrequency()) && in runOnMachineFunction()
556 TFI->canUseAsEpilogue(*Restore))) in runOnMachineFunction()
568 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in runOnMachineFunction()
569 if (!Restore) in runOnMachineFunction()
571 NewBB = Restore; in runOnMachineFunction()
574 } while (Save && Restore); in runOnMachineFunction()
583 << "\nRestore: " << Restore->getNumber() << ' ' in runOnMachineFunction()
584 << Restore->getName() << '\n'); in runOnMachineFunction()
588 MFI.setRestorePoint(Restore); in runOnMachineFunction()