1 .text 2 .file "pr-44884.cpp" 3 .globaltype __stack_pointer, i32 4 .functype _Z3barf (f32) -> (i32) 5 .functype _Z3fooc (i32) -> (i32) 6 .section .text._Z3barf,"",@ 7 .hidden _Z3barf # -- Begin function _Z3barf 8 .globl _Z3barf 9 .type _Z3barf,@function 10_Z3barf: # @_Z3barf 11.Lfunc_begin0: 12 .file 1 "/data/projects/scripts/regression-suite/input/general" "pr-44884.cpp" 13 .loc 1 1 0 # pr-44884.cpp:1:0 14 .functype _Z3barf (f32) -> (i32) 15 .local i32, i32, i32, f32, f32, f32, i32, i32, i32, i32, i32, i32 16# %bb.0: # %entry 17 global.get __stack_pointer 18 local.set 1 19 i32.const 16 20 local.set 2 21 local.get 1 22 local.get 2 23 i32.sub 24 local.set 3 25 local.get 3 26 local.get 0 27 f32.store 12 28.Ltmp0: 29 .loc 1 1 36 prologue_end # pr-44884.cpp:1:36 30 local.get 3 31 f32.load 12 32 local.set 4 33 local.get 4 34 f32.abs 35 local.set 5 36 f32.const 0x1p31 37 local.set 6 38 local.get 5 39 local.get 6 40 f32.lt 41 local.set 7 42 local.get 7 43 i32.eqz 44 local.set 8 45 block 46 block 47 local.get 8 48 br_if 0 # 0: down to label1 49# %bb.1: # %entry 50 local.get 4 51 i32.trunc_f32_s 52 local.set 9 53 local.get 9 54 local.set 10 55 br 1 # 1: down to label0 56.LBB0_2: # %entry 57 .loc 1 0 36 is_stmt 0 # pr-44884.cpp:0:36 58 end_block # label1: 59 .loc 1 1 36 # pr-44884.cpp:1:36 60 i32.const -2147483648 61 local.set 11 62 local.get 11 63 local.set 10 64.LBB0_3: # %entry 65 .loc 1 0 36 # pr-44884.cpp:0:36 66 end_block # label0: 67 .loc 1 1 36 # pr-44884.cpp:1:36 68 local.get 10 69 local.set 12 70 .loc 1 1 24 # pr-44884.cpp:1:24 71 local.get 12 72 return 73 end_function 74.Ltmp1: 75.Lfunc_end0: 76 # -- End function 77 .section .text._Z3fooc,"",@ 78 .hidden _Z3fooc # -- Begin function _Z3fooc 79 .globl _Z3fooc 80 .type _Z3fooc,@function 81_Z3fooc: # @_Z3fooc 82.Lfunc_begin1: 83 .loc 1 3 0 is_stmt 1 # pr-44884.cpp:3:0 84 .functype _Z3fooc (i32) -> (i32) 85 .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, f32, f32, i32, i32, i32, i32, i32, i32, i32, i32, i32 86# %bb.0: # %entry 87 global.get __stack_pointer 88 local.set 1 89 i32.const 16 90 local.set 2 91 local.get 1 92 local.get 2 93 i32.sub 94 local.set 3 95 local.get 3 96 global.set __stack_pointer 97 local.get 3 98 local.get 0 99 i32.store8 15 100.Ltmp2: 101 .loc 1 5 15 prologue_end # pr-44884.cpp:5:15 102 local.get 3 103 i32.load8_u 15 104 local.set 4 105 i32.const 24 106 local.set 5 107 local.get 4 108 local.get 5 109 i32.shl 110 local.set 6 111 local.get 6 112 local.get 5 113 i32.shr_s 114 local.set 7 115 .loc 1 5 7 is_stmt 0 # pr-44884.cpp:5:7 116 local.get 3 117 local.get 7 118 i32.store 8 119.Ltmp3: 120 .loc 1 9 21 is_stmt 1 # pr-44884.cpp:9:21 121 local.get 3 122 i32.load 8 123 local.set 8 124 .loc 1 9 29 is_stmt 0 # pr-44884.cpp:9:29 125 local.get 3 126 i32.load8_u 15 127 local.set 9 128 i32.const 24 129 local.set 10 130 local.get 9 131 local.get 10 132 i32.shl 133 local.set 11 134 local.get 11 135 local.get 10 136 i32.shr_s 137 local.set 12 138 .loc 1 9 27 # pr-44884.cpp:9:27 139 local.get 8 140 local.get 12 141 i32.add 142 local.set 13 143 .loc 1 9 21 # pr-44884.cpp:9:21 144 local.get 13 145 f32.convert_i32_s 146 local.set 14 147 .loc 1 9 13 # pr-44884.cpp:9:13 148 local.get 3 149 local.get 14 150 f32.store 4 151 .loc 1 10 19 is_stmt 1 # pr-44884.cpp:10:19 152 local.get 3 153 f32.load 4 154 local.set 15 155 .loc 1 10 15 is_stmt 0 # pr-44884.cpp:10:15 156 local.get 15 157 call _Z3barf 158 local.set 16 159 .loc 1 10 13 # pr-44884.cpp:10:13 160 local.get 3 161 local.get 16 162 i32.store 8 163.Ltmp4: 164 .loc 1 13 10 is_stmt 1 # pr-44884.cpp:13:10 165 local.get 3 166 i32.load 8 167 local.set 17 168 .loc 1 13 18 is_stmt 0 # pr-44884.cpp:13:18 169 local.get 3 170 i32.load8_u 15 171 local.set 18 172 i32.const 24 173 local.set 19 174 local.get 18 175 local.get 19 176 i32.shl 177 local.set 20 178 local.get 20 179 local.get 19 180 i32.shr_s 181 local.set 21 182 .loc 1 13 16 # pr-44884.cpp:13:16 183 local.get 17 184 local.get 21 185 i32.add 186 local.set 22 187 .loc 1 13 3 # pr-44884.cpp:13:3 188 i32.const 16 189 local.set 23 190 local.get 3 191 local.get 23 192 i32.add 193 local.set 24 194 local.get 24 195 global.set __stack_pointer 196 local.get 22 197 return 198 end_function 199.Ltmp5: 200.Lfunc_end1: 201 # -- End function 202 .section .debug_abbrev,"",@ 203 .int8 1 # Abbreviation Code 204 .int8 17 # DW_TAG_compile_unit 205 .int8 1 # DW_CHILDREN_yes 206 .int8 37 # DW_AT_producer 207 .int8 14 # DW_FORM_strp 208 .int8 19 # DW_AT_language 209 .int8 5 # DW_FORM_data2 210 .int8 3 # DW_AT_name 211 .int8 14 # DW_FORM_strp 212 .int8 16 # DW_AT_stmt_list 213 .int8 23 # DW_FORM_sec_offset 214 .int8 27 # DW_AT_comp_dir 215 .int8 14 # DW_FORM_strp 216 .int8 17 # DW_AT_low_pc 217 .int8 1 # DW_FORM_addr 218 .int8 85 # DW_AT_ranges 219 .int8 23 # DW_FORM_sec_offset 220 .int8 0 # EOM(1) 221 .int8 0 # EOM(2) 222 .int8 2 # Abbreviation Code 223 .int8 36 # DW_TAG_base_type 224 .int8 0 # DW_CHILDREN_no 225 .int8 3 # DW_AT_name 226 .int8 14 # DW_FORM_strp 227 .int8 62 # DW_AT_encoding 228 .int8 11 # DW_FORM_data1 229 .int8 11 # DW_AT_byte_size 230 .int8 11 # DW_FORM_data1 231 .int8 0 # EOM(1) 232 .int8 0 # EOM(2) 233 .int8 3 # Abbreviation Code 234 .int8 46 # DW_TAG_subprogram 235 .int8 1 # DW_CHILDREN_yes 236 .int8 17 # DW_AT_low_pc 237 .int8 1 # DW_FORM_addr 238 .int8 18 # DW_AT_high_pc 239 .int8 6 # DW_FORM_data4 240 .int8 64 # DW_AT_frame_base 241 .int8 24 # DW_FORM_exprloc 242 .int8 110 # DW_AT_linkage_name 243 .int8 14 # DW_FORM_strp 244 .int8 3 # DW_AT_name 245 .int8 14 # DW_FORM_strp 246 .int8 58 # DW_AT_decl_file 247 .int8 11 # DW_FORM_data1 248 .int8 59 # DW_AT_decl_line 249 .int8 11 # DW_FORM_data1 250 .int8 73 # DW_AT_type 251 .int8 19 # DW_FORM_ref4 252 .int8 63 # DW_AT_external 253 .int8 25 # DW_FORM_flag_present 254 .int8 0 # EOM(1) 255 .int8 0 # EOM(2) 256 .int8 4 # Abbreviation Code 257 .int8 5 # DW_TAG_formal_parameter 258 .int8 0 # DW_CHILDREN_no 259 .int8 2 # DW_AT_location 260 .int8 24 # DW_FORM_exprloc 261 .int8 3 # DW_AT_name 262 .int8 14 # DW_FORM_strp 263 .int8 58 # DW_AT_decl_file 264 .int8 11 # DW_FORM_data1 265 .int8 59 # DW_AT_decl_line 266 .int8 11 # DW_FORM_data1 267 .int8 73 # DW_AT_type 268 .int8 19 # DW_FORM_ref4 269 .int8 0 # EOM(1) 270 .int8 0 # EOM(2) 271 .int8 5 # Abbreviation Code 272 .int8 52 # DW_TAG_variable 273 .int8 0 # DW_CHILDREN_no 274 .int8 2 # DW_AT_location 275 .int8 24 # DW_FORM_exprloc 276 .int8 3 # DW_AT_name 277 .int8 14 # DW_FORM_strp 278 .int8 58 # DW_AT_decl_file 279 .int8 11 # DW_FORM_data1 280 .int8 59 # DW_AT_decl_line 281 .int8 11 # DW_FORM_data1 282 .int8 73 # DW_AT_type 283 .int8 19 # DW_FORM_ref4 284 .int8 0 # EOM(1) 285 .int8 0 # EOM(2) 286 .int8 6 # Abbreviation Code 287 .int8 11 # DW_TAG_lexical_block 288 .int8 1 # DW_CHILDREN_yes 289 .int8 17 # DW_AT_low_pc 290 .int8 1 # DW_FORM_addr 291 .int8 18 # DW_AT_high_pc 292 .int8 6 # DW_FORM_data4 293 .int8 0 # EOM(1) 294 .int8 0 # EOM(2) 295 .int8 7 # Abbreviation Code 296 .int8 22 # DW_TAG_typedef 297 .int8 0 # DW_CHILDREN_no 298 .int8 73 # DW_AT_type 299 .int8 19 # DW_FORM_ref4 300 .int8 3 # DW_AT_name 301 .int8 14 # DW_FORM_strp 302 .int8 58 # DW_AT_decl_file 303 .int8 11 # DW_FORM_data1 304 .int8 59 # DW_AT_decl_line 305 .int8 11 # DW_FORM_data1 306 .int8 0 # EOM(1) 307 .int8 0 # EOM(2) 308 .int8 0 # EOM(3) 309 .section .debug_info,"",@ 310.Lcu_begin0: 311 .int32 .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 312.Ldebug_info_start0: 313 .int16 4 # DWARF version number 314 .int32 .debug_abbrev0 # Offset Into Abbrev. Section 315 .int8 4 # Address Size (in bytes) 316 .int8 1 # Abbrev [1] 0xb:0xca DW_TAG_compile_unit 317 .int32 .Linfo_string0 # DW_AT_producer 318 .int16 33 # DW_AT_language 319 .int32 .Linfo_string1 # DW_AT_name 320 .int32 .Lline_table_start0 # DW_AT_stmt_list 321 .int32 .Linfo_string2 # DW_AT_comp_dir 322 .int32 0 # DW_AT_low_pc 323 .int32 .Ldebug_ranges0 # DW_AT_ranges 324 .int8 2 # Abbrev [2] 0x26:0x7 DW_TAG_base_type 325 .int32 .Linfo_string3 # DW_AT_name 326 .int8 5 # DW_AT_encoding 327 .int8 4 # DW_AT_byte_size 328 .int8 3 # Abbrev [3] 0x2d:0x2b DW_TAG_subprogram 329 .int32 .Lfunc_begin0 # DW_AT_low_pc 330 .int32 .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 331 .int8 4 # DW_AT_frame_base 332 .int8 237 333 .int8 0 334 .int8 3 335 .int8 159 336 .int32 .Linfo_string4 # DW_AT_linkage_name 337 .int32 .Linfo_string5 # DW_AT_name 338 .int8 1 # DW_AT_decl_file 339 .int8 1 # DW_AT_decl_line 340 .int32 38 # DW_AT_type 341 # DW_AT_external 342 .int8 4 # Abbrev [4] 0x49:0xe DW_TAG_formal_parameter 343 .int8 2 # DW_AT_location 344 .int8 145 345 .int8 12 346 .int32 .Linfo_string9 # DW_AT_name 347 .int8 1 # DW_AT_decl_file 348 .int8 1 # DW_AT_decl_line 349 .int32 198 # DW_AT_type 350 .int8 0 # End Of Children Mark 351 .int8 3 # Abbrev [3] 0x58:0x67 DW_TAG_subprogram 352 .int32 .Lfunc_begin1 # DW_AT_low_pc 353 .int32 .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 354 .int8 4 # DW_AT_frame_base 355 .int8 237 356 .int8 0 357 .int8 3 358 .int8 159 359 .int32 .Linfo_string6 # DW_AT_linkage_name 360 .int32 .Linfo_string7 # DW_AT_name 361 .int8 1 # DW_AT_decl_file 362 .int8 3 # DW_AT_decl_line 363 .int32 191 # DW_AT_type 364 # DW_AT_external 365 .int8 4 # Abbrev [4] 0x74:0xe DW_TAG_formal_parameter 366 .int8 2 # DW_AT_location 367 .int8 145 368 .int8 15 369 .int32 .Linfo_string11 # DW_AT_name 370 .int8 1 # DW_AT_decl_file 371 .int8 3 # DW_AT_decl_line 372 .int32 205 # DW_AT_type 373 .int8 5 # Abbrev [5] 0x82:0xe DW_TAG_variable 374 .int8 2 # DW_AT_location 375 .int8 145 376 .int8 8 377 .int32 .Linfo_string13 # DW_AT_name 378 .int8 1 # DW_AT_decl_file 379 .int8 5 # DW_AT_decl_line 380 .int32 168 # DW_AT_type 381 .int8 6 # Abbrev [6] 0x90:0x18 DW_TAG_lexical_block 382 .int32 .Ltmp3 # DW_AT_low_pc 383 .int32 .Ltmp4-.Ltmp3 # DW_AT_high_pc 384 .int8 5 # Abbrev [5] 0x99:0xe DW_TAG_variable 385 .int8 2 # DW_AT_location 386 .int8 145 387 .int8 4 388 .int32 .Linfo_string15 # DW_AT_name 389 .int8 1 # DW_AT_decl_file 390 .int8 9 # DW_AT_decl_line 391 .int32 179 # DW_AT_type 392 .int8 0 # End Of Children Mark 393 .int8 7 # Abbrev [7] 0xa8:0xb DW_TAG_typedef 394 .int32 38 # DW_AT_type 395 .int32 .Linfo_string14 # DW_AT_name 396 .int8 1 # DW_AT_decl_file 397 .int8 4 # DW_AT_decl_line 398 .int8 7 # Abbrev [7] 0xb3:0xb DW_TAG_typedef 399 .int32 198 # DW_AT_type 400 .int32 .Linfo_string16 # DW_AT_name 401 .int8 1 # DW_AT_decl_file 402 .int8 7 # DW_AT_decl_line 403 .int8 0 # End Of Children Mark 404 .int8 2 # Abbrev [2] 0xbf:0x7 DW_TAG_base_type 405 .int32 .Linfo_string8 # DW_AT_name 406 .int8 7 # DW_AT_encoding 407 .int8 4 # DW_AT_byte_size 408 .int8 2 # Abbrev [2] 0xc6:0x7 DW_TAG_base_type 409 .int32 .Linfo_string10 # DW_AT_name 410 .int8 4 # DW_AT_encoding 411 .int8 4 # DW_AT_byte_size 412 .int8 2 # Abbrev [2] 0xcd:0x7 DW_TAG_base_type 413 .int32 .Linfo_string12 # DW_AT_name 414 .int8 6 # DW_AT_encoding 415 .int8 1 # DW_AT_byte_size 416 .int8 0 # End Of Children Mark 417.Ldebug_info_end0: 418 .section .debug_ranges,"",@ 419.Ldebug_ranges0: 420 .int32 .Lfunc_begin0 421 .int32 .Lfunc_end0 422 .int32 .Lfunc_begin1 423 .int32 .Lfunc_end1 424 .int32 0 425 .int32 0 426 .section .debug_str,"S",@ 427.Linfo_string0: 428 .asciz "clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)" # string offset=0 429.Linfo_string1: 430 .asciz "pr-44884.cpp" # string offset=111 431.Linfo_string2: 432 .asciz "/data/projects/scripts/regression-suite/input/general" # string offset=124 433.Linfo_string3: 434 .asciz "int" # string offset=178 435.Linfo_string4: 436 .asciz "_Z3barf" # string offset=182 437.Linfo_string5: 438 .asciz "bar" # string offset=190 439.Linfo_string6: 440 .asciz "_Z3fooc" # string offset=194 441.Linfo_string7: 442 .asciz "foo" # string offset=202 443.Linfo_string8: 444 .asciz "unsigned int" # string offset=206 445.Linfo_string9: 446 .asciz "Input" # string offset=219 447.Linfo_string10: 448 .asciz "float" # string offset=225 449.Linfo_string11: 450 .asciz "Param" # string offset=231 451.Linfo_string12: 452 .asciz "char" # string offset=237 453.Linfo_string13: 454 .asciz "Value" # string offset=242 455.Linfo_string14: 456 .asciz "INT" # string offset=248 457.Linfo_string15: 458 .asciz "Added" # string offset=252 459.Linfo_string16: 460 .asciz "FLOAT" # string offset=258 461 .ident "clang version 19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)" 462 .section .custom_section.producers,"",@ 463 .int8 2 464 .int8 8 465 .ascii "language" 466 .int8 1 467 .int8 14 468 .ascii "C_plus_plus_14" 469 .int8 0 470 .int8 12 471 .ascii "processed-by" 472 .int8 1 473 .int8 5 474 .ascii "clang" 475 .int8 96 476 .ascii "19.0.0git (/data/projects/llvm-root/llvm-project/clang 2db6703f0c257d293df455e2dff8c1fb695c4100)" 477 .section .debug_str,"S",@ 478 .section .custom_section.target_features,"",@ 479 .int8 2 480 .int8 43 481 .int8 15 482 .ascii "mutable-globals" 483 .int8 43 484 .int8 8 485 .ascii "sign-ext" 486 .section .debug_str,"S",@ 487 .section .debug_line,"",@ 488.Lline_table_start0: 489