From 385970f290e4f28b79cdf02b1fca5580ebfcea3f Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 15 May 2012 22:20:27 +0000 Subject: Handle NewReg==OldReg in renameRegister(). This can happen when widening a virtual register to a super-register class. llvm-svn: 156867 --- llvm/lib/CodeGen/LiveDebugVariables.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/CodeGen/LiveDebugVariables.cpp') 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); -- cgit v1.2.3