From: Evan Cheng Date: Wed, 30 Jan 2008 22:44:55 +0000 (+0000) Subject: Fixed a bug in MergeValueInAsValue() pointed out by David Greene. Replace val# with... X-Git-Tag: android-x86-6.0-r1~1003^2~30539 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=294e6524916aecd874dddeede4cc074d31f5f59f;p=android-x86%2Fexternal-llvm.git 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 --- diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp index b20a87ea0a8..e1b8cf98019 100644 --- a/lib/CodeGen/LiveInterval.cpp +++ b/lib/CodeGen/LiveInterval.cpp @@ -402,9 +402,9 @@ void LiveInterval::MergeValueInAsValue(const LiveInterval &RHS, IP = std::upper_bound(IP, end(), Start); // If the start of this range overlaps with an existing liverange, trim it. if (IP != begin() && IP[-1].end > Start) { - if (IP->valno != LHSValNo) { - ReplacedValNos.push_back(IP->valno); - IP->valno = LHSValNo; // Update val#. + if (IP[-1].valno != LHSValNo) { + ReplacedValNos.push_back(IP[-1].valno); + IP[-1].valno = LHSValNo; // Update val#. } Start = IP[-1].end; // Trimmed away the whole range?