[llvm-commits] [llvm] r94634 - in /llvm/trunk: lib/Transforms/Utils/PromoteMemoryToRegister.cpp test/Transforms/Mem2Reg/ConvertDebugInfo.ll

Victor Hernandez vhernandez at apple.com
Tue Jan 26 16:44:36 PST 2010


Author: hernande
Date: Tue Jan 26 18:44:36 2010
New Revision: 94634

URL: http://llvm.org/viewvc/llvm-project?rev=94634&view=rev
Log:
When converting dbg.declare to dbg.value, attach promoted store's debug metadata to dbg.value

Modified:
    llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    llvm/trunk/test/Transforms/Mem2Reg/ConvertDebugInfo.ll

Modified: llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp?rev=94634&r1=94633&r2=94634&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/PromoteMemoryToRegister.cpp Tue Jan 26 18:44:36 2010
@@ -883,7 +883,10 @@
 
   if (!DIF)
     DIF = new DIFactory(*SI->getParent()->getParent()->getParent());
-  DIF->InsertDbgValueIntrinsic(SI->getOperand(0), Offset, DIVar, SI);
+  Instruction *DbgVal = DIF->InsertDbgValueIntrinsic(SI->getOperand(0), Offset,
+                                                     DIVar, SI);
+  if (MDNode *SIMD = SI->getMetadata("dbg"))
+    DbgVal->setMetadata("dbg", SIMD);
 }
 
 // QueuePhiNode - queues a phi-node to be added to a basic-block for a specific

Modified: llvm/trunk/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Mem2Reg/ConvertDebugInfo.ll?rev=94634&r1=94633&r2=94634&view=diff

==============================================================================
--- llvm/trunk/test/Transforms/Mem2Reg/ConvertDebugInfo.ll (original)
+++ llvm/trunk/test/Transforms/Mem2Reg/ConvertDebugInfo.ll Tue Jan 26 18:44:36 2010
@@ -9,8 +9,8 @@
   call void @llvm.dbg.declare(metadata !{double* %J}, metadata !1)
 ; CHECK: call void @llvm.dbg.value(metadata !{i32 %i}, i64 0, metadata !0)
 	store i32 %i, i32* %I
-; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !1)
-	store double %j, double* %J
+; CHECK: call void @llvm.dbg.value(metadata !{double %j}, i64 0, metadata !1), !dbg !3
+	store double %j, double* %J, !dbg !3
 	%t1 = load i32* %I		; <i32> [#uses=1]
 	%t2 = add i32 %t1, 1		; <i32> [#uses=1]
 	store i32 %t2, i32* %I
@@ -29,3 +29,4 @@
 !0 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !2, i32 5, metadata !"foo"} ; [ DW_TAG_auto_variable ]
 !1 = metadata !{i32 459008, metadata !1, metadata !"foo", metadata !0, i32 5, metadata !1} ; [ DW_TAG_auto_variable ]
 !2 = metadata !{i32 458804, i32 0, metadata !2, metadata !"foo", metadata !"bar", metadata !"bar", metadata !2, i32 3, metadata !0, i1 false, i1 true} ; [ DW_TAG_variable ]
+!3 = metadata !{i32 4, i32 0, metadata !0, null}





More information about the llvm-commits mailing list