xref: /llvm-project/llvm/test/tools/llvm-debuginfo-analyzer/WebAssembly/Inputs/test-clang.s (revision b19cfb9175223d3e1bb3ef6d49ccd26d0104906c)
1	.text
2	.file	"test.cpp"
3	.globaltype	__stack_pointer, i32
4	.functype	_Z3fooPKijb (i32, i32, i32) -> (i32)
5	.section	.text._Z3fooPKijb,"",@
6	.hidden	_Z3fooPKijb                     # -- Begin function _Z3fooPKijb
7	.globl	_Z3fooPKijb
8	.type	_Z3fooPKijb,@function
9_Z3fooPKijb:                            # @_Z3fooPKijb
10.Lfunc_begin0:
11	.file	1 "/data/projects/scripts/regression-suite/input/general" "test.cpp"
12	.loc	1 2 0                           # test.cpp:2:0
13	.functype	_Z3fooPKijb (i32, i32, i32) -> (i32)
14	.local  	i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
15# %bb.0:                                # %entry
16	global.get	__stack_pointer
17	local.set	3
18	i32.const	32
19	local.set	4
20	local.get	3
21	local.get	4
22	i32.sub
23	local.set	5
24	local.get	5
25	local.get	0
26	i32.store	24
27	local.get	5
28	local.get	1
29	i32.store	20
30	local.get	2
31	local.set	6
32	local.get	5
33	local.get	6
34	i32.store8	19
35.Ltmp0:
36	.loc	1 3 7 prologue_end              # test.cpp:3:7
37	local.get	5
38	i32.load8_u	19
39	local.set	7
40.Ltmp1:
41	.loc	1 3 7 is_stmt 0                 # test.cpp:3:7
42	i32.const	1
43	local.set	8
44	local.get	7
45	local.get	8
46	i32.and
47	local.set	9
48	block
49	block
50	local.get	9
51	i32.eqz
52	br_if   	0                               # 0: down to label1
53# %bb.1:                                # %if.then
54.Ltmp2:
55	.loc	1 5 19 is_stmt 1                # test.cpp:5:19
56	i32.const	7
57	local.set	10
58	local.get	5
59	local.get	10
60	i32.store	12
61	.loc	1 6 5                           # test.cpp:6:5
62	i32.const	7
63	local.set	11
64	local.get	5
65	local.get	11
66	i32.store	28
67	br      	1                               # 1: down to label0
68.Ltmp3:
69.LBB0_2:                                # %if.end
70	.loc	1 0 5 is_stmt 0                 # test.cpp:0:5
71	end_block                               # label1:
72	.loc	1 8 10 is_stmt 1                # test.cpp:8:10
73	local.get	5
74	i32.load	20
75	local.set	12
76	.loc	1 8 3 is_stmt 0                 # test.cpp:8:3
77	local.get	5
78	local.get	12
79	i32.store	28
80.LBB0_3:                                # %return
81	.loc	1 0 3                           # test.cpp:0:3
82	end_block                               # label0:
83	.loc	1 9 1 is_stmt 1                 # test.cpp:9:1
84	local.get	5
85	i32.load	28
86	local.set	13
87	local.get	13
88	return
89	end_function
90.Ltmp4:
91.Lfunc_end0:
92                                        # -- End function
93	.section	.debug_abbrev,"",@
94	.int8	1                               # Abbreviation Code
95	.int8	17                              # DW_TAG_compile_unit
96	.int8	1                               # DW_CHILDREN_yes
97	.int8	37                              # DW_AT_producer
98	.int8	14                              # DW_FORM_strp
99	.int8	19                              # DW_AT_language
100	.int8	5                               # DW_FORM_data2
101	.int8	3                               # DW_AT_name
102	.int8	14                              # DW_FORM_strp
103	.int8	16                              # DW_AT_stmt_list
104	.int8	23                              # DW_FORM_sec_offset
105	.int8	27                              # DW_AT_comp_dir
106	.int8	14                              # DW_FORM_strp
107	.int8	17                              # DW_AT_low_pc
108	.int8	1                               # DW_FORM_addr
109	.int8	18                              # DW_AT_high_pc
110	.int8	6                               # DW_FORM_data4
111	.int8	0                               # EOM(1)
112	.int8	0                               # EOM(2)
113	.int8	2                               # Abbreviation Code
114	.int8	46                              # DW_TAG_subprogram
115	.int8	1                               # DW_CHILDREN_yes
116	.int8	17                              # DW_AT_low_pc
117	.int8	1                               # DW_FORM_addr
118	.int8	18                              # DW_AT_high_pc
119	.int8	6                               # DW_FORM_data4
120	.int8	64                              # DW_AT_frame_base
121	.int8	24                              # DW_FORM_exprloc
122	.int8	110                             # DW_AT_linkage_name
123	.int8	14                              # DW_FORM_strp
124	.int8	3                               # DW_AT_name
125	.int8	14                              # DW_FORM_strp
126	.int8	58                              # DW_AT_decl_file
127	.int8	11                              # DW_FORM_data1
128	.int8	59                              # DW_AT_decl_line
129	.int8	11                              # DW_FORM_data1
130	.int8	73                              # DW_AT_type
131	.int8	19                              # DW_FORM_ref4
132	.int8	63                              # DW_AT_external
133	.int8	25                              # DW_FORM_flag_present
134	.int8	0                               # EOM(1)
135	.int8	0                               # EOM(2)
136	.int8	3                               # Abbreviation Code
137	.int8	5                               # DW_TAG_formal_parameter
138	.int8	0                               # DW_CHILDREN_no
139	.int8	2                               # DW_AT_location
140	.int8	24                              # DW_FORM_exprloc
141	.int8	3                               # DW_AT_name
142	.int8	14                              # DW_FORM_strp
143	.int8	58                              # DW_AT_decl_file
144	.int8	11                              # DW_FORM_data1
145	.int8	59                              # DW_AT_decl_line
146	.int8	11                              # DW_FORM_data1
147	.int8	73                              # DW_AT_type
148	.int8	19                              # DW_FORM_ref4
149	.int8	0                               # EOM(1)
150	.int8	0                               # EOM(2)
151	.int8	4                               # Abbreviation Code
152	.int8	11                              # DW_TAG_lexical_block
153	.int8	1                               # DW_CHILDREN_yes
154	.int8	17                              # DW_AT_low_pc
155	.int8	1                               # DW_FORM_addr
156	.int8	18                              # DW_AT_high_pc
157	.int8	6                               # DW_FORM_data4
158	.int8	0                               # EOM(1)
159	.int8	0                               # EOM(2)
160	.int8	5                               # Abbreviation Code
161	.int8	52                              # DW_TAG_variable
162	.int8	0                               # DW_CHILDREN_no
163	.int8	2                               # DW_AT_location
164	.int8	24                              # DW_FORM_exprloc
165	.int8	3                               # DW_AT_name
166	.int8	14                              # DW_FORM_strp
167	.int8	58                              # DW_AT_decl_file
168	.int8	11                              # DW_FORM_data1
169	.int8	59                              # DW_AT_decl_line
170	.int8	11                              # DW_FORM_data1
171	.int8	73                              # DW_AT_type
172	.int8	19                              # DW_FORM_ref4
173	.int8	0                               # EOM(1)
174	.int8	0                               # EOM(2)
175	.int8	6                               # Abbreviation Code
176	.int8	22                              # DW_TAG_typedef
177	.int8	0                               # DW_CHILDREN_no
178	.int8	73                              # DW_AT_type
179	.int8	19                              # DW_FORM_ref4
180	.int8	3                               # DW_AT_name
181	.int8	14                              # DW_FORM_strp
182	.int8	58                              # DW_AT_decl_file
183	.int8	11                              # DW_FORM_data1
184	.int8	59                              # DW_AT_decl_line
185	.int8	11                              # DW_FORM_data1
186	.int8	0                               # EOM(1)
187	.int8	0                               # EOM(2)
188	.int8	7                               # Abbreviation Code
189	.int8	36                              # DW_TAG_base_type
190	.int8	0                               # DW_CHILDREN_no
191	.int8	3                               # DW_AT_name
192	.int8	14                              # DW_FORM_strp
193	.int8	62                              # DW_AT_encoding
194	.int8	11                              # DW_FORM_data1
195	.int8	11                              # DW_AT_byte_size
196	.int8	11                              # DW_FORM_data1
197	.int8	0                               # EOM(1)
198	.int8	0                               # EOM(2)
199	.int8	8                               # Abbreviation Code
200	.int8	15                              # DW_TAG_pointer_type
201	.int8	0                               # DW_CHILDREN_no
202	.int8	73                              # DW_AT_type
203	.int8	19                              # DW_FORM_ref4
204	.int8	0                               # EOM(1)
205	.int8	0                               # EOM(2)
206	.int8	9                               # Abbreviation Code
207	.int8	38                              # DW_TAG_const_type
208	.int8	0                               # DW_CHILDREN_no
209	.int8	73                              # DW_AT_type
210	.int8	19                              # DW_FORM_ref4
211	.int8	0                               # EOM(1)
212	.int8	0                               # EOM(2)
213	.int8	0                               # EOM(3)
214	.section	.debug_info,"",@
215.Lcu_begin0:
216	.int32	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
217.Ldebug_info_start0:
218	.int16	4                               # DWARF version number
219	.int32	.debug_abbrev0                  # Offset Into Abbrev. Section
220	.int8	4                               # Address Size (in bytes)
221	.int8	1                               # Abbrev [1] 0xb:0xb5 DW_TAG_compile_unit
222	.int32	.Linfo_string0                  # DW_AT_producer
223	.int16	33                              # DW_AT_language
224	.int32	.Linfo_string1                  # DW_AT_name
225	.int32	.Lline_table_start0             # DW_AT_stmt_list
226	.int32	.Linfo_string2                  # DW_AT_comp_dir
227	.int32	.Lfunc_begin0                   # DW_AT_low_pc
228	.int32	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
229	.int8	2                               # Abbrev [2] 0x26:0x6a DW_TAG_subprogram
230	.int32	.Lfunc_begin0                   # DW_AT_low_pc
231	.int32	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
232	.int8	4                               # DW_AT_frame_base
233	.int8	237
234	.int8	0
235	.int8	5
236	.int8	159
237	.int32	.Linfo_string3                  # DW_AT_linkage_name
238	.int32	.Linfo_string4                  # DW_AT_name
239	.int8	1                               # DW_AT_decl_file
240	.int8	2                               # DW_AT_decl_line
241	.int32	144                             # DW_AT_type
242                                        # DW_AT_external
243	.int8	3                               # Abbrev [3] 0x42:0xe DW_TAG_formal_parameter
244	.int8	2                               # DW_AT_location
245	.int8	145
246	.int8	24
247	.int32	.Linfo_string6                  # DW_AT_name
248	.int8	1                               # DW_AT_decl_file
249	.int8	2                               # DW_AT_decl_line
250	.int32	151                             # DW_AT_type
251	.int8	3                               # Abbrev [3] 0x50:0xe DW_TAG_formal_parameter
252	.int8	2                               # DW_AT_location
253	.int8	145
254	.int8	20
255	.int32	.Linfo_string8                  # DW_AT_name
256	.int8	1                               # DW_AT_decl_file
257	.int8	2                               # DW_AT_decl_line
258	.int32	172                             # DW_AT_type
259	.int8	3                               # Abbrev [3] 0x5e:0xe DW_TAG_formal_parameter
260	.int8	2                               # DW_AT_location
261	.int8	145
262	.int8	19
263	.int32	.Linfo_string10                 # DW_AT_name
264	.int8	1                               # DW_AT_decl_file
265	.int8	2                               # DW_AT_decl_line
266	.int32	179                             # DW_AT_type
267	.int8	4                               # Abbrev [4] 0x6c:0x18 DW_TAG_lexical_block
268	.int32	.Ltmp2                          # DW_AT_low_pc
269	.int32	.Ltmp3-.Ltmp2                   # DW_AT_high_pc
270	.int8	5                               # Abbrev [5] 0x75:0xe DW_TAG_variable
271	.int8	2                               # DW_AT_location
272	.int8	145
273	.int8	12
274	.int32	.Linfo_string12                 # DW_AT_name
275	.int8	1                               # DW_AT_decl_file
276	.int8	5                               # DW_AT_decl_line
277	.int32	186                             # DW_AT_type
278	.int8	0                               # End Of Children Mark
279	.int8	6                               # Abbrev [6] 0x84:0xb DW_TAG_typedef
280	.int32	144                             # DW_AT_type
281	.int32	.Linfo_string13                 # DW_AT_name
282	.int8	1                               # DW_AT_decl_file
283	.int8	4                               # DW_AT_decl_line
284	.int8	0                               # End Of Children Mark
285	.int8	7                               # Abbrev [7] 0x90:0x7 DW_TAG_base_type
286	.int32	.Linfo_string5                  # DW_AT_name
287	.int8	5                               # DW_AT_encoding
288	.int8	4                               # DW_AT_byte_size
289	.int8	6                               # Abbrev [6] 0x97:0xb DW_TAG_typedef
290	.int32	162                             # DW_AT_type
291	.int32	.Linfo_string7                  # DW_AT_name
292	.int8	1                               # DW_AT_decl_file
293	.int8	1                               # DW_AT_decl_line
294	.int8	8                               # Abbrev [8] 0xa2:0x5 DW_TAG_pointer_type
295	.int32	167                             # DW_AT_type
296	.int8	9                               # Abbrev [9] 0xa7:0x5 DW_TAG_const_type
297	.int32	144                             # DW_AT_type
298	.int8	7                               # Abbrev [7] 0xac:0x7 DW_TAG_base_type
299	.int32	.Linfo_string9                  # DW_AT_name
300	.int8	7                               # DW_AT_encoding
301	.int8	4                               # DW_AT_byte_size
302	.int8	7                               # Abbrev [7] 0xb3:0x7 DW_TAG_base_type
303	.int32	.Linfo_string11                 # DW_AT_name
304	.int8	2                               # DW_AT_encoding
305	.int8	1                               # DW_AT_byte_size
306	.int8	9                               # Abbrev [9] 0xba:0x5 DW_TAG_const_type
307	.int32	132                             # DW_AT_type
308	.int8	0                               # End Of Children Mark
309.Ldebug_info_end0:
310	.section	.debug_str,"S",@
311.Linfo_string0:
312	.asciz	"clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)" # string offset=0
313.Linfo_string1:
314	.asciz	"test.cpp"                      # string offset=111
315.Linfo_string2:
316	.asciz	"/data/projects/scripts/regression-suite/input/general" # string offset=120
317.Linfo_string3:
318	.asciz	"_Z3fooPKijb"                   # string offset=174
319.Linfo_string4:
320	.asciz	"foo"                           # string offset=186
321.Linfo_string5:
322	.asciz	"int"                           # string offset=190
323.Linfo_string6:
324	.asciz	"ParamPtr"                      # string offset=194
325.Linfo_string7:
326	.asciz	"INTPTR"                        # string offset=203
327.Linfo_string8:
328	.asciz	"ParamUnsigned"                 # string offset=210
329.Linfo_string9:
330	.asciz	"unsigned int"                  # string offset=224
331.Linfo_string10:
332	.asciz	"ParamBool"                     # string offset=237
333.Linfo_string11:
334	.asciz	"bool"                          # string offset=247
335.Linfo_string12:
336	.asciz	"CONSTANT"                      # string offset=252
337.Linfo_string13:
338	.asciz	"INTEGER"                       # string offset=261
339	.ident	"clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)"
340	.section	.custom_section.producers,"",@
341	.int8	2
342	.int8	8
343	.ascii	"language"
344	.int8	1
345	.int8	14
346	.ascii	"C_plus_plus_14"
347	.int8	0
348	.int8	12
349	.ascii	"processed-by"
350	.int8	1
351	.int8	5
352	.ascii	"clang"
353	.int8	96
354	.ascii	"19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)"
355	.section	.debug_str,"S",@
356	.section	.custom_section.target_features,"",@
357	.int8	2
358	.int8	43
359	.int8	15
360	.ascii	"mutable-globals"
361	.int8	43
362	.int8	8
363	.ascii	"sign-ext"
364	.section	.debug_str,"S",@
365	.section	.debug_line,"",@
366.Lline_table_start0:
367