brintos

brintos / llvm-project-archived public Read only

0
0
Text · 26.2 KiB · c01e2b2 Raw
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