brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.1 KiB · ec0c50c Raw
395 lines · plain
1# clang++ main.cpp -g -O2 -S2# void use(int * x, int * y) {3# *x += 4;4# *y -= 2;5# }6#7# extern int fooVar;8# int  main(int argc, char *argv[]) {9#    int x = argc;10#    int y = fooVar + 3;11#    use(&x, &y);12#    return x + y;13# }14 15 16	.text17	.file	"main.cpp"18	.globl	_Z3usePiS_                      # -- Begin function _Z3usePiS_19	.p2align	4, 0x9020	.type	_Z3usePiS_,@function21_Z3usePiS_:                             # @_Z3usePiS_22.Lfunc_begin0:23	.file	0 "/testLocListMultiple" "main.cpp" md5 0xb1a1551182284263b0faa0cae08277da24	.loc	0 1 0                           # main.cpp:1:025	.cfi_startproc26# %bb.0:                                # %entry27	#DEBUG_VALUE: use:x <- $rdi28	#DEBUG_VALUE: use:y <- $rsi29	.loc	0 2 4 prologue_end              # main.cpp:2:430	addl	$4, (%rdi)31	.loc	0 3 4                           # main.cpp:3:432	addl	$-2, (%rsi)33	.loc	0 4 1                           # main.cpp:4:134	retq35.Ltmp0:36.Lfunc_end0:37	.size	_Z3usePiS_, .Lfunc_end0-_Z3usePiS_38	.cfi_endproc39                                        # -- End function40	.globl	main                            # -- Begin function main41	.p2align	4, 0x9042	.type	main,@function43main:                                   # @main44.Lfunc_begin1:45	.loc	0 7 0                           # main.cpp:7:046	.cfi_startproc47# %bb.0:                                # %entry48	#DEBUG_VALUE: main:argc <- $edi49	#DEBUG_VALUE: main:argv <- $rsi50	#DEBUG_VALUE: main:x <- $edi51                                        # kill: def $edi killed $edi def $rdi52	.loc	0 9 12 prologue_end             # main.cpp:9:1253	movl	fooVar(%rip), %eax54.Ltmp1:55	#DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 3, DW_OP_stack_value] $eax56	#DEBUG_VALUE: main:y <- [DW_OP_plus_uconst 1, DW_OP_stack_value] $eax57	#DEBUG_VALUE: main:x <- [DW_OP_plus_uconst 4, DW_OP_stack_value] $edi58	.loc	0 11 13                         # main.cpp:11:1359	addl	%edi, %eax60.Ltmp2:61	addl	$5, %eax62	.loc	0 11 4 is_stmt 0                # main.cpp:11:463	retq64.Ltmp3:65.Lfunc_end1:66	.size	main, .Lfunc_end1-main67	.cfi_endproc68                                        # -- End function69	.section	.debug_loclists,"",@progbits70	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length71.Ldebug_list_header_start0:72	.short	5                               # Version73	.byte	8                               # Address size74	.byte	0                               # Segment selector size75	.long	2                               # Offset entry count76.Lloclists_table_base0:77	.long	.Ldebug_loc0-.Lloclists_table_base078	.long	.Ldebug_loc1-.Lloclists_table_base079.Ldebug_loc0:80	.byte	4                               # DW_LLE_offset_pair81	.uleb128 .Lfunc_begin1-.Lfunc_begin0    #   starting offset82	.uleb128 .Ltmp1-.Lfunc_begin0           #   ending offset83	.byte	1                               # Loc expr size84	.byte	85                              # super-register DW_OP_reg585	.byte	4                               # DW_LLE_offset_pair86	.uleb128 .Ltmp1-.Lfunc_begin0           #   starting offset87	.uleb128 .Lfunc_end1-.Lfunc_begin0      #   ending offset88	.byte	10                              # Loc expr size89	.byte	117                             # DW_OP_breg590	.byte	4                               # 491	.byte	16                              # DW_OP_constu92	.byte	255                             # 429496729593	.byte	255                             #94	.byte	255                             #95	.byte	255                             #96	.byte	15                              #97	.byte	26                              # DW_OP_and98	.byte	159                             # DW_OP_stack_value99	.byte	0                               # DW_LLE_end_of_list100.Ldebug_loc1:101	.byte	4                               # DW_LLE_offset_pair102	.uleb128 .Ltmp1-.Lfunc_begin0           #   starting offset103	.uleb128 .Ltmp2-.Lfunc_begin0           #   ending offset104	.byte	10                              # Loc expr size105	.byte	112                             # DW_OP_breg0106	.byte	1                               # 1107	.byte	16                              # DW_OP_constu108	.byte	255                             # 4294967295109	.byte	255                             #110	.byte	255                             #111	.byte	255                             #112	.byte	15                              #113	.byte	26                              # DW_OP_and114	.byte	159                             # DW_OP_stack_value115	.byte	0                               # DW_LLE_end_of_list116.Ldebug_list_header_end0:117	.section	.debug_abbrev,"",@progbits118	.byte	1                               # Abbreviation Code119	.byte	17                              # DW_TAG_compile_unit120	.byte	1                               # DW_CHILDREN_yes121	.byte	37                              # DW_AT_producer122	.byte	37                              # DW_FORM_strx1123	.byte	19                              # DW_AT_language124	.byte	5                               # DW_FORM_data2125	.byte	3                               # DW_AT_name126	.byte	37                              # DW_FORM_strx1127	.byte	114                             # DW_AT_str_offsets_base128	.byte	23                              # DW_FORM_sec_offset129	.byte	16                              # DW_AT_stmt_list130	.byte	23                              # DW_FORM_sec_offset131	.byte	27                              # DW_AT_comp_dir132	.byte	37                              # DW_FORM_strx1133	.byte	17                              # DW_AT_low_pc134	.byte	27                              # DW_FORM_addrx135	.byte	18                              # DW_AT_high_pc136	.byte	6                               # DW_FORM_data4137	.byte	115                             # DW_AT_addr_base138	.byte	23                              # DW_FORM_sec_offset139	.ascii	"\214\001"                      # DW_AT_loclists_base140	.byte	23                              # DW_FORM_sec_offset141	.byte	0                               # EOM(1)142	.byte	0                               # EOM(2)143	.byte	2                               # Abbreviation Code144	.byte	46                              # DW_TAG_subprogram145	.byte	1                               # DW_CHILDREN_yes146	.byte	17                              # DW_AT_low_pc147	.byte	27                              # DW_FORM_addrx148	.byte	18                              # DW_AT_high_pc149	.byte	6                               # DW_FORM_data4150	.byte	64                              # DW_AT_frame_base151	.byte	24                              # DW_FORM_exprloc152	.byte	122                             # DW_AT_call_all_calls153	.byte	25                              # DW_FORM_flag_present154	.byte	110                             # DW_AT_linkage_name155	.byte	37                              # DW_FORM_strx1156	.byte	3                               # DW_AT_name157	.byte	37                              # DW_FORM_strx1158	.byte	58                              # DW_AT_decl_file159	.byte	11                              # DW_FORM_data1160	.byte	59                              # DW_AT_decl_line161	.byte	11                              # DW_FORM_data1162	.byte	63                              # DW_AT_external163	.byte	25                              # DW_FORM_flag_present164	.byte	0                               # EOM(1)165	.byte	0                               # EOM(2)166	.byte	3                               # Abbreviation Code167	.byte	5                               # DW_TAG_formal_parameter168	.byte	0                               # DW_CHILDREN_no169	.byte	2                               # DW_AT_location170	.byte	24                              # DW_FORM_exprloc171	.byte	3                               # DW_AT_name172	.byte	37                              # DW_FORM_strx1173	.byte	58                              # DW_AT_decl_file174	.byte	11                              # DW_FORM_data1175	.byte	59                              # DW_AT_decl_line176	.byte	11                              # DW_FORM_data1177	.byte	73                              # DW_AT_type178	.byte	19                              # DW_FORM_ref4179	.byte	0                               # EOM(1)180	.byte	0                               # EOM(2)181	.byte	4                               # Abbreviation Code182	.byte	46                              # DW_TAG_subprogram183	.byte	1                               # DW_CHILDREN_yes184	.byte	17                              # DW_AT_low_pc185	.byte	27                              # DW_FORM_addrx186	.byte	18                              # DW_AT_high_pc187	.byte	6                               # DW_FORM_data4188	.byte	64                              # DW_AT_frame_base189	.byte	24                              # DW_FORM_exprloc190	.byte	122                             # DW_AT_call_all_calls191	.byte	25                              # DW_FORM_flag_present192	.byte	3                               # DW_AT_name193	.byte	37                              # DW_FORM_strx1194	.byte	58                              # DW_AT_decl_file195	.byte	11                              # DW_FORM_data1196	.byte	59                              # DW_AT_decl_line197	.byte	11                              # DW_FORM_data1198	.byte	73                              # DW_AT_type199	.byte	19                              # DW_FORM_ref4200	.byte	63                              # DW_AT_external201	.byte	25                              # DW_FORM_flag_present202	.byte	0                               # EOM(1)203	.byte	0                               # EOM(2)204	.byte	5                               # Abbreviation Code205	.byte	52                              # DW_TAG_variable206	.byte	0                               # DW_CHILDREN_no207	.byte	2                               # DW_AT_location208	.byte	34                              # DW_FORM_loclistx209	.byte	3                               # DW_AT_name210	.byte	37                              # DW_FORM_strx1211	.byte	58                              # DW_AT_decl_file212	.byte	11                              # DW_FORM_data1213	.byte	59                              # DW_AT_decl_line214	.byte	11                              # DW_FORM_data1215	.byte	73                              # DW_AT_type216	.byte	19                              # DW_FORM_ref4217	.byte	0                               # EOM(1)218	.byte	0                               # EOM(2)219	.byte	6                               # Abbreviation Code220	.byte	36                              # DW_TAG_base_type221	.byte	0                               # DW_CHILDREN_no222	.byte	3                               # DW_AT_name223	.byte	37                              # DW_FORM_strx1224	.byte	62                              # DW_AT_encoding225	.byte	11                              # DW_FORM_data1226	.byte	11                              # DW_AT_byte_size227	.byte	11                              # DW_FORM_data1228	.byte	0                               # EOM(1)229	.byte	0                               # EOM(2)230	.byte	7                               # Abbreviation Code231	.byte	15                              # DW_TAG_pointer_type232	.byte	0                               # DW_CHILDREN_no233	.byte	73                              # DW_AT_type234	.byte	19                              # DW_FORM_ref4235	.byte	0                               # EOM(1)236	.byte	0                               # EOM(2)237	.byte	0                               # EOM(3)238	.section	.debug_info,"",@progbits239.Lcu_begin0:240	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit241.Ldebug_info_start0:242	.short	5                               # DWARF version number243	.byte	1                               # DWARF Unit Type244	.byte	8                               # Address Size (in bytes)245	.long	.debug_abbrev                   # Offset Into Abbrev. Section246	.byte	1                               # Abbrev [1] 0xc:0x8a DW_TAG_compile_unit247	.byte	0                               # DW_AT_producer248	.short	33                              # DW_AT_language249	.byte	1                               # DW_AT_name250	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base251	.long	.Lline_table_start0             # DW_AT_stmt_list252	.byte	2                               # DW_AT_comp_dir253	.byte	0                               # DW_AT_low_pc254	.long	.Lfunc_end1-.Lfunc_begin0       # DW_AT_high_pc255	.long	.Laddr_table_base0              # DW_AT_addr_base256	.long	.Lloclists_table_base0          # DW_AT_loclists_base257	.byte	2                               # Abbrev [2] 0x27:0x21 DW_TAG_subprogram258	.byte	0                               # DW_AT_low_pc259	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc260	.byte	1                               # DW_AT_frame_base261	.byte	87262                                        # DW_AT_call_all_calls263	.byte	3                               # DW_AT_linkage_name264	.byte	4                               # DW_AT_name265	.byte	0                               # DW_AT_decl_file266	.byte	1                               # DW_AT_decl_line267                                        # DW_AT_external268	.byte	3                               # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter269	.byte	1                               # DW_AT_location270	.byte	85271	.byte	7                               # DW_AT_name272	.byte	0                               # DW_AT_decl_file273	.byte	1                               # DW_AT_decl_line274	.long	130                             # DW_AT_type275	.byte	3                               # Abbrev [3] 0x3d:0xa DW_TAG_formal_parameter276	.byte	1                               # DW_AT_location277	.byte	84278	.byte	8                               # DW_AT_name279	.byte	0                               # DW_AT_decl_file280	.byte	1                               # DW_AT_decl_line281	.long	130                             # DW_AT_type282	.byte	0                               # End Of Children Mark283	.byte	4                               # Abbrev [4] 0x48:0x36 DW_TAG_subprogram284	.byte	1                               # DW_AT_low_pc285	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc286	.byte	1                               # DW_AT_frame_base287	.byte	87288                                        # DW_AT_call_all_calls289	.byte	5                               # DW_AT_name290	.byte	0                               # DW_AT_decl_file291	.byte	7                               # DW_AT_decl_line292	.long	126                             # DW_AT_type293                                        # DW_AT_external294	.byte	3                               # Abbrev [3] 0x57:0xa DW_TAG_formal_parameter295	.byte	1                               # DW_AT_location296	.byte	85297	.byte	9                               # DW_AT_name298	.byte	0                               # DW_AT_decl_file299	.byte	7                               # DW_AT_decl_line300	.long	126                             # DW_AT_type301	.byte	3                               # Abbrev [3] 0x61:0xa DW_TAG_formal_parameter302	.byte	1                               # DW_AT_location303	.byte	84304	.byte	10                              # DW_AT_name305	.byte	0                               # DW_AT_decl_file306	.byte	7                               # DW_AT_decl_line307	.long	135                             # DW_AT_type308	.byte	5                               # Abbrev [5] 0x6b:0x9 DW_TAG_variable309	.byte	0                               # DW_AT_location310	.byte	7                               # DW_AT_name311	.byte	0                               # DW_AT_decl_file312	.byte	8                               # DW_AT_decl_line313	.long	126                             # DW_AT_type314	.byte	5                               # Abbrev [5] 0x74:0x9 DW_TAG_variable315	.byte	1                               # DW_AT_location316	.byte	8                               # DW_AT_name317	.byte	0                               # DW_AT_decl_file318	.byte	9                               # DW_AT_decl_line319	.long	126                             # DW_AT_type320	.byte	0                               # End Of Children Mark321	.byte	6                               # Abbrev [6] 0x7e:0x4 DW_TAG_base_type322	.byte	6                               # DW_AT_name323	.byte	5                               # DW_AT_encoding324	.byte	4                               # DW_AT_byte_size325	.byte	7                               # Abbrev [7] 0x82:0x5 DW_TAG_pointer_type326	.long	126                             # DW_AT_type327	.byte	7                               # Abbrev [7] 0x87:0x5 DW_TAG_pointer_type328	.long	140                             # DW_AT_type329	.byte	7                               # Abbrev [7] 0x8c:0x5 DW_TAG_pointer_type330	.long	145                             # DW_AT_type331	.byte	6                               # Abbrev [6] 0x91:0x4 DW_TAG_base_type332	.byte	11                              # DW_AT_name333	.byte	6                               # DW_AT_encoding334	.byte	1                               # DW_AT_byte_size335	.byte	0                               # End Of Children Mark336.Ldebug_info_end0:337	.section	.debug_str_offsets,"",@progbits338	.long	52                              # Length of String Offsets Set339	.short	5340	.short	0341.Lstr_offsets_base0:342	.section	.debug_str,"MS",@progbits,1343.Linfo_string0:344	.asciz	"clang version 15.0.0" # string offset=0345.Linfo_string1:346	.asciz	"main.cpp"                      # string offset=134347.Linfo_string2:348	.asciz	"/testLocListMultiple" # string offset=143349.Linfo_string3:350	.asciz	"_Z3usePiS_"                    # string offset=200351.Linfo_string4:352	.asciz	"use"                           # string offset=211353.Linfo_string5:354	.asciz	"main"                          # string offset=215355.Linfo_string6:356	.asciz	"int"                           # string offset=220357.Linfo_string7:358	.asciz	"x"                             # string offset=224359.Linfo_string8:360	.asciz	"y"                             # string offset=226361.Linfo_string9:362	.asciz	"argc"                          # string offset=228363.Linfo_string10:364	.asciz	"argv"                          # string offset=233365.Linfo_string11:366	.asciz	"char"                          # string offset=238367	.section	.debug_str_offsets,"",@progbits368	.long	.Linfo_string0369	.long	.Linfo_string1370	.long	.Linfo_string2371	.long	.Linfo_string3372	.long	.Linfo_string4373	.long	.Linfo_string5374	.long	.Linfo_string6375	.long	.Linfo_string7376	.long	.Linfo_string8377	.long	.Linfo_string9378	.long	.Linfo_string10379	.long	.Linfo_string11380	.section	.debug_addr,"",@progbits381	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution382.Ldebug_addr_start0:383	.short	5                               # DWARF version number384	.byte	8                               # Address size385	.byte	0                               # Segment selector size386.Laddr_table_base0:387	.quad	.Lfunc_begin0388	.quad	.Lfunc_begin1389.Ldebug_addr_end0:390	.ident	"clang version 15.0.0"391	.section	".note.GNU-stack","",@progbits392	.addrsig393	.section	.debug_line,"",@progbits394.Lline_table_start0:395