When updating live range endpoints, make sure to preserve the early clobber bit.
Fixs PR13719. llvm-svn: 163107
This commit is contained in:
parent
dcc54decd5
commit
90152701eb
|
@ -1173,7 +1173,7 @@ private:
|
||||||
SlotIndex LastUse = findLastUseBefore(LI->reg, OldIdx);
|
SlotIndex LastUse = findLastUseBefore(LI->reg, OldIdx);
|
||||||
if (LastUse != NewIdx)
|
if (LastUse != NewIdx)
|
||||||
moveKillFlags(LI->reg, NewIdx, LastUse);
|
moveKillFlags(LI->reg, NewIdx, LastUse);
|
||||||
LR->end = LastUse.getRegSlot();
|
LR->end = LastUse.getRegSlot(LR->end.isEarlyClobber());
|
||||||
}
|
}
|
||||||
|
|
||||||
void moveEnteringDownFrom(SlotIndex OldIdx, IntRangePair& P) {
|
void moveEnteringDownFrom(SlotIndex OldIdx, IntRangePair& P) {
|
||||||
|
@ -1187,7 +1187,7 @@ private:
|
||||||
assert(LR->end > OldIdx && "LiveRange does not cover original slot");
|
assert(LR->end > OldIdx && "LiveRange does not cover original slot");
|
||||||
moveKillFlags(LI->reg, LR->end, NewIdx);
|
moveKillFlags(LI->reg, LR->end, NewIdx);
|
||||||
}
|
}
|
||||||
LR->end = NewIdx.getRegSlot();
|
LR->end = NewIdx.getRegSlot(LR->end.isEarlyClobber());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue