summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/LiveDebugVariables.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-15 22:20:27 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-05-15 22:20:27 +0000
commit385970f290e4f28b79cdf02b1fca5580ebfcea3f (patch)
tree9212d1accf5047af5b423293afb00e814ccba7b0 /llvm/lib/CodeGen/LiveDebugVariables.cpp
parent1c6a2223d4df34bb19f65dd473bd91ed599c3b7e (diff)
downloadbcm5719-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.cpp3
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);
OpenPOWER on IntegriCloud