diff options
Diffstat (limited to 'llvm/test/DebugInfo/X86/parameters.ll')
| -rw-r--r-- | llvm/test/DebugInfo/X86/parameters.ll | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/llvm/test/DebugInfo/X86/parameters.ll b/llvm/test/DebugInfo/X86/parameters.ll index 26fb82df1f3..9983509a115 100644 --- a/llvm/test/DebugInfo/X86/parameters.ll +++ b/llvm/test/DebugInfo/X86/parameters.ll @@ -1,7 +1,7 @@ ; REQUIRES: object-emission ; ; RUN: llc -mtriple=x86_64-unknown-linux-gnu -O0 -filetype=obj < %s > %t -; RUN: llvm-dwarfdump %t | FileCheck %s +; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s ; Test case derived from compiling the following source with clang -g: ; @@ -23,21 +23,25 @@ ; } ; CHECK: debug_info contents -; 0x74 is DW_OP_breg4, showing that the parameter is accessed indirectly -; (with a zero offset) from the register parameter. -; CHECK: DW_AT_location {{.*}} 74 00 06 - +; The parameter is accessed indirectly (with a zero offset) from the second +; register parameter. RDI is consumed by 'sret'. +; CHECK: DW_TAG_subprogram +; CHECK: DW_AT_name{{.*}} = "func" +; CHECK: DW_TAG_formal_parameter +; CHECK: DW_AT_location {{.*}} (DW_OP_breg4 RSI+0, DW_OP_deref) ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name{{.*}} = "f" -; -; CHECK: DW_AT_location{{.*}}([[G_LOC:0x[0-9]*]]) + +; CHECK: DW_TAG_subprogram +; CHECK: DW_AT_name{{.*}} = "func2" +; CHECK: DW_TAG_formal_parameter +; CHECK: DW_AT_location{{.*}}(DW_OP_fbreg +23) +; CHECK: DW_TAG_formal_parameter +; CHECK: DW_AT_location{{.*}}( +; CHECK-NEXT: {{.*}}: DW_OP_breg4 RSI+0, DW_OP_deref +; CHECK-NEXT: {{.*}}: DW_OP_breg7 RSP+8, DW_OP_deref, DW_OP_deref) ; CHECK-NOT: DW_TAG ; CHECK: DW_AT_name{{.*}} = "g" -; -; CHECK: debug_loc contents -; CHECK: [[G_LOC]]: Beginning -; CHECK-NEXT: Ending -; CHECK-NEXT: Location description: 74 00 %"struct.pr14763::foo" = type { i8 } |

