summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-04-28 02:11:49 +0000
committerMatthias Braun <matze@braunis.de>2016-04-28 02:11:49 +0000
commitc9e759acff35b60e74bbfcd0aa7f1bb1ea69cb0b (patch)
treee578216fd00c56241f4744a2e6a9c5eb5bd2fea3 /llvm/lib/CodeGen
parent5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee (diff)
downloadbcm5719-llvm-c9e759acff35b60e74bbfcd0aa7f1bb1ea69cb0b.tar.gz
bcm5719-llvm-c9e759acff35b60e74bbfcd0aa7f1bb1ea69cb0b.zip
LiveIntervalAnalysis: Fix handleMove() using wrong value numbers
handleMove() was incorrectly swapping two value numbers. This was missed before because the problem only occured when moving subregister definitions and needed -verify-machineinstrs to be detected. I cannot add a testcase as long as I cannot reapply r260905/r260806. llvm-svn: 267840
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/LiveIntervalAnalysis.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
index 5c8be8ba730..d6d48858509 100644
--- a/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -1121,9 +1121,8 @@ private:
// reordering, there is always a successor to OldIdxOut in the same BB
// We don't need INext->valno anymore and will reuse for the new segment
// we create later.
- DefVNI = INext->valno;
+ DefVNI = OldIdxVNI;
INext->start = OldIdxOut->end;
- INext->valno = OldIdxVNI;
INext->valno->def = INext->start;
}
// If NewIdx is behind the last segment, extend that and append a new one.
OpenPOWER on IntegriCloud