558 lines · plain
1/* Original C (for context):2* __attribute__((noinline))3* int loop_reg_rotate(int n, int seed) {4* volatile int acc = seed; // keep as a named local5* int i = 0, j = 1, k = 2; // extra pressure but not enough to spill6* 7* for (int t = 0; t < n; ++t) {8* // Mix uses so the allocator may reshuffle regs for 'acc'9* acc = acc + i;10* asm volatile("" :: "r"(acc)); // pin 'acc' live here11* acc = acc ^ j;12* asm volatile("" :: "r"(acc)); // and here13* acc = acc + k;14* i ^= acc; j += acc; k ^= j;15* }16* 17* asm volatile("" :: "r"(acc));18* return acc + i + j + k;19* }20*/21 .file "loop_reg_rotate.c"22 .text23 .globl loop_reg_rotate # -- Begin function loop_reg_rotate24 .p2align 425 .type loop_reg_rotate,@function26loop_reg_rotate: # @loop_reg_rotate27.Lfunc_begin0:28 .file 0 "." "loop_reg_rotate.c" md5 0x388f52de76e9442230e689fb9be1b4ef29 .loc 0 2 0 # loop_reg_rotate.c:2:030 .cfi_startproc31# %bb.0: # %entry32 #DEBUG_VALUE: loop_reg_rotate:n <- $edi33 #DEBUG_VALUE: loop_reg_rotate:seed <- $esi34 pushq %rbp35 .cfi_def_cfa_offset 1636 .cfi_offset %rbp, -1637 movq %rsp, %rbp38 .cfi_def_cfa_register %rbp39.Ltmp0:40 .loc 0 3 16 prologue_end # loop_reg_rotate.c:3:1641 movl %esi, -4(%rbp)42.Ltmp1:43 #DEBUG_VALUE: loop_reg_rotate:i <- 044 #DEBUG_VALUE: loop_reg_rotate:j <- 145 #DEBUG_VALUE: loop_reg_rotate:k <- 246 #DEBUG_VALUE: t <- 047 .loc 0 6 21 # loop_reg_rotate.c:6:2148 testl %edi, %edi49.Ltmp2:50 .loc 0 6 3 is_stmt 0 # loop_reg_rotate.c:6:351 jle .LBB0_152.Ltmp3:53# %bb.3: # %for.body.preheader54 #DEBUG_VALUE: loop_reg_rotate:n <- $edi55 #DEBUG_VALUE: loop_reg_rotate:seed <- $esi56 #DEBUG_VALUE: loop_reg_rotate:i <- 057 #DEBUG_VALUE: loop_reg_rotate:j <- 158 #DEBUG_VALUE: loop_reg_rotate:k <- 259 #DEBUG_VALUE: t <- 060 .loc 0 0 3 # loop_reg_rotate.c:0:361 xorl %eax, %eax62 movl $1, %edx63 movl $2, %ecx64.Ltmp4:65 .p2align 466.LBB0_4: # %for.body67 # =>This Inner Loop Header: Depth=168 #DEBUG_VALUE: loop_reg_rotate:n <- [DW_OP_LLVM_entry_value 1] $edi69 #DEBUG_VALUE: loop_reg_rotate:seed <- [DW_OP_LLVM_entry_value 1] $esi70 #DEBUG_VALUE: t <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_minus, DW_OP_consts 18446744073709551615, DW_OP_div, DW_OP_stack_value] undef, undef71 #DEBUG_VALUE: loop_reg_rotate:k <- $ecx72 #DEBUG_VALUE: loop_reg_rotate:j <- $edx73 #DEBUG_VALUE: loop_reg_rotate:i <- $eax74 .loc 0 8 9 is_stmt 1 # loop_reg_rotate.c:8:975 addl %eax, -4(%rbp)76 .loc 0 9 28 # loop_reg_rotate.c:9:2877 movl -4(%rbp), %esi78 .loc 0 9 5 is_stmt 0 # loop_reg_rotate.c:9:579 #APP80 #NO_APP81 .loc 0 10 9 is_stmt 1 # loop_reg_rotate.c:10:982 xorl %edx, -4(%rbp)83 .loc 0 11 28 # loop_reg_rotate.c:11:2884 movl -4(%rbp), %esi85 .loc 0 11 5 is_stmt 0 # loop_reg_rotate.c:11:586 #APP87 #NO_APP88 .loc 0 12 9 is_stmt 1 # loop_reg_rotate.c:12:989 addl %ecx, -4(%rbp)90 .loc 0 13 7 # loop_reg_rotate.c:13:791 xorl -4(%rbp), %eax92.Ltmp5:93 #DEBUG_VALUE: loop_reg_rotate:i <- $eax94 .loc 0 13 17 is_stmt 0 # loop_reg_rotate.c:13:1795 addl -4(%rbp), %edx96.Ltmp6:97 #DEBUG_VALUE: loop_reg_rotate:j <- $edx98 .loc 0 13 27 # loop_reg_rotate.c:13:2799 xorl %edx, %ecx100.Ltmp7:101 #DEBUG_VALUE: loop_reg_rotate:k <- $ecx102 #DEBUG_VALUE: t <- [DW_OP_LLVM_arg 0, DW_OP_LLVM_arg 1, DW_OP_minus, DW_OP_consts 18446744073709551615, DW_OP_div, DW_OP_consts 1, DW_OP_plus, DW_OP_stack_value] undef, undef103 .loc 0 6 21 is_stmt 1 # loop_reg_rotate.c:6:21104 decl %edi105.Ltmp8:106 .loc 0 6 3 is_stmt 0 # loop_reg_rotate.c:6:3107 jne .LBB0_4108 jmp .LBB0_2109.Ltmp9:110.LBB0_1:111 #DEBUG_VALUE: loop_reg_rotate:n <- $edi112 #DEBUG_VALUE: loop_reg_rotate:seed <- $esi113 #DEBUG_VALUE: loop_reg_rotate:i <- 0114 #DEBUG_VALUE: loop_reg_rotate:j <- 1115 #DEBUG_VALUE: loop_reg_rotate:k <- 2116 #DEBUG_VALUE: t <- 0117 .loc 0 0 3 # loop_reg_rotate.c:0:3118 movl $2, %ecx119 movl $1, %edx120 xorl %eax, %eax121.Ltmp10:122.LBB0_2: # %for.cond.cleanup123 #DEBUG_VALUE: loop_reg_rotate:n <- [DW_OP_LLVM_entry_value 1] $edi124 #DEBUG_VALUE: loop_reg_rotate:seed <- [DW_OP_LLVM_entry_value 1] $esi125 .loc 0 16 26 is_stmt 1 # loop_reg_rotate.c:16:26126 movl -4(%rbp), %esi127 .loc 0 16 3 is_stmt 0 # loop_reg_rotate.c:16:3128 #APP129 #NO_APP130 .loc 0 17 14 is_stmt 1 # loop_reg_rotate.c:17:14131 addl %edx, %eax132 .loc 0 17 18 is_stmt 0 # loop_reg_rotate.c:17:18133 addl %ecx, %eax134 .loc 0 17 22 # loop_reg_rotate.c:17:22135 addl -4(%rbp), %eax136 .loc 0 17 3 epilogue_begin # loop_reg_rotate.c:17:3137 popq %rbp138 .cfi_def_cfa %rsp, 8139 retq140.Ltmp11:141.Lfunc_end0:142 .size loop_reg_rotate, .Lfunc_end0-loop_reg_rotate143 .cfi_endproc144 # -- End function145 .section .debug_loclists,"",@progbits146 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length147.Ldebug_list_header_start0:148 .short 5 # Version149 .byte 8 # Address size150 .byte 0 # Segment selector size151 .long 6 # Offset entry count152.Lloclists_table_base0:153 .long .Ldebug_loc0-.Lloclists_table_base0154 .long .Ldebug_loc1-.Lloclists_table_base0155 .long .Ldebug_loc2-.Lloclists_table_base0156 .long .Ldebug_loc3-.Lloclists_table_base0157 .long .Ldebug_loc4-.Lloclists_table_base0158 .long .Ldebug_loc5-.Lloclists_table_base0159.Ldebug_loc0:160 .byte 4 # DW_LLE_offset_pair161 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset162 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset163 .byte 1 # Loc expr size164 .byte 85 # super-register DW_OP_reg5165 .byte 4 # DW_LLE_offset_pair166 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset167 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset168 .byte 4 # Loc expr size169 .byte 163 # DW_OP_entry_value170 .byte 1 # 1171 .byte 85 # super-register DW_OP_reg5172 .byte 159 # DW_OP_stack_value173 .byte 4 # DW_LLE_offset_pair174 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset175 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset176 .byte 1 # Loc expr size177 .byte 85 # super-register DW_OP_reg5178 .byte 4 # DW_LLE_offset_pair179 .uleb128 .Ltmp10-.Lfunc_begin0 # starting offset180 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset181 .byte 4 # Loc expr size182 .byte 163 # DW_OP_entry_value183 .byte 1 # 1184 .byte 85 # super-register DW_OP_reg5185 .byte 159 # DW_OP_stack_value186 .byte 0 # DW_LLE_end_of_list187.Ldebug_loc1:188 .byte 4 # DW_LLE_offset_pair189 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset190 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset191 .byte 1 # Loc expr size192 .byte 84 # super-register DW_OP_reg4193 .byte 4 # DW_LLE_offset_pair194 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset195 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset196 .byte 4 # Loc expr size197 .byte 163 # DW_OP_entry_value198 .byte 1 # 1199 .byte 84 # super-register DW_OP_reg4200 .byte 159 # DW_OP_stack_value201 .byte 4 # DW_LLE_offset_pair202 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset203 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset204 .byte 1 # Loc expr size205 .byte 84 # super-register DW_OP_reg4206 .byte 4 # DW_LLE_offset_pair207 .uleb128 .Ltmp10-.Lfunc_begin0 # starting offset208 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset209 .byte 4 # Loc expr size210 .byte 163 # DW_OP_entry_value211 .byte 1 # 1212 .byte 84 # super-register DW_OP_reg4213 .byte 159 # DW_OP_stack_value214 .byte 0 # DW_LLE_end_of_list215.Ldebug_loc2:216 .byte 4 # DW_LLE_offset_pair217 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset218 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset219 .byte 3 # Loc expr size220 .byte 17 # DW_OP_consts221 .byte 0 # 0222 .byte 159 # DW_OP_stack_value223 .byte 4 # DW_LLE_offset_pair224 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset225 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset226 .byte 1 # Loc expr size227 .byte 80 # super-register DW_OP_reg0228 .byte 4 # DW_LLE_offset_pair229 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset230 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset231 .byte 3 # Loc expr size232 .byte 17 # DW_OP_consts233 .byte 0 # 0234 .byte 159 # DW_OP_stack_value235 .byte 0 # DW_LLE_end_of_list236.Ldebug_loc3:237 .byte 4 # DW_LLE_offset_pair238 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset239 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset240 .byte 3 # Loc expr size241 .byte 17 # DW_OP_consts242 .byte 1 # 1243 .byte 159 # DW_OP_stack_value244 .byte 4 # DW_LLE_offset_pair245 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset246 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset247 .byte 1 # Loc expr size248 .byte 81 # super-register DW_OP_reg1249 .byte 4 # DW_LLE_offset_pair250 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset251 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset252 .byte 3 # Loc expr size253 .byte 17 # DW_OP_consts254 .byte 1 # 1255 .byte 159 # DW_OP_stack_value256 .byte 0 # DW_LLE_end_of_list257.Ldebug_loc4:258 .byte 4 # DW_LLE_offset_pair259 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset260 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset261 .byte 3 # Loc expr size262 .byte 17 # DW_OP_consts263 .byte 2 # 2264 .byte 159 # DW_OP_stack_value265 .byte 4 # DW_LLE_offset_pair266 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset267 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset268 .byte 1 # Loc expr size269 .byte 82 # super-register DW_OP_reg2270 .byte 4 # DW_LLE_offset_pair271 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset272 .uleb128 .Ltmp10-.Lfunc_begin0 # ending offset273 .byte 3 # Loc expr size274 .byte 17 # DW_OP_consts275 .byte 2 # 2276 .byte 159 # DW_OP_stack_value277 .byte 0 # DW_LLE_end_of_list278.Ldebug_loc5:279 .byte 4 # DW_LLE_offset_pair280 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset281 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset282 .byte 3 # Loc expr size283 .byte 17 # DW_OP_consts284 .byte 0 # 0285 .byte 159 # DW_OP_stack_value286 .byte 0 # DW_LLE_end_of_list287.Ldebug_list_header_end0:288 .section .debug_abbrev,"",@progbits289 .byte 1 # Abbreviation Code290 .byte 17 # DW_TAG_compile_unit291 .byte 1 # DW_CHILDREN_yes292 .byte 37 # DW_AT_producer293 .byte 37 # DW_FORM_strx1294 .byte 19 # DW_AT_language295 .byte 5 # DW_FORM_data2296 .byte 3 # DW_AT_name297 .byte 37 # DW_FORM_strx1298 .byte 114 # DW_AT_str_offsets_base299 .byte 23 # DW_FORM_sec_offset300 .byte 16 # DW_AT_stmt_list301 .byte 23 # DW_FORM_sec_offset302 .byte 27 # DW_AT_comp_dir303 .byte 37 # DW_FORM_strx1304 .byte 17 # DW_AT_low_pc305 .byte 27 # DW_FORM_addrx306 .byte 18 # DW_AT_high_pc307 .byte 6 # DW_FORM_data4308 .byte 115 # DW_AT_addr_base309 .byte 23 # DW_FORM_sec_offset310 .ascii "\214\001" # DW_AT_loclists_base311 .byte 23 # DW_FORM_sec_offset312 .byte 0 # EOM(1)313 .byte 0 # EOM(2)314 .byte 2 # Abbreviation Code315 .byte 46 # DW_TAG_subprogram316 .byte 1 # DW_CHILDREN_yes317 .byte 17 # DW_AT_low_pc318 .byte 27 # DW_FORM_addrx319 .byte 18 # DW_AT_high_pc320 .byte 6 # DW_FORM_data4321 .byte 64 # DW_AT_frame_base322 .byte 24 # DW_FORM_exprloc323 .byte 122 # DW_AT_call_all_calls324 .byte 25 # DW_FORM_flag_present325 .byte 3 # DW_AT_name326 .byte 37 # DW_FORM_strx1327 .byte 58 # DW_AT_decl_file328 .byte 11 # DW_FORM_data1329 .byte 59 # DW_AT_decl_line330 .byte 11 # DW_FORM_data1331 .byte 39 # DW_AT_prototyped332 .byte 25 # DW_FORM_flag_present333 .byte 73 # DW_AT_type334 .byte 19 # DW_FORM_ref4335 .byte 63 # DW_AT_external336 .byte 25 # DW_FORM_flag_present337 .byte 0 # EOM(1)338 .byte 0 # EOM(2)339 .byte 3 # Abbreviation Code340 .byte 5 # DW_TAG_formal_parameter341 .byte 0 # DW_CHILDREN_no342 .byte 2 # DW_AT_location343 .byte 34 # DW_FORM_loclistx344 .byte 3 # DW_AT_name345 .byte 37 # DW_FORM_strx1346 .byte 58 # DW_AT_decl_file347 .byte 11 # DW_FORM_data1348 .byte 59 # DW_AT_decl_line349 .byte 11 # DW_FORM_data1350 .byte 73 # DW_AT_type351 .byte 19 # DW_FORM_ref4352 .byte 0 # EOM(1)353 .byte 0 # EOM(2)354 .byte 4 # Abbreviation Code355 .byte 52 # DW_TAG_variable356 .byte 0 # DW_CHILDREN_no357 .byte 2 # DW_AT_location358 .byte 24 # DW_FORM_exprloc359 .byte 3 # DW_AT_name360 .byte 37 # DW_FORM_strx1361 .byte 58 # DW_AT_decl_file362 .byte 11 # DW_FORM_data1363 .byte 59 # DW_AT_decl_line364 .byte 11 # DW_FORM_data1365 .byte 73 # DW_AT_type366 .byte 19 # DW_FORM_ref4367 .byte 0 # EOM(1)368 .byte 0 # EOM(2)369 .byte 5 # Abbreviation Code370 .byte 52 # DW_TAG_variable371 .byte 0 # DW_CHILDREN_no372 .byte 2 # DW_AT_location373 .byte 34 # DW_FORM_loclistx374 .byte 3 # DW_AT_name375 .byte 37 # DW_FORM_strx1376 .byte 58 # DW_AT_decl_file377 .byte 11 # DW_FORM_data1378 .byte 59 # DW_AT_decl_line379 .byte 11 # DW_FORM_data1380 .byte 73 # DW_AT_type381 .byte 19 # DW_FORM_ref4382 .byte 0 # EOM(1)383 .byte 0 # EOM(2)384 .byte 6 # Abbreviation Code385 .byte 11 # DW_TAG_lexical_block386 .byte 1 # DW_CHILDREN_yes387 .byte 17 # DW_AT_low_pc388 .byte 27 # DW_FORM_addrx389 .byte 18 # DW_AT_high_pc390 .byte 6 # DW_FORM_data4391 .byte 0 # EOM(1)392 .byte 0 # EOM(2)393 .byte 7 # Abbreviation Code394 .byte 36 # DW_TAG_base_type395 .byte 0 # DW_CHILDREN_no396 .byte 3 # DW_AT_name397 .byte 37 # DW_FORM_strx1398 .byte 62 # DW_AT_encoding399 .byte 11 # DW_FORM_data1400 .byte 11 # DW_AT_byte_size401 .byte 11 # DW_FORM_data1402 .byte 0 # EOM(1)403 .byte 0 # EOM(2)404 .byte 8 # Abbreviation Code405 .byte 53 # DW_TAG_volatile_type406 .byte 0 # DW_CHILDREN_no407 .byte 73 # DW_AT_type408 .byte 19 # DW_FORM_ref4409 .byte 0 # EOM(1)410 .byte 0 # EOM(2)411 .byte 0 # EOM(3)412 .section .debug_info,"",@progbits413.Lcu_begin0:414 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit415.Ldebug_info_start0:416 .short 5 # DWARF version number417 .byte 1 # DWARF Unit Type418 .byte 8 # Address Size (in bytes)419 .long .debug_abbrev # Offset Into Abbrev. Section420 .byte 1 # Abbrev [1] 0xc:0x7d DW_TAG_compile_unit421 .byte 0 # DW_AT_producer422 .short 29 # DW_AT_language423 .byte 1 # DW_AT_name424 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base425 .long .Lline_table_start0 # DW_AT_stmt_list426 .byte 2 # DW_AT_comp_dir427 .byte 0 # DW_AT_low_pc428 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc429 .long .Laddr_table_base0 # DW_AT_addr_base430 .long .Lloclists_table_base0 # DW_AT_loclists_base431 .byte 2 # Abbrev [2] 0x27:0x58 DW_TAG_subprogram432 .byte 0 # DW_AT_low_pc433 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc434 .byte 1 # DW_AT_frame_base435 .byte 86436 # DW_AT_call_all_calls437 .byte 3 # DW_AT_name438 .byte 0 # DW_AT_decl_file439 .byte 2 # DW_AT_decl_line440 # DW_AT_prototyped441 .long 127 # DW_AT_type442 # DW_AT_external443 .byte 3 # Abbrev [3] 0x36:0x9 DW_TAG_formal_parameter444 .byte 0 # DW_AT_location445 .byte 6 # DW_AT_name446 .byte 0 # DW_AT_decl_file447 .byte 2 # DW_AT_decl_line448 .long 127 # DW_AT_type449 .byte 3 # Abbrev [3] 0x3f:0x9 DW_TAG_formal_parameter450 .byte 1 # DW_AT_location451 .byte 7 # DW_AT_name452 .byte 0 # DW_AT_decl_file453 .byte 2 # DW_AT_decl_line454 .long 127 # DW_AT_type455 .byte 4 # Abbrev [4] 0x48:0xb DW_TAG_variable456 .byte 2 # DW_AT_location457 .byte 145458 .byte 124459 .byte 5 # DW_AT_name460 .byte 0 # DW_AT_decl_file461 .byte 3 # DW_AT_decl_line462 .long 131 # DW_AT_type463 .byte 5 # Abbrev [5] 0x53:0x9 DW_TAG_variable464 .byte 2 # DW_AT_location465 .byte 8 # DW_AT_name466 .byte 0 # DW_AT_decl_file467 .byte 4 # DW_AT_decl_line468 .long 127 # DW_AT_type469 .byte 5 # Abbrev [5] 0x5c:0x9 DW_TAG_variable470 .byte 3 # DW_AT_location471 .byte 9 # DW_AT_name472 .byte 0 # DW_AT_decl_file473 .byte 4 # DW_AT_decl_line474 .long 127 # DW_AT_type475 .byte 5 # Abbrev [5] 0x65:0x9 DW_TAG_variable476 .byte 4 # DW_AT_location477 .byte 10 # DW_AT_name478 .byte 0 # DW_AT_decl_file479 .byte 4 # DW_AT_decl_line480 .long 127 # DW_AT_type481 .byte 6 # Abbrev [6] 0x6e:0x10 DW_TAG_lexical_block482 .byte 1 # DW_AT_low_pc483 .long .Ltmp9-.Ltmp1 # DW_AT_high_pc484 .byte 5 # Abbrev [5] 0x74:0x9 DW_TAG_variable485 .byte 5 # DW_AT_location486 .byte 11 # DW_AT_name487 .byte 0 # DW_AT_decl_file488 .byte 6 # DW_AT_decl_line489 .long 127 # DW_AT_type490 .byte 0 # End Of Children Mark491 .byte 0 # End Of Children Mark492 .byte 7 # Abbrev [7] 0x7f:0x4 DW_TAG_base_type493 .byte 4 # DW_AT_name494 .byte 5 # DW_AT_encoding495 .byte 4 # DW_AT_byte_size496 .byte 8 # Abbrev [8] 0x83:0x5 DW_TAG_volatile_type497 .long 127 # DW_AT_type498 .byte 0 # End Of Children Mark499.Ldebug_info_end0:500 .section .debug_str_offsets,"",@progbits501 .long 52 # Length of String Offsets Set502 .short 5503 .short 0504.Lstr_offsets_base0:505 .section .debug_str,"MS",@progbits,1506.Linfo_string0:507 .asciz "clang version 22.0.0git (https://github.com/UltimateForce21/llvm-project.git 79c0a9e1e7da0f727c41d27c9c6ff8a28bb7d06f)" # string offset=0508.Linfo_string1:509 .asciz "loop_reg_rotate.c" # string offset=119510.Linfo_string2:511 .asciz "." # string offset=137512.Linfo_string3:513 .asciz "loop_reg_rotate" # string offset=139514.Linfo_string4:515 .asciz "int" # string offset=155516.Linfo_string5:517 .asciz "acc" # string offset=159518.Linfo_string6:519 .asciz "n" # string offset=163520.Linfo_string7:521 .asciz "seed" # string offset=165522.Linfo_string8:523 .asciz "i" # string offset=170524.Linfo_string9:525 .asciz "j" # string offset=172526.Linfo_string10:527 .asciz "k" # string offset=174528.Linfo_string11:529 .asciz "t" # string offset=176530 .section .debug_str_offsets,"",@progbits531 .long .Linfo_string0532 .long .Linfo_string1533 .long .Linfo_string2534 .long .Linfo_string3535 .long .Linfo_string4536 .long .Linfo_string5537 .long .Linfo_string6538 .long .Linfo_string7539 .long .Linfo_string8540 .long .Linfo_string9541 .long .Linfo_string10542 .long .Linfo_string11543 .section .debug_addr,"",@progbits544 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution545.Ldebug_addr_start0:546 .short 5 # DWARF version number547 .byte 8 # Address size548 .byte 0 # Segment selector size549.Laddr_table_base0:550 .quad .Lfunc_begin0551 .quad .Ltmp1552.Ldebug_addr_end0:553 .ident "clang version 22.0.0git (https://github.com/UltimateForce21/llvm-project.git 79c0a9e1e7da0f727c41d27c9c6ff8a28bb7d06f)"554 .section ".note.GNU-stack","",@progbits555 .addrsig556 .section .debug_line,"",@progbits557.Lline_table_start0:558