Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf4-df-call-site-change-low-pc-helper.s
blob75ffbf00d6fca891b24e1688b09a7d541655d4b7
1 # clang++ -O2 -g -gdwarf-4 -gsplit-dwarf
2 # int z = 0;
3 # int d = 0;
4 # int helper(int z_, int d_) {
5 # z += z_;
6 # d += d_;
7 # return z * d;
8 # }
10 .text
11 .file "helper.cpp"
12 .file 1 "." "helper.cpp"
13 .globl _Z6helperii # -- Begin function _Z6helperii
14 .p2align 4, 0x90
15 .type _Z6helperii,@function
16 _Z6helperii: # @_Z6helperii
17 .Lfunc_begin0:
18 .loc 1 3 0 # helper.cpp:3:0
19 .cfi_startproc
20 # %bb.0: # %entry
21 #DEBUG_VALUE: helper:z_ <- $edi
22 #DEBUG_VALUE: helper:d_ <- $esi
23 movl %esi, %eax
24 .Ltmp0:
25 .loc 1 4 4 prologue_end # helper.cpp:4:4
26 addl z(%rip), %edi
27 .Ltmp1:
28 #DEBUG_VALUE: helper:z_ <- [DW_OP_LLVM_entry_value 1] $edi
29 .loc 1 5 4 # helper.cpp:5:4
30 addl d(%rip), %eax
31 .loc 1 4 4 # helper.cpp:4:4
32 movl %edi, z(%rip)
33 .loc 1 5 4 # helper.cpp:5:4
34 movl %eax, d(%rip)
35 .loc 1 6 11 # helper.cpp:6:11
36 imull %edi, %eax
37 .loc 1 6 2 is_stmt 0 # helper.cpp:6:2
38 retq
39 .Ltmp2:
40 .Lfunc_end0:
41 .size _Z6helperii, .Lfunc_end0-_Z6helperii
42 .cfi_endproc
43 # -- End function
44 .type z,@object # @z
45 .bss
46 .globl z
47 .p2align 2, 0x0
49 .long 0 # 0x0
50 .size z, 4
52 .type d,@object # @d
53 .globl d
54 .p2align 2, 0x0
56 .long 0 # 0x0
57 .size d, 4
59 .section .debug_loc.dwo,"e",@progbits
60 .Ldebug_loc0:
61 .byte 3
62 .byte 2
63 .long .Ltmp1-.Lfunc_begin0
64 .short 1 # Loc expr size
65 .byte 85 # super-register DW_OP_reg5
66 .byte 3
67 .byte 3
68 .long .Lfunc_end0-.Ltmp1
69 .short 4 # Loc expr size
70 .byte 243 # DW_OP_GNU_entry_value
71 .byte 1 # 1
72 .byte 85 # super-register DW_OP_reg5
73 .byte 159 # DW_OP_stack_value
74 .byte 0
75 .section .debug_abbrev,"",@progbits
76 .byte 1 # Abbreviation Code
77 .byte 17 # DW_TAG_compile_unit
78 .byte 0 # DW_CHILDREN_no
79 .byte 16 # DW_AT_stmt_list
80 .byte 23 # DW_FORM_sec_offset
81 .byte 27 # DW_AT_comp_dir
82 .byte 14 # DW_FORM_strp
83 .ascii "\264B" # DW_AT_GNU_pubnames
84 .byte 25 # DW_FORM_flag_present
85 .ascii "\260B" # DW_AT_GNU_dwo_name
86 .byte 14 # DW_FORM_strp
87 .ascii "\261B" # DW_AT_GNU_dwo_id
88 .byte 7 # DW_FORM_data8
89 .byte 17 # DW_AT_low_pc
90 .byte 1 # DW_FORM_addr
91 .byte 18 # DW_AT_high_pc
92 .byte 6 # DW_FORM_data4
93 .ascii "\263B" # DW_AT_GNU_addr_base
94 .byte 23 # DW_FORM_sec_offset
95 .byte 0 # EOM(1)
96 .byte 0 # EOM(2)
97 .byte 0 # EOM(3)
98 .section .debug_info,"",@progbits
99 .Lcu_begin0:
100 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
101 .Ldebug_info_start0:
102 .short 4 # DWARF version number
103 .long .debug_abbrev # Offset Into Abbrev. Section
104 .byte 8 # Address Size (in bytes)
105 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
106 .long .Lline_table_start0 # DW_AT_stmt_list
107 .long .Lskel_string0 # DW_AT_comp_dir
108 # DW_AT_GNU_pubnames
109 .long .Lskel_string1 # DW_AT_GNU_dwo_name
110 .quad -7229095317601456558 # DW_AT_GNU_dwo_id
111 .quad .Lfunc_begin0 # DW_AT_low_pc
112 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
113 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
114 .Ldebug_info_end0:
115 .section .debug_str,"MS",@progbits,1
116 .Lskel_string0:
117 .asciz "." # string offset=0
118 .Lskel_string1:
119 .asciz "helper.dwo" # string offset=47
120 .section .debug_str.dwo,"eMS",@progbits,1
121 .Linfo_string0:
122 .asciz "z" # string offset=0
123 .Linfo_string1:
124 .asciz "int" # string offset=2
125 .Linfo_string2:
126 .asciz "d" # string offset=6
127 .Linfo_string3:
128 .asciz "_Z6helperii" # string offset=8
129 .Linfo_string4:
130 .asciz "helper" # string offset=20
131 .Linfo_string5:
132 .asciz "z_" # string offset=27
133 .Linfo_string6:
134 .asciz "d_" # string offset=30
135 .Linfo_string7:
136 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=33
137 .Linfo_string8:
138 .asciz "helper.cpp" # string offset=134
139 .Linfo_string9:
140 .asciz "helper.dwo" # string offset=145
141 .section .debug_str_offsets.dwo,"e",@progbits
142 .long 0
143 .long 2
144 .long 6
145 .long 8
146 .long 20
147 .long 27
148 .long 30
149 .long 33
150 .long 134
151 .long 145
152 .section .debug_info.dwo,"e",@progbits
153 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
154 .Ldebug_info_dwo_start0:
155 .short 4 # DWARF version number
156 .long 0 # Offset Into Abbrev. Section
157 .byte 8 # Address Size (in bytes)
158 .byte 1 # Abbrev [1] 0xb:0x50 DW_TAG_compile_unit
159 .byte 7 # DW_AT_producer
160 .short 33 # DW_AT_language
161 .byte 8 # DW_AT_name
162 .byte 9 # DW_AT_GNU_dwo_name
163 .quad -7229095317601456558 # DW_AT_GNU_dwo_id
164 .byte 2 # Abbrev [2] 0x19:0xb DW_TAG_variable
165 .byte 0 # DW_AT_name
166 .long 36 # DW_AT_type
167 # DW_AT_external
168 .byte 1 # DW_AT_decl_file
169 .byte 1 # DW_AT_decl_line
170 .byte 2 # DW_AT_location
171 .byte 251
172 .byte 0
173 .byte 3 # Abbrev [3] 0x24:0x4 DW_TAG_base_type
174 .byte 1 # DW_AT_name
175 .byte 5 # DW_AT_encoding
176 .byte 4 # DW_AT_byte_size
177 .byte 2 # Abbrev [2] 0x28:0xb DW_TAG_variable
178 .byte 2 # DW_AT_name
179 .long 36 # DW_AT_type
180 # DW_AT_external
181 .byte 1 # DW_AT_decl_file
182 .byte 2 # DW_AT_decl_line
183 .byte 2 # DW_AT_location
184 .byte 251
185 .byte 1
186 .byte 4 # Abbrev [4] 0x33:0x27 DW_TAG_subprogram
187 .byte 2 # DW_AT_low_pc
188 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
189 .byte 1 # DW_AT_frame_base
190 .byte 87
191 # DW_AT_GNU_all_call_sites
192 .byte 3 # DW_AT_linkage_name
193 .byte 4 # DW_AT_name
194 .byte 1 # DW_AT_decl_file
195 .byte 3 # DW_AT_decl_line
196 .long 36 # DW_AT_type
197 # DW_AT_external
198 .byte 5 # Abbrev [5] 0x43:0xc DW_TAG_formal_parameter
199 .long .Ldebug_loc0-.debug_loc.dwo # DW_AT_location
200 .byte 5 # DW_AT_name
201 .byte 1 # DW_AT_decl_file
202 .byte 3 # DW_AT_decl_line
203 .long 36 # DW_AT_type
204 .byte 6 # Abbrev [6] 0x4f:0xa DW_TAG_formal_parameter
205 .byte 1 # DW_AT_location
206 .byte 84
207 .byte 6 # DW_AT_name
208 .byte 1 # DW_AT_decl_file
209 .byte 3 # DW_AT_decl_line
210 .long 36 # DW_AT_type
211 .byte 0 # End Of Children Mark
212 .byte 0 # End Of Children Mark
213 .Ldebug_info_dwo_end0:
214 .section .debug_abbrev.dwo,"e",@progbits
215 .byte 1 # Abbreviation Code
216 .byte 17 # DW_TAG_compile_unit
217 .byte 1 # DW_CHILDREN_yes
218 .byte 37 # DW_AT_producer
219 .ascii "\202>" # DW_FORM_GNU_str_index
220 .byte 19 # DW_AT_language
221 .byte 5 # DW_FORM_data2
222 .byte 3 # DW_AT_name
223 .ascii "\202>" # DW_FORM_GNU_str_index
224 .ascii "\260B" # DW_AT_GNU_dwo_name
225 .ascii "\202>" # DW_FORM_GNU_str_index
226 .ascii "\261B" # DW_AT_GNU_dwo_id
227 .byte 7 # DW_FORM_data8
228 .byte 0 # EOM(1)
229 .byte 0 # EOM(2)
230 .byte 2 # Abbreviation Code
231 .byte 52 # DW_TAG_variable
232 .byte 0 # DW_CHILDREN_no
233 .byte 3 # DW_AT_name
234 .ascii "\202>" # DW_FORM_GNU_str_index
235 .byte 73 # DW_AT_type
236 .byte 19 # DW_FORM_ref4
237 .byte 63 # DW_AT_external
238 .byte 25 # DW_FORM_flag_present
239 .byte 58 # DW_AT_decl_file
240 .byte 11 # DW_FORM_data1
241 .byte 59 # DW_AT_decl_line
242 .byte 11 # DW_FORM_data1
243 .byte 2 # DW_AT_location
244 .byte 24 # DW_FORM_exprloc
245 .byte 0 # EOM(1)
246 .byte 0 # EOM(2)
247 .byte 3 # Abbreviation Code
248 .byte 36 # DW_TAG_base_type
249 .byte 0 # DW_CHILDREN_no
250 .byte 3 # DW_AT_name
251 .ascii "\202>" # DW_FORM_GNU_str_index
252 .byte 62 # DW_AT_encoding
253 .byte 11 # DW_FORM_data1
254 .byte 11 # DW_AT_byte_size
255 .byte 11 # DW_FORM_data1
256 .byte 0 # EOM(1)
257 .byte 0 # EOM(2)
258 .byte 4 # Abbreviation Code
259 .byte 46 # DW_TAG_subprogram
260 .byte 1 # DW_CHILDREN_yes
261 .byte 17 # DW_AT_low_pc
262 .ascii "\201>" # DW_FORM_GNU_addr_index
263 .byte 18 # DW_AT_high_pc
264 .byte 6 # DW_FORM_data4
265 .byte 64 # DW_AT_frame_base
266 .byte 24 # DW_FORM_exprloc
267 .ascii "\227B" # DW_AT_GNU_all_call_sites
268 .byte 25 # DW_FORM_flag_present
269 .byte 110 # DW_AT_linkage_name
270 .ascii "\202>" # DW_FORM_GNU_str_index
271 .byte 3 # DW_AT_name
272 .ascii "\202>" # DW_FORM_GNU_str_index
273 .byte 58 # DW_AT_decl_file
274 .byte 11 # DW_FORM_data1
275 .byte 59 # DW_AT_decl_line
276 .byte 11 # DW_FORM_data1
277 .byte 73 # DW_AT_type
278 .byte 19 # DW_FORM_ref4
279 .byte 63 # DW_AT_external
280 .byte 25 # DW_FORM_flag_present
281 .byte 0 # EOM(1)
282 .byte 0 # EOM(2)
283 .byte 5 # Abbreviation Code
284 .byte 5 # DW_TAG_formal_parameter
285 .byte 0 # DW_CHILDREN_no
286 .byte 2 # DW_AT_location
287 .byte 23 # DW_FORM_sec_offset
288 .byte 3 # DW_AT_name
289 .ascii "\202>" # DW_FORM_GNU_str_index
290 .byte 58 # DW_AT_decl_file
291 .byte 11 # DW_FORM_data1
292 .byte 59 # DW_AT_decl_line
293 .byte 11 # DW_FORM_data1
294 .byte 73 # DW_AT_type
295 .byte 19 # DW_FORM_ref4
296 .byte 0 # EOM(1)
297 .byte 0 # EOM(2)
298 .byte 6 # Abbreviation Code
299 .byte 5 # DW_TAG_formal_parameter
300 .byte 0 # DW_CHILDREN_no
301 .byte 2 # DW_AT_location
302 .byte 24 # DW_FORM_exprloc
303 .byte 3 # DW_AT_name
304 .ascii "\202>" # DW_FORM_GNU_str_index
305 .byte 58 # DW_AT_decl_file
306 .byte 11 # DW_FORM_data1
307 .byte 59 # DW_AT_decl_line
308 .byte 11 # DW_FORM_data1
309 .byte 73 # DW_AT_type
310 .byte 19 # DW_FORM_ref4
311 .byte 0 # EOM(1)
312 .byte 0 # EOM(2)
313 .byte 0 # EOM(3)
314 .section .debug_addr,"",@progbits
315 .Laddr_table_base0:
316 .quad z
317 .quad d
318 .quad .Lfunc_begin0
319 .quad .Ltmp1
320 .section .debug_gnu_pubnames,"",@progbits
321 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
322 .LpubNames_start0:
323 .short 2 # DWARF Version
324 .long .Lcu_begin0 # Offset of Compilation Unit Info
325 .long 48 # Compilation Unit Length
326 .long 25 # DIE offset
327 .byte 32 # Attributes: VARIABLE, EXTERNAL
328 .asciz "z" # External Name
329 .long 40 # DIE offset
330 .byte 32 # Attributes: VARIABLE, EXTERNAL
331 .asciz "d" # External Name
332 .long 51 # DIE offset
333 .byte 48 # Attributes: FUNCTION, EXTERNAL
334 .asciz "helper" # External Name
335 .long 0 # End Mark
336 .LpubNames_end0:
337 .section .debug_gnu_pubtypes,"",@progbits
338 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
339 .LpubTypes_start0:
340 .short 2 # DWARF Version
341 .long .Lcu_begin0 # Offset of Compilation Unit Info
342 .long 48 # Compilation Unit Length
343 .long 36 # DIE offset
344 .byte 144 # Attributes: TYPE, STATIC
345 .asciz "int" # External Name
346 .long 0 # End Mark
347 .LpubTypes_end0:
348 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)"
349 .section ".note.GNU-stack","",@progbits
350 .addrsig
351 .section .debug_line,"",@progbits
352 .Lline_table_start0: