391 lines · plain
1# clang++ helper2.cpp -O2 -g2 -gdwarf-4 -S -o helper2.s2# int z1 = 0;3# int d1 = 0;4#5# int helper31(int z_, int d_) {6# z1 += z_;7# d1 += d_;8# return z1 * d1;9# }10#11#12# int z = 0;13# int d = 0;14#15# int helper3(int z_, int d_) {16# z += z_;17# d += d_;18# return z * d;19# }20 21 .text22 .file "helper2.cpp"23 .file 1 "/dwarf4CrossCULocList" "helper2.cpp"24 .globl _Z8helper31ii # -- Begin function _Z8helper31ii25 .p2align 4, 0x9026 .type _Z8helper31ii,@function27_Z8helper31ii: # @_Z8helper31ii28.Lfunc_begin0:29 .loc 1 4 0 # helper2.cpp:4:030 .cfi_startproc31# %bb.0: # %entry32 #DEBUG_VALUE: helper31:z_ <- $edi33 #DEBUG_VALUE: helper31:d_ <- $esi34 movl %esi, %eax35.Ltmp0:36 .loc 1 5 5 prologue_end # helper2.cpp:5:537 addl z1(%rip), %edi38.Ltmp1:39 #DEBUG_VALUE: helper31:z_ <- [DW_OP_LLVM_entry_value 1] $edi40 .loc 1 6 5 # helper2.cpp:6:541 addl d1(%rip), %eax42 .loc 1 5 5 # helper2.cpp:5:543 movl %edi, z1(%rip)44 .loc 1 6 5 # helper2.cpp:6:545 movl %eax, d1(%rip)46 .loc 1 7 12 # helper2.cpp:7:1247 imull %edi, %eax48 .loc 1 7 2 is_stmt 0 # helper2.cpp:7:249 retq50.Ltmp2:51.Lfunc_end0:52 .size _Z8helper31ii, .Lfunc_end0-_Z8helper31ii53 .cfi_endproc54 # -- End function55 .globl _Z7helper3ii # -- Begin function _Z7helper3ii56 .p2align 4, 0x9057 .type _Z7helper3ii,@function58_Z7helper3ii: # @_Z7helper3ii59.Lfunc_begin1:60 .loc 1 14 0 is_stmt 1 # helper2.cpp:14:061 .cfi_startproc62# %bb.0: # %entry63 #DEBUG_VALUE: helper3:z_ <- $edi64 #DEBUG_VALUE: helper3:d_ <- $esi65 movl %esi, %eax66.Ltmp3:67 .loc 1 15 4 prologue_end # helper2.cpp:15:468 addl z(%rip), %edi69.Ltmp4:70 #DEBUG_VALUE: helper3:z_ <- [DW_OP_LLVM_entry_value 1] $edi71 .loc 1 16 4 # helper2.cpp:16:472 addl d(%rip), %eax73 .loc 1 15 4 # helper2.cpp:15:474 movl %edi, z(%rip)75 .loc 1 16 4 # helper2.cpp:16:476 movl %eax, d(%rip)77 .loc 1 17 11 # helper2.cpp:17:1178 imull %edi, %eax79 .loc 1 17 2 is_stmt 0 # helper2.cpp:17:280 retq81.Ltmp5:82.Lfunc_end1:83 .size _Z7helper3ii, .Lfunc_end1-_Z7helper3ii84 .cfi_endproc85 # -- End function86 .type z1,@object # @z187 .bss88 .globl z189 .p2align 2, 0x090z1:91 .long 0 # 0x092 .size z1, 493 94 .type d1,@object # @d195 .globl d196 .p2align 2, 0x097d1:98 .long 0 # 0x099 .size d1, 4100 101 .type z,@object # @z102 .globl z103 .p2align 2, 0x0104z:105 .long 0 # 0x0106 .size z, 4107 108 .type d,@object # @d109 .globl d110 .p2align 2, 0x0111d:112 .long 0 # 0x0113 .size d, 4114 115 .section .debug_loc,"",@progbits116.Ldebug_loc0:117 .quad .Lfunc_begin0-.Lfunc_begin0118 .quad .Ltmp1-.Lfunc_begin0119 .short 1 # Loc expr size120 .byte 85 # super-register DW_OP_reg5121 .quad .Ltmp1-.Lfunc_begin0122 .quad .Lfunc_end0-.Lfunc_begin0123 .short 4 # Loc expr size124 .byte 243 # DW_OP_GNU_entry_value125 .byte 1 # 1126 .byte 85 # super-register DW_OP_reg5127 .byte 159 # DW_OP_stack_value128 .quad 0129 .quad 0130.Ldebug_loc1:131 .quad .Lfunc_begin1-.Lfunc_begin0132 .quad .Ltmp4-.Lfunc_begin0133 .short 1 # Loc expr size134 .byte 85 # super-register DW_OP_reg5135 .quad .Ltmp4-.Lfunc_begin0136 .quad .Lfunc_end1-.Lfunc_begin0137 .short 4 # Loc expr size138 .byte 243 # DW_OP_GNU_entry_value139 .byte 1 # 1140 .byte 85 # super-register DW_OP_reg5141 .byte 159 # DW_OP_stack_value142 .quad 0143 .quad 0144 .section .debug_abbrev,"",@progbits145 .byte 1 # Abbreviation Code146 .byte 17 # DW_TAG_compile_unit147 .byte 1 # DW_CHILDREN_yes148 .byte 37 # DW_AT_producer149 .byte 14 # DW_FORM_strp150 .byte 19 # DW_AT_language151 .byte 5 # DW_FORM_data2152 .byte 3 # DW_AT_name153 .byte 14 # DW_FORM_strp154 .byte 16 # DW_AT_stmt_list155 .byte 23 # DW_FORM_sec_offset156 .byte 27 # DW_AT_comp_dir157 .byte 14 # DW_FORM_strp158 .byte 17 # DW_AT_low_pc159 .byte 1 # DW_FORM_addr160 .byte 18 # DW_AT_high_pc161 .byte 6 # DW_FORM_data4162 .byte 0 # EOM(1)163 .byte 0 # EOM(2)164 .byte 2 # Abbreviation Code165 .byte 52 # DW_TAG_variable166 .byte 0 # DW_CHILDREN_no167 .byte 3 # DW_AT_name168 .byte 14 # DW_FORM_strp169 .byte 73 # DW_AT_type170 .byte 19 # DW_FORM_ref4171 .byte 63 # DW_AT_external172 .byte 25 # DW_FORM_flag_present173 .byte 58 # DW_AT_decl_file174 .byte 11 # DW_FORM_data1175 .byte 59 # DW_AT_decl_line176 .byte 11 # DW_FORM_data1177 .byte 2 # DW_AT_location178 .byte 24 # DW_FORM_exprloc179 .byte 0 # EOM(1)180 .byte 0 # EOM(2)181 .byte 3 # Abbreviation Code182 .byte 36 # DW_TAG_base_type183 .byte 0 # DW_CHILDREN_no184 .byte 3 # DW_AT_name185 .byte 14 # DW_FORM_strp186 .byte 62 # DW_AT_encoding187 .byte 11 # DW_FORM_data1188 .byte 11 # DW_AT_byte_size189 .byte 11 # DW_FORM_data1190 .byte 0 # EOM(1)191 .byte 0 # EOM(2)192 .byte 4 # Abbreviation Code193 .byte 46 # DW_TAG_subprogram194 .byte 1 # DW_CHILDREN_yes195 .byte 17 # DW_AT_low_pc196 .byte 1 # DW_FORM_addr197 .byte 18 # DW_AT_high_pc198 .byte 6 # DW_FORM_data4199 .byte 64 # DW_AT_frame_base200 .byte 24 # DW_FORM_exprloc201 .ascii "\227B" # DW_AT_GNU_all_call_sites202 .byte 25 # DW_FORM_flag_present203 .byte 110 # DW_AT_linkage_name204 .byte 14 # DW_FORM_strp205 .byte 3 # DW_AT_name206 .byte 14 # DW_FORM_strp207 .byte 58 # DW_AT_decl_file208 .byte 11 # DW_FORM_data1209 .byte 59 # DW_AT_decl_line210 .byte 11 # DW_FORM_data1211 .byte 73 # DW_AT_type212 .byte 19 # DW_FORM_ref4213 .byte 63 # DW_AT_external214 .byte 25 # DW_FORM_flag_present215 .byte 0 # EOM(1)216 .byte 0 # EOM(2)217 .byte 5 # Abbreviation Code218 .byte 5 # DW_TAG_formal_parameter219 .byte 0 # DW_CHILDREN_no220 .byte 2 # DW_AT_location221 .byte 23 # DW_FORM_sec_offset222 .byte 3 # DW_AT_name223 .byte 14 # DW_FORM_strp224 .byte 58 # DW_AT_decl_file225 .byte 11 # DW_FORM_data1226 .byte 59 # DW_AT_decl_line227 .byte 11 # DW_FORM_data1228 .byte 73 # DW_AT_type229 .byte 19 # DW_FORM_ref4230 .byte 0 # EOM(1)231 .byte 0 # EOM(2)232 .byte 6 # Abbreviation Code233 .byte 5 # DW_TAG_formal_parameter234 .byte 0 # DW_CHILDREN_no235 .byte 2 # DW_AT_location236 .byte 24 # DW_FORM_exprloc237 .byte 3 # DW_AT_name238 .byte 14 # DW_FORM_strp239 .byte 58 # DW_AT_decl_file240 .byte 11 # DW_FORM_data1241 .byte 59 # DW_AT_decl_line242 .byte 11 # DW_FORM_data1243 .byte 73 # DW_AT_type244 .byte 19 # DW_FORM_ref4245 .byte 0 # EOM(1)246 .byte 0 # EOM(2)247 .byte 0 # EOM(3)248 .section .debug_info,"",@progbits249.Lcu_begin0:250 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit251.Ldebug_info_start0:252 .short 4 # DWARF version number253 .long .debug_abbrev # Offset Into Abbrev. Section254 .byte 8 # Address Size (in bytes)255 .byte 1 # Abbrev [1] 0xb:0xef DW_TAG_compile_unit256 .long .Linfo_string0 # DW_AT_producer257 .short 33 # DW_AT_language258 .long .Linfo_string1 # DW_AT_name259 .long .Lline_table_start0 # DW_AT_stmt_list260 .long .Linfo_string2 # DW_AT_comp_dir261 .quad .Lfunc_begin0 # DW_AT_low_pc262 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc263 .byte 2 # Abbrev [2] 0x2a:0x15 DW_TAG_variable264 .long .Linfo_string3 # DW_AT_name265 .long 63 # DW_AT_type266 # DW_AT_external267 .byte 1 # DW_AT_decl_file268 .byte 1 # DW_AT_decl_line269 .byte 9 # DW_AT_location270 .byte 3271 .quad z1272 .byte 3 # Abbrev [3] 0x3f:0x7 DW_TAG_base_type273 .long .Linfo_string4 # DW_AT_name274 .byte 5 # DW_AT_encoding275 .byte 4 # DW_AT_byte_size276 .byte 2 # Abbrev [2] 0x46:0x15 DW_TAG_variable277 .long .Linfo_string5 # DW_AT_name278 .long 63 # DW_AT_type279 # DW_AT_external280 .byte 1 # DW_AT_decl_file281 .byte 2 # DW_AT_decl_line282 .byte 9 # DW_AT_location283 .byte 3284 .quad d1285 .byte 2 # Abbrev [2] 0x5b:0x15 DW_TAG_variable286 .long .Linfo_string6 # DW_AT_name287 .long 63 # DW_AT_type288 # DW_AT_external289 .byte 1 # DW_AT_decl_file290 .byte 11 # DW_AT_decl_line291 .byte 9 # DW_AT_location292 .byte 3293 .quad z294 .byte 2 # Abbrev [2] 0x70:0x15 DW_TAG_variable295 .long .Linfo_string7 # DW_AT_name296 .long 63 # DW_AT_type297 # DW_AT_external298 .byte 1 # DW_AT_decl_file299 .byte 12 # DW_AT_decl_line300 .byte 9 # DW_AT_location301 .byte 3302 .quad d303 .byte 4 # Abbrev [4] 0x85:0x3a DW_TAG_subprogram304 .quad .Lfunc_begin0 # DW_AT_low_pc305 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc306 .byte 1 # DW_AT_frame_base307 .byte 87308 # DW_AT_GNU_all_call_sites309 .long .Linfo_string8 # DW_AT_linkage_name310 .long .Linfo_string9 # DW_AT_name311 .byte 1 # DW_AT_decl_file312 .byte 4 # DW_AT_decl_line313 .long 63 # DW_AT_type314 # DW_AT_external315 .byte 5 # Abbrev [5] 0xa2:0xf DW_TAG_formal_parameter316 .long .Ldebug_loc0 # DW_AT_location317 .long .Linfo_string12 # DW_AT_name318 .byte 1 # DW_AT_decl_file319 .byte 4 # DW_AT_decl_line320 .long 63 # DW_AT_type321 .byte 6 # Abbrev [6] 0xb1:0xd DW_TAG_formal_parameter322 .byte 1 # DW_AT_location323 .byte 84324 .long .Linfo_string13 # DW_AT_name325 .byte 1 # DW_AT_decl_file326 .byte 4 # DW_AT_decl_line327 .long 63 # DW_AT_type328 .byte 0 # End Of Children Mark329 .byte 4 # Abbrev [4] 0xbf:0x3a DW_TAG_subprogram330 .quad .Lfunc_begin1 # DW_AT_low_pc331 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc332 .byte 1 # DW_AT_frame_base333 .byte 87334 # DW_AT_GNU_all_call_sites335 .long .Linfo_string10 # DW_AT_linkage_name336 .long .Linfo_string11 # DW_AT_name337 .byte 1 # DW_AT_decl_file338 .byte 14 # DW_AT_decl_line339 .long 63 # DW_AT_type340 # DW_AT_external341 .byte 5 # Abbrev [5] 0xdc:0xf DW_TAG_formal_parameter342 .long .Ldebug_loc1 # DW_AT_location343 .long .Linfo_string12 # DW_AT_name344 .byte 1 # DW_AT_decl_file345 .byte 14 # DW_AT_decl_line346 .long 63 # DW_AT_type347 .byte 6 # Abbrev [6] 0xeb:0xd DW_TAG_formal_parameter348 .byte 1 # DW_AT_location349 .byte 84350 .long .Linfo_string13 # DW_AT_name351 .byte 1 # DW_AT_decl_file352 .byte 14 # DW_AT_decl_line353 .long 63 # DW_AT_type354 .byte 0 # End Of Children Mark355 .byte 0 # End Of Children Mark356.Ldebug_info_end0:357 .section .debug_str,"MS",@progbits,1358.Linfo_string0:359 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 37d6c1cc7d4dd3a8a47ba62254bc88521bd50d66)" # string offset=0360.Linfo_string1:361 .asciz "helper2.cpp" # string offset=101362.Linfo_string2:363 .asciz "/dwarf4CrossCULocList" # string offset=113364.Linfo_string3:365 .asciz "z1" # string offset=172366.Linfo_string4:367 .asciz "int" # string offset=175368.Linfo_string5:369 .asciz "d1" # string offset=179370.Linfo_string6:371 .asciz "z" # string offset=182372.Linfo_string7:373 .asciz "d" # string offset=184374.Linfo_string8:375 .asciz "_Z8helper31ii" # string offset=186376.Linfo_string9:377 .asciz "helper31" # string offset=200378.Linfo_string10:379 .asciz "_Z7helper3ii" # string offset=209380.Linfo_string11:381 .asciz "helper3" # string offset=222382.Linfo_string12:383 .asciz "z_" # string offset=230384.Linfo_string13:385 .asciz "d_" # string offset=233386 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 37d6c1cc7d4dd3a8a47ba62254bc88521bd50d66)"387 .section ".note.GNU-stack","",@progbits388 .addrsig389 .section .debug_line,"",@progbits390.Lline_table_start0:391