diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-15 22:20:27 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-05-15 22:20:27 +0000 |
commit | 70724aaf7329b8de8e53648b2a3afcbbf46ddbb7 (patch) | |
tree | 5f55fa41cacbd9c11ba4809d1cfe9584d7517de1 /lib/CodeGen/LiveDebugVariables.cpp | |
parent | 141aea9cff95b8df8ca89fb757dc44ee37a3d8df (diff) | |
download | llvm-70724aaf7329b8de8e53648b2a3afcbbf46ddbb7.tar.gz llvm-70724aaf7329b8de8e53648b2a3afcbbf46ddbb7.tar.bz2 llvm-70724aaf7329b8de8e53648b2a3afcbbf46ddbb7.tar.xz |
Handle NewReg==OldReg in renameRegister().
This can happen when widening a virtual register to a super-register
class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156867 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveDebugVariables.cpp')
-rw-r--r-- | lib/CodeGen/LiveDebugVariables.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/LiveDebugVariables.cpp b/lib/CodeGen/LiveDebugVariables.cpp index 2187833031..5b7941f461 100644 --- a/lib/CodeGen/LiveDebugVariables.cpp +++ b/lib/CodeGen/LiveDebugVariables.cpp @@ -721,7 +721,8 @@ renameRegister(unsigned OldReg, unsigned NewReg, unsigned SubIdx) { if (TargetRegisterInfo::isVirtualRegister(NewReg)) mapVirtReg(NewReg, UV); - virtRegToEqClass.erase(OldReg); + if (OldReg != NewReg) + virtRegToEqClass.erase(OldReg); do { UV->renameRegister(OldReg, NewReg, SubIdx, TRI); |