[OptTable] Fix typo VALUE => VALUES (NFCI) (#121523)
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-subprogram-multiple-ranges-other.s
blob6586fc73ed8daffb6f2003fd599bb35f04d1afce
1 ## clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-5
2 ## int doStuffOther(int val) {
3 ## if (val)
4 ## ++val;
5 ## return val;
6 ## }
7 ##
8 ## int mainOther(int argc, const char** argv) {
9 ## return doStuffOther(argc);
10 ## }
11 .text
12 .file "mainOther.cpp"
13 .section .text._Z12doStuffOtheri,"ax",@progbits
14 .globl _Z12doStuffOtheri # -- Begin function _Z12doStuffOtheri
15 .p2align 4, 0x90
16 .type _Z12doStuffOtheri,@function
17 _Z12doStuffOtheri: # @_Z12doStuffOtheri
18 .Lfunc_begin0:
19 .file 0 "." "mainOther.cpp" md5 0xe43cc8133fbf67674318eacbcc46a59e
20 .loc 0 1 0 # mainOther.cpp:1:0
21 .cfi_startproc
22 # %bb.0: # %entry
23 pushq %rbp
24 .cfi_def_cfa_offset 16
25 .cfi_offset %rbp, -16
26 movq %rsp, %rbp
27 .cfi_def_cfa_register %rbp
28 movl %edi, -4(%rbp)
29 .Ltmp0:
30 .loc 0 2 8 prologue_end # mainOther.cpp:2:8
31 cmpl $0, -4(%rbp)
32 .Ltmp1:
33 .loc 0 2 8 is_stmt 0 # mainOther.cpp:2:8
34 je _Z12doStuffOtheri.__part.2
35 jmp _Z12doStuffOtheri.__part.1
36 .LBB_END0_0:
37 .cfi_endproc
38 .section .text._Z12doStuffOtheri,"ax",@progbits,unique,1
39 _Z12doStuffOtheri.__part.1: # %if.then
40 .cfi_startproc
41 .cfi_def_cfa %rbp, 16
42 .cfi_offset %rbp, -16
43 .loc 0 3 6 is_stmt 1 # mainOther.cpp:3:6
44 movl -4(%rbp), %eax
45 addl $1, %eax
46 movl %eax, -4(%rbp)
47 jmp _Z12doStuffOtheri.__part.2
48 .LBB_END0_1:
49 .size _Z12doStuffOtheri.__part.1, .LBB_END0_1-_Z12doStuffOtheri.__part.1
50 .cfi_endproc
51 .section .text._Z12doStuffOtheri,"ax",@progbits,unique,2
52 _Z12doStuffOtheri.__part.2: # %if.end
53 .cfi_startproc
54 .cfi_def_cfa %rbp, 16
55 .cfi_offset %rbp, -16
56 .loc 0 4 11 # mainOther.cpp:4:11
57 movl -4(%rbp), %eax
58 .loc 0 4 4 epilogue_begin is_stmt 0 # mainOther.cpp:4:4
59 popq %rbp
60 .cfi_def_cfa %rsp, 8
61 retq
62 .LBB_END0_2:
63 .size _Z12doStuffOtheri.__part.2, .LBB_END0_2-_Z12doStuffOtheri.__part.2
64 .cfi_endproc
65 .section .text._Z12doStuffOtheri,"ax",@progbits
66 .Lfunc_end0:
67 .size _Z12doStuffOtheri, .Lfunc_end0-_Z12doStuffOtheri
68 # -- End function
69 .section .text._Z9mainOtheriPPKc,"ax",@progbits
70 .globl _Z9mainOtheriPPKc # -- Begin function _Z9mainOtheriPPKc
71 .p2align 4, 0x90
72 .type _Z9mainOtheriPPKc,@function
73 _Z9mainOtheriPPKc: # @_Z9mainOtheriPPKc
74 .Lfunc_begin1:
75 .loc 0 7 0 is_stmt 1 # mainOther.cpp:7:0
76 .cfi_startproc
77 # %bb.0: # %entry
78 pushq %rbp
79 .cfi_def_cfa_offset 16
80 .cfi_offset %rbp, -16
81 movq %rsp, %rbp
82 .cfi_def_cfa_register %rbp
83 subq $16, %rsp
84 movl %edi, -4(%rbp)
85 movq %rsi, -16(%rbp)
86 .Ltmp2:
87 .loc 0 8 27 prologue_end # mainOther.cpp:8:27
88 movl -4(%rbp), %edi
89 .loc 0 8 14 is_stmt 0 # mainOther.cpp:8:14
90 callq _Z12doStuffOtheri
91 .loc 0 8 6 epilogue_begin # mainOther.cpp:8:6
92 addq $16, %rsp
93 popq %rbp
94 .cfi_def_cfa %rsp, 8
95 retq
96 .LBB_END1_0:
97 .cfi_endproc
98 .Lfunc_end1:
99 .size _Z9mainOtheriPPKc, .Lfunc_end1-_Z9mainOtheriPPKc
100 # -- End function
101 .section .debug_abbrev,"",@progbits
102 .byte 1 # Abbreviation Code
103 .byte 17 # DW_TAG_compile_unit
104 .byte 1 # DW_CHILDREN_yes
105 .byte 37 # DW_AT_producer
106 .byte 37 # DW_FORM_strx1
107 .byte 19 # DW_AT_language
108 .byte 5 # DW_FORM_data2
109 .byte 3 # DW_AT_name
110 .byte 37 # DW_FORM_strx1
111 .byte 114 # DW_AT_str_offsets_base
112 .byte 23 # DW_FORM_sec_offset
113 .byte 16 # DW_AT_stmt_list
114 .byte 23 # DW_FORM_sec_offset
115 .byte 27 # DW_AT_comp_dir
116 .byte 37 # DW_FORM_strx1
117 .byte 17 # DW_AT_low_pc
118 .byte 1 # DW_FORM_addr
119 .byte 85 # DW_AT_ranges
120 .byte 35 # DW_FORM_rnglistx
121 .byte 115 # DW_AT_addr_base
122 .byte 23 # DW_FORM_sec_offset
123 .byte 116 # DW_AT_rnglists_base
124 .byte 23 # DW_FORM_sec_offset
125 .byte 0 # EOM(1)
126 .byte 0 # EOM(2)
127 .byte 2 # Abbreviation Code
128 .byte 46 # DW_TAG_subprogram
129 .byte 1 # DW_CHILDREN_yes
130 .byte 85 # DW_AT_ranges
131 .byte 35 # DW_FORM_rnglistx
132 .byte 64 # DW_AT_frame_base
133 .byte 24 # DW_FORM_exprloc
134 .byte 110 # DW_AT_linkage_name
135 .byte 37 # DW_FORM_strx1
136 .byte 3 # DW_AT_name
137 .byte 37 # DW_FORM_strx1
138 .byte 58 # DW_AT_decl_file
139 .byte 11 # DW_FORM_data1
140 .byte 59 # DW_AT_decl_line
141 .byte 11 # DW_FORM_data1
142 .byte 73 # DW_AT_type
143 .byte 19 # DW_FORM_ref4
144 .byte 63 # DW_AT_external
145 .byte 25 # DW_FORM_flag_present
146 .byte 0 # EOM(1)
147 .byte 0 # EOM(2)
148 .byte 3 # Abbreviation Code
149 .byte 5 # DW_TAG_formal_parameter
150 .byte 0 # DW_CHILDREN_no
151 .byte 2 # DW_AT_location
152 .byte 24 # DW_FORM_exprloc
153 .byte 3 # DW_AT_name
154 .byte 37 # DW_FORM_strx1
155 .byte 58 # DW_AT_decl_file
156 .byte 11 # DW_FORM_data1
157 .byte 59 # DW_AT_decl_line
158 .byte 11 # DW_FORM_data1
159 .byte 73 # DW_AT_type
160 .byte 19 # DW_FORM_ref4
161 .byte 0 # EOM(1)
162 .byte 0 # EOM(2)
163 .byte 4 # Abbreviation Code
164 .byte 46 # DW_TAG_subprogram
165 .byte 1 # DW_CHILDREN_yes
166 .byte 17 # DW_AT_low_pc
167 .byte 27 # DW_FORM_addrx
168 .byte 18 # DW_AT_high_pc
169 .byte 6 # DW_FORM_data4
170 .byte 64 # DW_AT_frame_base
171 .byte 24 # DW_FORM_exprloc
172 .byte 110 # DW_AT_linkage_name
173 .byte 37 # DW_FORM_strx1
174 .byte 3 # DW_AT_name
175 .byte 37 # DW_FORM_strx1
176 .byte 58 # DW_AT_decl_file
177 .byte 11 # DW_FORM_data1
178 .byte 59 # DW_AT_decl_line
179 .byte 11 # DW_FORM_data1
180 .byte 73 # DW_AT_type
181 .byte 19 # DW_FORM_ref4
182 .byte 63 # DW_AT_external
183 .byte 25 # DW_FORM_flag_present
184 .byte 0 # EOM(1)
185 .byte 0 # EOM(2)
186 .byte 5 # Abbreviation Code
187 .byte 36 # DW_TAG_base_type
188 .byte 0 # DW_CHILDREN_no
189 .byte 3 # DW_AT_name
190 .byte 37 # DW_FORM_strx1
191 .byte 62 # DW_AT_encoding
192 .byte 11 # DW_FORM_data1
193 .byte 11 # DW_AT_byte_size
194 .byte 11 # DW_FORM_data1
195 .byte 0 # EOM(1)
196 .byte 0 # EOM(2)
197 .byte 6 # Abbreviation Code
198 .byte 15 # DW_TAG_pointer_type
199 .byte 0 # DW_CHILDREN_no
200 .byte 73 # DW_AT_type
201 .byte 19 # DW_FORM_ref4
202 .byte 0 # EOM(1)
203 .byte 0 # EOM(2)
204 .byte 7 # Abbreviation Code
205 .byte 38 # DW_TAG_const_type
206 .byte 0 # DW_CHILDREN_no
207 .byte 73 # DW_AT_type
208 .byte 19 # DW_FORM_ref4
209 .byte 0 # EOM(1)
210 .byte 0 # EOM(2)
211 .byte 0 # EOM(3)
212 .section .debug_info,"",@progbits
213 .Lcu_begin0:
214 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
215 .Ldebug_info_start0:
216 .short 5 # DWARF version number
217 .byte 1 # DWARF Unit Type
218 .byte 8 # Address Size (in bytes)
219 .long .debug_abbrev # Offset Into Abbrev. Section
220 .byte 1 # Abbrev [1] 0xc:0x76 DW_TAG_compile_unit
221 .byte 0 # DW_AT_producer
222 .short 33 # DW_AT_language
223 .byte 1 # DW_AT_name
224 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
225 .long .Lline_table_start0 # DW_AT_stmt_list
226 .byte 2 # DW_AT_comp_dir
227 .quad 0 # DW_AT_low_pc
228 .byte 1 # DW_AT_ranges
229 .long .Laddr_table_base0 # DW_AT_addr_base
230 .long .Lrnglists_table_base0 # DW_AT_rnglists_base
231 .byte 2 # Abbrev [2] 0x2b:0x18 DW_TAG_subprogram
232 .byte 0 # DW_AT_ranges
233 .byte 1 # DW_AT_frame_base
234 .byte 86
235 .byte 3 # DW_AT_linkage_name
236 .byte 4 # DW_AT_name
237 .byte 0 # DW_AT_decl_file
238 .byte 1 # DW_AT_decl_line
239 .long 106 # DW_AT_type
240 # DW_AT_external
241 .byte 3 # Abbrev [3] 0x37:0xb DW_TAG_formal_parameter
242 .byte 2 # DW_AT_location
243 .byte 145
244 .byte 124
245 .byte 8 # DW_AT_name
246 .byte 0 # DW_AT_decl_file
247 .byte 1 # DW_AT_decl_line
248 .long 106 # DW_AT_type
249 .byte 0 # End Of Children Mark
250 .byte 4 # Abbrev [4] 0x43:0x27 DW_TAG_subprogram
251 .byte 3 # DW_AT_low_pc
252 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
253 .byte 1 # DW_AT_frame_base
254 .byte 86
255 .byte 6 # DW_AT_linkage_name
256 .byte 7 # DW_AT_name
257 .byte 0 # DW_AT_decl_file
258 .byte 7 # DW_AT_decl_line
259 .long 106 # DW_AT_type
260 # DW_AT_external
261 .byte 3 # Abbrev [3] 0x53:0xb DW_TAG_formal_parameter
262 .byte 2 # DW_AT_location
263 .byte 145
264 .byte 124
265 .byte 9 # DW_AT_name
266 .byte 0 # DW_AT_decl_file
267 .byte 7 # DW_AT_decl_line
268 .long 106 # DW_AT_type
269 .byte 3 # Abbrev [3] 0x5e:0xb DW_TAG_formal_parameter
270 .byte 2 # DW_AT_location
271 .byte 145
272 .byte 112
273 .byte 10 # DW_AT_name
274 .byte 0 # DW_AT_decl_file
275 .byte 7 # DW_AT_decl_line
276 .long 110 # DW_AT_type
277 .byte 0 # End Of Children Mark
278 .byte 5 # Abbrev [5] 0x6a:0x4 DW_TAG_base_type
279 .byte 5 # DW_AT_name
280 .byte 5 # DW_AT_encoding
281 .byte 4 # DW_AT_byte_size
282 .byte 6 # Abbrev [6] 0x6e:0x5 DW_TAG_pointer_type
283 .long 115 # DW_AT_type
284 .byte 6 # Abbrev [6] 0x73:0x5 DW_TAG_pointer_type
285 .long 120 # DW_AT_type
286 .byte 7 # Abbrev [7] 0x78:0x5 DW_TAG_const_type
287 .long 125 # DW_AT_type
288 .byte 5 # Abbrev [5] 0x7d:0x4 DW_TAG_base_type
289 .byte 11 # DW_AT_name
290 .byte 6 # DW_AT_encoding
291 .byte 1 # DW_AT_byte_size
292 .byte 0 # End Of Children Mark
293 .Ldebug_info_end0:
294 .section .debug_rnglists,"",@progbits
295 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
296 .Ldebug_list_header_start0:
297 .short 5 # Version
298 .byte 8 # Address size
299 .byte 0 # Segment selector size
300 .long 2 # Offset entry count
301 .Lrnglists_table_base0:
302 .long .Ldebug_ranges0-.Lrnglists_table_base0
303 .long .Ldebug_ranges1-.Lrnglists_table_base0
304 .Ldebug_ranges0:
305 .byte 3 # DW_RLE_startx_length
306 .byte 0 # start index
307 .uleb128 .LBB_END0_1-_Z12doStuffOtheri.__part.1 # length
308 .byte 3 # DW_RLE_startx_length
309 .byte 1 # start index
310 .uleb128 .LBB_END0_2-_Z12doStuffOtheri.__part.2 # length
311 .byte 3 # DW_RLE_startx_length
312 .byte 2 # start index
313 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length
314 .byte 0 # DW_RLE_end_of_list
315 .Ldebug_ranges1:
316 .byte 3 # DW_RLE_startx_length
317 .byte 0 # start index
318 .uleb128 .LBB_END0_1-_Z12doStuffOtheri.__part.1 # length
319 .byte 3 # DW_RLE_startx_length
320 .byte 1 # start index
321 .uleb128 .LBB_END0_2-_Z12doStuffOtheri.__part.2 # length
322 .byte 3 # DW_RLE_startx_length
323 .byte 2 # start index
324 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length
325 .byte 3 # DW_RLE_startx_length
326 .byte 3 # start index
327 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length
328 .byte 0 # DW_RLE_end_of_list
329 .Ldebug_list_header_end0:
330 .section .debug_str_offsets,"",@progbits
331 .long 52 # Length of String Offsets Set
332 .short 5
333 .short 0
334 .Lstr_offsets_base0:
335 .section .debug_str,"MS",@progbits,1
336 .Linfo_string0:
337 .asciz "clang version 19.0.0git (git@github.com:llvm/llvm-project.git df542e1ed82bd4e5a9e345d3a3ae63a76893a0cf)" # string offset=0
338 .Linfo_string1:
339 .asciz "mainOther.cpp" # string offset=104
340 .Linfo_string2:
341 .asciz "." # string offset=118
342 .Linfo_string3:
343 .asciz "_Z12doStuffOtheri" # string offset=120
344 .Linfo_string4:
345 .asciz "doStuffOther" # string offset=138
346 .Linfo_string5:
347 .asciz "int" # string offset=151
348 .Linfo_string6:
349 .asciz "_Z9mainOtheriPPKc" # string offset=155
350 .Linfo_string7:
351 .asciz "mainOther" # string offset=173
352 .Linfo_string8:
353 .asciz "val" # string offset=183
354 .Linfo_string9:
355 .asciz "argc" # string offset=187
356 .Linfo_string10:
357 .asciz "argv" # string offset=192
358 .Linfo_string11:
359 .asciz "char" # string offset=197
360 .section .debug_str_offsets,"",@progbits
361 .long .Linfo_string0
362 .long .Linfo_string1
363 .long .Linfo_string2
364 .long .Linfo_string3
365 .long .Linfo_string4
366 .long .Linfo_string5
367 .long .Linfo_string6
368 .long .Linfo_string7
369 .long .Linfo_string8
370 .long .Linfo_string9
371 .long .Linfo_string10
372 .long .Linfo_string11
373 .section .debug_addr,"",@progbits
374 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
375 .Ldebug_addr_start0:
376 .short 5 # DWARF version number
377 .byte 8 # Address size
378 .byte 0 # Segment selector size
379 .Laddr_table_base0:
380 .quad _Z12doStuffOtheri.__part.1
381 .quad _Z12doStuffOtheri.__part.2
382 .quad .Lfunc_begin0
383 .quad .Lfunc_begin1
384 .Ldebug_addr_end0:
385 .ident "clang version 19.0.0git (git@github.com:llvm/llvm-project.git df542e1ed82bd4e5a9e345d3a3ae63a76893a0cf)"
386 .section ".note.GNU-stack","",@progbits
387 .addrsig
388 .addrsig_sym _Z12doStuffOtheri
389 .section .debug_line,"",@progbits
390 .Lline_table_start0: