brintos

brintos / llvm-project-archived public Read only

0
0
Text · 17.9 KiB · 7f002d3 Raw
391 lines · plain
1# void use(int * x, int * y) {2#   *x += 4;3#   *y -= 2;4# }5#6# extern int fooVar;7# int  main(int argc, char *argv[]) {8#    int x = argc;9#    int y = fooVar + 3;10#    use(&x, &y);11#    return x + y;12# }13 14	.text15	.file	"main.cpp"16	.globl	_Z3usePiS_                      # -- Begin function _Z3usePiS_17	.p2align	4, 0x9018	.type	_Z3usePiS_,@function19_Z3usePiS_:                             # @_Z3usePiS_20.Lfunc_begin0:21	.file	0 "." "main.cpp" md5 0x0df8b93231613cae17dbf82c0897c3b322	.loc	0 1 0                           # main.cpp:1:023	.cfi_startproc24# %bb.0:                                # %entry25	#DEBUG_VALUE: use:x <- $rdi26	#DEBUG_VALUE: use:y <- $rsi27	.loc	0 2 6 prologue_end              # main.cpp:2:628	addl	$4, (%rdi)29	.loc	0 3 6                           # main.cpp:3:630	addl	$-2, (%rsi)31	.loc	0 4 1                           # main.cpp:4:132	retq33.Ltmp0:34.Lfunc_end0:35	.size	_Z3usePiS_, .Lfunc_end0-_Z3usePiS_36	.cfi_endproc37                                        # -- End function38	.globl	main                            # -- Begin function main39	.p2align	4, 0x9040	.type	main,@function41main:                                   # @main42.Lfunc_begin1:43	.loc	0 7 0                           # main.cpp:7:044	.cfi_startproc45# %bb.0:                                # %entry46	#DEBUG_VALUE: main:argc <- $edi47	#DEBUG_VALUE: main:argv <- $rsi48	#DEBUG_VALUE: main:x <- $edi49                                        # kill: def $edi killed $edi def $rdi50	.loc	0 9 13 prologue_end             # main.cpp:9:1351	movq	fooVar@GOTPCREL(%rip), %rax52	movl	(%rax), %eax53.Ltmp1:54	#DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 3, DW_OP_stack_value] $eax55	#DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 1, DW_OP_stack_value] $eax56	#DEBUG_VALUE: main:x <- [DW_OP_plus_uconst 4, DW_OP_stack_value] $edi57	.loc	0 11 14                         # main.cpp:11:1458	addl	%edi, %eax59.Ltmp2:60	addl	$5, %eax61	.loc	0 11 5 is_stmt 0                # main.cpp:11:562	retq63.Ltmp3:64.Lfunc_end1:65	.size	main, .Lfunc_end1-main66	.cfi_endproc67                                        # -- End function68	.section	.debug_loclists,"",@progbits69	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length70.Ldebug_list_header_start0:71	.short	5                               # Version72	.byte	8                               # Address size73	.byte	0                               # Segment selector size74	.long	2                               # Offset entry count75.Lloclists_table_base0:76	.long	.Ldebug_loc0-.Lloclists_table_base077	.long	.Ldebug_loc1-.Lloclists_table_base078.Ldebug_loc0:79	.byte	4                               # DW_LLE_offset_pair80	.uleb128 .Lfunc_begin1-.Lfunc_begin0    #   starting offset81	.uleb128 .Ltmp1-.Lfunc_begin0           #   ending offset82	.byte	1                               # Loc expr size83	.byte	85                              # super-register DW_OP_reg584	.byte	4                               # DW_LLE_offset_pair85	.uleb128 .Ltmp1-.Lfunc_begin0           #   starting offset86	.uleb128 .Lfunc_end1-.Lfunc_begin0      #   ending offset87	.byte	10                              # Loc expr size88	.byte	117                             # DW_OP_breg589	.byte	4                               # 490	.byte	16                              # DW_OP_constu91	.byte	255                             # 429496729592	.byte	255                             #93	.byte	255                             #94	.byte	255                             #95	.byte	15                              #96	.byte	26                              # DW_OP_and97	.byte	159                             # DW_OP_stack_value98	.byte	0                               # DW_LLE_end_of_list99.Ldebug_loc1:100	.byte	4                               # DW_LLE_offset_pair101	.uleb128 .Ltmp1-.Lfunc_begin0           #   starting offset102	.uleb128 .Ltmp2-.Lfunc_begin0           #   ending offset103	.byte	10                              # Loc expr size104	.byte	112                             # DW_OP_breg0105	.byte	1                               # 1106	.byte	16                              # DW_OP_constu107	.byte	255                             # 4294967295108	.byte	255                             #109	.byte	255                             #110	.byte	255                             #111	.byte	15                              #112	.byte	26                              # DW_OP_and113	.byte	159                             # DW_OP_stack_value114	.byte	0                               # DW_LLE_end_of_list115.Ldebug_list_header_end0:116	.section	.debug_abbrev,"",@progbits117	.byte	1                               # Abbreviation Code118	.byte	17                              # DW_TAG_compile_unit119	.byte	1                               # DW_CHILDREN_yes120	.byte	37                              # DW_AT_producer121	.byte	37                              # DW_FORM_strx1122	.byte	19                              # DW_AT_language123	.byte	5                               # DW_FORM_data2124	.byte	3                               # DW_AT_name125	.byte	37                              # DW_FORM_strx1126	.byte	114                             # DW_AT_str_offsets_base127	.byte	23                              # DW_FORM_sec_offset128	.byte	16                              # DW_AT_stmt_list129	.byte	23                              # DW_FORM_sec_offset130	.byte	27                              # DW_AT_comp_dir131	.byte	37                              # DW_FORM_strx1132	.byte	17                              # DW_AT_low_pc133	.byte	27                              # DW_FORM_addrx134	.byte	18                              # DW_AT_high_pc135	.byte	6                               # DW_FORM_data4136	.byte	115                             # DW_AT_addr_base137	.byte	23                              # DW_FORM_sec_offset138	.byte	0                               # EOM(1)139	.byte	0                               # EOM(2)140	.byte	2                               # Abbreviation Code141	.byte	46                              # DW_TAG_subprogram142	.byte	1                               # DW_CHILDREN_yes143	.byte	17                              # DW_AT_low_pc144	.byte	27                              # DW_FORM_addrx145	.byte	18                              # DW_AT_high_pc146	.byte	6                               # DW_FORM_data4147	.byte	64                              # DW_AT_frame_base148	.byte	24                              # DW_FORM_exprloc149	.byte	122                             # DW_AT_call_all_calls150	.byte	25                              # DW_FORM_flag_present151	.byte	110                             # DW_AT_linkage_name152	.byte	37                              # DW_FORM_strx1153	.byte	3                               # DW_AT_name154	.byte	37                              # DW_FORM_strx1155	.byte	58                              # DW_AT_decl_file156	.byte	11                              # DW_FORM_data1157	.byte	59                              # DW_AT_decl_line158	.byte	11                              # DW_FORM_data1159	.byte	63                              # DW_AT_external160	.byte	25                              # DW_FORM_flag_present161	.byte	0                               # EOM(1)162	.byte	0                               # EOM(2)163	.byte	3                               # Abbreviation Code164	.byte	5                               # DW_TAG_formal_parameter165	.byte	0                               # DW_CHILDREN_no166	.byte	2                               # DW_AT_location167	.byte	24                              # DW_FORM_exprloc168	.byte	3                               # DW_AT_name169	.byte	37                              # DW_FORM_strx1170	.byte	58                              # DW_AT_decl_file171	.byte	11                              # DW_FORM_data1172	.byte	59                              # DW_AT_decl_line173	.byte	11                              # DW_FORM_data1174	.byte	73                              # DW_AT_type175	.byte	19                              # DW_FORM_ref4176	.byte	0                               # EOM(1)177	.byte	0                               # EOM(2)178	.byte	4                               # Abbreviation Code179	.byte	46                              # DW_TAG_subprogram180	.byte	1                               # DW_CHILDREN_yes181	.byte	17                              # DW_AT_low_pc182	.byte	27                              # DW_FORM_addrx183	.byte	18                              # DW_AT_high_pc184	.byte	6                               # DW_FORM_data4185	.byte	64                              # DW_AT_frame_base186	.byte	24                              # DW_FORM_exprloc187	.byte	122                             # DW_AT_call_all_calls188	.byte	25                              # DW_FORM_flag_present189	.byte	3                               # DW_AT_name190	.byte	37                              # DW_FORM_strx1191	.byte	58                              # DW_AT_decl_file192	.byte	11                              # DW_FORM_data1193	.byte	59                              # DW_AT_decl_line194	.byte	11                              # DW_FORM_data1195	.byte	73                              # DW_AT_type196	.byte	19                              # DW_FORM_ref4197	.byte	63                              # DW_AT_external198	.byte	25                              # DW_FORM_flag_present199	.byte	0                               # EOM(1)200	.byte	0                               # EOM(2)201	.byte	5                               # Abbreviation Code202	.byte	52                              # DW_TAG_variable203	.byte	0                               # DW_CHILDREN_no204	.byte	2                               # DW_AT_location205	.byte	23                              # DW_FORM_sec_offset206	.byte	3                               # DW_AT_name207	.byte	37                              # DW_FORM_strx1208	.byte	58                              # DW_AT_decl_file209	.byte	11                              # DW_FORM_data1210	.byte	59                              # DW_AT_decl_line211	.byte	11                              # DW_FORM_data1212	.byte	73                              # DW_AT_type213	.byte	19                              # DW_FORM_ref4214	.byte	0                               # EOM(1)215	.byte	0                               # EOM(2)216	.byte	6                               # Abbreviation Code217	.byte	36                              # DW_TAG_base_type218	.byte	0                               # DW_CHILDREN_no219	.byte	3                               # DW_AT_name220	.byte	37                              # DW_FORM_strx1221	.byte	62                              # DW_AT_encoding222	.byte	11                              # DW_FORM_data1223	.byte	11                              # DW_AT_byte_size224	.byte	11                              # DW_FORM_data1225	.byte	0                               # EOM(1)226	.byte	0                               # EOM(2)227	.byte	7                               # Abbreviation Code228	.byte	15                              # DW_TAG_pointer_type229	.byte	0                               # DW_CHILDREN_no230	.byte	73                              # DW_AT_type231	.byte	19                              # DW_FORM_ref4232	.byte	0                               # EOM(1)233	.byte	0                               # EOM(2)234	.byte	0                               # EOM(3)235	.section	.debug_info,"",@progbits236.Lcu_begin0:237	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit238.Ldebug_info_start0:239	.short	5                               # DWARF version number240	.byte	1                               # DWARF Unit Type241	.byte	8                               # Address Size (in bytes)242	.long	.debug_abbrev                   # Offset Into Abbrev. Section243	.byte	1                               # Abbrev [1] 0xc:0x8a DW_TAG_compile_unit244	.byte	0                               # DW_AT_producer245	.short	33                              # DW_AT_language246	.byte	1                               # DW_AT_name247	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base248	.long	.Lline_table_start0             # DW_AT_stmt_list249	.byte	2                               # DW_AT_comp_dir250	.byte	0                               # DW_AT_low_pc251	.long	.Lfunc_end1-.Lfunc_begin0       # DW_AT_high_pc252	.long	.Laddr_table_base0              # DW_AT_addr_base253	.byte	2                               # Abbrev [2] 0x27:0x21 DW_TAG_subprogram254	.byte	0                               # DW_AT_low_pc255	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc256	.byte	1                               # DW_AT_frame_base257	.byte	87258                                        # DW_AT_call_all_calls259	.byte	3                               # DW_AT_linkage_name260	.byte	4                               # DW_AT_name261	.byte	0                               # DW_AT_decl_file262	.byte	1                               # DW_AT_decl_line263                                        # DW_AT_external264	.byte	3                               # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter265	.byte	1                               # DW_AT_location266	.byte	85267	.byte	7                               # DW_AT_name268	.byte	0                               # DW_AT_decl_file269	.byte	1                               # DW_AT_decl_line270	.long	132                             # DW_AT_type271	.byte	3                               # Abbrev [3] 0x3d:0xa DW_TAG_formal_parameter272	.byte	1                               # DW_AT_location273	.byte	84274	.byte	8                               # DW_AT_name275	.byte	0                               # DW_AT_decl_file276	.byte	1                               # DW_AT_decl_line277	.long	132                             # DW_AT_type278	.byte	0                               # End Of Children Mark279	.byte	4                               # Abbrev [4] 0x48:0x36 DW_TAG_subprogram280	.byte	1                               # DW_AT_low_pc281	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc282	.byte	1                               # DW_AT_frame_base283	.byte	87284                                        # DW_AT_call_all_calls285	.byte	5                               # DW_AT_name286	.byte	0                               # DW_AT_decl_file287	.byte	7                               # DW_AT_decl_line288	.long	128                             # DW_AT_type289                                        # DW_AT_external290	.byte	3                               # Abbrev [3] 0x57:0xa DW_TAG_formal_parameter291	.byte	1                               # DW_AT_location292	.byte	85293	.byte	9                               # DW_AT_name294	.byte	0                               # DW_AT_decl_file295	.byte	7                               # DW_AT_decl_line296	.long	128                             # DW_AT_type297	.byte	3                               # Abbrev [3] 0x61:0xa DW_TAG_formal_parameter298	.byte	1                               # DW_AT_location299	.byte	84300	.byte	10                              # DW_AT_name301	.byte	0                               # DW_AT_decl_file302	.byte	7                               # DW_AT_decl_line303	.long	137                             # DW_AT_type304	.byte	5                               # Abbrev [5] 0x6b:0x9 DW_TAG_variable305	.long	.Ldebug_loc0                    # DW_AT_location306	.byte	7                               # DW_AT_name307	.byte	0                               # DW_AT_decl_file308	.byte	8                               # DW_AT_decl_line309	.long	128                             # DW_AT_type310	.byte	5                               # Abbrev [5] 0x74:0x9 DW_TAG_variable311	.long	.Ldebug_loc1                    # DW_AT_location312	.byte	8                               # DW_AT_name313	.byte	0                               # DW_AT_decl_file314	.byte	9                               # DW_AT_decl_line315	.long	128                             # DW_AT_type316	.byte	0                               # End Of Children Mark317	.byte	6                               # Abbrev [6] 0x7e:0x4 DW_TAG_base_type318	.byte	6                               # DW_AT_name319	.byte	5                               # DW_AT_encoding320	.byte	4                               # DW_AT_byte_size321	.byte	7                               # Abbrev [7] 0x82:0x5 DW_TAG_pointer_type322	.long	128                             # DW_AT_type323	.byte	7                               # Abbrev [7] 0x87:0x5 DW_TAG_pointer_type324	.long	142                             # DW_AT_type325	.byte	7                               # Abbrev [7] 0x8c:0x5 DW_TAG_pointer_type326	.long	147                             # DW_AT_type327	.byte	6                               # Abbrev [6] 0x91:0x4 DW_TAG_base_type328	.byte	11                              # DW_AT_name329	.byte	6                               # DW_AT_encoding330	.byte	1                               # DW_AT_byte_size331	.byte	0                               # End Of Children Mark332.Ldebug_info_end0:333	.section	.debug_str_offsets,"",@progbits334	.long	52                              # Length of String Offsets Set335	.short	5336	.short	0337.Lstr_offsets_base0:338	.section	.debug_str,"MS",@progbits,1339.Linfo_string0:340	.asciz	"clang version 15.0.0" # string offset=0341.Linfo_string1:342	.asciz	"main.cpp"                      # string offset=134343.Linfo_string2:344	.asciz	"." # string offset=143345.Linfo_string3:346	.asciz	"_Z3usePiS_"                    # string offset=181347.Linfo_string4:348	.asciz	"use"                           # string offset=192349.Linfo_string5:350	.asciz	"main"                          # string offset=196351.Linfo_string6:352	.asciz	"int"                           # string offset=201353.Linfo_string7:354	.asciz	"x"                             # string offset=205355.Linfo_string8:356	.asciz	"y"                             # string offset=207357.Linfo_string9:358	.asciz	"argc"                          # string offset=209359.Linfo_string10:360	.asciz	"argv"                          # string offset=214361.Linfo_string11:362	.asciz	"char"                          # string offset=219363	.section	.debug_str_offsets,"",@progbits364	.long	.Linfo_string0365	.long	.Linfo_string1366	.long	.Linfo_string2367	.long	.Linfo_string3368	.long	.Linfo_string4369	.long	.Linfo_string5370	.long	.Linfo_string6371	.long	.Linfo_string7372	.long	.Linfo_string8373	.long	.Linfo_string9374	.long	.Linfo_string10375	.long	.Linfo_string11376	.section	.debug_addr,"",@progbits377	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution378.Ldebug_addr_start0:379	.short	5                               # DWARF version number380	.byte	8                               # Address size381	.byte	0                               # Segment selector size382.Laddr_table_base0:383	.quad	.Lfunc_begin0384	.quad	.Lfunc_begin1385.Ldebug_addr_end0:386	.ident	"clang version 15.0.0"387	.section	".note.GNU-stack","",@progbits388	.addrsig389	.section	.debug_line,"",@progbits390.Lline_table_start0:391