Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / debug-fission-simple-convert.s
blobda434207d5daf17113c9779fe8dca6ac4f7e4eda
1 .text
2 .file "debug-fission-simple.cpp"
3 .file 1 "" "debug-fission-simple.cpp"
4 .section .text._Z7doStuffi,"ax",@progbits
5 .globl _Z7doStuffi # -- Begin function _Z7doStuffi
6 .p2align 4, 0x90
7 .type _Z7doStuffi,@function
8 _Z7doStuffi: # @_Z7doStuffi
9 .Lfunc_begin0:
10 .loc 1 3 0 # debug-fission-simple.cpp:3:0
11 .cfi_startproc
12 # %bb.0: # %entry
13 pushq %rbp
14 .cfi_def_cfa_offset 16
15 .cfi_offset %rbp, -16
16 movq %rsp, %rbp
17 .cfi_def_cfa_register %rbp
18 movl %edi, -4(%rbp)
19 .Ltmp0:
20 .loc 1 4 11 prologue_end # debug-fission-simple.cpp:4:11
21 cmpl $5, -4(%rbp)
22 .Ltmp1:
23 .loc 1 4 7 is_stmt 0 # debug-fission-simple.cpp:4:7
24 jne .LBB0_2
25 # %bb.1: # %if.then
26 .Ltmp2:
27 .loc 1 5 16 is_stmt 1 # debug-fission-simple.cpp:5:16
28 movl _ZL3foo, %eax
29 .loc 1 5 14 is_stmt 0 # debug-fission-simple.cpp:5:14
30 addl $1, %eax
31 .loc 1 5 9 # debug-fission-simple.cpp:5:9
32 addl -4(%rbp), %eax
33 movl %eax, -4(%rbp)
34 .loc 1 5 5 # debug-fission-simple.cpp:5:5
35 jmp .LBB0_3
36 .LBB0_2: # %if.else
37 .loc 1 7 9 is_stmt 1 # debug-fission-simple.cpp:7:9
38 movl -4(%rbp), %eax
39 subl $1, %eax
40 movl %eax, -4(%rbp)
41 .Ltmp3:
42 .LBB0_3: # %if.end
43 .loc 1 8 10 # debug-fission-simple.cpp:8:10
44 movl -4(%rbp), %eax
45 .loc 1 8 3 is_stmt 0 # debug-fission-simple.cpp:8:3
46 popq %rbp
47 .cfi_def_cfa %rsp, 8
48 retq
49 .Ltmp4:
50 .Lfunc_end0:
51 .size _Z7doStuffi, .Lfunc_end0-_Z7doStuffi
52 .cfi_endproc
53 # -- End function
54 .section .text._Z8doStuff2i,"ax",@progbits
55 .globl _Z8doStuff2i # -- Begin function _Z8doStuff2i
56 .p2align 4, 0x90
57 .type _Z8doStuff2i,@function
58 _Z8doStuff2i: # @_Z8doStuff2i
59 .Lfunc_begin1:
60 .loc 1 11 0 is_stmt 1 # debug-fission-simple.cpp:11:0
61 .cfi_startproc
62 # %bb.0: # %entry
63 pushq %rbp
64 .cfi_def_cfa_offset 16
65 .cfi_offset %rbp, -16
66 movq %rsp, %rbp
67 .cfi_def_cfa_register %rbp
68 movl %edi, -4(%rbp)
69 .Ltmp5:
70 .loc 1 12 14 prologue_end # debug-fission-simple.cpp:12:14
71 movl -4(%rbp), %eax
72 addl $3, %eax
73 movl %eax, -4(%rbp)
74 .loc 1 12 3 is_stmt 0 # debug-fission-simple.cpp:12:3
75 popq %rbp
76 .cfi_def_cfa %rsp, 8
77 retq
78 .Ltmp6:
79 .Lfunc_end1:
80 .size _Z8doStuff2i, .Lfunc_end1-_Z8doStuff2i
81 .cfi_endproc
82 # -- End function
83 .section .text._Z6_startv,"ax",@progbits
84 .globl _Z6_startv # -- Begin function _Z6_startv
85 .p2align 4, 0x90
86 .type _Z6_startv,@function
87 _Z6_startv: # @_Z6_startv
88 .Lfunc_begin2:
89 .loc 1 15 0 is_stmt 1 # debug-fission-simple.cpp:15:0
90 .cfi_startproc
91 # %bb.0: # %entry
92 pushq %rbp
93 .cfi_def_cfa_offset 16
94 .cfi_offset %rbp, -16
95 movq %rsp, %rbp
96 .cfi_def_cfa_register %rbp
97 subq $16, %rsp
98 .Ltmp7:
99 .loc 1 16 7 prologue_end # debug-fission-simple.cpp:16:7
100 movl $4, -4(%rbp)
101 .loc 1 17 18 # debug-fission-simple.cpp:17:18
102 movl -4(%rbp), %edi
103 .loc 1 17 10 is_stmt 0 # debug-fission-simple.cpp:17:10
104 callq _Z7doStuffi
105 .loc 1 17 3 # debug-fission-simple.cpp:17:3
106 addq $16, %rsp
107 popq %rbp
108 .cfi_def_cfa %rsp, 8
109 retq
110 .Ltmp8:
111 .Lfunc_end2:
112 .size _Z6_startv, .Lfunc_end2-_Z6_startv
113 .cfi_endproc
114 # -- End function
115 .type _ZL3foo,@object # @_ZL3foo
116 .data
117 .p2align 2
118 _ZL3foo:
119 .long 2 # 0x2
120 .size _ZL3foo, 4
122 .section .debug_abbrev,"",@progbits
123 .byte 1 # Abbreviation Code
124 .byte 17 # DW_TAG_compile_unit
125 .byte 0 # DW_CHILDREN_no
126 .byte 16 # DW_AT_stmt_list
127 .byte 23 # DW_FORM_sec_offset
128 .byte 27 # DW_AT_comp_dir
129 .byte 14 # DW_FORM_strp
130 .ascii "\264B" # DW_AT_GNU_pubnames
131 .byte 25 # DW_FORM_flag_present
132 .ascii "\260B" # DW_AT_GNU_dwo_name
133 .byte 14 # DW_FORM_strp
134 .ascii "\261B" # DW_AT_GNU_dwo_id
135 .byte 7 # DW_FORM_data8
136 .byte 17 # DW_AT_low_pc
137 .byte 1 # DW_FORM_addr
138 .byte 85 # DW_AT_ranges
139 .byte 23 # DW_FORM_sec_offset
140 .ascii "\263B" # DW_AT_GNU_addr_base
141 .byte 23 # DW_FORM_sec_offset
142 .byte 0 # EOM(1)
143 .byte 0 # EOM(2)
144 .byte 0 # EOM(3)
145 .section .debug_info,"",@progbits
146 .Lcu_begin0:
147 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
148 .Ldebug_info_start0:
149 .short 4 # DWARF version number
150 .long .debug_abbrev # Offset Into Abbrev. Section
151 .byte 8 # Address Size (in bytes)
152 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
153 .long .Lline_table_start0 # DW_AT_stmt_list
154 .long .Lskel_string0 # DW_AT_comp_dir
155 # DW_AT_GNU_pubnames
156 .long .Lskel_string1 # DW_AT_GNU_dwo_name
157 .quad 436953012669069206 # DW_AT_GNU_dwo_id
158 .quad 0 # DW_AT_low_pc
159 .long .Ldebug_ranges0 # DW_AT_ranges
160 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
161 .Ldebug_info_end0:
162 .section .debug_ranges,"",@progbits
163 .Ldebug_ranges0:
164 .quad .Lfunc_begin0
165 .quad .Lfunc_end0
166 .quad .Lfunc_begin1
167 .quad .Lfunc_end1
168 .quad .Lfunc_begin2
169 .quad .Lfunc_end2
170 .quad 0
171 .quad 0
172 .section .debug_str,"MS",@progbits,1
173 .Lskel_string0:
174 .asciz "" # string offset=0
175 .Lskel_string1:
176 .asciz "debug-fission-simple-convert.dwo" # string offset=47
177 .section .debug_str.dwo,"eMS",@progbits,1
178 .Linfo_string0:
179 .asciz "foo" # string offset=0
180 .Linfo_string1:
181 .asciz "int" # string offset=4
182 .Linfo_string2:
183 .asciz "_ZL3foo" # string offset=8
184 .Linfo_string3:
185 .asciz "_Z7doStuffi" # string offset=16
186 .Linfo_string4:
187 .asciz "doStuff" # string offset=28
188 .Linfo_string5:
189 .asciz "_Z8doStuff2i" # string offset=36
190 .Linfo_string6:
191 .asciz "doStuff2" # string offset=49
192 .Linfo_string7:
193 .asciz "_Z6_startv" # string offset=58
194 .Linfo_string8:
195 .asciz "_start" # string offset=69
196 .Linfo_string9:
197 .asciz "val" # string offset=76
198 .Linfo_string10:
199 .asciz "clang version 13.0.0" # string offset=80
200 .Linfo_string11:
201 .asciz "debug-fission-simple.cpp" # string offset=214
202 .Linfo_string12:
203 .asciz "debug-fission-simple-convert.dwo" # string offset=239
204 .section .debug_str_offsets.dwo,"e",@progbits
205 .long 0
206 .long 4
207 .long 8
208 .long 16
209 .long 28
210 .long 36
211 .long 49
212 .long 58
213 .long 69
214 .long 76
215 .long 80
216 .long 214
217 .long 239
218 .section .debug_info.dwo,"e",@progbits
219 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
220 .Ldebug_info_dwo_start0:
221 .short 4 # DWARF version number
222 .long 0 # Offset Into Abbrev. Section
223 .byte 8 # Address Size (in bytes)
224 .byte 1 # Abbrev [1] 0xb:0x73 DW_TAG_compile_unit
225 .byte 10 # DW_AT_producer
226 .short 4 # DW_AT_language
227 .byte 11 # DW_AT_name
228 .byte 12 # DW_AT_GNU_dwo_name
229 .quad 436953012669069206 # DW_AT_GNU_dwo_id
230 .byte 2 # Abbrev [2] 0x19:0xc DW_TAG_variable
231 .byte 0 # DW_AT_name
232 .long 37 # DW_AT_type
233 .byte 1 # DW_AT_decl_file
234 .byte 2 # DW_AT_decl_line
235 .byte 2 # DW_AT_location
236 .byte 251
237 .byte 0
238 .byte 2 # DW_AT_linkage_name
239 .byte 3 # Abbrev [3] 0x25:0x4 DW_TAG_base_type
240 .byte 1 # DW_AT_name
241 .byte 5 # DW_AT_encoding
242 .byte 4 # DW_AT_byte_size
243 .byte 4 # Abbrev [4] 0x29:0x1c DW_TAG_subprogram
244 .byte 1 # 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 3 # DW_AT_linkage_name
249 .byte 4 # DW_AT_name
250 .byte 1 # DW_AT_decl_file
251 .byte 3 # DW_AT_decl_line
252 .long 37 # DW_AT_type
253 # DW_AT_external
254 .byte 5 # Abbrev [5] 0x39:0xb DW_TAG_formal_parameter
255 .byte 2 # DW_AT_location
256 .byte 145
257 .byte 124
258 .byte 9 # DW_AT_name
259 .byte 1 # DW_AT_decl_file
260 .byte 3 # DW_AT_decl_line
261 .long 37 # DW_AT_type
262 .byte 0 # End Of Children Mark
263 .byte 4 # Abbrev [4] 0x45:0x1c DW_TAG_subprogram
264 .byte 2 # DW_AT_low_pc
265 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
266 .byte 1 # DW_AT_frame_base
267 .byte 86
268 .byte 5 # DW_AT_linkage_name
269 .byte 6 # DW_AT_name
270 .byte 1 # DW_AT_decl_file
271 .byte 11 # DW_AT_decl_line
272 .long 37 # DW_AT_type
273 # DW_AT_external
274 .byte 5 # Abbrev [5] 0x55:0xb DW_TAG_formal_parameter
275 .byte 2 # DW_AT_location
276 .byte 145
277 .byte 124
278 .byte 9 # DW_AT_name
279 .byte 1 # DW_AT_decl_file
280 .byte 11 # DW_AT_decl_line
281 .long 37 # DW_AT_type
282 .byte 0 # End Of Children Mark
283 .byte 4 # Abbrev [4] 0x61:0x1c DW_TAG_subprogram
284 .byte 3 # DW_AT_low_pc
285 .long .Lfunc_end2-.Lfunc_begin2 # DW_AT_high_pc
286 .byte 1 # DW_AT_frame_base
287 .byte 86
288 .byte 7 # DW_AT_linkage_name
289 .byte 8 # DW_AT_name
290 .byte 1 # DW_AT_decl_file
291 .byte 15 # DW_AT_decl_line
292 .long 37 # DW_AT_type
293 # DW_AT_external
294 .byte 6 # Abbrev [6] 0x71:0xb DW_TAG_variable
295 .byte 2 # DW_AT_location
296 .byte 145
297 .byte 124
298 .byte 9 # DW_AT_name
299 .byte 1 # DW_AT_decl_file
300 .byte 16 # DW_AT_decl_line
301 .long 37 # DW_AT_type
302 .byte 0 # End Of Children Mark
303 .byte 0 # End Of Children Mark
304 .Ldebug_info_dwo_end0:
305 .section .debug_abbrev.dwo,"e",@progbits
306 .byte 1 # Abbreviation Code
307 .byte 17 # DW_TAG_compile_unit
308 .byte 1 # DW_CHILDREN_yes
309 .byte 37 # DW_AT_producer
310 .ascii "\202>" # DW_FORM_GNU_str_index
311 .byte 19 # DW_AT_language
312 .byte 5 # DW_FORM_data2
313 .byte 3 # DW_AT_name
314 .ascii "\202>" # DW_FORM_GNU_str_index
315 .ascii "\260B" # DW_AT_GNU_dwo_name
316 .ascii "\202>" # DW_FORM_GNU_str_index
317 .ascii "\261B" # DW_AT_GNU_dwo_id
318 .byte 7 # DW_FORM_data8
319 .byte 0 # EOM(1)
320 .byte 0 # EOM(2)
321 .byte 2 # Abbreviation Code
322 .byte 52 # DW_TAG_variable
323 .byte 0 # DW_CHILDREN_no
324 .byte 3 # DW_AT_name
325 .ascii "\202>" # DW_FORM_GNU_str_index
326 .byte 73 # DW_AT_type
327 .byte 19 # DW_FORM_ref4
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 2 # DW_AT_location
333 .byte 24 # DW_FORM_exprloc
334 .byte 110 # DW_AT_linkage_name
335 .ascii "\202>" # DW_FORM_GNU_str_index
336 .byte 0 # EOM(1)
337 .byte 0 # EOM(2)
338 .byte 3 # Abbreviation Code
339 .byte 36 # DW_TAG_base_type
340 .byte 0 # DW_CHILDREN_no
341 .byte 3 # DW_AT_name
342 .ascii "\202>" # DW_FORM_GNU_str_index
343 .byte 62 # DW_AT_encoding
344 .byte 11 # DW_FORM_data1
345 .byte 11 # DW_AT_byte_size
346 .byte 11 # DW_FORM_data1
347 .byte 0 # EOM(1)
348 .byte 0 # EOM(2)
349 .byte 4 # Abbreviation Code
350 .byte 46 # DW_TAG_subprogram
351 .byte 1 # DW_CHILDREN_yes
352 .byte 17 # DW_AT_low_pc
353 .ascii "\201>" # DW_FORM_GNU_addr_index
354 .byte 18 # DW_AT_high_pc
355 .byte 6 # DW_FORM_data4
356 .byte 64 # DW_AT_frame_base
357 .byte 24 # DW_FORM_exprloc
358 .byte 110 # DW_AT_linkage_name
359 .ascii "\202>" # DW_FORM_GNU_str_index
360 .byte 3 # DW_AT_name
361 .ascii "\202>" # DW_FORM_GNU_str_index
362 .byte 58 # DW_AT_decl_file
363 .byte 11 # DW_FORM_data1
364 .byte 59 # DW_AT_decl_line
365 .byte 11 # DW_FORM_data1
366 .byte 73 # DW_AT_type
367 .byte 19 # DW_FORM_ref4
368 .byte 63 # DW_AT_external
369 .byte 25 # DW_FORM_flag_present
370 .byte 0 # EOM(1)
371 .byte 0 # EOM(2)
372 .byte 5 # Abbreviation Code
373 .byte 5 # DW_TAG_formal_parameter
374 .byte 0 # DW_CHILDREN_no
375 .byte 2 # DW_AT_location
376 .byte 24 # DW_FORM_exprloc
377 .byte 3 # DW_AT_name
378 .ascii "\202>" # DW_FORM_GNU_str_index
379 .byte 58 # DW_AT_decl_file
380 .byte 11 # DW_FORM_data1
381 .byte 59 # DW_AT_decl_line
382 .byte 11 # DW_FORM_data1
383 .byte 73 # DW_AT_type
384 .byte 19 # DW_FORM_ref4
385 .byte 0 # EOM(1)
386 .byte 0 # EOM(2)
387 .byte 6 # Abbreviation Code
388 .byte 52 # DW_TAG_variable
389 .byte 0 # DW_CHILDREN_no
390 .byte 2 # DW_AT_location
391 .byte 24 # DW_FORM_exprloc
392 .byte 3 # DW_AT_name
393 .ascii "\202>" # DW_FORM_GNU_str_index
394 .byte 58 # DW_AT_decl_file
395 .byte 11 # DW_FORM_data1
396 .byte 59 # DW_AT_decl_line
397 .byte 11 # DW_FORM_data1
398 .byte 73 # DW_AT_type
399 .byte 19 # DW_FORM_ref4
400 .byte 0 # EOM(1)
401 .byte 0 # EOM(2)
402 .byte 0 # EOM(3)
403 .section .debug_addr,"",@progbits
404 .Laddr_table_base0:
405 .quad _ZL3foo
406 .quad .Lfunc_begin0
407 .quad .Lfunc_begin1
408 .quad .Lfunc_begin2
409 .section .debug_gnu_pubnames,"",@progbits
410 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
411 .LpubNames_start0:
412 .short 2 # DWARF Version
413 .long .Lcu_begin0 # Offset of Compilation Unit Info
414 .long 48 # Compilation Unit Length
415 .long 25 # DIE offset
416 .byte 160 # Attributes: VARIABLE, STATIC
417 .asciz "foo" # External Name
418 .long 41 # DIE offset
419 .byte 48 # Attributes: FUNCTION, EXTERNAL
420 .asciz "doStuff" # External Name
421 .long 69 # DIE offset
422 .byte 48 # Attributes: FUNCTION, EXTERNAL
423 .asciz "doStuff2" # External Name
424 .long 97 # DIE offset
425 .byte 48 # Attributes: FUNCTION, EXTERNAL
426 .asciz "_start" # External Name
427 .long 0 # End Mark
428 .LpubNames_end0:
429 .section .debug_gnu_pubtypes,"",@progbits
430 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
431 .LpubTypes_start0:
432 .short 2 # DWARF Version
433 .long .Lcu_begin0 # Offset of Compilation Unit Info
434 .long 48 # Compilation Unit Length
435 .long 37 # DIE offset
436 .byte 144 # Attributes: TYPE, STATIC
437 .asciz "int" # External Name
438 .long 0 # End Mark
439 .LpubTypes_end0:
440 .ident "clang version 13"
441 .section ".note.GNU-stack","",@progbits
442 .addrsig
443 .addrsig_sym _Z7doStuffi
444 .addrsig_sym _ZL3foo
445 .section .debug_line,"",@progbits
446 .Lline_table_start0: