From c10a1edf3f6f86f8df973fe9de9432d5d4da6219 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Wed, 21 May 2014 18:04:33 +0000 Subject: DebugInfo: Simplify subprogram declaration creation/references and accidentally refix PR11300. Also simplifies the linkage name handling a little too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209311 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/DebugInfo/X86/DW_AT_linkage_name.ll | 4 ++-- test/DebugInfo/X86/DW_AT_specification.ll | 8 ++++---- test/DebugInfo/X86/concrete_out_of_line.ll | 15 +++++++-------- test/DebugInfo/X86/pr11300.ll | 8 +++++--- 4 files changed, 18 insertions(+), 17 deletions(-) (limited to 'test/DebugInfo/X86') diff --git a/test/DebugInfo/X86/DW_AT_linkage_name.ll b/test/DebugInfo/X86/DW_AT_linkage_name.ll index 4aa69f2aa2..76d3abbe35 100644 --- a/test/DebugInfo/X86/DW_AT_linkage_name.ll +++ b/test/DebugInfo/X86/DW_AT_linkage_name.ll @@ -18,12 +18,12 @@ ; Test that we do emit a linkage name for a specific instance of it. ; CHECK: DW_TAG_subprogram -; CHECK: [[A:.*]]: DW_TAG_subprogram +; CHECK: [[A_DTOR:.*]]: DW_TAG_subprogram ; CHECK: DW_AT_name {{.*}} "~A" ; CHECK-NOT: DW_AT_MIPS_linkage_name ; CHECK: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}}[[A]] ; CHECK-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZN1AD2Ev" +; CHECK-NEXT: DW_AT_specification {{.*}}[[A_DTOR]] target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" diff --git a/test/DebugInfo/X86/DW_AT_specification.ll b/test/DebugInfo/X86/DW_AT_specification.ll index 64b00800d6..b93cdf081d 100644 --- a/test/DebugInfo/X86/DW_AT_specification.ll +++ b/test/DebugInfo/X86/DW_AT_specification.ll @@ -3,10 +3,10 @@ ; test that the DW_AT_specification is a back edge in the file. -; CHECK: DW_TAG_subprogram [{{[0-9]+}}] * -; CHECK: DW_AT_specification [DW_FORM_ref4] (cu + 0x[[OFFSET:[0-9a-f]*]] => {0x0000[[OFFSET]]}) -; CHECK: 0x0000[[OFFSET]]: DW_TAG_subprogram [{{[0-9]+}}] * -; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "bar") +; CHECK: [[BAR_DECL:0x[0-9a-f]*]]: DW_TAG_subprogram +; CHECK-NEXT: DW_AT_MIPS_linkage_name {{.*}} "_ZN3foo3barEv" +; CHECK: DW_TAG_subprogram +; CHECK-NEXT: DW_AT_specification {{.*}} {[[BAR_DECL]]} @_ZZN3foo3barEvE1x = constant i32 0, align 4 diff --git a/test/DebugInfo/X86/concrete_out_of_line.ll b/test/DebugInfo/X86/concrete_out_of_line.ll index ae025ad0de..baa819de85 100644 --- a/test/DebugInfo/X86/concrete_out_of_line.ll +++ b/test/DebugInfo/X86/concrete_out_of_line.ll @@ -11,8 +11,12 @@ ; CHECK: DW_TAG_subprogram ; CHECK: [[ASSIGN_DECL:0x........]]: DW_TAG_subprogram +; CHECK: DW_TAG_class_type +; CHECK: [[RELEASE_DECL:0x........]]: DW_TAG_subprogram +; CHECK: [[DTOR_DECL:0x........]]: DW_TAG_subprogram + ; CHECK: [[RELEASE:0x........]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}} {[[RELEASE_DECL:0x........]]} +; CHECK: DW_AT_specification {{.*}} {[[RELEASE_DECL]]} ; CHECK: DW_TAG_formal_parameter ; CHECK-NOT: NULL ; CHECK-NOT: DW_TAG @@ -30,19 +34,14 @@ ; CHECK: DW_TAG_inlined_subroutine ; CHECK-NEXT: DW_AT_abstract_origin {{.*}} {[[D2_ABS:0x........]]} -; CHECK: DW_TAG_class_type -; CHECK: [[RELEASE_DECL]]: DW_TAG_subprogram -; CHECK: [[DTOR_DECL:0x........]]: DW_TAG_subprogram - - ; CHECK: [[D1_ABS]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}} {[[DTOR_DECL]]} ; CHECK-NEXT: DW_AT_{{.*}}linkage_name +; CHECK-NEXT: DW_AT_specification {{.*}} {[[DTOR_DECL]]} ; CHECK-NEXT: DW_AT_inline ; CHECK-NOT: DW_AT_inline ; CHECK: [[D2_ABS]]: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification {{.*}} {[[DTOR_DECL]]} ; CHECK-NEXT: DW_AT_{{.*}}linkage_name +; CHECK-NEXT: DW_AT_specification {{.*}} {[[DTOR_DECL]]} ; CHECK-NEXT: DW_AT_inline ; CHECK-NOT: DW_AT_inline ; CHECK: DW_TAG diff --git a/test/DebugInfo/X86/pr11300.ll b/test/DebugInfo/X86/pr11300.ll index 772861a69b..b3c911252d 100644 --- a/test/DebugInfo/X86/pr11300.ll +++ b/test/DebugInfo/X86/pr11300.ll @@ -3,11 +3,13 @@ ; test that the DW_AT_specification is a back edge in the file. +; Skip the definition of zed(foo*) ; CHECK: DW_TAG_subprogram -; CHECK: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]*}}] = "zed") +; CHECK: DW_TAG_class_type +; CHECK: [[BAR_DECL:0x[0-9a-f]*]]: DW_TAG_subprogram +; CHECK: DW_AT_MIPS_linkage_name {{.*}} "_ZN3foo3barEv" ; CHECK: DW_TAG_subprogram -; CHECK-NEXT: DW_AT_specification [DW_FORM_ref4] (cu + {{.*}} => {[[BACK:0x[0-9a-f]*]]}) -; CHECK: [[BACK]]: DW_TAG_subprogram +; CHECK-NEXT: DW_AT_specification {{.*}} {[[BAR_DECL]]} %struct.foo = type { i8 } -- cgit v1.2.3