Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-split-gdb-index-types-helper.s
blobf01b8dd2018df4e0bc1062d3e73f55b285aeb5bb
1 # struct Foo2a {
2 # char *c1;
3 # char *c2;
4 # char *c3;
5 # };
6 # struct Foo3 {
7 # char *c1;
8 # char *c2;
9 # };
11 # int foo() {
12 # Foo2a f;
13 # Foo3 f2;
14 # return 0;
15 # }
16 .text
17 .file "helper.cpp"
18 .globl _Z3foov # -- Begin function _Z3foov
19 .p2align 4, 0x90
20 .type _Z3foov,@function
21 _Z3foov: # @_Z3foov
22 .Lfunc_begin0:
23 .file 0 "." "helper.cpp" md5 0x650c984f17ca3a4e7785e30e6ca8f130
24 .loc 0 11 0 # helper.cpp:11:0
25 .cfi_startproc
26 # %bb.0:
27 pushq %rbp
28 .cfi_def_cfa_offset 16
29 .cfi_offset %rbp, -16
30 movq %rsp, %rbp
31 .cfi_def_cfa_register %rbp
32 .Ltmp0:
33 .loc 0 14 3 prologue_end # helper.cpp:14:3
34 xorl %eax, %eax
35 .loc 0 14 3 epilogue_begin is_stmt 0 # helper.cpp:14:3
36 popq %rbp
37 .cfi_def_cfa %rsp, 8
38 retq
39 .Ltmp1:
40 .Lfunc_end0:
41 .size _Z3foov, .Lfunc_end0-_Z3foov
42 .cfi_endproc
43 # -- End function
44 .section .debug_info.dwo,"e",@progbits
45 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
46 .Ldebug_info_dwo_start0:
47 .short 5 # DWARF version number
48 .byte 6 # DWARF Unit Type
49 .byte 8 # Address Size (in bytes)
50 .long 0 # Offset Into Abbrev. Section
51 .quad 1175092228111723119 # Type Signature
52 .long 31 # Type DIE Offset
53 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit
54 .short 33 # DW_AT_language
55 .long 0 # DW_AT_stmt_list
56 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type
57 .byte 5 # DW_AT_calling_convention
58 .byte 8 # DW_AT_name
59 .byte 24 # DW_AT_byte_size
60 .byte 0 # DW_AT_decl_file
61 .byte 1 # DW_AT_decl_line
62 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
63 .byte 4 # DW_AT_name
64 .long 65 # DW_AT_type
65 .byte 0 # DW_AT_decl_file
66 .byte 2 # DW_AT_decl_line
67 .byte 0 # DW_AT_data_member_location
68 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
69 .byte 6 # DW_AT_name
70 .long 65 # DW_AT_type
71 .byte 0 # DW_AT_decl_file
72 .byte 3 # DW_AT_decl_line
73 .byte 8 # DW_AT_data_member_location
74 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member
75 .byte 7 # DW_AT_name
76 .long 65 # DW_AT_type
77 .byte 0 # DW_AT_decl_file
78 .byte 4 # DW_AT_decl_line
79 .byte 16 # DW_AT_data_member_location
80 .byte 0 # End Of Children Mark
81 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type
82 .long 70 # DW_AT_type
83 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type
84 .byte 5 # DW_AT_name
85 .byte 6 # DW_AT_encoding
86 .byte 1 # DW_AT_byte_size
87 .byte 0 # End Of Children Mark
88 .Ldebug_info_dwo_end0:
89 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
90 .Ldebug_info_dwo_start1:
91 .short 5 # DWARF version number
92 .byte 6 # DWARF Unit Type
93 .byte 8 # Address Size (in bytes)
94 .long 0 # Offset Into Abbrev. Section
95 .quad -5451594423976726044 # Type Signature
96 .long 31 # Type DIE Offset
97 .byte 1 # Abbrev [1] 0x18:0x2a DW_TAG_type_unit
98 .short 33 # DW_AT_language
99 .long 0 # DW_AT_stmt_list
100 .byte 2 # Abbrev [2] 0x1f:0x19 DW_TAG_structure_type
101 .byte 5 # DW_AT_calling_convention
102 .byte 10 # DW_AT_name
103 .byte 16 # DW_AT_byte_size
104 .byte 0 # DW_AT_decl_file
105 .byte 6 # DW_AT_decl_line
106 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
107 .byte 4 # DW_AT_name
108 .long 56 # DW_AT_type
109 .byte 0 # DW_AT_decl_file
110 .byte 7 # DW_AT_decl_line
111 .byte 0 # DW_AT_data_member_location
112 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
113 .byte 6 # DW_AT_name
114 .long 56 # DW_AT_type
115 .byte 0 # DW_AT_decl_file
116 .byte 8 # DW_AT_decl_line
117 .byte 8 # DW_AT_data_member_location
118 .byte 0 # End Of Children Mark
119 .byte 4 # Abbrev [4] 0x38:0x5 DW_TAG_pointer_type
120 .long 61 # DW_AT_type
121 .byte 5 # Abbrev [5] 0x3d:0x4 DW_TAG_base_type
122 .byte 5 # DW_AT_name
123 .byte 6 # DW_AT_encoding
124 .byte 1 # DW_AT_byte_size
125 .byte 0 # End Of Children Mark
126 .Ldebug_info_dwo_end1:
127 .section .debug_abbrev,"",@progbits
128 .byte 1 # Abbreviation Code
129 .byte 74 # DW_TAG_skeleton_unit
130 .byte 0 # DW_CHILDREN_no
131 .byte 16 # DW_AT_stmt_list
132 .byte 23 # DW_FORM_sec_offset
133 .byte 114 # DW_AT_str_offsets_base
134 .byte 23 # DW_FORM_sec_offset
135 .byte 27 # DW_AT_comp_dir
136 .byte 37 # DW_FORM_strx1
137 .ascii "\264B" # DW_AT_GNU_pubnames
138 .byte 25 # DW_FORM_flag_present
139 .byte 118 # DW_AT_dwo_name
140 .byte 37 # DW_FORM_strx1
141 .byte 17 # DW_AT_low_pc
142 .byte 27 # DW_FORM_addrx
143 .byte 18 # DW_AT_high_pc
144 .byte 6 # DW_FORM_data4
145 .byte 115 # DW_AT_addr_base
146 .byte 23 # DW_FORM_sec_offset
147 .byte 0 # EOM(1)
148 .byte 0 # EOM(2)
149 .byte 0 # EOM(3)
150 .section .debug_info,"",@progbits
151 .Lcu_begin0:
152 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
153 .Ldebug_info_start0:
154 .short 5 # DWARF version number
155 .byte 4 # DWARF Unit Type
156 .byte 8 # Address Size (in bytes)
157 .long .debug_abbrev # Offset Into Abbrev. Section
158 .quad 8590827077411666803
159 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
160 .long .Lline_table_start0 # DW_AT_stmt_list
161 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
162 .byte 0 # DW_AT_comp_dir
163 # DW_AT_GNU_pubnames
164 .byte 1 # DW_AT_dwo_name
165 .byte 0 # DW_AT_low_pc
166 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
167 .long .Laddr_table_base0 # DW_AT_addr_base
168 .Ldebug_info_end0:
169 .section .debug_str_offsets,"",@progbits
170 .long 12 # Length of String Offsets Set
171 .short 5
172 .short 0
173 .Lstr_offsets_base0:
174 .section .debug_str,"MS",@progbits,1
175 .Lskel_string0:
176 .asciz "." # string offset=0
177 .Lskel_string1:
178 .asciz "helper.dwo" # string offset=68
179 .section .debug_str_offsets,"",@progbits
180 .long .Lskel_string0
181 .long .Lskel_string1
182 .section .debug_str_offsets.dwo,"e",@progbits
183 .long 60 # Length of String Offsets Set
184 .short 5
185 .short 0
186 .section .debug_str.dwo,"eMS",@progbits,1
187 .Linfo_string0:
188 .asciz "_Z3foov" # string offset=0
189 .Linfo_string1:
190 .asciz "foo" # string offset=8
191 .Linfo_string2:
192 .asciz "int" # string offset=12
193 .Linfo_string3:
194 .asciz "f" # string offset=16
195 .Linfo_string4:
196 .asciz "c1" # string offset=18
197 .Linfo_string5:
198 .asciz "char" # string offset=21
199 .Linfo_string6:
200 .asciz "c2" # string offset=26
201 .Linfo_string7:
202 .asciz "c3" # string offset=29
203 .Linfo_string8:
204 .asciz "Foo2a" # string offset=32
205 .Linfo_string9:
206 .asciz "f2" # string offset=38
207 .Linfo_string10:
208 .asciz "Foo3" # string offset=41
209 .Linfo_string11:
210 .asciz "clang version 15.0.0" # string offset=46
211 .Linfo_string12:
212 .asciz "helper.cpp" # string offset=192
213 .Linfo_string13:
214 .asciz "helper.dwo" # string offset=203
215 .section .debug_str_offsets.dwo,"e",@progbits
216 .long 0
217 .long 8
218 .long 12
219 .long 16
220 .long 18
221 .long 21
222 .long 26
223 .long 29
224 .long 32
225 .long 38
226 .long 41
227 .long 46
228 .long 192
229 .long 203
230 .section .debug_info.dwo,"e",@progbits
231 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
232 .Ldebug_info_dwo_start2:
233 .short 5 # DWARF version number
234 .byte 5 # DWARF Unit Type
235 .byte 8 # Address Size (in bytes)
236 .long 0 # Offset Into Abbrev. Section
237 .quad 8590827077411666803
238 .byte 6 # Abbrev [6] 0x14:0x44 DW_TAG_compile_unit
239 .byte 11 # DW_AT_producer
240 .short 33 # DW_AT_language
241 .byte 12 # DW_AT_name
242 .byte 13 # DW_AT_dwo_name
243 .byte 7 # Abbrev [7] 0x1a:0x27 DW_TAG_subprogram
244 .byte 0 # DW_AT_low_pc
245 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
246 .byte 1 # DW_AT_frame_base
247 .byte 86
248 .byte 0 # DW_AT_linkage_name
249 .byte 1 # DW_AT_name
250 .byte 0 # DW_AT_decl_file
251 .byte 11 # DW_AT_decl_line
252 .long 65 # DW_AT_type
253 # DW_AT_external
254 .byte 8 # Abbrev [8] 0x2a:0xb DW_TAG_variable
255 .byte 2 # DW_AT_location
256 .byte 145
257 .byte 104
258 .byte 3 # DW_AT_name
259 .byte 0 # DW_AT_decl_file
260 .byte 12 # DW_AT_decl_line
261 .long 69 # DW_AT_type
262 .byte 8 # Abbrev [8] 0x35:0xb DW_TAG_variable
263 .byte 2 # DW_AT_location
264 .byte 145
265 .byte 88
266 .byte 9 # DW_AT_name
267 .byte 0 # DW_AT_decl_file
268 .byte 13 # DW_AT_decl_line
269 .long 78 # DW_AT_type
270 .byte 0 # End Of Children Mark
271 .byte 5 # Abbrev [5] 0x41:0x4 DW_TAG_base_type
272 .byte 2 # DW_AT_name
273 .byte 5 # DW_AT_encoding
274 .byte 4 # DW_AT_byte_size
275 .byte 9 # Abbrev [9] 0x45:0x9 DW_TAG_structure_type
276 # DW_AT_declaration
277 .quad 1175092228111723119 # DW_AT_signature
278 .byte 9 # Abbrev [9] 0x4e:0x9 DW_TAG_structure_type
279 # DW_AT_declaration
280 .quad -5451594423976726044 # DW_AT_signature
281 .byte 0 # End Of Children Mark
282 .Ldebug_info_dwo_end2:
283 .section .debug_abbrev.dwo,"e",@progbits
284 .byte 1 # Abbreviation Code
285 .byte 65 # DW_TAG_type_unit
286 .byte 1 # DW_CHILDREN_yes
287 .byte 19 # DW_AT_language
288 .byte 5 # DW_FORM_data2
289 .byte 16 # DW_AT_stmt_list
290 .byte 23 # DW_FORM_sec_offset
291 .byte 0 # EOM(1)
292 .byte 0 # EOM(2)
293 .byte 2 # Abbreviation Code
294 .byte 19 # DW_TAG_structure_type
295 .byte 1 # DW_CHILDREN_yes
296 .byte 54 # DW_AT_calling_convention
297 .byte 11 # DW_FORM_data1
298 .byte 3 # DW_AT_name
299 .byte 37 # DW_FORM_strx1
300 .byte 11 # DW_AT_byte_size
301 .byte 11 # DW_FORM_data1
302 .byte 58 # DW_AT_decl_file
303 .byte 11 # DW_FORM_data1
304 .byte 59 # DW_AT_decl_line
305 .byte 11 # DW_FORM_data1
306 .byte 0 # EOM(1)
307 .byte 0 # EOM(2)
308 .byte 3 # Abbreviation Code
309 .byte 13 # DW_TAG_member
310 .byte 0 # DW_CHILDREN_no
311 .byte 3 # DW_AT_name
312 .byte 37 # DW_FORM_strx1
313 .byte 73 # DW_AT_type
314 .byte 19 # DW_FORM_ref4
315 .byte 58 # DW_AT_decl_file
316 .byte 11 # DW_FORM_data1
317 .byte 59 # DW_AT_decl_line
318 .byte 11 # DW_FORM_data1
319 .byte 56 # DW_AT_data_member_location
320 .byte 11 # DW_FORM_data1
321 .byte 0 # EOM(1)
322 .byte 0 # EOM(2)
323 .byte 4 # Abbreviation Code
324 .byte 15 # DW_TAG_pointer_type
325 .byte 0 # DW_CHILDREN_no
326 .byte 73 # DW_AT_type
327 .byte 19 # DW_FORM_ref4
328 .byte 0 # EOM(1)
329 .byte 0 # EOM(2)
330 .byte 5 # Abbreviation Code
331 .byte 36 # DW_TAG_base_type
332 .byte 0 # DW_CHILDREN_no
333 .byte 3 # DW_AT_name
334 .byte 37 # DW_FORM_strx1
335 .byte 62 # DW_AT_encoding
336 .byte 11 # DW_FORM_data1
337 .byte 11 # DW_AT_byte_size
338 .byte 11 # DW_FORM_data1
339 .byte 0 # EOM(1)
340 .byte 0 # EOM(2)
341 .byte 6 # Abbreviation Code
342 .byte 17 # DW_TAG_compile_unit
343 .byte 1 # DW_CHILDREN_yes
344 .byte 37 # DW_AT_producer
345 .byte 37 # DW_FORM_strx1
346 .byte 19 # DW_AT_language
347 .byte 5 # DW_FORM_data2
348 .byte 3 # DW_AT_name
349 .byte 37 # DW_FORM_strx1
350 .byte 118 # DW_AT_dwo_name
351 .byte 37 # DW_FORM_strx1
352 .byte 0 # EOM(1)
353 .byte 0 # EOM(2)
354 .byte 7 # Abbreviation Code
355 .byte 46 # DW_TAG_subprogram
356 .byte 1 # DW_CHILDREN_yes
357 .byte 17 # DW_AT_low_pc
358 .byte 27 # DW_FORM_addrx
359 .byte 18 # DW_AT_high_pc
360 .byte 6 # DW_FORM_data4
361 .byte 64 # DW_AT_frame_base
362 .byte 24 # DW_FORM_exprloc
363 .byte 110 # DW_AT_linkage_name
364 .byte 37 # DW_FORM_strx1
365 .byte 3 # DW_AT_name
366 .byte 37 # DW_FORM_strx1
367 .byte 58 # DW_AT_decl_file
368 .byte 11 # DW_FORM_data1
369 .byte 59 # DW_AT_decl_line
370 .byte 11 # DW_FORM_data1
371 .byte 73 # DW_AT_type
372 .byte 19 # DW_FORM_ref4
373 .byte 63 # DW_AT_external
374 .byte 25 # DW_FORM_flag_present
375 .byte 0 # EOM(1)
376 .byte 0 # EOM(2)
377 .byte 8 # Abbreviation Code
378 .byte 52 # DW_TAG_variable
379 .byte 0 # DW_CHILDREN_no
380 .byte 2 # DW_AT_location
381 .byte 24 # DW_FORM_exprloc
382 .byte 3 # DW_AT_name
383 .byte 37 # DW_FORM_strx1
384 .byte 58 # DW_AT_decl_file
385 .byte 11 # DW_FORM_data1
386 .byte 59 # DW_AT_decl_line
387 .byte 11 # DW_FORM_data1
388 .byte 73 # DW_AT_type
389 .byte 19 # DW_FORM_ref4
390 .byte 0 # EOM(1)
391 .byte 0 # EOM(2)
392 .byte 9 # Abbreviation Code
393 .byte 19 # DW_TAG_structure_type
394 .byte 0 # DW_CHILDREN_no
395 .byte 60 # DW_AT_declaration
396 .byte 25 # DW_FORM_flag_present
397 .byte 105 # DW_AT_signature
398 .byte 32 # DW_FORM_ref_sig8
399 .byte 0 # EOM(1)
400 .byte 0 # EOM(2)
401 .byte 0 # EOM(3)
402 .section .debug_line.dwo,"e",@progbits
403 .Ltmp2:
404 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
405 .Ldebug_line_start0:
406 .short 5
407 .byte 8
408 .byte 0
409 .long .Lprologue_end0-.Lprologue_start0
410 .Lprologue_start0:
411 .byte 1
412 .byte 1
413 .byte 1
414 .byte -5
415 .byte 14
416 .byte 1
417 .byte 1
418 .byte 1
419 .byte 8
420 .byte 1
421 .ascii "dwarf5-types-index-split-test"
422 .byte 0
423 .byte 3
424 .byte 1
425 .byte 8
426 .byte 2
427 .byte 15
428 .byte 5
429 .byte 30
430 .byte 1
431 .ascii "helper.cpp"
432 .byte 0
433 .byte 0
434 .byte 0x65, 0x0c, 0x98, 0x4f
435 .byte 0x17, 0xca, 0x3a, 0x4e
436 .byte 0x77, 0x85, 0xe3, 0x0e
437 .byte 0x6c, 0xa8, 0xf1, 0x30
438 .Lprologue_end0:
439 .Ldebug_line_end0:
440 .section .debug_addr,"",@progbits
441 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
442 .Ldebug_addr_start0:
443 .short 5 # DWARF version number
444 .byte 8 # Address size
445 .byte 0 # Segment selector size
446 .Laddr_table_base0:
447 .quad .Lfunc_begin0
448 .Ldebug_addr_end0:
449 .section .debug_gnu_pubnames,"",@progbits
450 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
451 .LpubNames_start0:
452 .short 2 # DWARF Version
453 .long .Lcu_begin0 # Offset of Compilation Unit Info
454 .long 40 # Compilation Unit Length
455 .long 26 # DIE offset
456 .byte 48 # Attributes: FUNCTION, EXTERNAL
457 .asciz "foo" # External Name
458 .long 0 # End Mark
459 .LpubNames_end0:
460 .section .debug_gnu_pubtypes,"",@progbits
461 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
462 .LpubTypes_start0:
463 .short 2 # DWARF Version
464 .long .Lcu_begin0 # Offset of Compilation Unit Info
465 .long 40 # Compilation Unit Length
466 .long 69 # DIE offset
467 .byte 16 # Attributes: TYPE, EXTERNAL
468 .asciz "Foo2a" # External Name
469 .long 65 # DIE offset
470 .byte 144 # Attributes: TYPE, STATIC
471 .asciz "int" # External Name
472 .long 20 # DIE offset
473 .byte 16 # Attributes: TYPE, EXTERNAL
474 .asciz "char" # External Name
475 .long 78 # DIE offset
476 .byte 16 # Attributes: TYPE, EXTERNAL
477 .asciz "Foo3" # External Name
478 .long 0 # End Mark
479 .LpubTypes_end0:
480 .ident "clang version 15.0.0"
481 .section ".note.GNU-stack","",@progbits
482 .addrsig
483 .section .debug_line,"",@progbits
484 .Lline_table_start0: