Lines Matching defs:restored
541 // Machine CFG around which CSRs must be spilled and restored.
547 /// addUsesForMEMERegion - add uses of CSRs spilled or restored in
733 /// calcRestorePlacements - determine which CSRs should be restored
735 /// of changes to restored reg sets. Add MBB to the set of blocks
773 // Remove the CSRs that are restored in the return blocks.
834 // Add uses for CSRs spilled or restored at branch, join points.
932 /// all CSRs spilled at MMBB are restored on all paths
935 /// all CSRs restored at MBB are spilled on all paths
950 CSRegSet restored;
961 restored |= (CSRRestore[MBB] & spilled);
973 // have not yet been seen to be restored.
975 !restored.contains(CSRSave[SBB] & spilled))
977 // Collect the CSRs spilled at MBB that are restored
980 restored |= (CSRRestore[SBB] & spilled);
985 if (restored != spilled) {
986 CSRegSet notRestored = (spilled - restored);
990 << " are never restored on path to return "
993 restored.clear();
1002 CSRegSet restored = BI->second;
1005 if (restored.empty())
1011 << stringifyCSRegSet(restored) << "\n");
1013 if (CSRSave[MBB].intersects(restored)) {
1014 spilled |= (CSRSave[MBB] & restored);
1017 // CSRs restored at MBB:
1023 // Stop when we encounter restores of any CSRs restored at MBB that
1025 if (CSRRestore[PBB].intersects(restored) &&
1026 !spilled.contains(CSRRestore[PBB] & restored))
1028 // Collect the CSRs restored at MBB that are spilled
1030 if (CSRSave[PBB].intersects(restored))
1031 spilled |= (CSRSave[PBB] & restored);
1033 if (spilled != restored) {
1034 CSRegSet notSpilled = (restored - spilled);
1037 << " restored at " << getBasicBlockName(MBB)