diff options
author | Matthias Braun <matze@braunis.de> | 2016-04-28 02:11:49 +0000 |
---|---|---|
committer | Matthias Braun <matze@braunis.de> | 2016-04-28 02:11:49 +0000 |
commit | c9e759acff35b60e74bbfcd0aa7f1bb1ea69cb0b (patch) | |
tree | e578216fd00c56241f4744a2e6a9c5eb5bd2fea3 /llvm/lib/CodeGen | |
parent | 5d7a3d011d0a1120c4c020b02fe33a6fd4cf0dee (diff) | |
download | bcm5719-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.cpp | 3 |
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. |