brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.7 KiB · d296f61 Raw
386 lines · plain
1# clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-52# int doStuff(int val) {3#   if (val)4#     ++val;5#   return val;6# }7#8# int main(int argc, const char** argv) {9#     return  doStuff(argc);10# }11	.text12	.file	"main.cpp"13	.section	.text._Z7doStuffi,"ax",@progbits14	.globl	_Z7doStuffi                     # -- Begin function _Z7doStuffi15	.p2align	4, 0x9016	.type	_Z7doStuffi,@function17_Z7doStuffi:                            # @_Z7doStuffi18.Lfunc_begin0:19	.file	0 "/subprogramRanges" "main.cpp" md5 0x45fd34ef778739dca24be206894f1d1520	.loc	0 1 0                           # main.cpp:1:021	.cfi_startproc22# %bb.0:                                # %entry23	pushq	%rbp24	.cfi_def_cfa_offset 1625	.cfi_offset %rbp, -1626	movq	%rsp, %rbp27	.cfi_def_cfa_register %rbp28	movl	%edi, -4(%rbp)29.Ltmp0:30	.loc	0 2 7 prologue_end              # main.cpp:2:731	cmpl	$0, -4(%rbp)32.Ltmp1:33	.loc	0 2 7 is_stmt 0                 # main.cpp:2:734	je	_Z7doStuffi.__part.235	jmp	_Z7doStuffi.__part.136.LBB_END0_0:37	.cfi_endproc38	.section	.text._Z7doStuffi,"ax",@progbits,unique,139_Z7doStuffi.__part.1:                   # %if.then40	.cfi_startproc41	.cfi_def_cfa %rbp, 1642	.cfi_offset %rbp, -1643	.loc	0 3 5 is_stmt 1                 # main.cpp:3:544	movl	-4(%rbp), %eax45	addl	$1, %eax46	movl	%eax, -4(%rbp)47	jmp	_Z7doStuffi.__part.248.LBB_END0_1:49	.size	_Z7doStuffi.__part.1, .LBB_END0_1-_Z7doStuffi.__part.150	.cfi_endproc51	.section	.text._Z7doStuffi,"ax",@progbits,unique,252_Z7doStuffi.__part.2:                   # %if.end53	.cfi_startproc54	.cfi_def_cfa %rbp, 1655	.cfi_offset %rbp, -1656	.loc	0 4 10                          # main.cpp:4:1057	movl	-4(%rbp), %eax58	.loc	0 4 3 epilogue_begin is_stmt 0  # main.cpp:4:359	popq	%rbp60	.cfi_def_cfa %rsp, 861	retq62.LBB_END0_2:63	.size	_Z7doStuffi.__part.2, .LBB_END0_2-_Z7doStuffi.__part.264	.cfi_endproc65	.section	.text._Z7doStuffi,"ax",@progbits66.Lfunc_end0:67	.size	_Z7doStuffi, .Lfunc_end0-_Z7doStuffi68                                        # -- End function69	.section	.text.main,"ax",@progbits70	.globl	main                            # -- Begin function main71	.p2align	4, 0x9072	.type	main,@function73main:                                   # @main74.Lfunc_begin1:75	.loc	0 7 0 is_stmt 1                 # main.cpp:7:076	.cfi_startproc77# %bb.0:                                # %entry78	pushq	%rbp79	.cfi_def_cfa_offset 1680	.cfi_offset %rbp, -1681	movq	%rsp, %rbp82	.cfi_def_cfa_register %rbp83	subq	$16, %rsp84	movl	$0, -4(%rbp)85	movl	%edi, -8(%rbp)86	movq	%rsi, -16(%rbp)87.Ltmp2:88	.loc	0 8 21 prologue_end             # main.cpp:8:2189	movl	-8(%rbp), %edi90	.loc	0 8 13 is_stmt 0                # main.cpp:8:1391	callq	_Z7doStuffi92	.loc	0 8 5 epilogue_begin            # main.cpp:8:593	addq	$16, %rsp94	popq	%rbp95	.cfi_def_cfa %rsp, 896	retq97.LBB_END1_0:98	.cfi_endproc99.Lfunc_end1:100	.size	main, .Lfunc_end1-main101                                        # -- End function102	.section	.debug_abbrev,"",@progbits103	.byte	1                               # Abbreviation Code104	.byte	17                              # DW_TAG_compile_unit105	.byte	1                               # DW_CHILDREN_yes106	.byte	37                              # DW_AT_producer107	.byte	37                              # DW_FORM_strx1108	.byte	19                              # DW_AT_language109	.byte	5                               # DW_FORM_data2110	.byte	3                               # DW_AT_name111	.byte	37                              # DW_FORM_strx1112	.byte	114                             # DW_AT_str_offsets_base113	.byte	23                              # DW_FORM_sec_offset114	.byte	16                              # DW_AT_stmt_list115	.byte	23                              # DW_FORM_sec_offset116	.byte	27                              # DW_AT_comp_dir117	.byte	37                              # DW_FORM_strx1118	.byte	17                              # DW_AT_low_pc119	.byte	1                               # DW_FORM_addr120	.byte	85                              # DW_AT_ranges121	.byte	35                              # DW_FORM_rnglistx122	.byte	115                             # DW_AT_addr_base123	.byte	23                              # DW_FORM_sec_offset124	.byte	116                             # DW_AT_rnglists_base125	.byte	23                              # DW_FORM_sec_offset126	.byte	0                               # EOM(1)127	.byte	0                               # EOM(2)128	.byte	2                               # Abbreviation Code129	.byte	46                              # DW_TAG_subprogram130	.byte	1                               # DW_CHILDREN_yes131	.byte	85                              # DW_AT_ranges132	.byte	35                              # DW_FORM_rnglistx133	.byte	64                              # DW_AT_frame_base134	.byte	24                              # DW_FORM_exprloc135	.byte	110                             # DW_AT_linkage_name136	.byte	37                              # DW_FORM_strx1137	.byte	3                               # DW_AT_name138	.byte	37                              # DW_FORM_strx1139	.byte	58                              # DW_AT_decl_file140	.byte	11                              # DW_FORM_data1141	.byte	59                              # DW_AT_decl_line142	.byte	11                              # DW_FORM_data1143	.byte	73                              # DW_AT_type144	.byte	19                              # DW_FORM_ref4145	.byte	63                              # DW_AT_external146	.byte	25                              # DW_FORM_flag_present147	.byte	0                               # EOM(1)148	.byte	0                               # EOM(2)149	.byte	3                               # Abbreviation Code150	.byte	5                               # DW_TAG_formal_parameter151	.byte	0                               # DW_CHILDREN_no152	.byte	2                               # DW_AT_location153	.byte	24                              # DW_FORM_exprloc154	.byte	3                               # DW_AT_name155	.byte	37                              # DW_FORM_strx1156	.byte	58                              # DW_AT_decl_file157	.byte	11                              # DW_FORM_data1158	.byte	59                              # DW_AT_decl_line159	.byte	11                              # DW_FORM_data1160	.byte	73                              # DW_AT_type161	.byte	19                              # DW_FORM_ref4162	.byte	0                               # EOM(1)163	.byte	0                               # EOM(2)164	.byte	4                               # Abbreviation Code165	.byte	46                              # DW_TAG_subprogram166	.byte	1                               # DW_CHILDREN_yes167	.byte	17                              # DW_AT_low_pc168	.byte	27                              # DW_FORM_addrx169	.byte	18                              # DW_AT_high_pc170	.byte	6                               # DW_FORM_data4171	.byte	64                              # DW_AT_frame_base172	.byte	24                              # DW_FORM_exprloc173	.byte	3                               # DW_AT_name174	.byte	37                              # DW_FORM_strx1175	.byte	58                              # DW_AT_decl_file176	.byte	11                              # DW_FORM_data1177	.byte	59                              # DW_AT_decl_line178	.byte	11                              # DW_FORM_data1179	.byte	73                              # DW_AT_type180	.byte	19                              # DW_FORM_ref4181	.byte	63                              # DW_AT_external182	.byte	25                              # DW_FORM_flag_present183	.byte	0                               # EOM(1)184	.byte	0                               # EOM(2)185	.byte	5                               # Abbreviation Code186	.byte	36                              # DW_TAG_base_type187	.byte	0                               # DW_CHILDREN_no188	.byte	3                               # DW_AT_name189	.byte	37                              # DW_FORM_strx1190	.byte	62                              # DW_AT_encoding191	.byte	11                              # DW_FORM_data1192	.byte	11                              # DW_AT_byte_size193	.byte	11                              # DW_FORM_data1194	.byte	0                               # EOM(1)195	.byte	0                               # EOM(2)196	.byte	6                               # Abbreviation Code197	.byte	15                              # DW_TAG_pointer_type198	.byte	0                               # DW_CHILDREN_no199	.byte	73                              # DW_AT_type200	.byte	19                              # DW_FORM_ref4201	.byte	0                               # EOM(1)202	.byte	0                               # EOM(2)203	.byte	7                               # Abbreviation Code204	.byte	38                              # DW_TAG_const_type205	.byte	0                               # DW_CHILDREN_no206	.byte	73                              # DW_AT_type207	.byte	19                              # DW_FORM_ref4208	.byte	0                               # EOM(1)209	.byte	0                               # EOM(2)210	.byte	0                               # EOM(3)211	.section	.debug_info,"",@progbits212.Lcu_begin0:213	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit214.Ldebug_info_start0:215	.short	5                               # DWARF version number216	.byte	1                               # DWARF Unit Type217	.byte	8                               # Address Size (in bytes)218	.long	.debug_abbrev                   # Offset Into Abbrev. Section219	.byte	1                               # Abbrev [1] 0xc:0x75 DW_TAG_compile_unit220	.byte	0                               # DW_AT_producer221	.short	33                              # DW_AT_language222	.byte	1                               # DW_AT_name223	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base224	.long	.Lline_table_start0             # DW_AT_stmt_list225	.byte	2                               # DW_AT_comp_dir226	.quad	0                               # DW_AT_low_pc227	.byte	1                               # DW_AT_ranges228	.long	.Laddr_table_base0              # DW_AT_addr_base229	.long	.Lrnglists_table_base0          # DW_AT_rnglists_base230	.byte	2                               # Abbrev [2] 0x2b:0x18 DW_TAG_subprogram231	.byte	0                               # DW_AT_ranges232	.byte	1                               # DW_AT_frame_base233	.byte	86234	.byte	3                               # DW_AT_linkage_name235	.byte	4                               # DW_AT_name236	.byte	0                               # DW_AT_decl_file237	.byte	1                               # DW_AT_decl_line238	.long	105                             # DW_AT_type239                                        # DW_AT_external240	.byte	3                               # Abbrev [3] 0x37:0xb DW_TAG_formal_parameter241	.byte	2                               # DW_AT_location242	.byte	145243	.byte	124244	.byte	7                               # DW_AT_name245	.byte	0                               # DW_AT_decl_file246	.byte	1                               # DW_AT_decl_line247	.long	105                             # DW_AT_type248	.byte	0                               # End Of Children Mark249	.byte	4                               # Abbrev [4] 0x43:0x26 DW_TAG_subprogram250	.byte	3                               # DW_AT_low_pc251	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc252	.byte	1                               # DW_AT_frame_base253	.byte	86254	.byte	6                               # DW_AT_name255	.byte	0                               # DW_AT_decl_file256	.byte	7                               # DW_AT_decl_line257	.long	105                             # DW_AT_type258                                        # DW_AT_external259	.byte	3                               # Abbrev [3] 0x52:0xb DW_TAG_formal_parameter260	.byte	2                               # DW_AT_location261	.byte	145262	.byte	120263	.byte	8                               # DW_AT_name264	.byte	0                               # DW_AT_decl_file265	.byte	7                               # DW_AT_decl_line266	.long	105                             # DW_AT_type267	.byte	3                               # Abbrev [3] 0x5d:0xb DW_TAG_formal_parameter268	.byte	2                               # DW_AT_location269	.byte	145270	.byte	112271	.byte	9                               # DW_AT_name272	.byte	0                               # DW_AT_decl_file273	.byte	7                               # DW_AT_decl_line274	.long	109                             # DW_AT_type275	.byte	0                               # End Of Children Mark276	.byte	5                               # Abbrev [5] 0x69:0x4 DW_TAG_base_type277	.byte	5                               # DW_AT_name278	.byte	5                               # DW_AT_encoding279	.byte	4                               # DW_AT_byte_size280	.byte	6                               # Abbrev [6] 0x6d:0x5 DW_TAG_pointer_type281	.long	114                             # DW_AT_type282	.byte	6                               # Abbrev [6] 0x72:0x5 DW_TAG_pointer_type283	.long	119                             # DW_AT_type284	.byte	7                               # Abbrev [7] 0x77:0x5 DW_TAG_const_type285	.long	124                             # DW_AT_type286	.byte	5                               # Abbrev [5] 0x7c:0x4 DW_TAG_base_type287	.byte	10                              # DW_AT_name288	.byte	6                               # DW_AT_encoding289	.byte	1                               # DW_AT_byte_size290	.byte	0                               # End Of Children Mark291.Ldebug_info_end0:292	.section	.debug_rnglists,"",@progbits293	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length294.Ldebug_list_header_start0:295	.short	5                               # Version296	.byte	8                               # Address size297	.byte	0                               # Segment selector size298	.long	2                               # Offset entry count299.Lrnglists_table_base0:300	.long	.Ldebug_ranges0-.Lrnglists_table_base0301	.long	.Ldebug_ranges1-.Lrnglists_table_base0302.Ldebug_ranges0:303	.byte	3                               # DW_RLE_startx_length304	.byte	0                               #   start index305	.uleb128 .LBB_END0_1-_Z7doStuffi.__part.1 #   length306	.byte	3                               # DW_RLE_startx_length307	.byte	1                               #   start index308	.uleb128 .LBB_END0_2-_Z7doStuffi.__part.2 #   length309	.byte	3                               # DW_RLE_startx_length310	.byte	2                               #   start index311	.uleb128 .Lfunc_end0-.Lfunc_begin0      #   length312	.byte	0                               # DW_RLE_end_of_list313.Ldebug_ranges1:314	.byte	3                               # DW_RLE_startx_length315	.byte	0                               #   start index316	.uleb128 .LBB_END0_1-_Z7doStuffi.__part.1 #   length317	.byte	3                               # DW_RLE_startx_length318	.byte	1                               #   start index319	.uleb128 .LBB_END0_2-_Z7doStuffi.__part.2 #   length320	.byte	3                               # DW_RLE_startx_length321	.byte	2                               #   start index322	.uleb128 .Lfunc_end0-.Lfunc_begin0      #   length323	.byte	3                               # DW_RLE_startx_length324	.byte	3                               #   start index325	.uleb128 .Lfunc_end1-.Lfunc_begin1      #   length326	.byte	0                               # DW_RLE_end_of_list327.Ldebug_list_header_end0:328	.section	.debug_str_offsets,"",@progbits329	.long	48                              # Length of String Offsets Set330	.short	5331	.short	0332.Lstr_offsets_base0:333	.section	.debug_str,"MS",@progbits,1334.Linfo_string0:335	.asciz	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)" # string offset=0336.Linfo_string1:337	.asciz	"main.cpp"                      # string offset=105338.Linfo_string2:339	.asciz	"/subprogramRanges" # string offset=114340.Linfo_string3:341	.asciz	"_Z7doStuffi"                   # string offset=169342.Linfo_string4:343	.asciz	"doStuff"                       # string offset=181344.Linfo_string5:345	.asciz	"int"                           # string offset=189346.Linfo_string6:347	.asciz	"main"                          # string offset=193348.Linfo_string7:349	.asciz	"val"                           # string offset=198350.Linfo_string8:351	.asciz	"argc"                          # string offset=202352.Linfo_string9:353	.asciz	"argv"                          # string offset=207354.Linfo_string10:355	.asciz	"char"                          # string offset=212356	.section	.debug_str_offsets,"",@progbits357	.long	.Linfo_string0358	.long	.Linfo_string1359	.long	.Linfo_string2360	.long	.Linfo_string3361	.long	.Linfo_string4362	.long	.Linfo_string5363	.long	.Linfo_string6364	.long	.Linfo_string7365	.long	.Linfo_string8366	.long	.Linfo_string9367	.long	.Linfo_string10368	.section	.debug_addr,"",@progbits369	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution370.Ldebug_addr_start0:371	.short	5                               # DWARF version number372	.byte	8                               # Address size373	.byte	0                               # Segment selector size374.Laddr_table_base0:375	.quad	_Z7doStuffi.__part.1376	.quad	_Z7doStuffi.__part.2377	.quad	.Lfunc_begin0378	.quad	.Lfunc_begin1379.Ldebug_addr_end0:380	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 640e07c49037cca41a1bfbeb916b569d8c950aea)"381	.section	".note.GNU-stack","",@progbits382	.addrsig383	.addrsig_sym _Z7doStuffi384	.section	.debug_line,"",@progbits385.Lline_table_start0:386