From d88b8babe05521fdb076ba73f90ffe54702ceffc Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Tue, 21 Jun 2011 23:02:36 +0000 Subject: [PATCH] After register is spilled there should not be any DBG_VALUE referring the same register. llvm-svn: 133569 --- llvm/lib/CodeGen/RegAllocFast.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/llvm/lib/CodeGen/RegAllocFast.cpp b/llvm/lib/CodeGen/RegAllocFast.cpp index dd5baab8d867..0f27dfcf8848 100644 --- a/llvm/lib/CodeGen/RegAllocFast.cpp +++ b/llvm/lib/CodeGen/RegAllocFast.cpp @@ -293,9 +293,11 @@ void RAFast::spillVirtReg(MachineBasicBlock::iterator MI, MachineBasicBlock *MBB = DBG->getParent(); MBB->insert(MI, NewDV); DEBUG(dbgs() << "Inserting debug info due to spill:" << "\n" << *NewDV); - LRIDbgValues[li] = NewDV; } } + // Now this register is spilled there is should not be any DBG_VALUE pointing + // to this register because they are all pointing to spilled value now. + LRIDbgValues.clear(); if (SpillKill) LR.LastUse = 0; // Don't kill register again }