diff options
| author | David Blaikie <dblaikie@gmail.com> | 2014-06-27 05:32:09 +0000 |
|---|---|---|
| committer | David Blaikie <dblaikie@gmail.com> | 2014-06-27 05:32:09 +0000 |
| commit | b0cdf530c393a6c3bb3f165d626c2e7a25f93f3b (patch) | |
| tree | 41d199dd35678c49f4a1a460b74ebc765960afc5 /llvm | |
| parent | 8832992df56dd51f58bf8fc386dec9cbf99054c9 (diff) | |
| download | bcm5719-llvm-b0cdf530c393a6c3bb3f165d626c2e7a25f93f3b.tar.gz bcm5719-llvm-b0cdf530c393a6c3bb3f165d626c2e7a25f93f3b.zip | |
ArgumentPromotion: Propagate debug locations on calls for which arguments are promoted.
llvm-svn: 211872
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 1 | ||||
| -rw-r--r-- | llvm/test/Transforms/ArgumentPromotion/dbg.ll | 17 |
2 files changed, 18 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp index 377fa153a25..4618c26bc65 100644 --- a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -741,6 +741,7 @@ CallGraphNode *ArgPromotion::DoPromotion(Function *F, if (cast<CallInst>(Call)->isTailCall()) cast<CallInst>(New)->setTailCall(); } + New->setDebugLoc(Call->getDebugLoc()); Args.clear(); AttributesVec.clear(); diff --git a/llvm/test/Transforms/ArgumentPromotion/dbg.ll b/llvm/test/Transforms/ArgumentPromotion/dbg.ll new file mode 100644 index 00000000000..a991bbc2212 --- /dev/null +++ b/llvm/test/Transforms/ArgumentPromotion/dbg.ll @@ -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} |

