1 # clang++ main.cpp -g -O2 -S
2 # void use(int * x, int * y) {
8 # int main(int argc, char *argv[]) {
18 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_
20 .type _Z3usePiS_,@function
21 _Z3usePiS_
: # @_Z3usePiS_
23 .file 0 "/testLocListMultiple" "main.cpp" md5 0xb1a1551182284263b0faa0cae08277da
24 .loc 0 1 0 # main.cpp:1:0
27 #DEBUG_VALUE: use:x <- $rdi
28 #DEBUG_VALUE: use:y <- $rsi
29 .loc 0 2 4 prologue_end # main.cpp:2:4
31 .loc 0 3 4 # main.cpp:3:4
33 .loc 0 4 1 # main.cpp:4:1
37 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_
40 .globl main # -- Begin function main
45 .loc 0 7 0 # main.cpp:7:0
48 #DEBUG_VALUE: main:argc <- $edi
49 #DEBUG_VALUE: main:argv <- $rsi
50 #DEBUG_VALUE: main:x <- $edi
51 # kill: def $edi killed $edi def $rdi
52 .loc 0 9 12 prologue_end # main.cpp:9:12
53 movl fooVar
(%rip
), %eax
55 #DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 3, DW_OP_stack_value] $eax
56 #DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 1, DW_OP_stack_value] $eax
57 #DEBUG_VALUE: main:x <- [DW_OP_plus_uconst 4, DW_OP_stack_value] $edi
58 .loc 0 11 13 # main.cpp:11:13
62 .loc 0 11 4 is_stmt 0 # main.cpp:11:4
66 .size main, .Lfunc_end1-main
69 .section .debug_loclists,"",@progbits
70 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
71 .Ldebug_list_header_start0:
73 .byte 8 # Address size
74 .byte 0 # Segment selector size
75 .long 2 # Offset entry count
76 .Lloclists_table_base0:
77 .long .Ldebug_loc0-.Lloclists_table_base0
78 .long .Ldebug_loc1-.Lloclists_table_base0
80 .byte 4 # DW_LLE_offset_pair
81 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset
82 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset
83 .byte 1 # Loc expr size
84 .byte 85 # super-register DW_OP_reg5
85 .byte 4 # DW_LLE_offset_pair
86 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset
87 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset
88 .byte 10 # Loc expr size
89 .byte 117 # DW_OP_breg5
91 .byte 16 # DW_OP_constu
92 .byte 255 # 4294967295
98 .byte 159 # DW_OP_stack_value
99 .byte 0 # DW_LLE_end_of_list
101 .byte 4 # DW_LLE_offset_pair
102 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset
103 .uleb128 .Ltmp2-.Lfunc_begin0 # ending offset
104 .byte 10 # Loc expr size
105 .byte 112 # DW_OP_breg0
107 .byte 16 # DW_OP_constu
108 .byte 255 # 4294967295
114 .byte 159 # DW_OP_stack_value
115 .byte 0 # DW_LLE_end_of_list
116 .Ldebug_list_header_end0:
117 .section .debug_abbrev,"",@progbits
118 .byte 1 # Abbreviation Code
119 .byte 17 # DW_TAG_compile_unit
120 .byte 1 # DW_CHILDREN_yes
121 .byte 37 # DW_AT_producer
122 .byte 37 # DW_FORM_strx1
123 .byte 19 # DW_AT_language
124 .byte 5 # DW_FORM_data2
126 .byte 37 # DW_FORM_strx1
127 .byte 114 # DW_AT_str_offsets_base
128 .byte 23 # DW_FORM_sec_offset
129 .byte 16 # DW_AT_stmt_list
130 .byte 23 # DW_FORM_sec_offset
131 .byte 27 # DW_AT_comp_dir
132 .byte 37 # DW_FORM_strx1
133 .byte 17 # DW_AT_low_pc
134 .byte 27 # DW_FORM_addrx
135 .byte 18 # DW_AT_high_pc
136 .byte 6 # DW_FORM_data4
137 .byte 115 # DW_AT_addr_base
138 .byte 23 # DW_FORM_sec_offset
139 .ascii "\214\001" # DW_AT_loclists_base
140 .byte 23 # DW_FORM_sec_offset
143 .byte 2 # Abbreviation Code
144 .byte 46 # DW_TAG_subprogram
145 .byte 1 # DW_CHILDREN_yes
146 .byte 17 # DW_AT_low_pc
147 .byte 27 # DW_FORM_addrx
148 .byte 18 # DW_AT_high_pc
149 .byte 6 # DW_FORM_data4
150 .byte 64 # DW_AT_frame_base
151 .byte 24 # DW_FORM_exprloc
152 .byte 122 # DW_AT_call_all_calls
153 .byte 25 # DW_FORM_flag_present
154 .byte 110 # DW_AT_linkage_name
155 .byte 37 # DW_FORM_strx1
157 .byte 37 # DW_FORM_strx1
158 .byte 58 # DW_AT_decl_file
159 .byte 11 # DW_FORM_data1
160 .byte 59 # DW_AT_decl_line
161 .byte 11 # DW_FORM_data1
162 .byte 63 # DW_AT_external
163 .byte 25 # DW_FORM_flag_present
166 .byte 3 # Abbreviation Code
167 .byte 5 # DW_TAG_formal_parameter
168 .byte 0 # DW_CHILDREN_no
169 .byte 2 # DW_AT_location
170 .byte 24 # DW_FORM_exprloc
172 .byte 37 # DW_FORM_strx1
173 .byte 58 # DW_AT_decl_file
174 .byte 11 # DW_FORM_data1
175 .byte 59 # DW_AT_decl_line
176 .byte 11 # DW_FORM_data1
177 .byte 73 # DW_AT_type
178 .byte 19 # DW_FORM_ref4
181 .byte 4 # Abbreviation Code
182 .byte 46 # DW_TAG_subprogram
183 .byte 1 # DW_CHILDREN_yes
184 .byte 17 # DW_AT_low_pc
185 .byte 27 # DW_FORM_addrx
186 .byte 18 # DW_AT_high_pc
187 .byte 6 # DW_FORM_data4
188 .byte 64 # DW_AT_frame_base
189 .byte 24 # DW_FORM_exprloc
190 .byte 122 # DW_AT_call_all_calls
191 .byte 25 # DW_FORM_flag_present
193 .byte 37 # DW_FORM_strx1
194 .byte 58 # DW_AT_decl_file
195 .byte 11 # DW_FORM_data1
196 .byte 59 # DW_AT_decl_line
197 .byte 11 # DW_FORM_data1
198 .byte 73 # DW_AT_type
199 .byte 19 # DW_FORM_ref4
200 .byte 63 # DW_AT_external
201 .byte 25 # DW_FORM_flag_present
204 .byte 5 # Abbreviation Code
205 .byte 52 # DW_TAG_variable
206 .byte 0 # DW_CHILDREN_no
207 .byte 2 # DW_AT_location
208 .byte 34 # DW_FORM_loclistx
210 .byte 37 # DW_FORM_strx1
211 .byte 58 # DW_AT_decl_file
212 .byte 11 # DW_FORM_data1
213 .byte 59 # DW_AT_decl_line
214 .byte 11 # DW_FORM_data1
215 .byte 73 # DW_AT_type
216 .byte 19 # DW_FORM_ref4
219 .byte 6 # Abbreviation Code
220 .byte 36 # DW_TAG_base_type
221 .byte 0 # DW_CHILDREN_no
223 .byte 37 # DW_FORM_strx1
224 .byte 62 # DW_AT_encoding
225 .byte 11 # DW_FORM_data1
226 .byte 11 # DW_AT_byte_size
227 .byte 11 # DW_FORM_data1
230 .byte 7 # Abbreviation Code
231 .byte 15 # DW_TAG_pointer_type
232 .byte 0 # DW_CHILDREN_no
233 .byte 73 # DW_AT_type
234 .byte 19 # DW_FORM_ref4
238 .section .debug_info,"",@progbits
240 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
242 .short 5 # DWARF version number
243 .byte 1 # DWARF Unit Type
244 .byte 8 # Address Size (in bytes)
245 .long .debug_abbrev # Offset Into Abbrev. Section
246 .byte 1 # Abbrev [1] 0xc:0x8a DW_TAG_compile_unit
247 .byte 0 # DW_AT_producer
248 .short 33 # DW_AT_language
250 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
251 .long .Lline_table_start0 # DW_AT_stmt_list
252 .byte 2 # DW_AT_comp_dir
253 .byte 0 # DW_AT_low_pc
254 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
255 .long .Laddr_table_base0 # DW_AT_addr_base
256 .long .Lloclists_table_base0 # DW_AT_loclists_base
257 .byte 2 # Abbrev [2] 0x27:0x21 DW_TAG_subprogram
258 .byte 0 # DW_AT_low_pc
259 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
260 .byte 1 # DW_AT_frame_base
262 # DW_AT_call_all_calls
263 .byte 3 # DW_AT_linkage_name
265 .byte 0 # DW_AT_decl_file
266 .byte 1 # DW_AT_decl_line
268 .byte 3 # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter
269 .byte 1 # DW_AT_location
272 .byte 0 # DW_AT_decl_file
273 .byte 1 # DW_AT_decl_line
274 .long 130 # DW_AT_type
275 .byte 3 # Abbrev [3] 0x3d:0xa DW_TAG_formal_parameter
276 .byte 1 # DW_AT_location
279 .byte 0 # DW_AT_decl_file
280 .byte 1 # DW_AT_decl_line
281 .long 130 # DW_AT_type
282 .byte 0 # End Of Children Mark
283 .byte 4 # Abbrev [4] 0x48:0x36 DW_TAG_subprogram
284 .byte 1 # DW_AT_low_pc
285 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
286 .byte 1 # DW_AT_frame_base
288 # DW_AT_call_all_calls
290 .byte 0 # DW_AT_decl_file
291 .byte 7 # DW_AT_decl_line
292 .long 126 # DW_AT_type
294 .byte 3 # Abbrev [3] 0x57:0xa DW_TAG_formal_parameter
295 .byte 1 # DW_AT_location
298 .byte 0 # DW_AT_decl_file
299 .byte 7 # DW_AT_decl_line
300 .long 126 # DW_AT_type
301 .byte 3 # Abbrev [3] 0x61:0xa DW_TAG_formal_parameter
302 .byte 1 # DW_AT_location
304 .byte 10 # DW_AT_name
305 .byte 0 # DW_AT_decl_file
306 .byte 7 # DW_AT_decl_line
307 .long 135 # DW_AT_type
308 .byte 5 # Abbrev [5] 0x6b:0x9 DW_TAG_variable
309 .byte 0 # DW_AT_location
311 .byte 0 # DW_AT_decl_file
312 .byte 8 # DW_AT_decl_line
313 .long 126 # DW_AT_type
314 .byte 5 # Abbrev [5] 0x74:0x9 DW_TAG_variable
315 .byte 1 # DW_AT_location
317 .byte 0 # DW_AT_decl_file
318 .byte 9 # DW_AT_decl_line
319 .long 126 # DW_AT_type
320 .byte 0 # End Of Children Mark
321 .byte 6 # Abbrev [6] 0x7e:0x4 DW_TAG_base_type
323 .byte 5 # DW_AT_encoding
324 .byte 4 # DW_AT_byte_size
325 .byte 7 # Abbrev [7] 0x82:0x5 DW_TAG_pointer_type
326 .long 126 # DW_AT_type
327 .byte 7 # Abbrev [7] 0x87:0x5 DW_TAG_pointer_type
328 .long 140 # DW_AT_type
329 .byte 7 # Abbrev [7] 0x8c:0x5 DW_TAG_pointer_type
330 .long 145 # DW_AT_type
331 .byte 6 # Abbrev [6] 0x91:0x4 DW_TAG_base_type
332 .byte 11 # DW_AT_name
333 .byte 6 # DW_AT_encoding
334 .byte 1 # DW_AT_byte_size
335 .byte 0 # End Of Children Mark
337 .section .debug_str_offsets,"",@progbits
338 .long 52 # Length of String Offsets Set
342 .section .debug_str,"MS",@progbits,1
344 .asciz "clang version 15.0.0" # string offset=0
346 .asciz "main.cpp" # string offset=134
348 .asciz "/testLocListMultiple" # string offset=143
350 .asciz "_Z3usePiS_" # string offset=200
352 .asciz "use" # string offset=211
354 .asciz "main" # string offset=215
356 .asciz "int" # string offset=220
358 .asciz "x" # string offset=224
360 .asciz "y" # string offset=226
362 .asciz "argc" # string offset=228
364 .asciz "argv" # string offset=233
366 .asciz "char" # string offset=238
367 .section .debug_str_offsets,"",@progbits
378 .long .Linfo_string10
379 .long .Linfo_string11
380 .section .debug_addr,"",@progbits
381 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
383 .short 5 # DWARF version number
384 .byte 8 # Address size
385 .byte 0 # Segment selector size
390 .ident "clang version 15.0.0"
391 .section ".note.GNU-stack","",@progbits
393 .section .debug_line,"",@progbits