Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/DebugInfo/NVPTX/debug-info.ll
; RUN: llc < %s -mtriple=nvptx64-nvidia-cuda | FileCheck %s | ; RUN: llc < %s -mtriple=nvptx64-nvidia-cuda | FileCheck %s | ||||
; // Bitcode int this test case is reduced version of compiled code below: | ; // Bitcode in this test case is a reduced version of compiled code below: | ||||
;__device__ inline void res(float x, float y, float *res) { *res = x + y; } | ;__device__ inline void res(float x, float y, float *res) { *res = x + y; } | ||||
; | ; | ||||
;__global__ void saxpy(int n, float a, float *x, float *y) { | ;__global__ void saxpy(int n, float a, float *x, float *y) { | ||||
; int i = blockIdx.x * blockDim.x + threadIdx.x; | ; int i = blockIdx.x * blockDim.x + threadIdx.x; | ||||
; if (i < n) | ; if (i < n) | ||||
; res(a * x[i], y[i], &y[i]); | ; res(a * x[i], y[i], &y[i]); | ||||
;} | ;} | ||||
▲ Show 20 Lines • Show All 182 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: .b8 49 // DW_AT_abstract_origin | ; CHECK-NEXT: .b8 49 // DW_AT_abstract_origin | ||||
; CHECK-NEXT: .b8 19 // DW_FORM_ref4 | ; CHECK-NEXT: .b8 19 // DW_FORM_ref4 | ||||
; CHECK-NEXT: .b8 0 // EOM(1) | ; CHECK-NEXT: .b8 0 // EOM(1) | ||||
; CHECK-NEXT: .b8 0 // EOM(2) | ; CHECK-NEXT: .b8 0 // EOM(2) | ||||
; CHECK-NEXT: .b8 0 // EOM(3) | ; CHECK-NEXT: .b8 0 // EOM(3) | ||||
; CHECK-NEXT: } | ; CHECK-NEXT: } | ||||
; CHECK-NEXT: .section .debug_info | ; CHECK-NEXT: .section .debug_info | ||||
; CHECK-NEXT: { | ; CHECK-NEXT: { | ||||
; CHECK-NEXT: .b32 10034 // Length of Unit | ; CHECK-NEXT: .b32 10039 // Length of Unit | ||||
; CHECK-NEXT: .b8 2 // DWARF version number | ; CHECK-NEXT: .b8 2 // DWARF version number | ||||
; CHECK-NEXT: .b8 0 | ; CHECK-NEXT: .b8 0 | ||||
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section | ; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section | ||||
; CHECK-NEXT: .b8 8 // Address Size (in bytes) | ; CHECK-NEXT: .b8 8 // Address Size (in bytes) | ||||
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x272b DW_TAG_compile_unit | ; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x2730 DW_TAG_compile_unit | ||||
; CHECK-NEXT: .b8 0 // DW_AT_producer | ; CHECK-NEXT: .b8 0 // DW_AT_producer | ||||
; CHECK-NEXT: .b8 4 // DW_AT_language | ; CHECK-NEXT: .b8 4 // DW_AT_language | ||||
; CHECK-NEXT: .b8 0 | ; CHECK-NEXT: .b8 0 | ||||
; CHECK-NEXT: .b8 100 // DW_AT_name | ; CHECK-NEXT: .b8 100 // DW_AT_name | ||||
; CHECK-NEXT: .b8 101 | ; CHECK-NEXT: .b8 101 | ||||
; CHECK-NEXT: .b8 98 | ; CHECK-NEXT: .b8 98 | ||||
; CHECK-NEXT: .b8 117 | ; CHECK-NEXT: .b8 117 | ||||
; CHECK-NEXT: .b8 103 | ; CHECK-NEXT: .b8 103 | ||||
▲ Show 20 Lines • Show All 182 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: .b8 114 // DW_AT_name | ; CHECK-NEXT: .b8 114 // DW_AT_name | ||||
; CHECK-NEXT: .b8 101 | ; CHECK-NEXT: .b8 101 | ||||
; CHECK-NEXT: .b8 115 | ; CHECK-NEXT: .b8 115 | ||||
; CHECK-NEXT: .b8 0 | ; CHECK-NEXT: .b8 0 | ||||
; CHECK-NEXT: .b8 12 // DW_AT_decl_file | ; CHECK-NEXT: .b8 12 // DW_AT_decl_file | ||||
; CHECK-NEXT: .b8 3 // DW_AT_decl_line | ; CHECK-NEXT: .b8 3 // DW_AT_decl_line | ||||
; CHECK-NEXT: .b32 3345 // DW_AT_type | ; CHECK-NEXT: .b32 3345 // DW_AT_type | ||||
; CHECK-NEXT: .b8 0 // End Of Children Mark | ; CHECK-NEXT: .b8 0 // End Of Children Mark | ||||
; CHECK-NEXT: .b8 40 // Abbrev [40] 0x2671:0xc4 DW_TAG_subprogram | ; CHECK-NEXT: .b8 40 // Abbrev [40] 0x2671:0xc9 DW_TAG_subprogram | ||||
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc | ; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc | ||||
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc | ; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc | ||||
; CHECK-NEXT: .b8 1 // DW_AT_frame_base | ; CHECK-NEXT: .b8 1 // DW_AT_frame_base | ||||
; CHECK-NEXT: .b8 156 | ; CHECK-NEXT: .b8 156 | ||||
; CHECK-NEXT: .b8 95 // DW_AT_MIPS_linkage_name | ; CHECK-NEXT: .b8 95 // DW_AT_MIPS_linkage_name | ||||
; CHECK-NEXT: .b8 90 | ; CHECK-NEXT: .b8 90 | ||||
; CHECK-NEXT: .b8 53 | ; CHECK-NEXT: .b8 53 | ||||
; CHECK-NEXT: .b8 115 | ; CHECK-NEXT: .b8 115 | ||||
▲ Show 20 Lines • Show All 63 Lines • ▼ Show 20 Lines | |||||
; CHECK-NEXT: .b8 24 // DW_AT_call_column | ; CHECK-NEXT: .b8 24 // DW_AT_call_column | ||||
; CHECK-NEXT: .b8 42 // Abbrev [42] 0x26f9:0x18 DW_TAG_inlined_subroutine | ; CHECK-NEXT: .b8 42 // Abbrev [42] 0x26f9:0x18 DW_TAG_inlined_subroutine | ||||
; CHECK-NEXT: .b32 9785 // DW_AT_abstract_origin | ; CHECK-NEXT: .b32 9785 // DW_AT_abstract_origin | ||||
; CHECK-NEXT: .b64 Ltmp2 // DW_AT_low_pc | ; CHECK-NEXT: .b64 Ltmp2 // DW_AT_low_pc | ||||
; CHECK-NEXT: .b64 Ltmp3 // DW_AT_high_pc | ; CHECK-NEXT: .b64 Ltmp3 // DW_AT_high_pc | ||||
; CHECK-NEXT: .b8 12 // DW_AT_call_file | ; CHECK-NEXT: .b8 12 // DW_AT_call_file | ||||
; CHECK-NEXT: .b8 6 // DW_AT_call_line | ; CHECK-NEXT: .b8 6 // DW_AT_call_line | ||||
; CHECK-NEXT: .b8 37 // DW_AT_call_column | ; CHECK-NEXT: .b8 37 // DW_AT_call_column | ||||
; CHECK-NEXT: .b8 43 // Abbrev [43] 0x2711:0x23 DW_TAG_inlined_subroutine | ; CHECK-NEXT: .b8 43 // Abbrev [43] 0x2711:0x28 DW_TAG_inlined_subroutine | ||||
; CHECK-NEXT: .b32 9791 // DW_AT_abstract_origin | ; CHECK-NEXT: .b32 9791 // DW_AT_abstract_origin | ||||
; CHECK-NEXT: .b64 Ltmp9 // DW_AT_low_pc | ; CHECK-NEXT: .b64 Ltmp9 // DW_AT_low_pc | ||||
; CHECK-NEXT: .b64 Ltmp10 // DW_AT_high_pc | ; CHECK-NEXT: .b64 Ltmp10 // DW_AT_high_pc | ||||
; CHECK-NEXT: .b8 12 // DW_AT_call_file | ; CHECK-NEXT: .b8 12 // DW_AT_call_file | ||||
; CHECK-NEXT: .b8 8 // DW_AT_call_line | ; CHECK-NEXT: .b8 8 // DW_AT_call_line | ||||
; CHECK-NEXT: .b8 5 // DW_AT_call_column | ; CHECK-NEXT: .b8 5 // DW_AT_call_column | ||||
; CHECK-NEXT: .b8 44 // Abbrev [44] 0x2729:0x5 DW_TAG_formal_parameter | ; CHECK-NEXT: .b8 44 // Abbrev [44] 0x2729:0x5 DW_TAG_formal_parameter | ||||
; CHECK-NEXT: .b32 9811 // DW_AT_abstract_origin | ; CHECK-NEXT: .b32 9811 // DW_AT_abstract_origin | ||||
; CHECK-NEXT: .b8 44 // Abbrev [44] 0x272e:0x5 DW_TAG_formal_parameter | ; CHECK-NEXT: .b8 44 // Abbrev [44] 0x272e:0x5 DW_TAG_formal_parameter | ||||
; CHECK-NEXT: .b32 9820 // DW_AT_abstract_origin | ; CHECK-NEXT: .b32 9820 // DW_AT_abstract_origin | ||||
; CHECK-NEXT: .b8 44 // Abbrev [44] 0x2733:0x5 DW_TAG_formal_parameter | |||||
; CHECK-NEXT: .b32 9829 // DW_AT_abstract_origin | |||||
; CHECK-NEXT: .b8 0 // End Of Children Mark | ; CHECK-NEXT: .b8 0 // End Of Children Mark | ||||
; CHECK-NEXT: .b8 0 // End Of Children Mark | ; CHECK-NEXT: .b8 0 // End Of Children Mark | ||||
; CHECK-NEXT: .b8 0 // End Of Children Mark | ; CHECK-NEXT: .b8 0 // End Of Children Mark | ||||
; CHECK-NEXT: } | ; CHECK-NEXT: } | ||||
; CHECK-NEXT: .section .debug_loc { } | ; CHECK-NEXT: .section .debug_loc { } | ||||
; CHECK-NOT: debug_ | ; CHECK-NOT: debug_ | ||||
; Function Attrs: nounwind readnone | ; Function Attrs: nounwind readnone | ||||
▲ Show 20 Lines • Show All 91 Lines • Show Last 20 Lines |