Lines Matching full:spills
1129 // - When LastStart is invalid, Spills is empty and the iterators are invalid.
1137 // 3. Spills.
1142 // - Segments in Spills precede and can't coalesce with segments in area 2.
1143 // - No coalescing is possible between segments in Spills and segments in area
1146 // The segments in Spills are not ordered with respect to the segments in area
1149 // When they exist, Spills.back().start <= LastStart,
1166 OS << "\n Spills:";
1167 for (unsigned I = 0, E = Spills.size(); I != E; ++I)
1168 OS << ' ' << Spills[I];
1207 assert(Spills.empty() && "Leftover spilled segments");
1217 // First try to close the gap between WriteI and ReadI with spills.
1247 // Try coalescing Spills.back() into Seg.
1248 if (!Spills.empty() && coalescable(Spills.back(), Seg)) {
1249 Seg.start = Spills.back().start;
1250 Seg.end = std::max(Spills.back().end, Seg.end);
1251 Spills.pop_back();
1266 // Finally, append to LR or Spills.
1271 Spills.push_back(Seg);
1277 // Perform a backwards merge of Spills and [SpillI;WriteI).
1279 size_t NumMoved = std::min(Spills.size(), GapSize);
1282 LiveRange::iterator SpillSrc = Spills.end();
1285 // This is the new WriteI position after merging spills.
1288 // Now merge Src and Spills backwards.
1295 assert(NumMoved == size_t(Spills.end() - SpillSrc));
1296 Spills.erase(SpillSrc, Spills.end());
1308 if (Spills.empty()) {
1314 // Resize the WriteI - ReadI gap to match Spills.
1316 if (GapSize < Spills.size()) {
1319 LR->segments.insert(ReadI, Spills.size() - GapSize, LiveRange::Segment());
1324 LR->segments.erase(WriteI + Spills.size(), ReadI);
1326 ReadI = WriteI + Spills.size();