Lines Matching refs:Restore
128 MachineBasicBlock *Restore = nullptr; member in __anon8a4a73dd0111::ShrinkWrap
231 Restore = nullptr; in init()
250 bool ArePointsInteresting() const { return Save != Entry && Save && Restore; } in ArePointsInteresting()
589 InitRestore = Restore; in postShrinkWrapping()
671 Restore = NewRestore; in postShrinkWrapping()
676 assert((MDT->dominates(Save, Restore) && MPDT->dominates(Restore, Save)) && in postShrinkWrapping()
678 assert((!MLI->getLoopFor(Save) && !MLI->getLoopFor(Restore)) && in postShrinkWrapping()
681 EntryFreq >= MBFI->getBlockFreq(Restore)) && in postShrinkWrapping()
695 if (!Restore) in updateSaveRestorePoints()
696 Restore = &MBB; in updateSaveRestorePoints()
702 Restore = MPDT->findNearestCommonDominator(Restore, &MBB); in updateSaveRestorePoints()
704 Restore = nullptr; // Abort, we can't find a restore point in this case. in updateSaveRestorePoints()
708 if (Restore == &MBB) { in updateSaveRestorePoints()
714 Restore = nullptr; // Abort, we can't find a restore point in this case. in updateSaveRestorePoints()
719 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in updateSaveRestorePoints()
724 if (!Restore) { in updateSaveRestorePoints()
739 while (Restore && in updateSaveRestorePoints()
740 (!(SaveDominatesRestore = MDT->dominates(Save, Restore)) || in updateSaveRestorePoints()
741 !(RestorePostDominatesSave = MPDT->dominates(Restore, Save)) || in updateSaveRestorePoints()
759 MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
762 Save = MDT->findNearestCommonDominator(Save, Restore); in updateSaveRestorePoints()
767 Restore = MPDT->findNearestCommonDominator(Restore, Save); in updateSaveRestorePoints()
770 if (Restore && (MLI->getLoopFor(Save) || MLI->getLoopFor(Restore))) { in updateSaveRestorePoints()
771 if (MLI->getLoopDepth(Save) > MLI->getLoopDepth(Restore)) { in updateSaveRestorePoints()
781 MLI->getLoopFor(Restore)->getExitingBlocks(ExitBlocks); in updateSaveRestorePoints()
784 MachineBasicBlock *IPdom = Restore; in updateSaveRestorePoints()
793 if (IPdom && MLI->getLoopDepth(IPdom) < MLI->getLoopDepth(Restore)) in updateSaveRestorePoints()
794 Restore = IPdom; in updateSaveRestorePoints()
796 Restore = nullptr; in updateSaveRestorePoints()
878 assert(!Save && !Restore && "We miss a shrink-wrap opportunity?!"); in performShrinkWrapping()
892 << "\nRestore: " << printMBBReference(*Restore) << ' ' in performShrinkWrapping()
893 << printBlockFreq(*MBFI, *Restore) << '\n'); in performShrinkWrapping()
897 EntryFreq >= MBFI->getBlockFreq(Restore)) && in performShrinkWrapping()
899 TFI->canUseAsEpilogue(*Restore))) in performShrinkWrapping()
911 Restore = FindIDom<>(*Restore, Restore->successors(), *MPDT); in performShrinkWrapping()
912 if (!Restore) in performShrinkWrapping()
914 NewBB = Restore; in performShrinkWrapping()
917 } while (Save && Restore); in performShrinkWrapping()
967 << "\nRestore: " << printMBBReference(*Restore) << '\n'); in runOnMachineFunction()
971 MFI.setRestorePoint(Restore); in runOnMachineFunction()