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 | 385970f290e4f28b79cdf02b1fca5580ebfcea3f (patch) | |
| tree | 9212d1accf5047af5b423293afb00e814ccba7b0 /llvm/lib/CodeGen/LiveDebugVariables.cpp | |
| parent | 1c6a2223d4df34bb19f65dd473bd91ed599c3b7e (diff) | |
| download | bcm5719-llvm-385970f290e4f28b79cdf02b1fca5580ebfcea3f.tar.gz bcm5719-llvm-385970f290e4f28b79cdf02b1fca5580ebfcea3f.zip | |
Handle NewReg==OldReg in renameRegister().
This can happen when widening a virtual register to a super-register
class.
llvm-svn: 156867
Diffstat (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/LiveDebugVariables.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/LiveDebugVariables.cpp b/llvm/lib/CodeGen/LiveDebugVariables.cpp index 2187833031e..5b7941f4612 100644 --- a/llvm/lib/CodeGen/LiveDebugVariables.cpp +++ b/llvm/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); |

