ArgumentPromotion: Propagate debug locations on calls for which arguments are promoted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211872 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie 2014-06-27 05:32:09 +00:00
parent 150f5b8920
commit effea626e2
2 changed files with 18 additions and 0 deletions

View File

@ -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();

View File

@ -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}