reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/CodeGen/LiveInterval.cpp
 1139   OS << " updater with gap = " << (ReadI - WriteI)
 1148   for (const auto &S : make_range(ReadI, LR->end()))
 1186     WriteI = ReadI = LR->begin();
 1194   if (ReadI != E && ReadI->end <= Seg.start) {
 1194   if (ReadI != E && ReadI->end <= Seg.start) {
 1196     if (ReadI != WriteI)
 1199     if (ReadI == WriteI)
 1200       ReadI = WriteI = LR->find(Seg.start);
 1202       while (ReadI != E && ReadI->end <= Seg.start)
 1202       while (ReadI != E && ReadI->end <= Seg.start)
 1203         *WriteI++ = *ReadI++;
 1206   assert(ReadI == E || ReadI->end > Seg.start);
 1206   assert(ReadI == E || ReadI->end > Seg.start);
 1209   if (ReadI != E && ReadI->start <= Seg.start) {
 1209   if (ReadI != E && ReadI->start <= Seg.start) {
 1210     assert(ReadI->valno == Seg.valno && "Cannot overlap different values");
 1212     if (ReadI->end >= Seg.end)
 1215     Seg.start = ReadI->start;
 1216     ++ReadI;
 1220   while (ReadI != E && coalescable(Seg, *ReadI)) {
 1220   while (ReadI != E && coalescable(Seg, *ReadI)) {
 1221     Seg.end = std::max(Seg.end, ReadI->end);
 1222     ++ReadI;
 1239   if (WriteI != ReadI) {
 1247     WriteI = ReadI = LR->end();
 1256   size_t GapSize = ReadI - WriteI;
 1287     LR->segments.erase(WriteI, ReadI);
 1293   size_t GapSize = ReadI - WriteI;
 1297     LR->segments.insert(ReadI, Spills.size() - GapSize, LiveRange::Segment());
 1302     LR->segments.erase(WriteI + Spills.size(), ReadI);
 1304   ReadI = WriteI + Spills.size();