Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/DebugInfo/X86/pieces-3.ll
; RUN: llc %s -filetype=obj -o - -experimental-debug-variable-locations=false | llvm-dwarfdump -v - | FileCheck %s | ; RUN: llc %s -filetype=obj -o - -experimental-debug-variable-locations=true | llvm-dwarfdump -v - | FileCheck %s | ||||
; | ; | ||||
; // Compile with -O1 | ; // Compile with -O1 | ||||
; typedef struct { | ; typedef struct { | ||||
; int a; | ; int a; | ||||
; int b; | ; int b; | ||||
; } Inner; | ; } Inner; | ||||
; | ; | ||||
; typedef struct { | ; typedef struct { | ||||
; Inner inner[2]; | ; Inner inner[2]; | ||||
; } Outer; | ; } Outer; | ||||
; | ; | ||||
; int foo(Outer outer) { | ; int foo(Outer outer) { | ||||
; Inner i1 = outer.inner[1]; | ; Inner i1 = outer.inner[1]; | ||||
; return i1.a; | ; return i1.a; | ||||
; } | ; } | ||||
; | ; | ||||
; CHECK: DW_TAG_formal_parameter [3] | ; CHECK: DW_TAG_formal_parameter [3] | ||||
; CHECK-NEXT: DW_AT_location [DW_FORM_data4] ( | ; CHECK-NEXT: DW_AT_location [DW_FORM_data4] ( | ||||
; CHECK-NEXT: [0x0000000000000000, 0x0000000000000007): DW_OP_reg5 RDI, DW_OP_piece 0x8, DW_OP_piece 0x4, DW_OP_reg4 RSI, DW_OP_piece 0x4 | ; CHECK-NEXT: [0x0000000000000000, 0x0000000000000009): DW_OP_reg5 RDI, DW_OP_piece 0x8, DW_OP_piece 0x4, DW_OP_reg4 RSI, DW_OP_piece 0x4 | ||||
; CHECK-NEXT: [0x0000000000000007, 0x0000000000000009): DW_OP_reg5 RDI, DW_OP_piece 0x8 | |||||
; CHECK-NEXT: DW_AT_name {{.*}}"outer" | ; CHECK-NEXT: DW_AT_name {{.*}}"outer" | ||||
; CHECK: DW_TAG_variable | ; CHECK: DW_TAG_variable | ||||
; CHECK-NEXT: DW_AT_location [DW_FORM_data4] (0x00000044 | ; CHECK-NEXT: DW_AT_location [DW_FORM_data4] (0x0000002a | ||||
; CHECK-NEXT: [0x0000000000000007, 0x0000000000000009): DW_OP_reg0 RAX, DW_OP_piece 0x4) | ; CHECK-NEXT: [0x0000000000000007, 0x0000000000000009): DW_OP_reg4 RSI, DW_OP_piece 0x4) | ||||
; CHECK-NEXT: "i1" | ; CHECK-NEXT: "i1" | ||||
; ModuleID = '/Volumes/Data/llvm/test/DebugInfo/X86/sroasplit-2.ll' | ; ModuleID = '/Volumes/Data/llvm/test/DebugInfo/X86/sroasplit-2.ll' | ||||
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" | target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" | ||||
target triple = "x86_64-apple-macosx10.9.0" | target triple = "x86_64-apple-macosx10.9.0" | ||||
; Function Attrs: nounwind ssp uwtable | ; Function Attrs: nounwind ssp uwtable | ||||
define i32 @foo(i64 %outer.coerce0, i64 %outer.coerce1) #0 !dbg !4 { | define i32 @foo(i64 %outer.coerce0, i64 %outer.coerce1) #0 !dbg !4 { | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |