xref: /llvm-project/bolt/test/X86/Inputs/debug-fission-simple-convert.s (revision 75f770a68f70498f0b5229597f70dd8204c66e7c)
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
121
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:
447