[RISCV] Fix mgather -> riscv.masked.strided.load combine not extending indices (...
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-df-types-dup-main.s
blobd991094cf0a0818061c061c178e8eb6f66c29e58
1 # clang++ -gsplit-dwarf -g2 -gdwarf-5 -gpubnames -fdebug-types-section -fdebug-compilation-dir='.'
2 # header.h
3 # struct Foo2a {
4 # char *c1;
5 # char *c2;
6 # char *c3;
7 # };
9 # main.cpp
10 # #include "header.h"
11 # struct Foo2 {
12 # char *c1;
13 # };
14 # int main(int argc, char *argv[]) {
15 # Foo2 f2;
16 # Foo2a f3;
17 # return 0;
18 # }
19 .text
20 .file "main.cpp"
21 .globl main # -- Begin function main
22 .p2align 4, 0x90
23 .type main,@function
24 main: # @main
25 .Lfunc_begin0:
26 .file 0 "." "main.cpp" md5 0x9c5cea5bb78d3fc265cd175110bfe903
27 .loc 0 5 0 # main.cpp:5:0
28 .cfi_startproc
29 # %bb.0: # %entry
30 pushq %rbp
31 .cfi_def_cfa_offset 16
32 .cfi_offset %rbp, -16
33 movq %rsp, %rbp
34 .cfi_def_cfa_register %rbp
35 movl $0, -4(%rbp)
36 movl %edi, -8(%rbp)
37 movq %rsi, -16(%rbp)
38 .Ltmp0:
39 .loc 0 8 2 prologue_end # main.cpp:8:2
40 xorl %eax, %eax
41 .loc 0 8 2 epilogue_begin is_stmt 0 # main.cpp:8:2
42 popq %rbp
43 .cfi_def_cfa %rsp, 8
44 retq
45 .Ltmp1:
46 .Lfunc_end0:
47 .size main, .Lfunc_end0-main
48 .cfi_endproc
49 # -- End function
50 .section .debug_info.dwo,"e",@progbits
51 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
52 .Ldebug_info_dwo_start0:
53 .short 5 # DWARF version number
54 .byte 6 # DWARF Unit Type
55 .byte 8 # Address Size (in bytes)
56 .long 0 # Offset Into Abbrev. Section
57 .quad 5322170643381124694 # Type Signature
58 .long 31 # Type DIE Offset
59 .byte 1 # Abbrev [1] 0x18:0x21 DW_TAG_type_unit
60 .short 33 # DW_AT_language
61 .long 0 # DW_AT_stmt_list
62 .byte 2 # Abbrev [2] 0x1f:0x10 DW_TAG_structure_type
63 .byte 5 # DW_AT_calling_convention
64 .byte 7 # DW_AT_name
65 .byte 8 # DW_AT_byte_size
66 .byte 0 # DW_AT_decl_file
67 .byte 2 # DW_AT_decl_line
68 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
69 .byte 6 # DW_AT_name
70 .long 47 # DW_AT_type
71 .byte 0 # DW_AT_decl_file
72 .byte 3 # DW_AT_decl_line
73 .byte 0 # DW_AT_data_member_location
74 .byte 0 # End Of Children Mark
75 .byte 4 # Abbrev [4] 0x2f:0x5 DW_TAG_pointer_type
76 .long 52 # DW_AT_type
77 .byte 5 # Abbrev [5] 0x34:0x4 DW_TAG_base_type
78 .byte 4 # DW_AT_name
79 .byte 6 # DW_AT_encoding
80 .byte 1 # DW_AT_byte_size
81 .byte 0 # End Of Children Mark
82 .Ldebug_info_dwo_end0:
83 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
84 .Ldebug_info_dwo_start1:
85 .short 5 # DWARF version number
86 .byte 6 # DWARF Unit Type
87 .byte 8 # Address Size (in bytes)
88 .long 0 # Offset Into Abbrev. Section
89 .quad 1175092228111723119 # Type Signature
90 .long 31 # Type DIE Offset
91 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit
92 .short 33 # DW_AT_language
93 .long 0 # DW_AT_stmt_list
94 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type
95 .byte 5 # DW_AT_calling_convention
96 .byte 11 # DW_AT_name
97 .byte 24 # DW_AT_byte_size
98 .byte 1 # DW_AT_decl_file
99 .byte 1 # DW_AT_decl_line
100 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
101 .byte 6 # DW_AT_name
102 .long 65 # DW_AT_type
103 .byte 1 # DW_AT_decl_file
104 .byte 2 # DW_AT_decl_line
105 .byte 0 # DW_AT_data_member_location
106 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
107 .byte 9 # DW_AT_name
108 .long 65 # DW_AT_type
109 .byte 1 # DW_AT_decl_file
110 .byte 3 # DW_AT_decl_line
111 .byte 8 # DW_AT_data_member_location
112 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member
113 .byte 10 # DW_AT_name
114 .long 65 # DW_AT_type
115 .byte 1 # DW_AT_decl_file
116 .byte 4 # DW_AT_decl_line
117 .byte 16 # DW_AT_data_member_location
118 .byte 0 # End Of Children Mark
119 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type
120 .long 70 # DW_AT_type
121 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type
122 .byte 4 # 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 .byte 118 # DW_AT_dwo_name
138 .byte 37 # DW_FORM_strx1
139 .byte 17 # DW_AT_low_pc
140 .byte 27 # DW_FORM_addrx
141 .byte 18 # DW_AT_high_pc
142 .byte 6 # DW_FORM_data4
143 .byte 115 # DW_AT_addr_base
144 .byte 23 # DW_FORM_sec_offset
145 .byte 0 # EOM(1)
146 .byte 0 # EOM(2)
147 .byte 0 # EOM(3)
148 .section .debug_info,"",@progbits
149 .Lcu_begin0:
150 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
151 .Ldebug_info_start0:
152 .short 5 # DWARF version number
153 .byte 4 # DWARF Unit Type
154 .byte 8 # Address Size (in bytes)
155 .long .debug_abbrev # Offset Into Abbrev. Section
156 .quad 5962099678818150071
157 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
158 .long .Lline_table_start0 # DW_AT_stmt_list
159 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
160 .byte 0 # DW_AT_comp_dir
161 .byte 1 # DW_AT_dwo_name
162 .byte 0 # DW_AT_low_pc
163 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
164 .long .Laddr_table_base0 # DW_AT_addr_base
165 .Ldebug_info_end0:
166 .section .debug_str_offsets,"",@progbits
167 .long 12 # Length of String Offsets Set
168 .short 5
169 .short 0
170 .Lstr_offsets_base0:
171 .section .debug_str,"MS",@progbits,1
172 .Lskel_string0:
173 .asciz "." # string offset=0
174 .Lskel_string1:
175 .asciz "main.dwo" # string offset=2
176 .section .debug_str_offsets,"",@progbits
177 .long .Lskel_string0
178 .long .Lskel_string1
179 .section .debug_str_offsets.dwo,"e",@progbits
180 .long 64 # Length of String Offsets Set
181 .short 5
182 .short 0
183 .section .debug_str.dwo,"eMS",@progbits,1
184 .Linfo_string0:
185 .asciz "main" # string offset=0
186 .Linfo_string1:
187 .asciz "int" # string offset=5
188 .Linfo_string2:
189 .asciz "argc" # string offset=9
190 .Linfo_string3:
191 .asciz "argv" # string offset=14
192 .Linfo_string4:
193 .asciz "char" # string offset=19
194 .Linfo_string5:
195 .asciz "f2" # string offset=24
196 .Linfo_string6:
197 .asciz "c1" # string offset=27
198 .Linfo_string7:
199 .asciz "Foo2" # string offset=30
200 .Linfo_string8:
201 .asciz "f3" # string offset=35
202 .Linfo_string9:
203 .asciz "c2" # string offset=38
204 .Linfo_string10:
205 .asciz "c3" # string offset=41
206 .Linfo_string11:
207 .asciz "Foo2a" # string offset=44
208 .Linfo_string12:
209 .asciz "clang version 18.0.0" # string offset=50
210 .Linfo_string13:
211 .asciz "main.cpp" # string offset=71
212 .Linfo_string14:
213 .asciz "main.dwo" # string offset=80
214 .section .debug_str_offsets.dwo,"e",@progbits
215 .long 0
216 .long 5
217 .long 9
218 .long 14
219 .long 19
220 .long 24
221 .long 27
222 .long 30
223 .long 35
224 .long 38
225 .long 41
226 .long 44
227 .long 50
228 .long 71
229 .long 80
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 5962099678818150071
238 .byte 6 # Abbrev [6] 0x14:0x67 DW_TAG_compile_unit
239 .byte 12 # DW_AT_producer
240 .short 33 # DW_AT_language
241 .byte 13 # DW_AT_name
242 .byte 14 # DW_AT_dwo_name
243 .byte 7 # Abbrev [7] 0x1a:0x3c 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_name
249 .byte 0 # DW_AT_decl_file
250 .byte 5 # DW_AT_decl_line
251 .long 86 # DW_AT_type
252 # DW_AT_external
253 .byte 8 # Abbrev [8] 0x29:0xb DW_TAG_formal_parameter
254 .byte 2 # DW_AT_location
255 .byte 145
256 .byte 120
257 .byte 2 # DW_AT_name
258 .byte 0 # DW_AT_decl_file
259 .byte 5 # DW_AT_decl_line
260 .long 86 # DW_AT_type
261 .byte 8 # Abbrev [8] 0x34:0xb DW_TAG_formal_parameter
262 .byte 2 # DW_AT_location
263 .byte 145
264 .byte 112
265 .byte 3 # DW_AT_name
266 .byte 0 # DW_AT_decl_file
267 .byte 5 # DW_AT_decl_line
268 .long 90 # DW_AT_type
269 .byte 9 # Abbrev [9] 0x3f:0xb DW_TAG_variable
270 .byte 2 # DW_AT_location
271 .byte 145
272 .byte 104
273 .byte 5 # DW_AT_name
274 .byte 0 # DW_AT_decl_file
275 .byte 6 # DW_AT_decl_line
276 .long 104 # DW_AT_type
277 .byte 9 # Abbrev [9] 0x4a:0xb DW_TAG_variable
278 .byte 2 # DW_AT_location
279 .byte 145
280 .byte 80
281 .byte 8 # DW_AT_name
282 .byte 0 # DW_AT_decl_file
283 .byte 7 # DW_AT_decl_line
284 .long 113 # DW_AT_type
285 .byte 0 # End Of Children Mark
286 .byte 5 # Abbrev [5] 0x56:0x4 DW_TAG_base_type
287 .byte 1 # DW_AT_name
288 .byte 5 # DW_AT_encoding
289 .byte 4 # DW_AT_byte_size
290 .byte 4 # Abbrev [4] 0x5a:0x5 DW_TAG_pointer_type
291 .long 95 # DW_AT_type
292 .byte 4 # Abbrev [4] 0x5f:0x5 DW_TAG_pointer_type
293 .long 100 # DW_AT_type
294 .byte 5 # Abbrev [5] 0x64:0x4 DW_TAG_base_type
295 .byte 4 # DW_AT_name
296 .byte 6 # DW_AT_encoding
297 .byte 1 # DW_AT_byte_size
298 .byte 10 # Abbrev [10] 0x68:0x9 DW_TAG_structure_type
299 # DW_AT_declaration
300 .quad 5322170643381124694 # DW_AT_signature
301 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type
302 # DW_AT_declaration
303 .quad 1175092228111723119 # DW_AT_signature
304 .byte 0 # End Of Children Mark
305 .Ldebug_info_dwo_end2:
306 .section .debug_abbrev.dwo,"e",@progbits
307 .byte 1 # Abbreviation Code
308 .byte 65 # DW_TAG_type_unit
309 .byte 1 # DW_CHILDREN_yes
310 .byte 19 # DW_AT_language
311 .byte 5 # DW_FORM_data2
312 .byte 16 # DW_AT_stmt_list
313 .byte 23 # DW_FORM_sec_offset
314 .byte 0 # EOM(1)
315 .byte 0 # EOM(2)
316 .byte 2 # Abbreviation Code
317 .byte 19 # DW_TAG_structure_type
318 .byte 1 # DW_CHILDREN_yes
319 .byte 54 # DW_AT_calling_convention
320 .byte 11 # DW_FORM_data1
321 .byte 3 # DW_AT_name
322 .byte 37 # DW_FORM_strx1
323 .byte 11 # DW_AT_byte_size
324 .byte 11 # DW_FORM_data1
325 .byte 58 # DW_AT_decl_file
326 .byte 11 # DW_FORM_data1
327 .byte 59 # DW_AT_decl_line
328 .byte 11 # DW_FORM_data1
329 .byte 0 # EOM(1)
330 .byte 0 # EOM(2)
331 .byte 3 # Abbreviation Code
332 .byte 13 # DW_TAG_member
333 .byte 0 # DW_CHILDREN_no
334 .byte 3 # DW_AT_name
335 .byte 37 # DW_FORM_strx1
336 .byte 73 # DW_AT_type
337 .byte 19 # DW_FORM_ref4
338 .byte 58 # DW_AT_decl_file
339 .byte 11 # DW_FORM_data1
340 .byte 59 # DW_AT_decl_line
341 .byte 11 # DW_FORM_data1
342 .byte 56 # DW_AT_data_member_location
343 .byte 11 # DW_FORM_data1
344 .byte 0 # EOM(1)
345 .byte 0 # EOM(2)
346 .byte 4 # Abbreviation Code
347 .byte 15 # DW_TAG_pointer_type
348 .byte 0 # DW_CHILDREN_no
349 .byte 73 # DW_AT_type
350 .byte 19 # DW_FORM_ref4
351 .byte 0 # EOM(1)
352 .byte 0 # EOM(2)
353 .byte 5 # Abbreviation Code
354 .byte 36 # DW_TAG_base_type
355 .byte 0 # DW_CHILDREN_no
356 .byte 3 # DW_AT_name
357 .byte 37 # DW_FORM_strx1
358 .byte 62 # DW_AT_encoding
359 .byte 11 # DW_FORM_data1
360 .byte 11 # DW_AT_byte_size
361 .byte 11 # DW_FORM_data1
362 .byte 0 # EOM(1)
363 .byte 0 # EOM(2)
364 .byte 6 # Abbreviation Code
365 .byte 17 # DW_TAG_compile_unit
366 .byte 1 # DW_CHILDREN_yes
367 .byte 37 # DW_AT_producer
368 .byte 37 # DW_FORM_strx1
369 .byte 19 # DW_AT_language
370 .byte 5 # DW_FORM_data2
371 .byte 3 # DW_AT_name
372 .byte 37 # DW_FORM_strx1
373 .byte 118 # DW_AT_dwo_name
374 .byte 37 # DW_FORM_strx1
375 .byte 0 # EOM(1)
376 .byte 0 # EOM(2)
377 .byte 7 # Abbreviation Code
378 .byte 46 # DW_TAG_subprogram
379 .byte 1 # DW_CHILDREN_yes
380 .byte 17 # DW_AT_low_pc
381 .byte 27 # DW_FORM_addrx
382 .byte 18 # DW_AT_high_pc
383 .byte 6 # DW_FORM_data4
384 .byte 64 # DW_AT_frame_base
385 .byte 24 # DW_FORM_exprloc
386 .byte 3 # DW_AT_name
387 .byte 37 # DW_FORM_strx1
388 .byte 58 # DW_AT_decl_file
389 .byte 11 # DW_FORM_data1
390 .byte 59 # DW_AT_decl_line
391 .byte 11 # DW_FORM_data1
392 .byte 73 # DW_AT_type
393 .byte 19 # DW_FORM_ref4
394 .byte 63 # DW_AT_external
395 .byte 25 # DW_FORM_flag_present
396 .byte 0 # EOM(1)
397 .byte 0 # EOM(2)
398 .byte 8 # Abbreviation Code
399 .byte 5 # DW_TAG_formal_parameter
400 .byte 0 # DW_CHILDREN_no
401 .byte 2 # DW_AT_location
402 .byte 24 # DW_FORM_exprloc
403 .byte 3 # DW_AT_name
404 .byte 37 # DW_FORM_strx1
405 .byte 58 # DW_AT_decl_file
406 .byte 11 # DW_FORM_data1
407 .byte 59 # DW_AT_decl_line
408 .byte 11 # DW_FORM_data1
409 .byte 73 # DW_AT_type
410 .byte 19 # DW_FORM_ref4
411 .byte 0 # EOM(1)
412 .byte 0 # EOM(2)
413 .byte 9 # Abbreviation Code
414 .byte 52 # DW_TAG_variable
415 .byte 0 # DW_CHILDREN_no
416 .byte 2 # DW_AT_location
417 .byte 24 # DW_FORM_exprloc
418 .byte 3 # DW_AT_name
419 .byte 37 # DW_FORM_strx1
420 .byte 58 # DW_AT_decl_file
421 .byte 11 # DW_FORM_data1
422 .byte 59 # DW_AT_decl_line
423 .byte 11 # DW_FORM_data1
424 .byte 73 # DW_AT_type
425 .byte 19 # DW_FORM_ref4
426 .byte 0 # EOM(1)
427 .byte 0 # EOM(2)
428 .byte 10 # Abbreviation Code
429 .byte 19 # DW_TAG_structure_type
430 .byte 0 # DW_CHILDREN_no
431 .byte 60 # DW_AT_declaration
432 .byte 25 # DW_FORM_flag_present
433 .byte 105 # DW_AT_signature
434 .byte 32 # DW_FORM_ref_sig8
435 .byte 0 # EOM(1)
436 .byte 0 # EOM(2)
437 .byte 0 # EOM(3)
438 .section .debug_line.dwo,"e",@progbits
439 .Ltmp2:
440 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
441 .Ldebug_line_start0:
442 .short 5
443 .byte 8
444 .byte 0
445 .long .Lprologue_end0-.Lprologue_start0
446 .Lprologue_start0:
447 .byte 1
448 .byte 1
449 .byte 1
450 .byte -5
451 .byte 14
452 .byte 1
453 .byte 1
454 .byte 1
455 .byte 8
456 .byte 2
457 .byte 46
458 .byte 0
459 .byte 46
460 .byte 0
461 .byte 3
462 .byte 1
463 .byte 8
464 .byte 2
465 .byte 15
466 .byte 5
467 .byte 30
468 .byte 2
469 .ascii "main.cpp"
470 .byte 0
471 .byte 0
472 .byte 0x9c, 0x5c, 0xea, 0x5b
473 .byte 0xb7, 0x8d, 0x3f, 0xc2
474 .byte 0x65, 0xcd, 0x17, 0x51
475 .byte 0x10, 0xbf, 0xe9, 0x03
476 .ascii "header.h"
477 .byte 0
478 .byte 1
479 .byte 0xfe, 0xa7, 0xbb, 0x1f
480 .byte 0x22, 0xc4, 0x7f, 0x12
481 .byte 0x9e, 0x15, 0x69, 0x5f
482 .byte 0x71, 0x37, 0xa1, 0xe7
483 .Lprologue_end0:
484 .Ldebug_line_end0:
485 .section .debug_addr,"",@progbits
486 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
487 .Ldebug_addr_start0:
488 .short 5 # DWARF version number
489 .byte 8 # Address size
490 .byte 0 # Segment selector size
491 .Laddr_table_base0:
492 .quad .Lfunc_begin0
493 .Ldebug_addr_end0:
494 .ident "clang version 18.0.0"
495 .section ".note.GNU-stack","",@progbits
496 .addrsig
497 .section .debug_line,"",@progbits
498 .Lline_table_start0: