mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-02 07:17:36 +00:00
Fixed a bug in MergeValueInAsValue() pointed out by David Greene. Replace val# with previous liverange's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46579 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -402,9 +402,9 @@ void LiveInterval::MergeValueInAsValue(const LiveInterval &RHS,
|
|||||||
IP = std::upper_bound(IP, end(), Start);
|
IP = std::upper_bound(IP, end(), Start);
|
||||||
// If the start of this range overlaps with an existing liverange, trim it.
|
// If the start of this range overlaps with an existing liverange, trim it.
|
||||||
if (IP != begin() && IP[-1].end > Start) {
|
if (IP != begin() && IP[-1].end > Start) {
|
||||||
if (IP->valno != LHSValNo) {
|
if (IP[-1].valno != LHSValNo) {
|
||||||
ReplacedValNos.push_back(IP->valno);
|
ReplacedValNos.push_back(IP[-1].valno);
|
||||||
IP->valno = LHSValNo; // Update val#.
|
IP[-1].valno = LHSValNo; // Update val#.
|
||||||
}
|
}
|
||||||
Start = IP[-1].end;
|
Start = IP[-1].end;
|
||||||
// Trimmed away the whole range?
|
// Trimmed away the whole range?
|
||||||
|
|||||||
Reference in New Issue
Block a user