|
1 | 1 | ; RUN: llc -filetype=obj %s -o - | llvm-dwarfdump - | FileCheck %s
|
| 2 | +; RUN: llc -filetype=obj --split-dwarf-file=%t.dwo --split-dwarf-output=%t.dwo %s -o %t.o |
| 3 | +; RUN: llvm-dwarfdump %t.dwo | FileCheck %s -check-prefix=SPLIT |
2 | 4 |
|
3 | 5 | ; CHECK: .debug_info contents:
|
4 | 6 | ; CHECK-NEXT: 0x00000000: Compile Unit: length = 0x0000006e, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000072)
|
|
55 | 57 |
|
56 | 58 | ; CHECK: 0x00000071: NULL
|
57 | 59 |
|
| 60 | + |
| 61 | +; SPLIT: .debug_info.dwo contents: |
| 62 | +; SPLIT-NEXT: 0x00000000: Compile Unit: length = 0x0000004c, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000050) |
| 63 | + |
| 64 | +; SPLIT: 0x0000000b: DW_TAG_compile_unit |
| 65 | +; SPLIT-NEXT: DW_AT_producer ("clang version 6.0.0 (trunk 315924) (llvm/trunk 315960)") |
| 66 | +; SPLIT-NEXT: DW_AT_language (DW_LANG_C99) |
| 67 | +; SPLIT-NEXT: DW_AT_name ("test.c") |
| 68 | +; SPLIT-NEXT: DW_AT_GNU_dwo_name ("{{.*}}dwarfdump.ll.tmp.dwo") |
| 69 | +; SPLIT-NEXT: DW_AT_GNU_dwo_id (0xad3151f12153fa17) |
| 70 | + |
| 71 | +; SPLIT: 0x00000019: DW_TAG_variable |
| 72 | +; SPLIT-NEXT: DW_AT_name ("foo") |
| 73 | +; SPLIT-NEXT: DW_AT_type (0x00000024 "int*") |
| 74 | +; SPLIT-NEXT: DW_AT_external (true) |
| 75 | +; SPLIT-NEXT: DW_AT_decl_file (0x01) |
| 76 | +; SPLIT-NEXT: DW_AT_decl_line (4) |
| 77 | +; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x0) |
| 78 | + |
| 79 | +; SPLIT: 0x00000024: DW_TAG_pointer_type |
| 80 | +; SPLIT-NEXT: DW_AT_type (0x00000029 "int") |
| 81 | + |
| 82 | +; SPLIT: 0x00000029: DW_TAG_base_type |
| 83 | +; SPLIT-NEXT: DW_AT_name ("int") |
| 84 | +; SPLIT-NEXT: DW_AT_encoding (DW_ATE_signed) |
| 85 | +; SPLIT-NEXT: DW_AT_byte_size (0x04) |
| 86 | + |
| 87 | +; SPLIT: 0x0000002d: DW_TAG_variable |
| 88 | +; SPLIT-NEXT: DW_AT_name ("ptr2") |
| 89 | +; SPLIT-NEXT: DW_AT_type (0x00000038 "void()*") |
| 90 | +; SPLIT-NEXT: DW_AT_external (true) |
| 91 | +; SPLIT-NEXT: DW_AT_decl_file (0x01) |
| 92 | +; SPLIT-NEXT: DW_AT_decl_line (5) |
| 93 | +; SPLIT-NEXT: DW_AT_location (DW_OP_GNU_addr_index 0x1) |
| 94 | + |
| 95 | +; SPLIT: 0x00000038: DW_TAG_pointer_type |
| 96 | +; SPLIT-NEXT: DW_AT_type (0x0000003d "void()") |
| 97 | + |
| 98 | +; SPLIT: 0x0000003d: DW_TAG_subroutine_type |
| 99 | +; SPLIT-NEXT: DW_AT_prototyped (true) |
| 100 | + |
| 101 | +; SPLIT: 0x0000003e: DW_TAG_subprogram |
| 102 | +; SPLIT-NEXT: DW_AT_low_pc (indexed (00000002) address = <unresolved>) |
| 103 | +; SPLIT-NEXT: DW_AT_high_pc (0x00000002) |
| 104 | +; SPLIT-NEXT: DW_AT_frame_base (DW_OP_WASM_location 0x3 0x0, DW_OP_stack_value) |
| 105 | +; SPLIT-NEXT: DW_AT_name ("f2") |
| 106 | +; SPLIT-NEXT: DW_AT_decl_file (0x01) |
| 107 | +; SPLIT-NEXT: DW_AT_decl_line (2) |
| 108 | +; SPLIT-NEXT: DW_AT_prototyped (true) |
| 109 | +; SPLIT-NEXT: DW_AT_external (true) |
| 110 | + |
| 111 | +; SPLIT: 0x0000004f: NULL |
| 112 | + |
| 113 | + |
58 | 114 | target triple = "wasm32-unknown-unknown"
|
59 | 115 |
|
60 | 116 | source_filename = "test.c"
|
|
0 commit comments