1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 19:12:56 +02:00

Revert "[DEBUGINFO, NVPTX] Enable support for the debug info on NVPTX target."

This reverts commit r351846.

This patch may generate illegal assembly code, see

```
$ ./bin/clang -cc1 -triple nvptx64-nvidia-cuda -aux-triple x86_64-grtev4-linux-gnu -S -disable-free -disable-llvm-verifier -discard-value-names -main-file-name new.cc -mrelocation-model pic -pic-level 2 -mthread-model posix -fmerge-all-constants -mdisable-fp-elim -relaxed-aliasing -no-integrated-as -mpie-copy-relocations -munwind-tables -fcuda-is-device -target-feature +ptx60 -target-cpu sm_35 -dwarf-column-info -debug-info-kind=line-directives-only -dwarf-version=2 -debugger-tuning=gdb -o empty.s -x cuda empty.cc
$  cat empty.s
//
// Generated by LLVM NVPTX Back-End
//

.version 6.0
.target sm_35
.address_size 64

	}
```

llvm-svn: 351966
This commit is contained in:
Haojian Wu 2019-01-23 16:39:57 +00:00
parent 5d3783c0d0
commit 88704a4bd3
8 changed files with 5261 additions and 5257 deletions

View File

@ -37,11 +37,12 @@ NVPTXMCAsmInfo::NVPTXMCAsmInfo(const Triple &TheTriple) {
HiddenDeclarationVisibilityAttr = HiddenVisibilityAttr = MCSA_Invalid;
ProtectedVisibilityAttr = MCSA_Invalid;
Data8bitsDirective = ".b8 ";
// FIXME: remove comment once debug info is properly supported.
Data8bitsDirective = "// .b8 ";
Data16bitsDirective = nullptr; // not supported
Data32bitsDirective = ".b32 ";
Data64bitsDirective = ".b64 ";
ZeroDirective = ".b8";
Data32bitsDirective = "// .b32 ";
Data64bitsDirective = "// .b64 ";
ZeroDirective = "// .b8";
AsciiDirective = nullptr; // not supported
AscizDirective = nullptr; // not supported
SupportsQuotedNames = false;

View File

@ -81,9 +81,10 @@ void NVPTXTargetStreamer::changeSection(const MCSection *CurSection,
raw_ostream &OS) {
assert(!SubSection && "SubSection is not null!");
const MCObjectFileInfo *FI = getStreamer().getContext().getObjectFileInfo();
// FIXME: remove comment once debug info is properly supported.
// Emit closing brace for DWARF sections only.
if (isDwarfSection(FI, CurSection))
OS << "\t}\n";
OS << "//\t}\n";
if (isDwarfSection(FI, Section)) {
// Emit DWARF .file directives in the outermost scope.
outputDwarfFileDirectives();
@ -91,7 +92,7 @@ void NVPTXTargetStreamer::changeSection(const MCSection *CurSection,
Section->PrintSwitchToSection(*getStreamer().getContext().getAsmInfo(),
FI->getTargetTriple(), OS, SubSection);
// DWARF sections are enclosed into braces - emit the open one.
OS << "\t{\n";
OS << "//\t{\n";
}
}

View File

@ -901,8 +901,9 @@ void NVPTXAsmPrinter::emitHeader(Module &M, raw_ostream &O,
if (HasFullDebugInfo)
break;
}
// FIXME: remove comment once debug info is properly supported.
if (MMI && MMI->hasDebugInfo() && HasFullDebugInfo)
O << ", debug";
O << "//, debug";
O << "\n";
@ -953,9 +954,10 @@ bool NVPTXAsmPrinter::doFinalization(Module &M) {
clearAnnotationCache(&M);
delete[] gv_array;
// FIXME: remove comment once debug info is properly supported.
// Close the last emitted section
if (HasDebugInfo)
OutStreamer->EmitRawText("\t}");
OutStreamer->EmitRawText("//\t}");
// Output last DWARF .file directives, if any.
static_cast<NVPTXTargetStreamer *>(OutStreamer->getTargetStreamer())

View File

@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=nvptx64-nvidia-cuda | FileCheck %s
; CHECK: .target sm_{{[0-9]+}}, debug
; CHECK: .target sm_{{[0-9]+}}//, debug
; CHECK: .visible .func (.param .b32 func_retval0) b(
; CHECK: .param .b32 b_param_0
@ -72,145 +72,145 @@ entry:
ret i32 %add, !dbg !16
}
; CHECK: .section .debug_abbrev
; CHECK-NEXT: {
; CHECK-NEXT: .b8 1 // Abbreviation Code
; CHECK-NEXT: .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 37 // DW_AT_producer
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 19 // DW_AT_language
; CHECK-NEXT: .b8 5 // DW_FORM_data2
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: .b8 6 // DW_FORM_data4
; CHECK-NEXT: .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 2 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 64 // DW_AT_frame_base
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 39 // DW_AT_prototyped
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 3 // Abbreviation Code
; CHECK-NEXT: .b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 4 // Abbreviation Code
; CHECK-NEXT: .b8 36 // DW_TAG_base_type
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 62 // DW_AT_encoding
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 11 // DW_AT_byte_size
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 0 // EOM(3)
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_info
; CHECK-NEXT: {
; CHECK-NEXT: .b32 183 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0xb0 DW_TAG_compile_unit
; CHECK-NEXT: .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,116,114,117,110,107,32,50,48,52,49,54,52,41,32,40,108,108,118,109 // DW_AT_producer
; CHECK-NEXT: .b8 47,116,114,117,110,107,32,50,48,52,49,56,51,41
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 12 // DW_AT_language
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98,46,99 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: .b8 47,115,111,117,114,99,101 // DW_AT_comp_dir
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end2 // DW_AT_high_pc
; CHECK-NEXT: .b8 2 // Abbrev [2] 0x65:0x27 DW_TAG_subprogram
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 98 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b8 1 // DW_AT_prototyped
; CHECK-NEXT: .b32 179 // DW_AT_type
; CHECK-NEXT: .b8 1 // DW_AT_external
; CHECK-NEXT: .b8 3 // Abbrev [3] 0x82:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: .b8 99 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b32 179 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 2 // Abbrev [2] 0x8c:0x27 DW_TAG_subprogram
; CHECK-NEXT: .b64 Lfunc_begin2 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end2 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 100 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 3 // DW_AT_decl_line
; CHECK-NEXT: .b8 1 // DW_AT_prototyped
; CHECK-NEXT: .b32 179 // DW_AT_type
; CHECK-NEXT: .b8 1 // DW_AT_external
; CHECK-NEXT: .b8 3 // Abbrev [3] 0xa9:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: .b8 101 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 3 // DW_AT_decl_line
; CHECK-NEXT: .b32 179 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 4 // Abbrev [4] 0xb3:0x7 DW_TAG_base_type
; CHECK-NEXT: .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 5 // DW_AT_encoding
; CHECK-NEXT: .b8 4 // DW_AT_byte_size
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_macinfo
; CHECK-NEXT: {
; CHECK-NEXT: .b8 0 // End Of Macro List Mark
; CHECK: }
; CHECK: // .section .debug_abbrev
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 1 // Abbreviation Code
; CHECK-NEXT: // .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 37 // DW_AT_producer
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 19 // DW_AT_language
; CHECK-NEXT: // .b8 5 // DW_FORM_data2
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: // .b8 6 // DW_FORM_data4
; CHECK-NEXT: // .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 2 // Abbreviation Code
; CHECK-NEXT: // .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 64 // DW_AT_frame_base
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 39 // DW_AT_prototyped
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 63 // DW_AT_external
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 3 // Abbreviation Code
; CHECK-NEXT: // .b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 4 // Abbreviation Code
; CHECK-NEXT: // .b8 36 // DW_TAG_base_type
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 62 // DW_AT_encoding
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 11 // DW_AT_byte_size
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 0 // EOM(3)
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_info
; CHECK-NEXT: // {
; CHECK-NEXT: // .b32 183 // Length of Unit
; CHECK-NEXT: // .b8 2 // DWARF version number
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: // .b8 8 // Address Size (in bytes)
; CHECK-NEXT: // .b8 1 // Abbrev [1] 0xb:0xb0 DW_TAG_compile_unit
; CHECK-NEXT: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,116,114,117,110,107,32,50,48,52,49,54,52,41,32,40,108,108,118,109 // DW_AT_producer
; CHECK-NEXT: // .b8 47,116,114,117,110,107,32,50,48,52,49,56,51,41
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 12 // DW_AT_language
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 98,46,99 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: // .b8 47,115,111,117,114,99,101 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end2 // DW_AT_high_pc
; CHECK-NEXT: // .b8 2 // Abbrev [2] 0x65:0x27 DW_TAG_subprogram
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_AT_frame_base
; CHECK-NEXT: // .b8 156
; CHECK-NEXT: // .b8 98 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b8 1 // DW_AT_prototyped
; CHECK-NEXT: // .b32 179 // DW_AT_type
; CHECK-NEXT: // .b8 1 // DW_AT_external
; CHECK-NEXT: // .b8 3 // Abbrev [3] 0x82:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: // .b8 99 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b32 179 // DW_AT_type
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 2 // Abbrev [2] 0x8c:0x27 DW_TAG_subprogram
; CHECK-NEXT: // .b64 Lfunc_begin2 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end2 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_AT_frame_base
; CHECK-NEXT: // .b8 156
; CHECK-NEXT: // .b8 100 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 3 // DW_AT_decl_line
; CHECK-NEXT: // .b8 1 // DW_AT_prototyped
; CHECK-NEXT: // .b32 179 // DW_AT_type
; CHECK-NEXT: // .b8 1 // DW_AT_external
; CHECK-NEXT: // .b8 3 // Abbrev [3] 0xa9:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: // .b8 101 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 3 // DW_AT_decl_line
; CHECK-NEXT: // .b32 179 // DW_AT_type
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 4 // Abbrev [4] 0xb3:0x7 DW_TAG_base_type
; CHECK-NEXT: // .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 5 // DW_AT_encoding
; CHECK-NEXT: // .b8 4 // DW_AT_byte_size
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_macinfo
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 0 // End Of Macro List Mark
; CHECK: // }
attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nounwind readnone }

View File

@ -1,6 +1,6 @@
; RUN: llc < %s -mtriple=nvptx64-nvidia-cuda | FileCheck %s
; CHECK: .target sm_20, debug
; CHECK: .target sm_20//, debug
; CHECK: .visible .func use_dbg_declare()
; CHECK: .local .align 8 .b8 __local_depot0[8];
@ -23,169 +23,169 @@
; CHECK: .file 1 "test{{(/|\\\\)}}t.c"
; CHECK: .section .debug_abbrev
; CHECK-NEXT: {
; CHECK-NEXT: .b8 1 // Abbreviation Code
; CHECK-NEXT: .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 37 // DW_AT_producer
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 19 // DW_AT_language
; CHECK-NEXT: .b8 5 // DW_FORM_data2
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: .b8 6 // DW_FORM_data4
; CHECK-NEXT: .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 2 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 64 // DW_AT_frame_base
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 39 // DW_AT_prototyped
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 3 // Abbreviation Code
; CHECK-NEXT: .b8 52 // DW_TAG_variable
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 2 // DW_AT_location
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 4 // Abbreviation Code
; CHECK-NEXT: .b8 19 // DW_TAG_structure_type
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 11 // DW_AT_byte_size
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 5 // Abbreviation Code
; CHECK-NEXT: .b8 13 // DW_TAG_member
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 56 // DW_AT_data_member_location
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 6 // Abbreviation Code
; CHECK-NEXT: .b8 36 // DW_TAG_base_type
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 62 // DW_AT_encoding
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 11 // DW_AT_byte_size
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 0 // EOM(3)
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_info
; CHECK-NEXT: {
; CHECK-NEXT: .b32 135 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x80 DW_TAG_compile_unit
; CHECK-NEXT: .b8 99,108,97,110,103 // DW_AT_producer
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 12 // DW_AT_language
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 116,46,99 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: .b8 116,101,115,116 // DW_AT_comp_dir
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 2 // Abbrev [2] 0x31:0x3d DW_TAG_subprogram
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 117,115,101,95,100,98,103,95,100,101,99,108,97,114,101 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 3 // DW_AT_decl_line
; CHECK-NEXT: .b8 1 // DW_AT_prototyped
; CHECK-NEXT: .b8 1 // DW_AT_external
; CHECK-NEXT: .b8 3 // Abbrev [3] 0x58:0x15 DW_TAG_variable
; CHECK-NEXT: .b8 11 // DW_AT_location
; CHECK-NEXT: .b8 3
; CHECK-NEXT: .b64 __local_depot0
; CHECK-NEXT: .b8 35
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 111 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 4 // DW_AT_decl_line
; CHECK-NEXT: .b32 110 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 4 // Abbrev [4] 0x6e:0x15 DW_TAG_structure_type
; CHECK-NEXT: .b8 70,111,111 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 4 // DW_AT_byte_size
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b8 5 // Abbrev [5] 0x76:0xc DW_TAG_member
; CHECK-NEXT: .b8 120 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 131 // DW_AT_type
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b8 2 // DW_AT_data_member_location
; CHECK-NEXT: .b8 35
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 6 // Abbrev [6] 0x83:0x7 DW_TAG_base_type
; CHECK-NEXT: .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 5 // DW_AT_encoding
; CHECK-NEXT: .b8 4 // DW_AT_byte_size
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: }
; CHECK: // .section .debug_abbrev
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 1 // Abbreviation Code
; CHECK-NEXT: // .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 37 // DW_AT_producer
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 19 // DW_AT_language
; CHECK-NEXT: // .b8 5 // DW_FORM_data2
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: // .b8 6 // DW_FORM_data4
; CHECK-NEXT: // .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 2 // Abbreviation Code
; CHECK-NEXT: // .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 64 // DW_AT_frame_base
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 39 // DW_AT_prototyped
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 63 // DW_AT_external
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 3 // Abbreviation Code
; CHECK-NEXT: // .b8 52 // DW_TAG_variable
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 2 // DW_AT_location
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 4 // Abbreviation Code
; CHECK-NEXT: // .b8 19 // DW_TAG_structure_type
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 11 // DW_AT_byte_size
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 5 // Abbreviation Code
; CHECK-NEXT: // .b8 13 // DW_TAG_member
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 56 // DW_AT_data_member_location
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 6 // Abbreviation Code
; CHECK-NEXT: // .b8 36 // DW_TAG_base_type
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 62 // DW_AT_encoding
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 11 // DW_AT_byte_size
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 0 // EOM(3)
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_info
; CHECK-NEXT: // {
; CHECK-NEXT: // .b32 135 // Length of Unit
; CHECK-NEXT: // .b8 2 // DWARF version number
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: // .b8 8 // Address Size (in bytes)
; CHECK-NEXT: // .b8 1 // Abbrev [1] 0xb:0x80 DW_TAG_compile_unit
; CHECK-NEXT: // .b8 99,108,97,110,103 // DW_AT_producer
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 12 // DW_AT_language
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 116,46,99 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: // .b8 116,101,115,116 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: // .b8 2 // Abbrev [2] 0x31:0x3d DW_TAG_subprogram
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_AT_frame_base
; CHECK-NEXT: // .b8 156
; CHECK-NEXT: // .b8 117,115,101,95,100,98,103,95,100,101,99,108,97,114,101 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 3 // DW_AT_decl_line
; CHECK-NEXT: // .b8 1 // DW_AT_prototyped
; CHECK-NEXT: // .b8 1 // DW_AT_external
; CHECK-NEXT: // .b8 3 // Abbrev [3] 0x58:0x15 DW_TAG_variable
; CHECK-NEXT: // .b8 11 // DW_AT_location
; CHECK-NEXT: // .b8 3
; CHECK-NEXT: // .b64 __local_depot0
; CHECK-NEXT: // .b8 35
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 111 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 4 // DW_AT_decl_line
; CHECK-NEXT: // .b32 110 // DW_AT_type
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 4 // Abbrev [4] 0x6e:0x15 DW_TAG_structure_type
; CHECK-NEXT: // .b8 70,111,111 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 4 // DW_AT_byte_size
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b8 5 // Abbrev [5] 0x76:0xc DW_TAG_member
; CHECK-NEXT: // .b8 120 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 131 // DW_AT_type
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b8 2 // DW_AT_data_member_location
; CHECK-NEXT: // .b8 35
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 6 // Abbrev [6] 0x83:0x7 DW_TAG_base_type
; CHECK-NEXT: // .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 5 // DW_AT_encoding
; CHECK-NEXT: // .b8 4 // DW_AT_byte_size
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // }
%struct.Foo = type { i32 }

View File

@ -8,7 +8,7 @@
;__device__ void bar() {}
;}
; CHECK: .target sm_{{[0-9]+}}, debug
; CHECK: .target sm_{{[0-9]+}}//, debug
; CHECK: .visible .func foo()
; CHECK: .loc [[FOO:[0-9]+]] 1 31
@ -29,52 +29,52 @@ bb:
; CHECK-DAG: .file [[FOO]] "{{.*}}foo.h"
; CHECK-DAG: .file [[BAR]] "{{.*}}bar.cu"
; CHECK: .section .debug_abbrev
; CHECK-NEXT: {
; CHECK-NEXT: .b8 1 // Abbreviation Code
; CHECK-NEXT: .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 37 // DW_AT_producer
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 19 // DW_AT_language
; CHECK-NEXT: .b8 5 // DW_FORM_data2
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: .b8 6 // DW_FORM_data4
; CHECK-NEXT: .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 0 // EOM(3)
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_info
; CHECK-NEXT: {
; CHECK-NEXT: .b32 50 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x2b DW_TAG_compile_unit
; CHECK-NEXT: .b8 0 // DW_AT_producer
; CHECK-NEXT: .b8 4 // DW_AT_language
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98,97,114,46,99,117 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: .b8 47,115,111,117,114,99,101,47,100,105,114 // DW_AT_comp_dir
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_macinfo
; CHECK-NEXT: {
; CHECK-NEXT: .b8 0 // End Of Macro List Mark
; CHECK: }
; CHECK: // .section .debug_abbrev
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 1 // Abbreviation Code
; CHECK-NEXT: // .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 37 // DW_AT_producer
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 19 // DW_AT_language
; CHECK-NEXT: // .b8 5 // DW_FORM_data2
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: // .b8 6 // DW_FORM_data4
; CHECK-NEXT: // .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 0 // EOM(3)
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_info
; CHECK-NEXT: // {
; CHECK-NEXT: // .b32 50 // Length of Unit
; CHECK-NEXT: // .b8 2 // DWARF version number
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: // .b8 8 // Address Size (in bytes)
; CHECK-NEXT: // .b8 1 // Abbrev [1] 0xb:0x2b DW_TAG_compile_unit
; CHECK-NEXT: // .b8 0 // DW_AT_producer
; CHECK-NEXT: // .b8 4 // DW_AT_language
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 98,97,114,46,99,117 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: // .b8 47,115,111,117,114,99,101,47,100,105,114 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_macinfo
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 0 // End Of Macro List Mark
; CHECK: // }
!llvm.dbg.cu = !{!0}
!llvm.module.flags = !{!8, !9}

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
; RUN: llc -mtriple=nvptx64-nvidia-cuda < %s | FileCheck %s
; CHECK: .target sm_{{[0-9]+}}, debug
; CHECK: .target sm_{{[0-9]+}}//, debug
; CHECK: .extern .func (.param .b32 func_retval0) _ZN1A3fooEv
; CHECK: (
@ -129,207 +129,207 @@ attributes #2 = { "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "n
!33 = !DILocation(line: 11, scope: !32)
!34 = !DILocation(line: 12, scope: !14)
; CHECK: .section .debug_abbrev
; CHECK-NEXT: {
; CHECK-NEXT: .b8 1 // Abbreviation Code
; CHECK-NEXT: .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 37 // DW_AT_producer
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 19 // DW_AT_language
; CHECK-NEXT: .b8 5 // DW_FORM_data2
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: .b8 6 // DW_FORM_data4
; CHECK-NEXT: .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 2 // Abbreviation Code
; CHECK-NEXT: .b8 19 // DW_TAG_structure_type
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 60 // DW_AT_declaration
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 3 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 64 // DW_AT_frame_base
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 135,64 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 4 // Abbreviation Code
; CHECK-NEXT: .b8 52 // DW_TAG_variable
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 16 // DW_FORM_ref_addr
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 5 // Abbreviation Code
; CHECK-NEXT: .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: .b8 17 // DW_AT_low_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 18 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_FORM_addr
; CHECK-NEXT: .b8 64 // DW_AT_frame_base
; CHECK-NEXT: .b8 10 // DW_FORM_block1
; CHECK-NEXT: .b8 135,64 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 63 // DW_AT_external
; CHECK-NEXT: .b8 12 // DW_FORM_flag
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 6 // Abbreviation Code
; CHECK-NEXT: .b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 58 // DW_AT_decl_file
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 59 // DW_AT_decl_line
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 73 // DW_AT_type
; CHECK-NEXT: .b8 19 // DW_FORM_ref4
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 7 // Abbreviation Code
; CHECK-NEXT: .b8 36 // DW_TAG_base_type
; CHECK-NEXT: .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: .b8 3 // DW_AT_name
; CHECK-NEXT: .b8 8 // DW_FORM_string
; CHECK-NEXT: .b8 62 // DW_AT_encoding
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 11 // DW_AT_byte_size
; CHECK-NEXT: .b8 11 // DW_FORM_data1
; CHECK-NEXT: .b8 0 // EOM(1)
; CHECK-NEXT: .b8 0 // EOM(2)
; CHECK-NEXT: .b8 0 // EOM(3)
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_info
; CHECK-NEXT: {
; CHECK-NEXT: .b32 150 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x8f DW_TAG_compile_unit
; CHECK-NEXT: .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 4 // DW_AT_language
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,50,46,99,99 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: .b8 2 // Abbrev [2] 0x64:0x4 DW_TAG_structure_type
; CHECK-NEXT: .b8 65 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_declaration
; CHECK-NEXT: .b8 3 // Abbrev [3] 0x68:0x31 DW_TAG_subprogram
; CHECK-NEXT: .b64 Lfunc_begin1 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 95,90,51,98,97,122,49,65 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98,97,122 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 2 // DW_AT_decl_file
; CHECK-NEXT: .b8 6 // DW_AT_decl_line
; CHECK-NEXT: .b8 1 // DW_AT_external
; CHECK-NEXT: .b8 4 // Abbrev [4] 0x8b:0xd DW_TAG_variable
; CHECK-NEXT: .b8 122 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 2 // DW_AT_decl_file
; CHECK-NEXT: .b8 7 // DW_AT_decl_line
; CHECK-NEXT: .b64 .debug_info+302 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b32 152 // Length of Unit
; CHECK-NEXT: .b8 2 // DWARF version number
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: .b8 8 // Address Size (in bytes)
; CHECK-NEXT: .b8 1 // Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
; CHECK-NEXT: .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 4 // DW_AT_language
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,49,46,99,99 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 5 // Abbrev [5] 0x64:0x30 DW_TAG_subprogram
; CHECK-NEXT: .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: .b8 1 // DW_AT_frame_base
; CHECK-NEXT: .b8 156
; CHECK-NEXT: .b8 95,90,51,98,97,114,105 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 98,97,114 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b32 148 // DW_AT_type
; CHECK-NEXT: .b8 1 // DW_AT_external
; CHECK-NEXT: .b8 6 // Abbrev [6] 0x8a:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: .b8 98 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 1 // DW_AT_decl_file
; CHECK-NEXT: .b8 1 // DW_AT_decl_line
; CHECK-NEXT: .b32 148 // DW_AT_type
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: .b8 7 // Abbrev [7] 0x94:0x7 DW_TAG_base_type
; CHECK-NEXT: .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: .b8 0
; CHECK-NEXT: .b8 5 // DW_AT_encoding
; CHECK-NEXT: .b8 4 // DW_AT_byte_size
; CHECK-NEXT: .b8 0 // End Of Children Mark
; CHECK-NEXT: }
; CHECK-NEXT: .section .debug_macinfo
; CHECK-NEXT: {
; CHECK-NEXT: .b8 0 // End Of Macro List Mark
; CHECK: }
; CHECK: // .section .debug_abbrev
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 1 // Abbreviation Code
; CHECK-NEXT: // .b8 17 // DW_TAG_compile_unit
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 37 // DW_AT_producer
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 19 // DW_AT_language
; CHECK-NEXT: // .b8 5 // DW_FORM_data2
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 16 // DW_AT_stmt_list
; CHECK-NEXT: // .b8 6 // DW_FORM_data4
; CHECK-NEXT: // .b8 27 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 2 // Abbreviation Code
; CHECK-NEXT: // .b8 19 // DW_TAG_structure_type
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 60 // DW_AT_declaration
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 3 // Abbreviation Code
; CHECK-NEXT: // .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 64 // DW_AT_frame_base
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 135,64 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 63 // DW_AT_external
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 4 // Abbreviation Code
; CHECK-NEXT: // .b8 52 // DW_TAG_variable
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 16 // DW_FORM_ref_addr
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 5 // Abbreviation Code
; CHECK-NEXT: // .b8 46 // DW_TAG_subprogram
; CHECK-NEXT: // .b8 1 // DW_CHILDREN_yes
; CHECK-NEXT: // .b8 17 // DW_AT_low_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 18 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_FORM_addr
; CHECK-NEXT: // .b8 64 // DW_AT_frame_base
; CHECK-NEXT: // .b8 10 // DW_FORM_block1
; CHECK-NEXT: // .b8 135,64 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 63 // DW_AT_external
; CHECK-NEXT: // .b8 12 // DW_FORM_flag
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 6 // Abbreviation Code
; CHECK-NEXT: // .b8 5 // DW_TAG_formal_parameter
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 58 // DW_AT_decl_file
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 59 // DW_AT_decl_line
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 73 // DW_AT_type
; CHECK-NEXT: // .b8 19 // DW_FORM_ref4
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 7 // Abbreviation Code
; CHECK-NEXT: // .b8 36 // DW_TAG_base_type
; CHECK-NEXT: // .b8 0 // DW_CHILDREN_no
; CHECK-NEXT: // .b8 3 // DW_AT_name
; CHECK-NEXT: // .b8 8 // DW_FORM_string
; CHECK-NEXT: // .b8 62 // DW_AT_encoding
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 11 // DW_AT_byte_size
; CHECK-NEXT: // .b8 11 // DW_FORM_data1
; CHECK-NEXT: // .b8 0 // EOM(1)
; CHECK-NEXT: // .b8 0 // EOM(2)
; CHECK-NEXT: // .b8 0 // EOM(3)
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_info
; CHECK-NEXT: // {
; CHECK-NEXT: // .b32 150 // Length of Unit
; CHECK-NEXT: // .b8 2 // DWARF version number
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: // .b8 8 // Address Size (in bytes)
; CHECK-NEXT: // .b8 1 // Abbrev [1] 0xb:0x8f DW_TAG_compile_unit
; CHECK-NEXT: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 4 // DW_AT_language
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,50,46,99,99 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: // .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b64 Lfunc_begin1 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: // .b8 2 // Abbrev [2] 0x64:0x4 DW_TAG_structure_type
; CHECK-NEXT: // .b8 65 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_declaration
; CHECK-NEXT: // .b8 3 // Abbrev [3] 0x68:0x31 DW_TAG_subprogram
; CHECK-NEXT: // .b64 Lfunc_begin1 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end1 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_AT_frame_base
; CHECK-NEXT: // .b8 156
; CHECK-NEXT: // .b8 95,90,51,98,97,122,49,65 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 98,97,122 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 2 // DW_AT_decl_file
; CHECK-NEXT: // .b8 6 // DW_AT_decl_line
; CHECK-NEXT: // .b8 1 // DW_AT_external
; CHECK-NEXT: // .b8 4 // Abbrev [4] 0x8b:0xd DW_TAG_variable
; CHECK-NEXT: // .b8 122 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 2 // DW_AT_decl_file
; CHECK-NEXT: // .b8 7 // DW_AT_decl_line
; CHECK-NEXT: // .b64 .debug_info+302 // DW_AT_type
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b32 152 // Length of Unit
; CHECK-NEXT: // .b8 2 // DWARF version number
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_abbrev // Offset Into Abbrev. Section
; CHECK-NEXT: // .b8 8 // Address Size (in bytes)
; CHECK-NEXT: // .b8 1 // Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
; CHECK-NEXT: // .b8 99,108,97,110,103,32,118,101,114,115,105,111,110,32,51,46,53,46,48,32,40,50,49,48,52,55,57,41 // DW_AT_producer
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 4 // DW_AT_language
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 100,101,98,117,103,45,108,111,99,45,111,102,102,115,101,116,49,46,99,99 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b32 .debug_line // DW_AT_stmt_list
; CHECK-NEXT: // .b8 47,108,108,118,109,95,99,109,97,107,101,95,103,99,99 // DW_AT_comp_dir
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: // .b8 5 // Abbrev [5] 0x64:0x30 DW_TAG_subprogram
; CHECK-NEXT: // .b64 Lfunc_begin0 // DW_AT_low_pc
; CHECK-NEXT: // .b64 Lfunc_end0 // DW_AT_high_pc
; CHECK-NEXT: // .b8 1 // DW_AT_frame_base
; CHECK-NEXT: // .b8 156
; CHECK-NEXT: // .b8 95,90,51,98,97,114,105 // DW_AT_MIPS_linkage_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 98,97,114 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b32 148 // DW_AT_type
; CHECK-NEXT: // .b8 1 // DW_AT_external
; CHECK-NEXT: // .b8 6 // Abbrev [6] 0x8a:0x9 DW_TAG_formal_parameter
; CHECK-NEXT: // .b8 98 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 1 // DW_AT_decl_file
; CHECK-NEXT: // .b8 1 // DW_AT_decl_line
; CHECK-NEXT: // .b32 148 // DW_AT_type
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // .b8 7 // Abbrev [7] 0x94:0x7 DW_TAG_base_type
; CHECK-NEXT: // .b8 105,110,116 // DW_AT_name
; CHECK-NEXT: // .b8 0
; CHECK-NEXT: // .b8 5 // DW_AT_encoding
; CHECK-NEXT: // .b8 4 // DW_AT_byte_size
; CHECK-NEXT: // .b8 0 // End Of Children Mark
; CHECK-NEXT: // }
; CHECK-NEXT: // .section .debug_macinfo
; CHECK-NEXT: // {
; CHECK-NEXT: // .b8 0 // End Of Macro List Mark
; CHECK: // }