Copy location info for current function argument from dbg.declare if respective store...
authorDevang Patel <dpatel@apple.com>
Fri, 4 Jun 2010 22:27:30 +0000 (22:27 +0000)
committerDevang Patel <dpatel@apple.com>
Fri, 4 Jun 2010 22:27:30 +0000 (22:27 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105490 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Utils/PromoteMemoryToRegister.cpp
test/Transforms/Mem2Reg/ConvertDebugInfo.ll
test/Transforms/Mem2Reg/ConvertDebugInfo2.ll

index 87d0a107188bb051538193ff7ba46bd03fc8153b..02eae5ba133805591e17f22a50992c0f61e19809 100644 (file)
@@ -897,10 +897,8 @@ void PromoteMem2Reg::ConvertDebugDeclareToDebugValue(DbgDeclareInst *DDI,
   // Propagate any debug metadata from the store onto the dbg.value.
   if (MDNode *SIMD = SI->getMetadata("dbg"))
     DbgVal->setMetadata("dbg", SIMD);
-  // Otherwise propagate debug metadata from dbg.declare for inlined fn args.
-  else if (!DISubprogram(DIVar.getContext()).
-           describes(DDI->getParent()->getParent()))
-    if (MDNode *MD = DDI->getMetadata("dbg"))
+  // Otherwise propagate debug metadata from dbg.declare.
+  else if (MDNode *MD = DDI->getMetadata("dbg"))
       DbgVal->setMetadata("dbg", MD);         
 }
 
index 37d27d4cb6d0feede7e4a9503d41c9017ba6a975..2f1ccb493da89fe948df0f5bcec5d730ef5a7cc5 100644 (file)
@@ -9,7 +9,7 @@ entry:
   %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
   call void @llvm.dbg.declare(metadata !{i32* %i_addr}, metadata !0), !dbg !8
 ; CHECK: call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !0)
-; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !8)
+; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !9)
   store i32 %i, i32* %i_addr
   call void @llvm.dbg.declare(metadata !{double* %j_addr}, metadata !9), !dbg !8
   store double %j, double* %j_addr
index e637a0f0cd8413b86b7e673204385e0ae8d0cc8e..4cb621f61ca2618b8b960b7575c6b7f043016248 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: opt -mem2reg < %s | llvm-dis | grep ".dbg " | count 6
+; RUN: opt -mem2reg < %s | llvm-dis | grep ".dbg " | count 7
 
 declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone