Lines Matching refs:CSRRestore
146 CSRRestore.clear();
174 /// in CSRSave, CSRRestore.
178 /// CSRSave has a single mapping, CSRRestore has mappings for each
568 if (!CSRRestore[MBB].empty() && MBB->succ_size() > 0) {
585 else if (!CSRRestore[MBB].empty())
586 prop = CSRRestore[MBB];
648 } else if (CSRRestore[MBB].contains(CSRSave[MBB]))
710 CSRRestore[ReturnBlocks[ri]] |= CSRSave[MBB];
769 CSRRestore[MBB] |= (AvailOut[MBB] - AnticOut[MBB]) & availOutSucc;
774 // CSRSave[EntryBlock] == CSRRestore[B] for all B in ReturnBlocks.
775 if (MBB->succ_size() && ! CSRRestore[MBB].empty()) {
777 CSRRestore[MBB] = CSRRestore[MBB] - CSRSave[EntryBlock];
779 placedRestores = (CSRRestore[MBB] != prevRestores[MBB]);
780 prevRestores[MBB] = CSRRestore[MBB];
786 DEBUG(if (! CSRRestore[MBB].empty() && ShrinkWrapDebugging >= Iterations)
788 << stringifyCSRegSet(CSRRestore[MBB]) << "\n");
805 // 2. computation of CSRSave[], CSRRestore[] reach fixed points.
848 CSRRestore.clear();
853 // SR0 = {r | r in CSRSave[EntryBlock], CSRRestore[RB], RB in ReturnBlocks}
957 << stringifyCSRegSet(CSRRestore[MBB]) << "\n");
959 if (CSRRestore[MBB].intersects(spilled)) {
960 restored |= (CSRRestore[MBB] & spilled);
978 if (CSRRestore[SBB].intersects(spilled))
979 restored |= (CSRRestore[SBB] & spilled);
998 for (CSRegBlockMap::iterator BI = CSRRestore.begin(),
999 BE = CSRRestore.end(); BI != BE; ++BI) {
1024 if (CSRRestore[PBB].intersects(restored) &&
1025 !spilled.contains(CSRRestore[PBB] & restored))
1122 << stringifyCSRegSet(CSRRestore[MBB]) << "\n";
1141 if (CSRRestore[MBB].empty())
1145 if (!CSRRestore[MBB].empty() && !CSRSave[MBB].empty())
1148 << stringifyCSRegSet(CSRRestore[MBB]) << "\n";