Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-gdb-index-types-main.s
blob454260fa567611bfc1d159ea98e3a622368c2461
1 # clang++ main.cpp -ggnu-pubnames -g2 -gdwarf-5 -fdebug-types-section
2 # typedef struct
3 # {
4 # unsigned a;
5 # unsigned b;
6 # } S2;
8 # int foo() {
9 # S2 s;
10 # s.a = 0x64A40101;
11 # }
13 .text
14 .file "main.cpp"
15 .globl main # -- Begin function main
16 .p2align 4, 0x90
17 .type main,@function
18 main: # @main
19 .Lfunc_begin0:
20 .file 0 "/dwarf5-gdb-index-test" "main.cpp" md5 0x4d2b179743fe9901ae59fc18b8f51c3d
21 .loc 0 7 0 # main.cpp:7:0
22 .cfi_startproc
23 # %bb.0:
24 pushq %rbp
25 .cfi_def_cfa_offset 16
26 .cfi_offset %rbp, -16
27 movq %rsp, %rbp
28 .cfi_def_cfa_register %rbp
29 .Ltmp0:
30 .loc 0 9 7 prologue_end # main.cpp:9:7
31 movl $1688469761, -8(%rbp) # imm = 0x64A40101
32 .loc 0 10 1 # main.cpp:10:1
33 xorl %eax, %eax
34 .loc 0 10 1 epilogue_begin is_stmt 0 # main.cpp:10:1
35 popq %rbp
36 .cfi_def_cfa %rsp, 8
37 retq
38 .Ltmp1:
39 .Lfunc_end0:
40 .size main, .Lfunc_end0-main
41 .cfi_endproc
42 # -- End function
43 .section .debug_info,"G",@progbits,4721183873463917179,comdat
44 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
45 .Ldebug_info_start0:
46 .short 5 # DWARF version number
47 .byte 2 # DWARF Unit Type
48 .byte 8 # Address Size (in bytes)
49 .long .debug_abbrev # Offset Into Abbrev. Section
50 .quad 4721183873463917179 # Type Signature
51 .long 35 # Type DIE Offset
52 .byte 1 # Abbrev [1] 0x18:0x28 DW_TAG_type_unit
53 .short 33 # DW_AT_language
54 .long .Lline_table_start0 # DW_AT_stmt_list
55 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
56 .byte 2 # Abbrev [2] 0x23:0x18 DW_TAG_structure_type
57 .byte 5 # DW_AT_calling_convention
58 .byte 8 # DW_AT_byte_size
59 .byte 0 # DW_AT_decl_file
60 .byte 1 # DW_AT_decl_line
61 .byte 3 # Abbrev [3] 0x28:0x9 DW_TAG_member
62 .byte 6 # DW_AT_name
63 .long 59 # DW_AT_type
64 .byte 0 # DW_AT_decl_file
65 .byte 3 # DW_AT_decl_line
66 .byte 0 # DW_AT_data_member_location
67 .byte 3 # Abbrev [3] 0x31:0x9 DW_TAG_member
68 .byte 8 # DW_AT_name
69 .long 59 # DW_AT_type
70 .byte 0 # DW_AT_decl_file
71 .byte 4 # DW_AT_decl_line
72 .byte 4 # DW_AT_data_member_location
73 .byte 0 # End Of Children Mark
74 .byte 4 # Abbrev [4] 0x3b:0x4 DW_TAG_base_type
75 .byte 7 # DW_AT_name
76 .byte 7 # DW_AT_encoding
77 .byte 4 # DW_AT_byte_size
78 .byte 0 # End Of Children Mark
79 .Ldebug_info_end0:
80 .section .debug_abbrev,"",@progbits
81 .byte 1 # Abbreviation Code
82 .byte 65 # DW_TAG_type_unit
83 .byte 1 # DW_CHILDREN_yes
84 .byte 19 # DW_AT_language
85 .byte 5 # DW_FORM_data2
86 .byte 16 # DW_AT_stmt_list
87 .byte 23 # DW_FORM_sec_offset
88 .byte 114 # DW_AT_str_offsets_base
89 .byte 23 # DW_FORM_sec_offset
90 .byte 0 # EOM(1)
91 .byte 0 # EOM(2)
92 .byte 2 # Abbreviation Code
93 .byte 19 # DW_TAG_structure_type
94 .byte 1 # DW_CHILDREN_yes
95 .byte 54 # DW_AT_calling_convention
96 .byte 11 # DW_FORM_data1
97 .byte 11 # DW_AT_byte_size
98 .byte 11 # DW_FORM_data1
99 .byte 58 # DW_AT_decl_file
100 .byte 11 # DW_FORM_data1
101 .byte 59 # DW_AT_decl_line
102 .byte 11 # DW_FORM_data1
103 .byte 0 # EOM(1)
104 .byte 0 # EOM(2)
105 .byte 3 # Abbreviation Code
106 .byte 13 # DW_TAG_member
107 .byte 0 # DW_CHILDREN_no
108 .byte 3 # DW_AT_name
109 .byte 37 # DW_FORM_strx1
110 .byte 73 # DW_AT_type
111 .byte 19 # DW_FORM_ref4
112 .byte 58 # DW_AT_decl_file
113 .byte 11 # DW_FORM_data1
114 .byte 59 # DW_AT_decl_line
115 .byte 11 # DW_FORM_data1
116 .byte 56 # DW_AT_data_member_location
117 .byte 11 # DW_FORM_data1
118 .byte 0 # EOM(1)
119 .byte 0 # EOM(2)
120 .byte 4 # Abbreviation Code
121 .byte 36 # DW_TAG_base_type
122 .byte 0 # DW_CHILDREN_no
123 .byte 3 # DW_AT_name
124 .byte 37 # DW_FORM_strx1
125 .byte 62 # DW_AT_encoding
126 .byte 11 # DW_FORM_data1
127 .byte 11 # DW_AT_byte_size
128 .byte 11 # DW_FORM_data1
129 .byte 0 # EOM(1)
130 .byte 0 # EOM(2)
131 .byte 5 # Abbreviation Code
132 .byte 17 # DW_TAG_compile_unit
133 .byte 1 # DW_CHILDREN_yes
134 .byte 37 # DW_AT_producer
135 .byte 37 # DW_FORM_strx1
136 .byte 19 # DW_AT_language
137 .byte 5 # DW_FORM_data2
138 .byte 3 # DW_AT_name
139 .byte 37 # DW_FORM_strx1
140 .byte 114 # DW_AT_str_offsets_base
141 .byte 23 # DW_FORM_sec_offset
142 .byte 16 # DW_AT_stmt_list
143 .byte 23 # DW_FORM_sec_offset
144 .byte 27 # DW_AT_comp_dir
145 .byte 37 # DW_FORM_strx1
146 .ascii "\264B" # DW_AT_GNU_pubnames
147 .byte 25 # DW_FORM_flag_present
148 .byte 17 # DW_AT_low_pc
149 .byte 27 # DW_FORM_addrx
150 .byte 18 # DW_AT_high_pc
151 .byte 6 # DW_FORM_data4
152 .byte 115 # DW_AT_addr_base
153 .byte 23 # DW_FORM_sec_offset
154 .byte 0 # EOM(1)
155 .byte 0 # EOM(2)
156 .byte 6 # Abbreviation Code
157 .byte 46 # DW_TAG_subprogram
158 .byte 1 # DW_CHILDREN_yes
159 .byte 17 # DW_AT_low_pc
160 .byte 27 # DW_FORM_addrx
161 .byte 18 # DW_AT_high_pc
162 .byte 6 # DW_FORM_data4
163 .byte 64 # DW_AT_frame_base
164 .byte 24 # DW_FORM_exprloc
165 .byte 3 # DW_AT_name
166 .byte 37 # DW_FORM_strx1
167 .byte 58 # DW_AT_decl_file
168 .byte 11 # DW_FORM_data1
169 .byte 59 # DW_AT_decl_line
170 .byte 11 # DW_FORM_data1
171 .byte 73 # DW_AT_type
172 .byte 19 # DW_FORM_ref4
173 .byte 63 # DW_AT_external
174 .byte 25 # DW_FORM_flag_present
175 .byte 0 # EOM(1)
176 .byte 0 # EOM(2)
177 .byte 7 # Abbreviation Code
178 .byte 52 # DW_TAG_variable
179 .byte 0 # DW_CHILDREN_no
180 .byte 2 # DW_AT_location
181 .byte 24 # DW_FORM_exprloc
182 .byte 3 # DW_AT_name
183 .byte 37 # DW_FORM_strx1
184 .byte 58 # DW_AT_decl_file
185 .byte 11 # DW_FORM_data1
186 .byte 59 # DW_AT_decl_line
187 .byte 11 # DW_FORM_data1
188 .byte 73 # DW_AT_type
189 .byte 19 # DW_FORM_ref4
190 .byte 0 # EOM(1)
191 .byte 0 # EOM(2)
192 .byte 8 # Abbreviation Code
193 .byte 22 # DW_TAG_typedef
194 .byte 0 # DW_CHILDREN_no
195 .byte 73 # DW_AT_type
196 .byte 19 # DW_FORM_ref4
197 .byte 3 # DW_AT_name
198 .byte 37 # DW_FORM_strx1
199 .byte 58 # DW_AT_decl_file
200 .byte 11 # DW_FORM_data1
201 .byte 59 # DW_AT_decl_line
202 .byte 11 # DW_FORM_data1
203 .byte 0 # EOM(1)
204 .byte 0 # EOM(2)
205 .byte 9 # Abbreviation Code
206 .byte 19 # DW_TAG_structure_type
207 .byte 0 # DW_CHILDREN_no
208 .byte 60 # DW_AT_declaration
209 .byte 25 # DW_FORM_flag_present
210 .byte 105 # DW_AT_signature
211 .byte 32 # DW_FORM_ref_sig8
212 .byte 0 # EOM(1)
213 .byte 0 # EOM(2)
214 .byte 0 # EOM(3)
215 .section .debug_info,"",@progbits
216 .Lcu_begin0:
217 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit
218 .Ldebug_info_start1:
219 .short 5 # DWARF version number
220 .byte 1 # DWARF Unit Type
221 .byte 8 # Address Size (in bytes)
222 .long .debug_abbrev # Offset Into Abbrev. Section
223 .byte 5 # Abbrev [5] 0xc:0x48 DW_TAG_compile_unit
224 .byte 0 # DW_AT_producer
225 .short 33 # DW_AT_language
226 .byte 1 # DW_AT_name
227 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
228 .long .Lline_table_start0 # DW_AT_stmt_list
229 .byte 2 # DW_AT_comp_dir
230 # DW_AT_GNU_pubnames
231 .byte 0 # DW_AT_low_pc
232 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
233 .long .Laddr_table_base0 # DW_AT_addr_base
234 .byte 6 # Abbrev [6] 0x23:0x1b DW_TAG_subprogram
235 .byte 0 # DW_AT_low_pc
236 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
237 .byte 1 # DW_AT_frame_base
238 .byte 86
239 .byte 3 # DW_AT_name
240 .byte 0 # DW_AT_decl_file
241 .byte 7 # DW_AT_decl_line
242 .long 62 # DW_AT_type
243 # DW_AT_external
244 .byte 7 # Abbrev [7] 0x32:0xb DW_TAG_variable
245 .byte 2 # DW_AT_location
246 .byte 145
247 .byte 120
248 .byte 5 # DW_AT_name
249 .byte 0 # DW_AT_decl_file
250 .byte 8 # DW_AT_decl_line
251 .long 66 # DW_AT_type
252 .byte 0 # End Of Children Mark
253 .byte 4 # Abbrev [4] 0x3e:0x4 DW_TAG_base_type
254 .byte 4 # DW_AT_name
255 .byte 5 # DW_AT_encoding
256 .byte 4 # DW_AT_byte_size
257 .byte 8 # Abbrev [8] 0x42:0x8 DW_TAG_typedef
258 .long 74 # DW_AT_type
259 .byte 9 # DW_AT_name
260 .byte 0 # DW_AT_decl_file
261 .byte 5 # DW_AT_decl_line
262 .byte 9 # Abbrev [9] 0x4a:0x9 DW_TAG_structure_type
263 # DW_AT_declaration
264 .quad 4721183873463917179 # DW_AT_signature
265 .byte 0 # End Of Children Mark
266 .Ldebug_info_end1:
267 .section .debug_str_offsets,"",@progbits
268 .long 44 # Length of String Offsets Set
269 .short 5
270 .short 0
271 .Lstr_offsets_base0:
272 .section .debug_str,"MS",@progbits,1
273 .Linfo_string0:
274 .asciz "clang version 15.0.0" # string offset=0
275 .Linfo_string1:
276 .asciz "main.cpp" # string offset=146
277 .Linfo_string2:
278 .asciz "/dwarf5-gdb-index-test" # string offset=155
279 .Linfo_string3:
280 .asciz "main" # string offset=215
281 .Linfo_string4:
282 .asciz "int" # string offset=220
283 .Linfo_string5:
284 .asciz "s" # string offset=224
285 .Linfo_string6:
286 .asciz "a" # string offset=226
287 .Linfo_string7:
288 .asciz "unsigned int" # string offset=228
289 .Linfo_string8:
290 .asciz "b" # string offset=241
291 .Linfo_string9:
292 .asciz "S" # string offset=243
293 .section .debug_str_offsets,"",@progbits
294 .long .Linfo_string0
295 .long .Linfo_string1
296 .long .Linfo_string2
297 .long .Linfo_string3
298 .long .Linfo_string4
299 .long .Linfo_string5
300 .long .Linfo_string6
301 .long .Linfo_string7
302 .long .Linfo_string8
303 .long .Linfo_string9
304 .section .debug_addr,"",@progbits
305 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
306 .Ldebug_addr_start0:
307 .short 5 # DWARF version number
308 .byte 8 # Address size
309 .byte 0 # Segment selector size
310 .Laddr_table_base0:
311 .quad .Lfunc_begin0
312 .Ldebug_addr_end0:
313 .section .debug_gnu_pubnames,"",@progbits
314 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
315 .LpubNames_start0:
316 .short 2 # DWARF Version
317 .long .Lcu_begin0 # Offset of Compilation Unit Info
318 .long 84 # Compilation Unit Length
319 .long 35 # DIE offset
320 .byte 48 # Attributes: FUNCTION, EXTERNAL
321 .asciz "main" # External Name
322 .long 0 # End Mark
323 .LpubNames_end0:
324 .section .debug_gnu_pubtypes,"",@progbits
325 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
326 .LpubTypes_start0:
327 .short 2 # DWARF Version
328 .long .Lcu_begin0 # Offset of Compilation Unit Info
329 .long 84 # Compilation Unit Length
330 .long 62 # DIE offset
331 .byte 144 # Attributes: TYPE, STATIC
332 .asciz "int" # External Name
333 .long 66 # DIE offset
334 .byte 144 # Attributes: TYPE, STATIC
335 .asciz "S" # External Name
336 .long 12 # DIE offset
337 .byte 16 # Attributes: TYPE, EXTERNAL
338 .asciz "unsigned int" # External Name
339 .long 0 # End Mark
340 .LpubTypes_end0:
341 .ident "clang version 15.0.0"
342 .section ".note.GNU-stack","",@progbits
343 .addrsig
344 .section .debug_line,"",@progbits
345 .Lline_table_start0: