Lines Matching refs:CSRSave
145 CSRSave.clear();
174 /// in CSRSave, CSRRestore.
178 /// CSRSave has a single mapping, CSRRestore has mappings for each
583 if (!CSRSave[MBB].empty())
584 prop = CSRSave[MBB];
644 loopSpills = CSRSave[MBB];
645 if (CSRSave[MBB].empty()) {
648 } else if (CSRRestore[MBB].contains(CSRSave[MBB]))
705 CSRSave[MBB] |= (AnticIn[MBB] - AvailIn[MBB]) & anticInPreds;
707 if (! CSRSave[MBB].empty()) {
710 CSRRestore[ReturnBlocks[ri]] |= CSRSave[MBB];
713 if (CSRSave[EntryBlock].intersects(CSRSave[MBB])) {
714 CSRSave[MBB] = CSRSave[MBB] - CSRSave[EntryBlock];
718 placedSpills = (CSRSave[MBB] != prevSpills[MBB]);
719 prevSpills[MBB] = CSRSave[MBB];
725 DEBUG(if (! CSRSave[MBB].empty() && ShrinkWrapDebugging >= Iterations)
727 << stringifyCSRegSet(CSRSave[MBB]) << "\n");
774 // CSRSave[EntryBlock] == CSRRestore[B] for all B in ReturnBlocks.
776 if (! CSRSave[EntryBlock].empty())
777 CSRRestore[MBB] = CSRRestore[MBB] - CSRSave[EntryBlock];
805 // 2. computation of CSRSave[], CSRRestore[] reach fixed points.
847 CSRSave.clear();
853 // SR0 = {r | r in CSRSave[EntryBlock], CSRRestore[RB], RB in ReturnBlocks}
854 // numSRReduced = |(UsedCSRegs - SR0)|, approx. SR0 by CSRSave[EntryBlock]
857 CSRegSet notSpilledInEntryBlock = (UsedCSRegs - CSRSave[EntryBlock]);
945 for (CSRegBlockMap::iterator BI = CSRSave.begin(),
946 BE = CSRSave.end(); BI != BE; ++BI) {
973 if (CSRSave[SBB].intersects(spilled) &&
974 !restored.contains(CSRSave[SBB] & spilled))
1008 << stringifyCSRegSet(CSRSave[MBB])
1012 if (CSRSave[MBB].intersects(restored)) {
1013 spilled |= (CSRSave[MBB] & restored);
1029 if (CSRSave[PBB].intersects(restored))
1030 spilled |= (CSRSave[PBB] & restored);
1121 << stringifyCSRegSet(CSRSave[MBB]) << " | "
1138 if (!CSRSave[MBB].empty()) {
1140 << stringifyCSRegSet(CSRSave[MBB]);
1145 if (!CSRRestore[MBB].empty() && !CSRSave[MBB].empty())