[llvm] r211872 - ArgumentPromotion: Propagate debug locations on calls for which arguments are promoted.

David Blaikie dblaikie at gmail.com
Thu Jun 26 22:32:09 PDT 2014


Author: dblaikie
Date: Fri Jun 27 00:32:09 2014
New Revision: 211872

URL: http://llvm.org/viewvc/llvm-project?rev=211872&view=rev
Log:
ArgumentPromotion: Propagate debug locations on calls for which arguments are promoted.

Added:
    llvm/trunk/test/Transforms/ArgumentPromotion/dbg.ll
Modified:
    llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp

Modified: llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp?rev=211872&r1=211871&r2=211872&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/ArgumentPromotion.cpp Fri Jun 27 00:32:09 2014
@@ -741,6 +741,7 @@ CallGraphNode *ArgPromotion::DoPromotion
       if (cast<CallInst>(Call)->isTailCall())
         cast<CallInst>(New)->setTailCall();
     }
+    New->setDebugLoc(Call->getDebugLoc());
     Args.clear();
     AttributesVec.clear();
 

Added: llvm/trunk/test/Transforms/ArgumentPromotion/dbg.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/ArgumentPromotion/dbg.ll?rev=211872&view=auto
==============================================================================
--- llvm/trunk/test/Transforms/ArgumentPromotion/dbg.ll (added)
+++ llvm/trunk/test/Transforms/ArgumentPromotion/dbg.ll Fri Jun 27 00:32:09 2014
@@ -0,0 +1,17 @@
+; RUN: opt < %s -argpromotion -S | FileCheck %s
+; CHECK: call void @test(), !dbg !1
+target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-v64:64:64-v128:128:128"
+define internal void @test(i32* %X) {
+  ret void
+}
+
+define void @caller() {
+  call void @test(i32* null), !dbg !1
+  ret void
+}
+
+!llvm.module.flags = !{!3}
+
+!1 = metadata !{i32 8, i32 0, metadata !2, null}
+!2 = metadata !{}
+!3 = metadata !{i32 2, metadata !"Debug Info Version", i32 1}





More information about the llvm-commits mailing list