Lines Matching defs:NewIdx
911 SlotIndex NewIdx;
918 NewIdx, bool UpdateFlags)
919 : LIS(LIS), MRI(MRI), TRI(TRI), OldIdx(OldIdx), NewIdx(NewIdx),
933 /// NewIdx.
935 DEBUG(dbgs() << "handleMove " << OldIdx << " -> " << NewIdx << ": " << *MI);
980 /// OldIdx to NewIdx.
995 if (SlotIndex::isEarlierInstr(OldIdx, NewIdx))
1004 /// to NewIdx (OldIdx < NewIdx).
1017 // If the live-in value already extends to NewIdx, there is nothing to do.
1018 if (SlotIndex::isEarlierEqualInstr(NewIdx, OldIdxIn->end))
1028 // Is there a def before NewIdx which is not OldIdx?
1031 SlotIndex::isEarlierInstr(Next->start, NewIdx)) {
1033 // to ensure liveness extends to NewIdx.
1035 LR.advanceTo(Next, NewIdx.getBaseIndex());
1036 // Extend the segment before NewIdx if necessary.
1038 !SlotIndex::isEarlierInstr(NewIdxIn->start, NewIdx)) {
1040 Prev->end = NewIdx.getRegSlot();
1045 // Adjust OldIdxIn->end to reach NewIdx. This may temporarily make LR
1048 OldIdxIn->end = NewIdx.getRegSlot(OldIdxIn->end.isEarlyClobber());
1068 // If the defined value extends beyond NewIdx, just move the beginning
1069 // of the segment to NewIdx.
1070 SlotIndex NewIdxDef = NewIdx.getRegSlot(OldIdxOut->start.isEarlyClobber());
1078 // NewIdx.
1080 // Is there an existing Def at NewIdx?
1082 = LR.advanceTo(OldIdxOut, NewIdx.getRegSlot());
1108 // If NewIdx is behind the last segment, extend that and append a new one.
1132 // Case 1: NewIdx is inside a liverange. Split this liverange at
1141 // Case 2: NewIdx is in a lifetime hole. Keep AfterNewIdx as is and
1142 // turn Prev into a segment from NewIdx to AfterNewIdx->start.
1153 // There is an existing def at NewIdx. The def at OldIdx is coalesced into
1158 // There was no existing def at NewIdx. We need to create a dead def
1159 // at NewIdx. Shift segments over the old OldIdxOut segment, this frees
1175 /// to NewIdx (NewIdx < OldIdx).
1189 // OldIdx, moreover the value must be live at NewIdx so there is nothing
1196 // previous use or (dead-)def but no further than NewIdx.
1199 NewIdx.getRegSlot(OldIdxIn->end.isEarlyClobber()));
1219 // Is there an existing def at NewIdx?
1220 SlotIndex NewIdxDef = NewIdx.getRegSlot(OldIdxOut->start.isEarlyClobber());
1221 LiveRange::iterator NewIdxOut = LR.find(NewIdx.getRegSlot());
1222 if (SlotIndex::isSameInstr(NewIdxOut->start, NewIdx)) {
1227 // Remove segment starting at NewIdx and move begin of OldIdxOut to
1228 // NewIdx so it can take its place.
1237 // Previously nothing was live after NewIdx, so all we have to do now is
1238 // move the begin of OldIdxOut to NewIdx.
1240 // Do we have any intermediate Defs between OldIdx and NewIdx?
1243 // OldIdx is not a dead def and NewIdx is before predecessor start.
1245 assert(NewIdxIn == LR.find(NewIdx.getBaseIndex()));
1260 if (SlotIndex::isEarlierInstr(Next->start, NewIdx)) {
1276 if (OldIdxIn != E && SlotIndex::isEarlierInstr(NewIdx, OldIdxIn->end))
1277 OldIdxIn->end = NewIdx.getRegSlot();
1302 *RI = NewIdx.getRegSlot();
1311 // Return the last use of reg between NewIdx and OldIdx.