OSDN Git Service

Fix subreg value numbers in handleMoveUp
authorStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Sat, 11 Mar 2017 00:14:52 +0000 (00:14 +0000)
committerStanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com>
Sat, 11 Mar 2017 00:14:52 +0000 (00:14 +0000)
commitf99709a2dff295b1d82be44bc69f9ca0d14bdd76
tree66b42ebf3c9d0bad19a5769f18f4c695b011b091
parent09b6785a09403803ed99ff92654a7871038c06ec
Fix subreg value numbers in handleMoveUp

The problem can occur in presence of subregs. If we are swapping two
instructions defining different subregs of the same register we will
get a new liveout from a block. We need to preserve value number for
block's liveout for successor block's livein to match.

Differential Revision: https://reviews.llvm.org/D30558

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297534 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/LiveIntervalAnalysis.cpp
unittests/MI/LiveIntervalTest.cpp