Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:WriteI

666 // 1. [begin; WriteI) at the front of LR.
670 // - LR.begin() <= WriteI <= ReadI <= LR.end().
681 // and WriteI[-1].start <= LastStart.
692 OS << " updater with gap = " << (ReadI - WriteI)
695 for (LiveRange::const_iterator I = LR->begin(); I != WriteI; ++I)
732 WriteI = ReadI = LR->begin();
741 // First try to close the gap between WriteI and ReadI with spills.
742 if (ReadI != WriteI)
745 if (ReadI == WriteI)
746 ReadI = WriteI = LR->find(Seg.start);
749 *WriteI++ = *ReadI++;
778 // Try coalescing Seg into WriteI[-1].
779 if (WriteI != LR->begin() && coalescable(WriteI[-1], Seg)) {
780 WriteI[-1].end = std::max(WriteI[-1].end, Seg.end);
785 if (WriteI != ReadI) {
786 *WriteI++ = Seg;
791 if (WriteI == E) {
793 WriteI = ReadI = LR->end();
798 // Merge as many spilled segments as possible into the gap between WriteI
799 // and ReadI. Advance WriteI to reflect the inserted instructions.
801 // Perform a backwards merge of Spills and [SpillI;WriteI).
802 size_t GapSize = ReadI - WriteI;
804 LiveRange::iterator Src = WriteI;
809 // This is the new WriteI position after merging spills.
810 WriteI = Dst;
833 LR->segments.erase(WriteI, ReadI);
838 // Resize the WriteI - ReadI gap to match Spills.
839 size_t GapSize = ReadI - WriteI;
842 size_t WritePos = WriteI - LR->begin();
845 WriteI = LR->begin() + WritePos;
848 LR->segments.erase(WriteI + Spills.size(), ReadI);
850 ReadI = WriteI + Spills.size();