xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-call-pc-helper.s (revision 11a8dd65ec604b59b79f64ee4b4874f439085514)
1# -gdwarf-5 -g2 -O2 -S
2# int helper(int z_, int d_) {
3#   return z_ + d_;
4# }
5
6	.text
7	.file	"helper.cpp"
8	.globl	_Z6helperii                     # -- Begin function _Z6helperii
9	.p2align	4, 0x90
10	.type	_Z6helperii,@function
11_Z6helperii:                            # @_Z6helperii
12.Lfunc_begin0:
13	.file	0 "." "helper.cpp" md5 0x8020e02b87876b529416442978378ed0
14	.loc	0 1 0                           # helper.cpp:1:0
15	.cfi_startproc
16# %bb.0:                                # %entry
17	#DEBUG_VALUE: helper:z_ <- $edi
18	#DEBUG_VALUE: helper:d_ <- $esi
19                                        # kill: def $esi killed $esi def $rsi
20                                        # kill: def $edi killed $edi def $rdi
21	.loc	0 2 13 prologue_end             # helper.cpp:2:13
22	leal	(%rdi,%rsi), %eax
23	.loc	0 2 3 is_stmt 0                 # helper.cpp:2:3
24	retq
25.Ltmp0:
26.Lfunc_end0:
27	.size	_Z6helperii, .Lfunc_end0-_Z6helperii
28	.cfi_endproc
29                                        # -- End function
30	.section	.debug_abbrev,"",@progbits
31	.byte	1                               # Abbreviation Code
32	.byte	17                              # DW_TAG_compile_unit
33	.byte	1                               # DW_CHILDREN_yes
34	.byte	37                              # DW_AT_producer
35	.byte	37                              # DW_FORM_strx1
36	.byte	19                              # DW_AT_language
37	.byte	5                               # DW_FORM_data2
38	.byte	3                               # DW_AT_name
39	.byte	37                              # DW_FORM_strx1
40	.byte	114                             # DW_AT_str_offsets_base
41	.byte	23                              # DW_FORM_sec_offset
42	.byte	16                              # DW_AT_stmt_list
43	.byte	23                              # DW_FORM_sec_offset
44	.byte	27                              # DW_AT_comp_dir
45	.byte	37                              # DW_FORM_strx1
46	.byte	17                              # DW_AT_low_pc
47	.byte	27                              # DW_FORM_addrx
48	.byte	18                              # DW_AT_high_pc
49	.byte	6                               # DW_FORM_data4
50	.byte	115                             # DW_AT_addr_base
51	.byte	23                              # DW_FORM_sec_offset
52	.byte	0                               # EOM(1)
53	.byte	0                               # EOM(2)
54	.byte	2                               # Abbreviation Code
55	.byte	46                              # DW_TAG_subprogram
56	.byte	1                               # DW_CHILDREN_yes
57	.byte	17                              # DW_AT_low_pc
58	.byte	27                              # DW_FORM_addrx
59	.byte	18                              # DW_AT_high_pc
60	.byte	6                               # DW_FORM_data4
61	.byte	64                              # DW_AT_frame_base
62	.byte	24                              # DW_FORM_exprloc
63	.byte	122                             # DW_AT_call_all_calls
64	.byte	25                              # DW_FORM_flag_present
65	.byte	110                             # DW_AT_linkage_name
66	.byte	37                              # DW_FORM_strx1
67	.byte	3                               # DW_AT_name
68	.byte	37                              # DW_FORM_strx1
69	.byte	58                              # DW_AT_decl_file
70	.byte	11                              # DW_FORM_data1
71	.byte	59                              # DW_AT_decl_line
72	.byte	11                              # DW_FORM_data1
73	.byte	73                              # DW_AT_type
74	.byte	19                              # DW_FORM_ref4
75	.byte	63                              # DW_AT_external
76	.byte	25                              # DW_FORM_flag_present
77	.byte	0                               # EOM(1)
78	.byte	0                               # EOM(2)
79	.byte	3                               # Abbreviation Code
80	.byte	5                               # DW_TAG_formal_parameter
81	.byte	0                               # DW_CHILDREN_no
82	.byte	2                               # DW_AT_location
83	.byte	24                              # DW_FORM_exprloc
84	.byte	3                               # DW_AT_name
85	.byte	37                              # DW_FORM_strx1
86	.byte	58                              # DW_AT_decl_file
87	.byte	11                              # DW_FORM_data1
88	.byte	59                              # DW_AT_decl_line
89	.byte	11                              # DW_FORM_data1
90	.byte	73                              # DW_AT_type
91	.byte	19                              # DW_FORM_ref4
92	.byte	0                               # EOM(1)
93	.byte	0                               # EOM(2)
94	.byte	4                               # Abbreviation Code
95	.byte	36                              # DW_TAG_base_type
96	.byte	0                               # DW_CHILDREN_no
97	.byte	3                               # DW_AT_name
98	.byte	37                              # DW_FORM_strx1
99	.byte	62                              # DW_AT_encoding
100	.byte	11                              # DW_FORM_data1
101	.byte	11                              # DW_AT_byte_size
102	.byte	11                              # DW_FORM_data1
103	.byte	0                               # EOM(1)
104	.byte	0                               # EOM(2)
105	.byte	0                               # EOM(3)
106	.section	.debug_info,"",@progbits
107.Lcu_begin0:
108	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
109.Ldebug_info_start0:
110	.short	5                               # DWARF version number
111	.byte	1                               # DWARF Unit Type
112	.byte	8                               # Address Size (in bytes)
113	.long	.debug_abbrev                   # Offset Into Abbrev. Section
114	.byte	1                               # Abbrev [1] 0xc:0x41 DW_TAG_compile_unit
115	.byte	0                               # DW_AT_producer
116	.short	33                              # DW_AT_language
117	.byte	1                               # DW_AT_name
118	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
119	.long	.Lline_table_start0             # DW_AT_stmt_list
120	.byte	2                               # DW_AT_comp_dir
121	.byte	0                               # DW_AT_low_pc
122	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
123	.long	.Laddr_table_base0              # DW_AT_addr_base
124	.byte	2                               # Abbrev [2] 0x23:0x25 DW_TAG_subprogram
125	.byte	0                               # DW_AT_low_pc
126	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
127	.byte	1                               # DW_AT_frame_base
128	.byte	87
129                                        # DW_AT_call_all_calls
130	.byte	3                               # DW_AT_linkage_name
131	.byte	4                               # DW_AT_name
132	.byte	0                               # DW_AT_decl_file
133	.byte	1                               # DW_AT_decl_line
134	.long	72                              # DW_AT_type
135                                        # DW_AT_external
136	.byte	3                               # Abbrev [3] 0x33:0xa DW_TAG_formal_parameter
137	.byte	1                               # DW_AT_location
138	.byte	85
139	.byte	6                               # DW_AT_name
140	.byte	0                               # DW_AT_decl_file
141	.byte	1                               # DW_AT_decl_line
142	.long	72                              # DW_AT_type
143	.byte	3                               # Abbrev [3] 0x3d:0xa DW_TAG_formal_parameter
144	.byte	1                               # DW_AT_location
145	.byte	84
146	.byte	7                               # DW_AT_name
147	.byte	0                               # DW_AT_decl_file
148	.byte	1                               # DW_AT_decl_line
149	.long	72                              # DW_AT_type
150	.byte	0                               # End Of Children Mark
151	.byte	4                               # Abbrev [4] 0x48:0x4 DW_TAG_base_type
152	.byte	5                               # DW_AT_name
153	.byte	5                               # DW_AT_encoding
154	.byte	4                               # DW_AT_byte_size
155	.byte	0                               # End Of Children Mark
156.Ldebug_info_end0:
157	.section	.debug_str_offsets,"",@progbits
158	.long	36                              # Length of String Offsets Set
159	.short	5
160	.short	0
161.Lstr_offsets_base0:
162	.section	.debug_str,"MS",@progbits,1
163.Linfo_string0:
164	.asciz	"clang version 15.0.0" # string offset=0
165.Linfo_string1:
166	.asciz	"helper.cpp"                    # string offset=134
167.Linfo_string2:
168	.asciz	"." # string offset=145
169.Linfo_string3:
170	.asciz	"_Z6helperii"                   # string offset=191
171.Linfo_string4:
172	.asciz	"helper"                        # string offset=203
173.Linfo_string5:
174	.asciz	"int"                           # string offset=210
175.Linfo_string6:
176	.asciz	"z_"                            # string offset=214
177.Linfo_string7:
178	.asciz	"d_"                            # string offset=217
179	.section	.debug_str_offsets,"",@progbits
180	.long	.Linfo_string0
181	.long	.Linfo_string1
182	.long	.Linfo_string2
183	.long	.Linfo_string3
184	.long	.Linfo_string4
185	.long	.Linfo_string5
186	.long	.Linfo_string6
187	.long	.Linfo_string7
188	.section	.debug_addr,"",@progbits
189	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
190.Ldebug_addr_start0:
191	.short	5                               # DWARF version number
192	.byte	8                               # Address size
193	.byte	0                               # Segment selector size
194.Laddr_table_base0:
195	.quad	.Lfunc_begin0
196.Ldebug_addr_end0:
197	.ident	"clang version 15.0.0"
198	.section	".note.GNU-stack","",@progbits
199	.addrsig
200	.section	.debug_line,"",@progbits
201.Lline_table_start0:
202