brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.6 KiB · d3df204 Raw
395 lines · plain
1# clang++ -g2 -fdebug-types-section -gdwarf-5 -ffunction-sections2# int foo(int i) {3#   if (i == 1)4#     return 2;5#   return 1;6# }7# int main(int argc, char* argv[]) {8#   int j = argc;9#   if (j ==3)10#     j+= foo(argc);11#   return j;12# }13 14	.text15	.file	"main.cpp"16	.section	.text._Z3fooi,"ax",@progbits17	.globl	_Z3fooi                         # -- Begin function _Z3fooi18	.p2align	4, 0x9019	.type	_Z3fooi,@function20_Z3fooi:                                # @_Z3fooi21.Lfunc_begin0:22	.file	0 "/test" "main.cpp" md5 0x485e4f4a4784830c686905cfd190e44423	.loc	0 1 0                           # main.cpp:1:024	.cfi_startproc25# %bb.0:                                # %entry26	pushq	%rbp27	.cfi_def_cfa_offset 1628	.cfi_offset %rbp, -1629	movq	%rsp, %rbp30	.cfi_def_cfa_register %rbp31	movl	%edi, -8(%rbp)32.Ltmp0:33	.loc	0 2 9 prologue_end              # main.cpp:2:934	cmpl	$1, -8(%rbp)35.Ltmp1:36	.loc	0 2 7 is_stmt 0                 # main.cpp:2:737	jne	.LBB0_238# %bb.1:                                # %if.then39.Ltmp2:40	.loc	0 3 5 is_stmt 1                 # main.cpp:3:541	movl	$2, -4(%rbp)42	jmp	.LBB0_343.Ltmp3:44.LBB0_2:                                # %if.end45	.loc	0 4 3                           # main.cpp:4:346	movl	$1, -4(%rbp)47.LBB0_3:                                # %return48	.loc	0 5 1                           # main.cpp:5:149	movl	-4(%rbp), %eax50	.loc	0 5 1 epilogue_begin is_stmt 0  # main.cpp:5:151	popq	%rbp52	.cfi_def_cfa %rsp, 853	retq54.Ltmp4:55.Lfunc_end0:56	.size	_Z3fooi, .Lfunc_end0-_Z3fooi57	.cfi_endproc58                                        # -- End function59	.section	.text.main,"ax",@progbits60	.globl	main                            # -- Begin function main61	.p2align	4, 0x9062	.type	main,@function63main:                                   # @main64.Lfunc_begin1:65	.loc	0 6 0 is_stmt 1                 # main.cpp:6:066	.cfi_startproc67# %bb.0:                                # %entry68	pushq	%rbp69	.cfi_def_cfa_offset 1670	.cfi_offset %rbp, -1671	movq	%rsp, %rbp72	.cfi_def_cfa_register %rbp73	subq	$32, %rsp74	movl	$0, -4(%rbp)75	movl	%edi, -8(%rbp)76	movq	%rsi, -16(%rbp)77.Ltmp5:78	.loc	0 7 11 prologue_end             # main.cpp:7:1179	movl	-8(%rbp), %eax80	.loc	0 7 7 is_stmt 0                 # main.cpp:7:781	movl	%eax, -20(%rbp)82.Ltmp6:83	.loc	0 8 9 is_stmt 1                 # main.cpp:8:984	cmpl	$3, -20(%rbp)85.Ltmp7:86	.loc	0 8 7 is_stmt 0                 # main.cpp:8:787	jne	.LBB1_288# %bb.1:                                # %if.then89.Ltmp8:90	.loc	0 9 13 is_stmt 1                # main.cpp:9:1391	movl	-8(%rbp), %edi92	.loc	0 9 9 is_stmt 0                 # main.cpp:9:993	callq	_Z3fooi94	.loc	0 9 6                           # main.cpp:9:695	addl	-20(%rbp), %eax96	movl	%eax, -20(%rbp)97.Ltmp9:98.LBB1_2:                                # %if.end99	.loc	0 10 10 is_stmt 1               # main.cpp:10:10100	movl	-20(%rbp), %eax101	.loc	0 10 3 epilogue_begin is_stmt 0 # main.cpp:10:3102	addq	$32, %rsp103	popq	%rbp104	.cfi_def_cfa %rsp, 8105	retq106.Ltmp10:107.Lfunc_end1:108	.size	main, .Lfunc_end1-main109	.cfi_endproc110                                        # -- End function111	.section	.debug_abbrev,"",@progbits112	.byte	1                               # Abbreviation Code113	.byte	17                              # DW_TAG_compile_unit114	.byte	1                               # DW_CHILDREN_yes115	.byte	37                              # DW_AT_producer116	.byte	37                              # DW_FORM_strx1117	.byte	19                              # DW_AT_language118	.byte	5                               # DW_FORM_data2119	.byte	3                               # DW_AT_name120	.byte	37                              # DW_FORM_strx1121	.byte	114                             # DW_AT_str_offsets_base122	.byte	23                              # DW_FORM_sec_offset123	.byte	16                              # DW_AT_stmt_list124	.byte	23                              # DW_FORM_sec_offset125	.byte	27                              # DW_AT_comp_dir126	.byte	37                              # DW_FORM_strx1127	.byte	17                              # DW_AT_low_pc128	.byte	1                               # DW_FORM_addr129	.byte	85                              # DW_AT_ranges130	.byte	35                              # DW_FORM_rnglistx131	.byte	115                             # DW_AT_addr_base132	.byte	23                              # DW_FORM_sec_offset133	.byte	116                             # DW_AT_rnglists_base134	.byte	23                              # DW_FORM_sec_offset135	.byte	0                               # EOM(1)136	.byte	0                               # EOM(2)137	.byte	2                               # Abbreviation Code138	.byte	46                              # DW_TAG_subprogram139	.byte	1                               # DW_CHILDREN_yes140	.byte	17                              # DW_AT_low_pc141	.byte	27                              # DW_FORM_addrx142	.byte	18                              # DW_AT_high_pc143	.byte	6                               # DW_FORM_data4144	.byte	64                              # DW_AT_frame_base145	.byte	24                              # DW_FORM_exprloc146	.byte	110                             # DW_AT_linkage_name147	.byte	37                              # DW_FORM_strx1148	.byte	3                               # DW_AT_name149	.byte	37                              # DW_FORM_strx1150	.byte	58                              # DW_AT_decl_file151	.byte	11                              # DW_FORM_data1152	.byte	59                              # DW_AT_decl_line153	.byte	11                              # DW_FORM_data1154	.byte	73                              # DW_AT_type155	.byte	19                              # DW_FORM_ref4156	.byte	63                              # DW_AT_external157	.byte	25                              # DW_FORM_flag_present158	.byte	0                               # EOM(1)159	.byte	0                               # EOM(2)160	.byte	3                               # Abbreviation Code161	.byte	5                               # DW_TAG_formal_parameter162	.byte	0                               # DW_CHILDREN_no163	.byte	2                               # DW_AT_location164	.byte	24                              # DW_FORM_exprloc165	.byte	3                               # DW_AT_name166	.byte	37                              # DW_FORM_strx1167	.byte	58                              # DW_AT_decl_file168	.byte	11                              # DW_FORM_data1169	.byte	59                              # DW_AT_decl_line170	.byte	11                              # DW_FORM_data1171	.byte	73                              # DW_AT_type172	.byte	19                              # DW_FORM_ref4173	.byte	0                               # EOM(1)174	.byte	0                               # EOM(2)175	.byte	4                               # Abbreviation Code176	.byte	46                              # DW_TAG_subprogram177	.byte	1                               # DW_CHILDREN_yes178	.byte	17                              # DW_AT_low_pc179	.byte	27                              # DW_FORM_addrx180	.byte	18                              # DW_AT_high_pc181	.byte	6                               # DW_FORM_data4182	.byte	64                              # DW_AT_frame_base183	.byte	24                              # DW_FORM_exprloc184	.byte	3                               # DW_AT_name185	.byte	37                              # DW_FORM_strx1186	.byte	58                              # DW_AT_decl_file187	.byte	11                              # DW_FORM_data1188	.byte	59                              # DW_AT_decl_line189	.byte	11                              # DW_FORM_data1190	.byte	73                              # DW_AT_type191	.byte	19                              # DW_FORM_ref4192	.byte	63                              # DW_AT_external193	.byte	25                              # DW_FORM_flag_present194	.byte	0                               # EOM(1)195	.byte	0                               # EOM(2)196	.byte	5                               # Abbreviation Code197	.byte	52                              # DW_TAG_variable198	.byte	0                               # DW_CHILDREN_no199	.byte	2                               # DW_AT_location200	.byte	24                              # DW_FORM_exprloc201	.byte	3                               # DW_AT_name202	.byte	37                              # DW_FORM_strx1203	.byte	58                              # DW_AT_decl_file204	.byte	11                              # DW_FORM_data1205	.byte	59                              # DW_AT_decl_line206	.byte	11                              # DW_FORM_data1207	.byte	73                              # DW_AT_type208	.byte	19                              # DW_FORM_ref4209	.byte	0                               # EOM(1)210	.byte	0                               # EOM(2)211	.byte	6                               # Abbreviation Code212	.byte	36                              # DW_TAG_base_type213	.byte	0                               # DW_CHILDREN_no214	.byte	3                               # DW_AT_name215	.byte	37                              # DW_FORM_strx1216	.byte	62                              # DW_AT_encoding217	.byte	11                              # DW_FORM_data1218	.byte	11                              # DW_AT_byte_size219	.byte	11                              # DW_FORM_data1220	.byte	0                               # EOM(1)221	.byte	0                               # EOM(2)222	.byte	7                               # Abbreviation Code223	.byte	15                              # DW_TAG_pointer_type224	.byte	0                               # DW_CHILDREN_no225	.byte	73                              # DW_AT_type226	.byte	19                              # DW_FORM_ref4227	.byte	0                               # EOM(1)228	.byte	0                               # EOM(2)229	.byte	0                               # EOM(3)230	.section	.debug_info,"",@progbits231.Lcu_begin0:232	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit233.Ldebug_info_start0:234	.short	5                               # DWARF version number235	.byte	1                               # DWARF Unit Type236	.byte	8                               # Address Size (in bytes)237	.long	.debug_abbrev                   # Offset Into Abbrev. Section238	.byte	1                               # Abbrev [1] 0xc:0x7f DW_TAG_compile_unit239	.byte	0                               # DW_AT_producer240	.short	33                              # DW_AT_language241	.byte	1                               # DW_AT_name242	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base243	.long	.Lline_table_start0             # DW_AT_stmt_list244	.byte	2                               # DW_AT_comp_dir245	.quad	0                               # DW_AT_low_pc246	.byte	0                               # DW_AT_ranges247	.long	.Laddr_table_base0              # DW_AT_addr_base248	.long	.Lrnglists_table_base0          # DW_AT_rnglists_base249	.byte	2                               # Abbrev [2] 0x2b:0x1c DW_TAG_subprogram250	.byte	0                               # DW_AT_low_pc251	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc252	.byte	1                               # DW_AT_frame_base253	.byte	86254	.byte	3                               # DW_AT_linkage_name255	.byte	4                               # DW_AT_name256	.byte	0                               # DW_AT_decl_file257	.byte	1                               # DW_AT_decl_line258	.long	120                             # DW_AT_type259                                        # DW_AT_external260	.byte	3                               # Abbrev [3] 0x3b:0xb DW_TAG_formal_parameter261	.byte	2                               # DW_AT_location262	.byte	145263	.byte	120264	.byte	7                               # DW_AT_name265	.byte	0                               # DW_AT_decl_file266	.byte	1                               # DW_AT_decl_line267	.long	120                             # DW_AT_type268	.byte	0                               # End Of Children Mark269	.byte	4                               # Abbrev [4] 0x47:0x31 DW_TAG_subprogram270	.byte	1                               # DW_AT_low_pc271	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc272	.byte	1                               # DW_AT_frame_base273	.byte	86274	.byte	6                               # DW_AT_name275	.byte	0                               # DW_AT_decl_file276	.byte	6                               # DW_AT_decl_line277	.long	120                             # DW_AT_type278                                        # DW_AT_external279	.byte	3                               # Abbrev [3] 0x56:0xb DW_TAG_formal_parameter280	.byte	2                               # DW_AT_location281	.byte	145282	.byte	120283	.byte	8                               # DW_AT_name284	.byte	0                               # DW_AT_decl_file285	.byte	6                               # DW_AT_decl_line286	.long	120                             # DW_AT_type287	.byte	3                               # Abbrev [3] 0x61:0xb DW_TAG_formal_parameter288	.byte	2                               # DW_AT_location289	.byte	145290	.byte	112291	.byte	9                               # DW_AT_name292	.byte	0                               # DW_AT_decl_file293	.byte	6                               # DW_AT_decl_line294	.long	124                             # DW_AT_type295	.byte	5                               # Abbrev [5] 0x6c:0xb DW_TAG_variable296	.byte	2                               # DW_AT_location297	.byte	145298	.byte	108299	.byte	11                              # DW_AT_name300	.byte	0                               # DW_AT_decl_file301	.byte	7                               # DW_AT_decl_line302	.long	120                             # DW_AT_type303	.byte	0                               # End Of Children Mark304	.byte	6                               # Abbrev [6] 0x78:0x4 DW_TAG_base_type305	.byte	5                               # DW_AT_name306	.byte	5                               # DW_AT_encoding307	.byte	4                               # DW_AT_byte_size308	.byte	7                               # Abbrev [7] 0x7c:0x5 DW_TAG_pointer_type309	.long	129                             # DW_AT_type310	.byte	7                               # Abbrev [7] 0x81:0x5 DW_TAG_pointer_type311	.long	134                             # DW_AT_type312	.byte	6                               # Abbrev [6] 0x86:0x4 DW_TAG_base_type313	.byte	10                              # DW_AT_name314	.byte	6                               # DW_AT_encoding315	.byte	1                               # DW_AT_byte_size316	.byte	0                               # End Of Children Mark317.Ldebug_info_end0:318	.section	.debug_rnglists,"",@progbits319	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length320.Ldebug_list_header_start0:321	.short	5                               # Version322	.byte	8                               # Address size323	.byte	0                               # Segment selector size324	.long	1                               # Offset entry count325.Lrnglists_table_base0:326	.long	.Ldebug_ranges0-.Lrnglists_table_base0327.Ldebug_ranges0:328	.byte	3                               # DW_RLE_startx_length329	.byte	0                               #   start index330	.uleb128 .Lfunc_end0-.Lfunc_begin0      #   length331	.byte	3                               # DW_RLE_startx_length332	.byte	1                               #   start index333	.uleb128 .Lfunc_end1-.Lfunc_begin1      #   length334	.byte	0                               # DW_RLE_end_of_list335.Ldebug_list_header_end0:336	.section	.debug_str_offsets,"",@progbits337	.long	52                              # Length of String Offsets Set338	.short	5339	.short	0340.Lstr_offsets_base0:341	.section	.debug_str,"MS",@progbits,1342.Linfo_string0:343	.asciz	"clang version 18.0.0git"       # string offset=0344.Linfo_string1:345	.asciz	"main.cpp"                      # string offset=24346.Linfo_string2:347	.asciz	"/test" # string offset=33348.Linfo_string3:349	.asciz	"_Z3fooi"                       # string offset=71350.Linfo_string4:351	.asciz	"foo"                           # string offset=79352.Linfo_string5:353	.asciz	"int"                           # string offset=83354.Linfo_string6:355	.asciz	"main"                          # string offset=87356.Linfo_string7:357	.asciz	"i"                             # string offset=92358.Linfo_string8:359	.asciz	"argc"                          # string offset=94360.Linfo_string9:361	.asciz	"argv"                          # string offset=99362.Linfo_string10:363	.asciz	"char"                          # string offset=104364.Linfo_string11:365	.asciz	"j"                             # string offset=109366	.section	.debug_str_offsets,"",@progbits367	.long	.Linfo_string0368	.long	.Linfo_string1369	.long	.Linfo_string2370	.long	.Linfo_string3371	.long	.Linfo_string4372	.long	.Linfo_string5373	.long	.Linfo_string6374	.long	.Linfo_string7375	.long	.Linfo_string8376	.long	.Linfo_string9377	.long	.Linfo_string10378	.long	.Linfo_string11379	.section	.debug_addr,"",@progbits380	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution381.Ldebug_addr_start0:382	.short	5                               # DWARF version number383	.byte	8                               # Address size384	.byte	0                               # Segment selector size385.Laddr_table_base0:386	.quad	.Lfunc_begin0387	.quad	.Lfunc_begin1388.Ldebug_addr_end0:389	.ident	"clang version 18.0.0git"390	.section	".note.GNU-stack","",@progbits391	.addrsig392	.addrsig_sym _Z3fooi393	.section	.debug_line,"",@progbits394.Lline_table_start0:395