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

References

lib/CodeGen/LiveIntervals.cpp
 1096       OldIdxOut = Next;
 1097       if (OldIdxOut == E || !SlotIndex::isSameInstr(OldIdx, OldIdxOut->start))
 1097       if (OldIdxOut == E || !SlotIndex::isSameInstr(OldIdx, OldIdxOut->start))
 1100       OldIdxOut = OldIdxIn;
 1105     assert(OldIdxOut != E && SlotIndex::isSameInstr(OldIdx, OldIdxOut->start) &&
 1105     assert(OldIdxOut != E && SlotIndex::isSameInstr(OldIdx, OldIdxOut->start) &&
 1107     VNInfo *OldIdxVNI = OldIdxOut->valno;
 1108     assert(OldIdxVNI->def == OldIdxOut->start && "Inconsistent def");
 1112     SlotIndex NewIdxDef = NewIdx.getRegSlot(OldIdxOut->start.isEarlyClobber());
 1113     if (SlotIndex::isEarlierInstr(NewIdxDef, OldIdxOut->end)) {
 1115       OldIdxOut->start = OldIdxVNI->def;
 1124       = LR.advanceTo(OldIdxOut, NewIdx.getRegSlot());
 1125     bool OldIdxDefIsDead = OldIdxOut->end.isDead();
 1127         SlotIndex::isEarlierInstr(OldIdxOut->end, NewIdxDef)) {
 1130       if (OldIdxOut != LR.begin() &&
 1131           !SlotIndex::isEarlierInstr(std::prev(OldIdxOut)->end,
 1132                                      OldIdxOut->start)) {
 1135         LiveRange::iterator IPrev = std::prev(OldIdxOut);
 1137         IPrev->end = OldIdxOut->end;
 1140         LiveRange::iterator INext = std::next(OldIdxOut);
 1147         INext->start = OldIdxOut->end;
 1156         std::copy(std::next(OldIdxOut), E, OldIdxOut);
 1156         std::copy(std::next(OldIdxOut), E, OldIdxOut);
 1170         std::copy(std::next(OldIdxOut), std::next(AfterNewIdx), OldIdxOut);
 1170         std::copy(std::next(OldIdxOut), std::next(AfterNewIdx), OldIdxOut);
 1205       assert(AfterNewIdx != OldIdxOut && "Inconsistent iterators");
 1206       std::copy(std::next(OldIdxOut), AfterNewIdx, OldIdxOut);
 1206       std::copy(std::next(OldIdxOut), AfterNewIdx, OldIdxOut);