summaryrefslogtreecommitdiff
path: root/test/DebugInfo/X86
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-05-21 18:04:33 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-05-21 18:04:33 +0000
commitc10a1edf3f6f86f8df973fe9de9432d5d4da6219 (patch)
tree6050aa2a6df46b972e45d706ea0118e2836a2c7c /test/DebugInfo/X86
parent49323774b4063965141d8614981264c8a430d9da (diff)
downloadllvm-c10a1edf3f6f86f8df973fe9de9432d5d4da6219.tar.gz
llvm-c10a1edf3f6f86f8df973fe9de9432d5d4da6219.tar.bz2
llvm-c10a1edf3f6f86f8df973fe9de9432d5d4da6219.tar.xz
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
Diffstat (limited to 'test/DebugInfo/X86')
-rw-r--r--test/DebugInfo/X86/DW_AT_linkage_name.ll4
-rw-r--r--test/DebugInfo/X86/DW_AT_specification.ll8
-rw-r--r--test/DebugInfo/X86/concrete_out_of_line.ll15
-rw-r--r--test/DebugInfo/X86/pr11300.ll8
4 files changed, 18 insertions, 17 deletions
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 }