Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf4-df-do-no-convert-low-pc-high-pc-to-ranges.s
blobc0967672b05ab7923ebc82561aa6cf069926bf9e
1 .text
2 .file "main.cpp"
3 .globl main # -- Begin function main
4 .p2align 4, 0x90
5 .type main,@function
6 main: # @main
7 .Lfunc_begin0:
8 .file 1 "." "main.cpp"
9 .loc 1 5 0 # main.cpp:5:0
10 .cfi_startproc
11 # %bb.0: # %entry
12 #DEBUG_VALUE: main:argc <- $edi
13 #DEBUG_VALUE: main:argv <- $rsi
14 pushq %rbx
15 .cfi_def_cfa_offset 16
16 .cfi_offset %rbx, -16
17 movl %edi, %ebx
18 .Ltmp0:
19 .loc 1 6 7 prologue_end # main.cpp:6:7
20 cmpq $0, _Z13may_not_existv@GOTPCREL(%rip)
21 je .LBB0_2
22 .Ltmp1:
23 # %bb.1: # %if.then
24 #DEBUG_VALUE: main:argc <- $ebx
25 #DEBUG_VALUE: main:argv <- $rsi
26 .loc 1 7 5 # main.cpp:7:5
27 callq _Z13may_not_existv@PLT
28 .Ltmp2:
29 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
30 .LBB0_2: # %if.end
31 #DEBUG_VALUE: main:argc <- $ebx
32 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
33 #DEBUG_VALUE: main:j <- 0
34 #DEBUG_VALUE: helper:i <- $ebx
35 .loc 1 2 10 # main.cpp:2:10
36 incl %ebx
37 .Ltmp3:
38 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
39 #DEBUG_VALUE: helper:i <- $ebx
40 #DEBUG_VALUE: main:j <- $ebx
41 .loc 1 10 3 # main.cpp:10:3
42 movl %ebx, %eax
43 .loc 1 10 3 epilogue_begin is_stmt 0 # main.cpp:10:3
44 popq %rbx
45 .Ltmp4:
46 #DEBUG_VALUE: helper:i <- $eax
47 #DEBUG_VALUE: main:j <- $eax
48 .cfi_def_cfa_offset 8
49 retq
50 .Ltmp5:
51 .Lfunc_end0:
52 .size main, .Lfunc_end0-main
53 .cfi_endproc
54 # -- End function
55 .section .debug_loc.dwo,"e",@progbits
56 .Ldebug_loc0:
57 .byte 3
58 .byte 0
59 .long .Ltmp1-.Lfunc_begin0
60 .short 1 # Loc expr size
61 .byte 85 # super-register DW_OP_reg5
62 .byte 3
63 .byte 2
64 .long .Ltmp3-.Ltmp1
65 .short 1 # Loc expr size
66 .byte 83 # super-register DW_OP_reg3
67 .byte 3
68 .byte 3
69 .long .Lfunc_end0-.Ltmp3
70 .short 4 # Loc expr size
71 .byte 243 # DW_OP_GNU_entry_value
72 .byte 1 # 1
73 .byte 85 # super-register DW_OP_reg5
74 .byte 159 # DW_OP_stack_value
75 .byte 0
76 .Ldebug_loc1:
77 .byte 3
78 .byte 0
79 .long .Ltmp2-.Lfunc_begin0
80 .short 1 # Loc expr size
81 .byte 84 # DW_OP_reg4
82 .byte 3
83 .byte 1
84 .long .Lfunc_end0-.Ltmp2
85 .short 4 # Loc expr size
86 .byte 243 # DW_OP_GNU_entry_value
87 .byte 1 # 1
88 .byte 84 # DW_OP_reg4
89 .byte 159 # DW_OP_stack_value
90 .byte 0
91 .Ldebug_loc2:
92 .byte 3
93 .byte 1
94 .long .Ltmp3-.Ltmp2
95 .short 3 # Loc expr size
96 .byte 17 # DW_OP_consts
97 .byte 0 # 0
98 .byte 159 # DW_OP_stack_value
99 .byte 3
100 .byte 3
101 .long .Ltmp4-.Ltmp3
102 .short 1 # Loc expr size
103 .byte 83 # super-register DW_OP_reg3
104 .byte 3
105 .byte 4
106 .long .Lfunc_end0-.Ltmp4
107 .short 1 # Loc expr size
108 .byte 80 # super-register DW_OP_reg0
109 .byte 0
110 .section .debug_abbrev,"",@progbits
111 .byte 1 # Abbreviation Code
112 .byte 17 # DW_TAG_compile_unit
113 .byte 0 # DW_CHILDREN_no
114 .byte 16 # DW_AT_stmt_list
115 .byte 23 # DW_FORM_sec_offset
116 .byte 27 # DW_AT_comp_dir
117 .byte 14 # DW_FORM_strp
118 .ascii "\264B" # DW_AT_GNU_pubnames
119 .byte 25 # DW_FORM_flag_present
120 .ascii "\260B" # DW_AT_GNU_dwo_name
121 .byte 14 # DW_FORM_strp
122 .ascii "\261B" # DW_AT_GNU_dwo_id
123 .byte 7 # DW_FORM_data8
124 .byte 17 # DW_AT_low_pc
125 .byte 1 # DW_FORM_addr
126 .byte 18 # DW_AT_high_pc
127 .byte 6 # DW_FORM_data4
128 .ascii "\263B" # DW_AT_GNU_addr_base
129 .byte 23 # DW_FORM_sec_offset
130 .byte 0 # EOM(1)
131 .byte 0 # EOM(2)
132 .byte 0 # EOM(3)
133 .section .debug_info,"",@progbits
134 .Lcu_begin0:
135 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
136 .Ldebug_info_start0:
137 .short 4 # DWARF version number
138 .long .debug_abbrev # Offset Into Abbrev. Section
139 .byte 8 # Address Size (in bytes)
140 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
141 .long .Lline_table_start0 # DW_AT_stmt_list
142 .long .Lskel_string0 # DW_AT_comp_dir
143 # DW_AT_GNU_pubnames
144 .long .Lskel_string1 # DW_AT_GNU_dwo_name
145 .quad -5076722043903325778 # DW_AT_GNU_dwo_id
146 .quad .Lfunc_begin0 # DW_AT_low_pc
147 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
148 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
149 .Ldebug_info_end0:
150 .section .debug_str,"MS",@progbits,1
151 .Lskel_string0:
152 .asciz "." # string offset=0
153 .Lskel_string1:
154 .asciz "main.dwo" # string offset=38
155 .section .debug_str.dwo,"eMS",@progbits,1
156 .Linfo_string0:
157 .asciz "_ZL6helperi" # string offset=0
158 .Linfo_string1:
159 .asciz "helper" # string offset=12
160 .Linfo_string2:
161 .asciz "int" # string offset=19
162 .Linfo_string3:
163 .asciz "i" # string offset=23
164 .Linfo_string4:
165 .asciz "_Z13may_not_existv" # string offset=25
166 .Linfo_string5:
167 .asciz "may_not_exist" # string offset=44
168 .Linfo_string6:
169 .asciz "main" # string offset=58
170 .Linfo_string7:
171 .asciz "argc" # string offset=63
172 .Linfo_string8:
173 .asciz "argv" # string offset=68
174 .Linfo_string9:
175 .asciz "char" # string offset=73
176 .Linfo_string10:
177 .asciz "j" # string offset=78
178 .Linfo_string11:
179 .asciz "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)" # string offset=80
180 .Linfo_string12:
181 .asciz "main.cpp" # string offset=185
182 .Linfo_string13:
183 .asciz "main.dwo" # string offset=194
184 .section .debug_str_offsets.dwo,"e",@progbits
185 .long 0
186 .long 12
187 .long 19
188 .long 23
189 .long 25
190 .long 44
191 .long 58
192 .long 63
193 .long 68
194 .long 73
195 .long 78
196 .long 80
197 .long 185
198 .long 194
199 .section .debug_info.dwo,"e",@progbits
200 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
201 .Ldebug_info_dwo_start0:
202 .short 4 # DWARF version number
203 .long 0 # Offset Into Abbrev. Section
204 .byte 8 # Address Size (in bytes)
205 .byte 1 # Abbrev [1] 0xb:0x88 DW_TAG_compile_unit
206 .byte 11 # DW_AT_producer
207 .short 33 # DW_AT_language
208 .byte 12 # DW_AT_name
209 .byte 13 # DW_AT_GNU_dwo_name
210 .quad -5076722043903325778 # DW_AT_GNU_dwo_id
211 .byte 2 # Abbrev [2] 0x19:0x13 DW_TAG_subprogram
212 .byte 0 # DW_AT_linkage_name
213 .byte 1 # DW_AT_name
214 .byte 1 # DW_AT_decl_file
215 .byte 1 # DW_AT_decl_line
216 .long 44 # DW_AT_type
217 .byte 1 # DW_AT_inline
218 .byte 3 # Abbrev [3] 0x23:0x8 DW_TAG_formal_parameter
219 .byte 3 # DW_AT_name
220 .byte 1 # DW_AT_decl_file
221 .byte 1 # DW_AT_decl_line
222 .long 44 # DW_AT_type
223 .byte 0 # End Of Children Mark
224 .byte 4 # Abbrev [4] 0x2c:0x4 DW_TAG_base_type
225 .byte 2 # DW_AT_name
226 .byte 5 # DW_AT_encoding
227 .byte 4 # DW_AT_byte_size
228 .byte 5 # Abbrev [5] 0x30:0x4f DW_TAG_subprogram
229 .byte 0 # DW_AT_low_pc
230 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
231 .byte 1 # DW_AT_frame_base
232 .byte 87
233 # DW_AT_GNU_all_call_sites
234 .byte 6 # DW_AT_name
235 .byte 1 # DW_AT_decl_file
236 .byte 5 # DW_AT_decl_line
237 .long 44 # DW_AT_type
238 # DW_AT_external
239 .byte 6 # Abbrev [6] 0x3f:0xc DW_TAG_formal_parameter
240 .long .Ldebug_loc0-.debug_loc.dwo # DW_AT_location
241 .byte 7 # DW_AT_name
242 .byte 1 # DW_AT_decl_file
243 .byte 5 # DW_AT_decl_line
244 .long 44 # DW_AT_type
245 .byte 6 # Abbrev [6] 0x4b:0xc DW_TAG_formal_parameter
246 .long .Ldebug_loc1-.debug_loc.dwo # DW_AT_location
247 .byte 8 # DW_AT_name
248 .byte 1 # DW_AT_decl_file
249 .byte 5 # DW_AT_decl_line
250 .long 132 # DW_AT_type
251 .byte 7 # Abbrev [7] 0x57:0xc DW_TAG_variable
252 .long .Ldebug_loc2-.debug_loc.dwo # DW_AT_location
253 .byte 10 # DW_AT_name
254 .byte 1 # DW_AT_decl_file
255 .byte 8 # DW_AT_decl_line
256 .long 44 # DW_AT_type
257 .byte 8 # Abbrev [8] 0x63:0x15 DW_TAG_inlined_subroutine
258 .long 25 # DW_AT_abstract_origin
259 .byte 1 # DW_AT_low_pc
260 .long .Ltmp3-.Ltmp2 # DW_AT_high_pc
261 .byte 1 # DW_AT_call_file
262 .byte 9 # DW_AT_call_line
263 .byte 32 # DW_AT_call_column
264 .byte 9 # Abbrev [9] 0x70:0x7 DW_TAG_formal_parameter
265 .byte 1 # DW_AT_location
266 .byte 83
267 .long 35 # DW_AT_abstract_origin
268 .byte 0 # End Of Children Mark
269 .byte 10 # Abbrev [10] 0x78:0x6 DW_TAG_GNU_call_site
270 .long 127 # DW_AT_abstract_origin
271 .byte 1 # DW_AT_low_pc
272 .byte 0 # End Of Children Mark
273 .byte 11 # Abbrev [11] 0x7f:0x5 DW_TAG_subprogram
274 .byte 4 # DW_AT_linkage_name
275 .byte 5 # DW_AT_name
276 .byte 1 # DW_AT_decl_file
277 .byte 4 # DW_AT_decl_line
278 # DW_AT_declaration
279 # DW_AT_external
280 .byte 12 # Abbrev [12] 0x84:0x5 DW_TAG_pointer_type
281 .long 137 # DW_AT_type
282 .byte 12 # Abbrev [12] 0x89:0x5 DW_TAG_pointer_type
283 .long 142 # DW_AT_type
284 .byte 4 # Abbrev [4] 0x8e:0x4 DW_TAG_base_type
285 .byte 9 # DW_AT_name
286 .byte 6 # DW_AT_encoding
287 .byte 1 # DW_AT_byte_size
288 .byte 0 # End Of Children Mark
289 .Ldebug_info_dwo_end0:
290 .section .debug_abbrev.dwo,"e",@progbits
291 .byte 1 # Abbreviation Code
292 .byte 17 # DW_TAG_compile_unit
293 .byte 1 # DW_CHILDREN_yes
294 .byte 37 # DW_AT_producer
295 .ascii "\202>" # DW_FORM_GNU_str_index
296 .byte 19 # DW_AT_language
297 .byte 5 # DW_FORM_data2
298 .byte 3 # DW_AT_name
299 .ascii "\202>" # DW_FORM_GNU_str_index
300 .ascii "\260B" # DW_AT_GNU_dwo_name
301 .ascii "\202>" # DW_FORM_GNU_str_index
302 .ascii "\261B" # DW_AT_GNU_dwo_id
303 .byte 7 # DW_FORM_data8
304 .byte 0 # EOM(1)
305 .byte 0 # EOM(2)
306 .byte 2 # Abbreviation Code
307 .byte 46 # DW_TAG_subprogram
308 .byte 1 # DW_CHILDREN_yes
309 .byte 110 # DW_AT_linkage_name
310 .ascii "\202>" # DW_FORM_GNU_str_index
311 .byte 3 # DW_AT_name
312 .ascii "\202>" # DW_FORM_GNU_str_index
313 .byte 58 # DW_AT_decl_file
314 .byte 11 # DW_FORM_data1
315 .byte 59 # DW_AT_decl_line
316 .byte 11 # DW_FORM_data1
317 .byte 73 # DW_AT_type
318 .byte 19 # DW_FORM_ref4
319 .byte 32 # DW_AT_inline
320 .byte 11 # DW_FORM_data1
321 .byte 0 # EOM(1)
322 .byte 0 # EOM(2)
323 .byte 3 # Abbreviation Code
324 .byte 5 # DW_TAG_formal_parameter
325 .byte 0 # DW_CHILDREN_no
326 .byte 3 # DW_AT_name
327 .ascii "\202>" # DW_FORM_GNU_str_index
328 .byte 58 # DW_AT_decl_file
329 .byte 11 # DW_FORM_data1
330 .byte 59 # DW_AT_decl_line
331 .byte 11 # DW_FORM_data1
332 .byte 73 # DW_AT_type
333 .byte 19 # DW_FORM_ref4
334 .byte 0 # EOM(1)
335 .byte 0 # EOM(2)
336 .byte 4 # Abbreviation Code
337 .byte 36 # DW_TAG_base_type
338 .byte 0 # DW_CHILDREN_no
339 .byte 3 # DW_AT_name
340 .ascii "\202>" # DW_FORM_GNU_str_index
341 .byte 62 # DW_AT_encoding
342 .byte 11 # DW_FORM_data1
343 .byte 11 # DW_AT_byte_size
344 .byte 11 # DW_FORM_data1
345 .byte 0 # EOM(1)
346 .byte 0 # EOM(2)
347 .byte 5 # Abbreviation Code
348 .byte 46 # DW_TAG_subprogram
349 .byte 1 # DW_CHILDREN_yes
350 .byte 17 # DW_AT_low_pc
351 .ascii "\201>" # DW_FORM_GNU_addr_index
352 .byte 18 # DW_AT_high_pc
353 .byte 6 # DW_FORM_data4
354 .byte 64 # DW_AT_frame_base
355 .byte 24 # DW_FORM_exprloc
356 .ascii "\227B" # DW_AT_GNU_all_call_sites
357 .byte 25 # DW_FORM_flag_present
358 .byte 3 # DW_AT_name
359 .ascii "\202>" # DW_FORM_GNU_str_index
360 .byte 58 # DW_AT_decl_file
361 .byte 11 # DW_FORM_data1
362 .byte 59 # DW_AT_decl_line
363 .byte 11 # DW_FORM_data1
364 .byte 73 # DW_AT_type
365 .byte 19 # DW_FORM_ref4
366 .byte 63 # DW_AT_external
367 .byte 25 # DW_FORM_flag_present
368 .byte 0 # EOM(1)
369 .byte 0 # EOM(2)
370 .byte 6 # Abbreviation Code
371 .byte 5 # DW_TAG_formal_parameter
372 .byte 0 # DW_CHILDREN_no
373 .byte 2 # DW_AT_location
374 .byte 23 # DW_FORM_sec_offset
375 .byte 3 # DW_AT_name
376 .ascii "\202>" # DW_FORM_GNU_str_index
377 .byte 58 # DW_AT_decl_file
378 .byte 11 # DW_FORM_data1
379 .byte 59 # DW_AT_decl_line
380 .byte 11 # DW_FORM_data1
381 .byte 73 # DW_AT_type
382 .byte 19 # DW_FORM_ref4
383 .byte 0 # EOM(1)
384 .byte 0 # EOM(2)
385 .byte 7 # Abbreviation Code
386 .byte 52 # DW_TAG_variable
387 .byte 0 # DW_CHILDREN_no
388 .byte 2 # DW_AT_location
389 .byte 23 # DW_FORM_sec_offset
390 .byte 3 # DW_AT_name
391 .ascii "\202>" # DW_FORM_GNU_str_index
392 .byte 58 # DW_AT_decl_file
393 .byte 11 # DW_FORM_data1
394 .byte 59 # DW_AT_decl_line
395 .byte 11 # DW_FORM_data1
396 .byte 73 # DW_AT_type
397 .byte 19 # DW_FORM_ref4
398 .byte 0 # EOM(1)
399 .byte 0 # EOM(2)
400 .byte 8 # Abbreviation Code
401 .byte 29 # DW_TAG_inlined_subroutine
402 .byte 1 # DW_CHILDREN_yes
403 .byte 49 # DW_AT_abstract_origin
404 .byte 19 # DW_FORM_ref4
405 .byte 17 # DW_AT_low_pc
406 .ascii "\201>" # DW_FORM_GNU_addr_index
407 .byte 18 # DW_AT_high_pc
408 .byte 6 # DW_FORM_data4
409 .byte 88 # DW_AT_call_file
410 .byte 11 # DW_FORM_data1
411 .byte 89 # DW_AT_call_line
412 .byte 11 # DW_FORM_data1
413 .byte 87 # DW_AT_call_column
414 .byte 11 # DW_FORM_data1
415 .byte 0 # EOM(1)
416 .byte 0 # EOM(2)
417 .byte 9 # Abbreviation Code
418 .byte 5 # DW_TAG_formal_parameter
419 .byte 0 # DW_CHILDREN_no
420 .byte 2 # DW_AT_location
421 .byte 24 # DW_FORM_exprloc
422 .byte 49 # DW_AT_abstract_origin
423 .byte 19 # DW_FORM_ref4
424 .byte 0 # EOM(1)
425 .byte 0 # EOM(2)
426 .byte 10 # Abbreviation Code
427 .ascii "\211\202\001" # DW_TAG_GNU_call_site
428 .byte 0 # DW_CHILDREN_no
429 .byte 49 # DW_AT_abstract_origin
430 .byte 19 # DW_FORM_ref4
431 .byte 17 # DW_AT_low_pc
432 .ascii "\201>" # DW_FORM_GNU_addr_index
433 .byte 0 # EOM(1)
434 .byte 0 # EOM(2)
435 .byte 11 # Abbreviation Code
436 .byte 46 # DW_TAG_subprogram
437 .byte 0 # DW_CHILDREN_no
438 .byte 110 # DW_AT_linkage_name
439 .ascii "\202>" # DW_FORM_GNU_str_index
440 .byte 3 # DW_AT_name
441 .ascii "\202>" # DW_FORM_GNU_str_index
442 .byte 58 # DW_AT_decl_file
443 .byte 11 # DW_FORM_data1
444 .byte 59 # DW_AT_decl_line
445 .byte 11 # DW_FORM_data1
446 .byte 60 # DW_AT_declaration
447 .byte 25 # DW_FORM_flag_present
448 .byte 63 # DW_AT_external
449 .byte 25 # DW_FORM_flag_present
450 .byte 0 # EOM(1)
451 .byte 0 # EOM(2)
452 .byte 12 # Abbreviation Code
453 .byte 15 # DW_TAG_pointer_type
454 .byte 0 # DW_CHILDREN_no
455 .byte 73 # DW_AT_type
456 .byte 19 # DW_FORM_ref4
457 .byte 0 # EOM(1)
458 .byte 0 # EOM(2)
459 .byte 0 # EOM(3)
460 .section .debug_addr,"",@progbits
461 .Laddr_table_base0:
462 .quad .Lfunc_begin0
463 .quad .Ltmp2
464 .quad .Ltmp1
465 .quad .Ltmp3
466 .quad .Ltmp4
467 .section .debug_gnu_pubnames,"",@progbits
468 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
469 .LpubNames_start0:
470 .short 2 # DWARF Version
471 .long .Lcu_begin0 # Offset of Compilation Unit Info
472 .long 48 # Compilation Unit Length
473 .long 48 # DIE offset
474 .byte 48 # Attributes: FUNCTION, EXTERNAL
475 .asciz "main" # External Name
476 .long 25 # DIE offset
477 .byte 176 # Attributes: FUNCTION, STATIC
478 .asciz "helper" # External Name
479 .long 0 # End Mark
480 .LpubNames_end0:
481 .section .debug_gnu_pubtypes,"",@progbits
482 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
483 .LpubTypes_start0:
484 .short 2 # DWARF Version
485 .long .Lcu_begin0 # Offset of Compilation Unit Info
486 .long 48 # Compilation Unit Length
487 .long 44 # DIE offset
488 .byte 144 # Attributes: TYPE, STATIC
489 .asciz "int" # External Name
490 .long 142 # DIE offset
491 .byte 144 # Attributes: TYPE, STATIC
492 .asciz "char" # External Name
493 .long 0 # End Mark
494 .LpubTypes_end0:
495 .weak _Z13may_not_existv
496 .ident "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)"
497 .section ".note.GNU-stack","",@progbits
498 .addrsig
499 .addrsig_sym _Z13may_not_existv
500 .section .debug_line,"",@progbits
501 .Lline_table_start0: