reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);