Follow up to d0858bffa11, add missing REQUIRES x86
[llvm-project.git] / llvm / test / tools / llvm-dwarfdump / X86 / stats-v5-ranges-dwo.s
blob5bccb6c08e9e77f31e61ec69122e3c367d606146
1 # RUN: rm -rf %t && mkdir -p %t
2 # RUN: cd %t
3 # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux-gnu %s -o ranges.o -split-dwarf-file ranges.dwo
4 # RUN: llvm-dwarfdump --statistics ranges.o | FileCheck %s
6 # CHECK: "#bytes within functions": 30,
9 .text
10 .file "ranges.cpp"
11 .section .text._Z2f3v,"ax",@progbits
12 .globl _Z2f3v # -- Begin function _Z2f3v
13 .p2align 4, 0x90
14 .type _Z2f3v,@function
15 _Z2f3v: # @_Z2f3v
16 .Lfunc_begin0:
17 .file 0 "/usr/local/google/home/blaikie/dev/scratch" "ranges.cpp" md5 0x6dd27b2681f4bda8fe888ef8f6ffca94
18 .loc 0 4 0 # ranges.cpp:4:0
19 .cfi_startproc
20 # %bb.0: # %entry
21 pushq %rbp
22 .cfi_def_cfa_offset 16
23 .cfi_offset %rbp, -16
24 movq %rsp, %rbp
25 .cfi_def_cfa_register %rbp
26 .Ltmp0:
27 .loc 0 5 7 prologue_end # ranges.cpp:5:7
28 testb $1, b
29 je _Z2f3v.__part.2
30 jmp _Z2f3v.__part.1
31 .LBB_END0_0:
32 .cfi_endproc
33 .section .text._Z2f3v,"ax",@progbits,unique,1
34 _Z2f3v.__part.1: # %if.then
35 .cfi_startproc
36 .cfi_def_cfa %rbp, 16
37 .cfi_offset %rbp, -16
38 .loc 0 6 5 # ranges.cpp:6:5
39 callq _Z2f1v
40 jmp _Z2f3v.__part.2
41 .LBB_END0_1:
42 .size _Z2f3v.__part.1, .LBB_END0_1-_Z2f3v.__part.1
43 .cfi_endproc
44 .section .text._Z2f3v,"ax",@progbits,unique,2
45 _Z2f3v.__part.2: # %if.end
46 .cfi_startproc
47 .cfi_def_cfa %rbp, 16
48 .cfi_offset %rbp, -16
49 .loc 0 7 3 # ranges.cpp:7:3
50 callq _Z2f2v
51 .loc 0 8 1 # ranges.cpp:8:1
52 popq %rbp
53 .cfi_def_cfa %rsp, 8
54 retq
55 .LBB_END0_2:
56 .size _Z2f3v.__part.2, .LBB_END0_2-_Z2f3v.__part.2
57 .cfi_endproc
58 .section .text._Z2f3v,"ax",@progbits
59 .Lfunc_end0:
60 .size _Z2f3v, .Lfunc_end0-_Z2f3v
61 # -- End function
62 .section .debug_abbrev,"",@progbits
63 .byte 1 # Abbreviation Code
64 .byte 74 # DW_TAG_skeleton_unit
65 .byte 0 # DW_CHILDREN_no
66 .byte 16 # DW_AT_stmt_list
67 .byte 23 # DW_FORM_sec_offset
68 .byte 114 # DW_AT_str_offsets_base
69 .byte 23 # DW_FORM_sec_offset
70 .byte 27 # DW_AT_comp_dir
71 .byte 37 # DW_FORM_strx1
72 .ascii "\264B" # DW_AT_GNU_pubnames
73 .byte 25 # DW_FORM_flag_present
74 .byte 118 # DW_AT_dwo_name
75 .byte 37 # DW_FORM_strx1
76 .byte 17 # DW_AT_low_pc
77 .byte 1 # DW_FORM_addr
78 .byte 85 # DW_AT_ranges
79 .byte 35 # DW_FORM_rnglistx
80 .byte 115 # DW_AT_addr_base
81 .byte 23 # DW_FORM_sec_offset
82 .byte 116 # DW_AT_rnglists_base
83 .byte 23 # DW_FORM_sec_offset
84 .byte 0 # EOM(1)
85 .byte 0 # EOM(2)
86 .byte 0 # EOM(3)
87 .section .debug_info,"",@progbits
88 .Lcu_begin0:
89 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
90 .Ldebug_info_start0:
91 .short 5 # DWARF version number
92 .byte 4 # DWARF Unit Type
93 .byte 8 # Address Size (in bytes)
94 .long .debug_abbrev # Offset Into Abbrev. Section
95 .quad -7949078943903054930
96 .byte 1 # Abbrev [1] 0x14:0x1c DW_TAG_skeleton_unit
97 .long .Lline_table_start0 # DW_AT_stmt_list
98 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
99 .byte 0 # DW_AT_comp_dir
100 # DW_AT_GNU_pubnames
101 .byte 1 # DW_AT_dwo_name
102 .quad 0 # DW_AT_low_pc
103 .byte 0 # DW_AT_ranges
104 .long .Laddr_table_base0 # DW_AT_addr_base
105 .long .Lrnglists_table_base0 # DW_AT_rnglists_base
106 .Ldebug_info_end0:
107 .section .debug_rnglists,"",@progbits
108 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
109 .Ldebug_list_header_start0:
110 .short 5 # Version
111 .byte 8 # Address size
112 .byte 0 # Segment selector size
113 .long 1 # Offset entry count
114 .Lrnglists_table_base0:
115 .long .Ldebug_ranges1-.Lrnglists_table_base0
116 .Ldebug_ranges1:
117 .byte 3 # DW_RLE_startx_length
118 .byte 0 # start index
119 .uleb128 .LBB_END0_1-_Z2f3v.__part.1 # length
120 .byte 3 # DW_RLE_startx_length
121 .byte 1 # start index
122 .uleb128 .LBB_END0_2-_Z2f3v.__part.2 # length
123 .byte 3 # DW_RLE_startx_length
124 .byte 2 # start index
125 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length
126 .byte 0 # DW_RLE_end_of_list
127 .Ldebug_list_header_end0:
128 .section .debug_str_offsets,"",@progbits
129 .long 12 # Length of String Offsets Set
130 .short 5
131 .short 0
132 .Lstr_offsets_base0:
133 .section .debug_str,"MS",@progbits,1
134 .Lskel_string0:
135 .asciz "." # string offset=0
136 .Lskel_string1:
137 .asciz "ranges.dwo" # string offset=43
138 .section .debug_str_offsets,"",@progbits
139 .long .Lskel_string0
140 .long .Lskel_string1
141 .section .debug_addr,"",@progbits
142 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
143 .Ldebug_addr_start0:
144 .short 5 # DWARF version number
145 .byte 8 # Address size
146 .byte 0 # Segment selector size
147 .Laddr_table_base0:
148 .quad _Z2f3v.__part.1
149 .quad _Z2f3v.__part.2
150 .quad .Lfunc_begin0
151 .Ldebug_addr_end0:
152 .section .debug_gnu_pubnames,"",@progbits
153 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
154 .LpubNames_start0:
155 .short 2 # DWARF Version
156 .long .Lcu_begin0 # Offset of Compilation Unit Info
157 .long 48 # Compilation Unit Length
158 .long 26 # DIE offset
159 .byte 48 # Attributes: FUNCTION, EXTERNAL
160 .asciz "f3" # External Name
161 .long 0 # End Mark
162 .LpubNames_end0:
163 .section .debug_gnu_pubtypes,"",@progbits
164 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
165 .LpubTypes_start0:
166 .short 2 # DWARF Version
167 .long .Lcu_begin0 # Offset of Compilation Unit Info
168 .long 48 # Compilation Unit Length
169 .long 0 # End Mark
170 .LpubTypes_end0:
171 .ident "clang version 13.0.0 (git@github.com:llvm/llvm-project.git 09cdcf09b54d328fc0a247b3a0f351d2610e928f)"
172 .section ".note.GNU-stack","",@progbits
173 .addrsig
174 .addrsig_sym _Z2f1v
175 .addrsig_sym _Z2f2v
176 .addrsig_sym b
177 .section .debug_line,"",@progbits
178 .Lline_table_start0:
181 .section .debug_str_offsets.dwo,"e",@progbits
182 .long 24 # Length of String Offsets Set
183 .short 5
184 .short 0
185 .section .debug_str.dwo,"eMS",@progbits,1
186 .Linfo_string0:
187 .asciz "_Z2f3v" # string offset=0
188 .Linfo_string1:
189 .asciz "f3" # string offset=7
190 .Linfo_string2:
191 .asciz "clang version 13.0.0 (git@github.com:llvm/llvm-project.git 09cdcf09b54d328fc0a247b3a0f351d2610e928f)" # string offset=10
192 .Linfo_string3:
193 .asciz "ranges.cpp" # string offset=111
194 .Linfo_string4:
195 .asciz "ranges.dwo" # string offset=122
196 .section .debug_str_offsets.dwo,"e",@progbits
197 .long 0
198 .long 7
199 .long 10
200 .long 111
201 .long 122
202 .section .debug_info.dwo,"e",@progbits
203 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
204 .Ldebug_info_dwo_start0:
205 .short 5 # DWARF version number
206 .byte 5 # DWARF Unit Type
207 .byte 8 # Address Size (in bytes)
208 .long 0 # Offset Into Abbrev. Section
209 .quad -7949078943903054930
210 .byte 1 # Abbrev [1] 0x14:0xf DW_TAG_compile_unit
211 .byte 2 # DW_AT_producer
212 .short 33 # DW_AT_language
213 .byte 3 # DW_AT_name
214 .byte 4 # DW_AT_dwo_name
215 .byte 2 # Abbrev [2] 0x1a:0x8 DW_TAG_subprogram
216 .byte 0 # DW_AT_ranges
217 .byte 1 # DW_AT_frame_base
218 .byte 86
219 .byte 0 # DW_AT_linkage_name
220 .byte 1 # DW_AT_name
221 .byte 0 # DW_AT_decl_file
222 .byte 4 # DW_AT_decl_line
223 # DW_AT_external
224 .byte 0 # End Of Children Mark
225 .Ldebug_info_dwo_end0:
226 .section .debug_abbrev.dwo,"e",@progbits
227 .byte 1 # Abbreviation Code
228 .byte 17 # DW_TAG_compile_unit
229 .byte 1 # DW_CHILDREN_yes
230 .byte 37 # DW_AT_producer
231 .byte 37 # DW_FORM_strx1
232 .byte 19 # DW_AT_language
233 .byte 5 # DW_FORM_data2
234 .byte 3 # DW_AT_name
235 .byte 37 # DW_FORM_strx1
236 .byte 118 # DW_AT_dwo_name
237 .byte 37 # DW_FORM_strx1
238 .byte 0 # EOM(1)
239 .byte 0 # EOM(2)
240 .byte 2 # Abbreviation Code
241 .byte 46 # DW_TAG_subprogram
242 .byte 0 # DW_CHILDREN_no
243 .byte 85 # DW_AT_ranges
244 .byte 35 # DW_FORM_rnglistx
245 .byte 64 # DW_AT_frame_base
246 .byte 24 # DW_FORM_exprloc
247 .byte 110 # DW_AT_linkage_name
248 .byte 37 # DW_FORM_strx1
249 .byte 3 # DW_AT_name
250 .byte 37 # DW_FORM_strx1
251 .byte 58 # DW_AT_decl_file
252 .byte 11 # DW_FORM_data1
253 .byte 59 # DW_AT_decl_line
254 .byte 11 # DW_FORM_data1
255 .byte 63 # DW_AT_external
256 .byte 25 # DW_FORM_flag_present
257 .byte 0 # EOM(1)
258 .byte 0 # EOM(2)
259 .byte 0 # EOM(3)
260 .section .debug_rnglists.dwo,"e",@progbits
261 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length
262 .Ldebug_list_header_start1:
263 .short 5 # Version
264 .byte 8 # Address size
265 .byte 0 # Segment selector size
266 .long 1 # Offset entry count
267 .Lrnglists_dwo_table_base0:
268 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0
269 .Ldebug_ranges0:
270 .byte 3 # DW_RLE_startx_length
271 .byte 0 # start index
272 .uleb128 10 # length
273 .byte 3 # DW_RLE_startx_length
274 .byte 1 # start index
275 .uleb128 10 # length
276 .byte 3 # DW_RLE_startx_length
277 .byte 2 # start index
278 .uleb128 10 # length
279 .byte 0 # DW_RLE_end_of_list
280 .Ldebug_list_header_end1: