[clang][bytecode] Handle UETT_PtrAuthTypeDiscriminator (#122941)
[llvm-project.git] / llvm / test / DebugInfo / XCOFF / empty.ll
blobaf2f74fb82b8f5062b0909cdca21378889a4489d
1 ; RUN: llc -debugger-tune=gdb -mcpu=ppc -mtriple powerpc-ibm-aix-xcoff < %s | \
2 ; RUN:   FileCheck %s --check-prefix=ASM32
3 ; RUN: llc -debugger-tune=gdb -mcpu=ppc -mtriple powerpc64-ibm-aix-xcoff < %s | \
4 ; RUN:   FileCheck %s --check-prefix=ASM64
5 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=ppc -filetype=obj < %s | \
6 ; RUN:   llvm-dwarfdump --all - | FileCheck %s --check-prefix=DWARF32
8 source_filename = "1.c"
9 target datalayout = "E-m:a-p:32:32-i64:64-n32"
11 ; Function Attrs: noinline nounwind optnone
12 define i32 @main() #0 !dbg !8 {
13 entry:
14   %retval = alloca i32, align 4
15   store i32 0, ptr %retval, align 4
16   ret i32 0, !dbg !12
19 !llvm.dbg.cu = !{!0}
20 !llvm.module.flags = !{!3, !4, !5, !6}
21 !llvm.ident = !{!7}
23 !0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang version 12.0.0", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2, nameTableKind: None)
24 !1 = !DIFile(filename: "1.c", directory: "debug")
25 !2 = !{}
26 !3 = !{i32 7, !"Dwarf Version", i32 4}
27 !4 = !{i32 2, !"Debug Info Version", i32 3}
28 !5 = !{i32 1, !"wchar_size", i32 2}
29 !6 = !{i32 7, !"PIC Level", i32 2}
30 !7 = !{!"clang version 12.0.0"}
31 !8 = distinct !DISubprogram(name: "main", scope: !1, file: !1, line: 1, type: !9, scopeLine: 2, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !0, retainedNodes: !2)
32 !9 = !DISubroutineType(types: !10)
33 !10 = !{!11}
34 !11 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
35 !12 = !DILocation(line: 3, column: 3, scope: !8)
37 ; ASM32:               .file   "1.c"
38 ; ASM32-NEXT:          .csect ..text..[PR],5
39 ; ASM32-NEXT:          .rename ..text..[PR],""
40 ; ASM32-NEXT:          .machine "COM"
41 ; ASM32-NEXT:          .globl  main[DS]                        # -- Begin function main
42 ; ASM32-NEXT:          .globl  .main
43 ; ASM32-NEXT:          .align  2
44 ; ASM32-NEXT:          .csect main[DS],2
45 ; ASM32-NEXT:          .vbyte  4, .main                        # @main
46 ; ASM32-NEXT:          .vbyte  4, TOC[TC0]
47 ; ASM32-NEXT:          .vbyte  4, 0
48 ; ASM32-NEXT:          .csect ..text..[PR],5
49 ; ASM32-NEXT:  .main:
50 ; ASM32-NEXT:  L..func_begin0:
51 ; ASM32-NEXT:  # %bb.0:                                # %entry
52 ; ASM32-NEXT:  L..tmp0:
53 ; ASM32-NEXT:          li 4, 0
54 ; ASM32-NEXT:  L..tmp1:
55 ; ASM32-NEXT:  L..tmp2:
56 ; ASM32-NEXT:          li 3, 0
57 ; ASM32-NEXT:          stw 4, -4(1)
58 ; ASM32-NEXT:          blr
59 ; ASM32-NEXT:  L..tmp3:
60 ; ASM32-NEXT:  L..main0:
61 ; ASM32-NEXT:          .vbyte  4, 0x00000000                   # Traceback table begin
62 ; ASM32-NEXT:          .byte   0x00                            # Version = 0
63 ; ASM32-NEXT:          .byte   0x09                            # Language = CPlusPlus
64 ; ASM32-NEXT:          .byte   0x20                            # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
65 ; ASM32-NEXT:                                          # +HasTraceBackTableOffset, -IsInternalProcedure
66 ; ASM32-NEXT:                                          # -HasControlledStorage, -IsTOCless
67 ; ASM32-NEXT:                                          # -IsFloatingPointPresent
68 ; ASM32-NEXT:                                          # -IsFloatingPointOperationLogOrAbortEnabled
69 ; ASM32-NEXT:          .byte   0x40                            # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
70 ; ASM32-NEXT:                                          # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
71 ; ASM32-NEXT:          .byte   0x00                            # -IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
72 ; ASM32-NEXT:          .byte   0x00                            # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
73 ; ASM32-NEXT:          .byte   0x00                            # NumberOfFixedParms = 0
74 ; ASM32-NEXT:          .byte   0x01                            # NumberOfFPParms = 0, +HasParmsOnStack
75 ; ASM32-NEXT:          .vbyte  4, L..main0-.main               # Function size
76 ; ASM32-NEXT:          .vbyte  2, 0x0004                       # Function name len = 4
77 ; ASM32-NEXT:          .byte   "main"                          # Function Name
78 ; ASM32-NEXT:  L..func_end0:
79 ; ASM32-NEXT:                                          # -- End function
80 ; ASM32-NEXT:  L..sec_end0:
81 ; ASM32:               .dwsect 0x60000
82 ; ASM32-NEXT:  .dwabrev:
83 ; ASM32-NEXT:          .byte   1                               # Abbreviation Code
84 ; ASM32-NEXT:          .byte   17                              # DW_TAG_compile_unit
85 ; ASM32-NEXT:          .byte   1                               # DW_CHILDREN_yes
86 ; ASM32-NEXT:          .byte   37                              # DW_AT_producer
87 ; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
88 ; ASM32-NEXT:          .byte   19                              # DW_AT_language
89 ; ASM32-NEXT:          .byte   5                               # DW_FORM_data2
90 ; ASM32-NEXT:          .byte   3                               # DW_AT_name
91 ; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
92 ; ASM32-NEXT:          .byte   16                              # DW_AT_stmt_list
93 ; ASM32-NEXT:          .byte   23                              # DW_FORM_sec_offset
94 ; ASM32-NEXT:          .byte   27                              # DW_AT_comp_dir
95 ; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
96 ; ASM32-NEXT:          .byte   17                              # DW_AT_low_pc
97 ; ASM32-NEXT:          .byte   1                               # DW_FORM_addr
98 ; ASM32-NEXT:          .byte   18                              # DW_AT_high_pc
99 ; ASM32-NEXT:          .byte   6                               # DW_FORM_data4
100 ; ASM32-NEXT:          .byte   0                               # EOM(1)
101 ; ASM32-NEXT:          .byte   0                               # EOM(2)
102 ; ASM32-NEXT:          .byte   2                               # Abbreviation Code
103 ; ASM32-NEXT:          .byte   46                              # DW_TAG_subprogram
104 ; ASM32-NEXT:          .byte   0                               # DW_CHILDREN_no
105 ; ASM32-NEXT:          .byte   17                              # DW_AT_low_pc
106 ; ASM32-NEXT:          .byte   1                               # DW_FORM_addr
107 ; ASM32-NEXT:          .byte   18                              # DW_AT_high_pc
108 ; ASM32-NEXT:          .byte   6                               # DW_FORM_data4
109 ; ASM32-NEXT:          .byte   64                              # DW_AT_frame_base
110 ; ASM32-NEXT:          .byte   24                              # DW_FORM_exprloc
111 ; ASM32-NEXT:          .byte   3                               # DW_AT_name
112 ; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
113 ; ASM32-NEXT:          .byte   58                              # DW_AT_decl_file
114 ; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
115 ; ASM32-NEXT:          .byte   59                              # DW_AT_decl_line
116 ; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
117 ; ASM32-NEXT:          .byte   39                              # DW_AT_prototyped
118 ; ASM32-NEXT:          .byte   25                              # DW_FORM_flag_present
119 ; ASM32-NEXT:          .byte   73                              # DW_AT_type
120 ; ASM32-NEXT:          .byte   19                              # DW_FORM_ref4
121 ; ASM32-NEXT:          .byte   63                              # DW_AT_external
122 ; ASM32-NEXT:          .byte   25                              # DW_FORM_flag_present
123 ; ASM32-NEXT:          .byte   0                               # EOM(1)
124 ; ASM32-NEXT:          .byte   0                               # EOM(2)
125 ; ASM32-NEXT:          .byte   3                               # Abbreviation Code
126 ; ASM32-NEXT:          .byte   36                              # DW_TAG_base_type
127 ; ASM32-NEXT:          .byte   0                               # DW_CHILDREN_no
128 ; ASM32-NEXT:          .byte   3                               # DW_AT_name
129 ; ASM32-NEXT:          .byte   14                              # DW_FORM_strp
130 ; ASM32-NEXT:          .byte   62                              # DW_AT_encoding
131 ; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
132 ; ASM32-NEXT:          .byte   11                              # DW_AT_byte_size
133 ; ASM32-NEXT:          .byte   11                              # DW_FORM_data1
134 ; ASM32-NEXT:          .byte   0                               # EOM(1)
135 ; ASM32-NEXT:          .byte   0                               # EOM(2)
136 ; ASM32-NEXT:          .byte   0                               # EOM(3)
137 ; ASM32:               .dwsect 0x10000
138 ; ASM32-NEXT:  .dwinfo:
139 ; ASM32-NEXT:  L..cu_begin0:
140 ; ASM32-NEXT:          .vbyte  2, 4                            # DWARF version number
141 ; ASM32-NEXT:          .vbyte  4, .dwabrev                  # Offset Into Abbrev. Section
142 ; ASM32-NEXT:          .byte   4                               # Address Size (in bytes)
143 ; ASM32-NEXT:          .byte   1                               # Abbrev [1] 0xb:0x38 DW_TAG_compile_unit
144 ; ASM32-NEXT:          .vbyte  4, L..info_string0              # DW_AT_producer
145 ; ASM32-NEXT:          .vbyte  2, 12                           # DW_AT_language
146 ; ASM32-NEXT:          .vbyte  4, L..info_string1              # DW_AT_name
147 ; ASM32-NEXT:          .vbyte  4, L..line_table_start0         # DW_AT_stmt_list
148 ; ASM32-NEXT:          .vbyte  4, L..info_string2              # DW_AT_comp_dir
149 ; ASM32-NEXT:          .vbyte  4, L..func_begin0               # DW_AT_low_pc
150 ; ASM32-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
151 ; ASM32-NEXT:          .byte   2                               # Abbrev [2] 0x26:0x15 DW_TAG_subprogram
152 ; ASM32-NEXT:          .vbyte  4, L..func_begin0               # DW_AT_low_pc
153 ; ASM32-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
154 ; ASM32-NEXT:          .byte   1                               # DW_AT_frame_base
155 ; ASM32-NEXT:          .byte   81
156 ; ASM32-NEXT:          .vbyte  4, L..info_string3              # DW_AT_name
157 ; ASM32-NEXT:          .byte   1                               # DW_AT_decl_file
158 ; ASM32-NEXT:          .byte   1                               # DW_AT_decl_line
159 ; ASM32-NEXT:                                          # DW_AT_prototyped
160 ; ASM32-NEXT:          .vbyte  4, 59                           # DW_AT_type
161 ; ASM32-NEXT:                                          # DW_AT_external
162 ; ASM32-NEXT:          .byte   3                               # Abbrev [3] 0x3b:0x7 DW_TAG_base_type
163 ; ASM32-NEXT:          .vbyte  4, L..info_string4              # DW_AT_name
164 ; ASM32-NEXT:          .byte   5                               # DW_AT_encoding
165 ; ASM32-NEXT:          .byte   4                               # DW_AT_byte_size
166 ; ASM32-NEXT:          .byte   0                               # End Of Children Mark
167 ; ASM32-NEXT:  L..debug_info_end0:
168 ; ASM32:               .dwsect 0x70000
169 ; ASM32-NEXT:  .dwstr:
170 ; ASM32-NEXT:  L..info_string0:
171 ; ASM32-NEXT:          .string "clang version 12.0.0"          # string offset=0
172 ; ASM32-NEXT:  L..info_string1:
173 ; ASM32-NEXT:          .string "1.c"                           # string offset=21
174 ; ASM32-NEXT:  L..info_string2:
175 ; ASM32-NEXT:          .string "debug"                         # string offset=25
176 ; ASM32-NEXT:  L..info_string3:
177 ; ASM32-NEXT:          .string "main"                          # string offset=31
178 ; ASM32-NEXT:  L..info_string4:
179 ; ASM32-NEXT:          .string "int"                           # string offset=36
180 ; ASM32-NEXT:          .toc
181 ; ASM32:               .dwsect 0x20000
182 ; ASM32-NEXT:  .dwline:
183 ; ASM32-NEXT:  L..debug_line_0:
184 ; ASM32-NEXT:  .set L..line_table_start0, L..debug_line_0-4
185 ; ASM32-NEXT:          .vbyte  2, 4
186 ; ASM32-NEXT:          .vbyte   4, L..prologue_end0-L..prologue_start0
187 ; ASM32-NEXT:  L..prologue_start0:
188 ; ASM32-NEXT:          .byte   4
189 ; ASM32-NEXT:          .byte   1
190 ; ASM32-NEXT:          .byte   1
191 ; ASM32-NEXT:          .byte   -5
192 ; ASM32-NEXT:          .byte   14
193 ; ASM32-NEXT:          .byte   13
194 ; ASM32-NEXT:          .byte   0
195 ; ASM32-NEXT:          .byte   1
196 ; ASM32-NEXT:          .byte   1
197 ; ASM32-NEXT:          .byte   1
198 ; ASM32-NEXT:          .byte   1
199 ; ASM32-NEXT:          .byte   0
200 ; ASM32-NEXT:          .byte   0
201 ; ASM32-NEXT:          .byte   0
202 ; ASM32-NEXT:          .byte   1
203 ; ASM32-NEXT:          .byte   0
204 ; ASM32-NEXT:          .byte   0
205 ; ASM32-NEXT:          .byte   1
206 ; ASM32-NEXT:          .byte   "debug"
207 ; ASM32-NEXT:          .byte   0
208 ; ASM32-NEXT:          .byte   0
209 ; ASM32-NEXT:          .byte   "1.c"
210 ; ASM32-NEXT:          .byte   0
211 ; ASM32-NEXT:          .byte   1
212 ; ASM32-NEXT:          .byte   0
213 ; ASM32-NEXT:          .byte   0
214 ; ASM32-NEXT:          .byte   0
215 ; ASM32-NEXT:  L..prologue_end0:
216 ; ASM32-NEXT:          .byte   0                               # Set address to L..tmp0
217 ; ASM32-NEXT:          .byte   5
218 ; ASM32-NEXT:          .byte   2
219 ; ASM32-NEXT:          .vbyte  4, L..tmp0
220 ; ASM32-NEXT:          .byte   19                              # Start sequence
221 ; ASM32-NEXT:          .byte   5
222 ; ASM32-NEXT:          .byte   3
223 ; ASM32-NEXT:          .byte   10
224 ; ASM32-NEXT:          .byte   0                               # Set address to L..tmp2
225 ; ASM32-NEXT:          .byte   5
226 ; ASM32-NEXT:          .byte   2
227 ; ASM32-NEXT:          .vbyte  4, L..tmp2
228 ; ASM32-NEXT:          .byte   3                               # Advance line 1
229 ; ASM32-NEXT:          .byte   1
230 ; ASM32-NEXT:          .byte   1
231 ; ASM32-NEXT:          .byte   0                               # Set address to L..func_end0
232 ; ASM32-NEXT:          .byte   5
233 ; ASM32-NEXT:          .byte   2
234 ; ASM32-NEXT:          .vbyte  4, L..func_end0
235 ; ASM32-NEXT:          .byte   0                               # End sequence
236 ; ASM32-NEXT:          .byte   1
237 ; ASM32-NEXT:          .byte   1
238 ; ASM32-NEXT:  L..debug_line_end0:
240 ; ASM64:               .file   "1.c"
241 ; ASM64-NEXT:          .csect ..text..[PR],5
242 ; ASM64-NEXT:          .rename ..text..[PR],""
243 ; ASM64-NEXT:          .machine "COM"
244 ; ASM64-NEXT:          .globl  main[DS]                        # -- Begin function main
245 ; ASM64-NEXT:          .globl  .main
246 ; ASM64-NEXT:          .align  2
247 ; ASM64-NEXT:          .csect main[DS],3
248 ; ASM64-NEXT:          .vbyte  8, .main                        # @main
249 ; ASM64-NEXT:          .vbyte  8, TOC[TC0]
250 ; ASM64-NEXT:          .vbyte  8, 0
251 ; ASM64-NEXT:          .csect ..text..[PR],5
252 ; ASM64-NEXT:  .main:
253 ; ASM64-NEXT:  L..func_begin0:
254 ; ASM64-NEXT:  # %bb.0:                                # %entry
255 ; ASM64-NEXT:  L..tmp0:
256 ; ASM64-NEXT:          li 4, 0
257 ; ASM64-NEXT:  L..tmp1:
258 ; ASM64-NEXT:  L..tmp2:
259 ; ASM64-NEXT:          li 3, 0
260 ; ASM64-NEXT:          stw 4, -4(1)
261 ; ASM64-NEXT:          blr
262 ; ASM64-NEXT:  L..tmp3:
263 ; ASM64-NEXT:  L..main0:
264 ; ASM64-NEXT:          .vbyte  4, 0x00000000                   # Traceback table begin
265 ; ASM64-NEXT:          .byte   0x00                            # Version = 0
266 ; ASM64-NEXT:          .byte   0x09                            # Language = CPlusPlus
267 ; ASM64-NEXT:          .byte   0x20                            # -IsGlobaLinkage, -IsOutOfLineEpilogOrPrologue
268 ; ASM64-NEXT:                                          # +HasTraceBackTableOffset, -IsInternalProcedure
269 ; ASM64-NEXT:                                          # -HasControlledStorage, -IsTOCless
270 ; ASM64-NEXT:                                          # -IsFloatingPointPresent
271 ; ASM64-NEXT:                                          # -IsFloatingPointOperationLogOrAbortEnabled
272 ; ASM64-NEXT:          .byte   0x40                            # -IsInterruptHandler, +IsFunctionNamePresent, -IsAllocaUsed
273 ; ASM64-NEXT:                                          # OnConditionDirective = 0, -IsCRSaved, -IsLRSaved
274 ; ASM64-NEXT:          .byte   0x00                            # -IsBackChainStored, -IsFixup, NumOfFPRsSaved = 0
275 ; ASM64-NEXT:          .byte   0x00                            # -HasExtensionTable, -HasVectorInfo, NumOfGPRsSaved = 0
276 ; ASM64-NEXT:          .byte   0x00                            # NumberOfFixedParms = 0
277 ; ASM64-NEXT:          .byte   0x01                            # NumberOfFPParms = 0, +HasParmsOnStack
278 ; ASM64-NEXT:          .vbyte  4, L..main0-.main               # Function size
279 ; ASM64-NEXT:          .vbyte  2, 0x0004                       # Function name len = 4
280 ; ASM64-NEXT:          .byte   "main"                          # Function Name
281 ; ASM64-NEXT:  L..func_end0:
282 ; ASM64-NEXT:                                          # -- End function
283 ; ASM64-NEXT:  L..sec_end0:
284 ; ASM64:               .dwsect 0x60000
285 ; ASM64-NEXT:  .dwabrev:
286 ; ASM64-NEXT:          .byte   1                               # Abbreviation Code
287 ; ASM64-NEXT:          .byte   17                              # DW_TAG_compile_unit
288 ; ASM64-NEXT:          .byte   1                               # DW_CHILDREN_yes
289 ; ASM64-NEXT:          .byte   37                              # DW_AT_producer
290 ; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
291 ; ASM64-NEXT:          .byte   19                              # DW_AT_language
292 ; ASM64-NEXT:          .byte   5                               # DW_FORM_data2
293 ; ASM64-NEXT:          .byte   3                               # DW_AT_name
294 ; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
295 ; ASM64-NEXT:          .byte   16                              # DW_AT_stmt_list
296 ; ASM64-NEXT:          .byte   23                              # DW_FORM_sec_offset
297 ; ASM64-NEXT:          .byte   27                              # DW_AT_comp_dir
298 ; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
299 ; ASM64-NEXT:          .byte   17                              # DW_AT_low_pc
300 ; ASM64-NEXT:          .byte   1                               # DW_FORM_addr
301 ; ASM64-NEXT:          .byte   18                              # DW_AT_high_pc
302 ; ASM64-NEXT:          .byte   6                               # DW_FORM_data4
303 ; ASM64-NEXT:          .byte   0                               # EOM(1)
304 ; ASM64-NEXT:          .byte   0                               # EOM(2)
305 ; ASM64-NEXT:          .byte   2                               # Abbreviation Code
306 ; ASM64-NEXT:          .byte   46                              # DW_TAG_subprogram
307 ; ASM64-NEXT:          .byte   0                               # DW_CHILDREN_no
308 ; ASM64-NEXT:          .byte   17                              # DW_AT_low_pc
309 ; ASM64-NEXT:          .byte   1                               # DW_FORM_addr
310 ; ASM64-NEXT:          .byte   18                              # DW_AT_high_pc
311 ; ASM64-NEXT:          .byte   6                               # DW_FORM_data4
312 ; ASM64-NEXT:          .byte   64                              # DW_AT_frame_base
313 ; ASM64-NEXT:          .byte   24                              # DW_FORM_exprloc
314 ; ASM64-NEXT:          .byte   3                               # DW_AT_name
315 ; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
316 ; ASM64-NEXT:          .byte   58                              # DW_AT_decl_file
317 ; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
318 ; ASM64-NEXT:          .byte   59                              # DW_AT_decl_line
319 ; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
320 ; ASM64-NEXT:          .byte   39                              # DW_AT_prototyped
321 ; ASM64-NEXT:          .byte   25                              # DW_FORM_flag_present
322 ; ASM64-NEXT:          .byte   73                              # DW_AT_type
323 ; ASM64-NEXT:          .byte   19                              # DW_FORM_ref4
324 ; ASM64-NEXT:          .byte   63                              # DW_AT_external
325 ; ASM64-NEXT:          .byte   25                              # DW_FORM_flag_present
326 ; ASM64-NEXT:          .byte   0                               # EOM(1)
327 ; ASM64-NEXT:          .byte   0                               # EOM(2)
328 ; ASM64-NEXT:          .byte   3                               # Abbreviation Code
329 ; ASM64-NEXT:          .byte   36                              # DW_TAG_base_type
330 ; ASM64-NEXT:          .byte   0                               # DW_CHILDREN_no
331 ; ASM64-NEXT:          .byte   3                               # DW_AT_name
332 ; ASM64-NEXT:          .byte   14                              # DW_FORM_strp
333 ; ASM64-NEXT:          .byte   62                              # DW_AT_encoding
334 ; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
335 ; ASM64-NEXT:          .byte   11                              # DW_AT_byte_size
336 ; ASM64-NEXT:          .byte   11                              # DW_FORM_data1
337 ; ASM64-NEXT:          .byte   0                               # EOM(1)
338 ; ASM64-NEXT:          .byte   0                               # EOM(2)
339 ; ASM64-NEXT:          .byte   0                               # EOM(3)
340 ; ASM64:               .dwsect 0x10000
341 ; ASM64-NEXT:  .dwinfo:
342 ; ASM64-NEXT:  L..cu_begin0:
343 ; ASM64-NEXT:          .vbyte  2, 4                            # DWARF version number
344 ; ASM64-NEXT:          .vbyte  8, .dwabrev                  # Offset Into Abbrev. Section
345 ; ASM64-NEXT:          .byte   8                               # Address Size (in bytes)
346 ; ASM64-NEXT:          .byte   1                               # Abbrev [1] 0x17:0x58 DW_TAG_compile_unit
347 ; ASM64-NEXT:          .vbyte  8, L..info_string0              # DW_AT_producer
348 ; ASM64-NEXT:          .vbyte  2, 12                           # DW_AT_language
349 ; ASM64-NEXT:          .vbyte  8, L..info_string1              # DW_AT_name
350 ; ASM64-NEXT:          .vbyte  8, L..line_table_start0         # DW_AT_stmt_list
351 ; ASM64-NEXT:          .vbyte  8, L..info_string2              # DW_AT_comp_dir
352 ; ASM64-NEXT:          .vbyte  8, L..func_begin0               # DW_AT_low_pc
353 ; ASM64-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
354 ; ASM64-NEXT:          .byte   2                               # Abbrev [2] 0x46:0x1d DW_TAG_subprogram
355 ; ASM64-NEXT:          .vbyte  8, L..func_begin0               # DW_AT_low_pc
356 ; ASM64-NEXT:          .vbyte  4, L..func_end0-L..func_begin0  # DW_AT_high_pc
357 ; ASM64-NEXT:          .byte   1                               # DW_AT_frame_base
358 ; ASM64-NEXT:          .byte   81
359 ; ASM64-NEXT:          .vbyte  8, L..info_string3              # DW_AT_name
360 ; ASM64-NEXT:          .byte   1                               # DW_AT_decl_file
361 ; ASM64-NEXT:          .byte   1                               # DW_AT_decl_line
362 ; ASM64-NEXT:                                          # DW_AT_prototyped
363 ; ASM64-NEXT:          .vbyte  4, 99                           # DW_AT_type
364 ; ASM64-NEXT:                                          # DW_AT_external
365 ; ASM64-NEXT:          .byte   3                               # Abbrev [3] 0x63:0xb DW_TAG_base_type
366 ; ASM64-NEXT:          .vbyte  8, L..info_string4              # DW_AT_name
367 ; ASM64-NEXT:          .byte   5                               # DW_AT_encoding
368 ; ASM64-NEXT:          .byte   4                               # DW_AT_byte_size
369 ; ASM64-NEXT:          .byte   0                               # End Of Children Mark
370 ; ASM64-NEXT:  L..debug_info_end0:
371 ; ASM64:               .dwsect 0x70000
372 ; ASM64-NEXT:  .dwstr:
373 ; ASM64-NEXT:  L..info_string0:
374 ; ASM64-NEXT:          .string "clang version 12.0.0"          # string offset=0
375 ; ASM64-NEXT:  L..info_string1:
376 ; ASM64-NEXT:          .string "1.c"                           # string offset=21
377 ; ASM64-NEXT:  L..info_string2:
378 ; ASM64-NEXT:          .string "debug"                         # string offset=25
379 ; ASM64-NEXT:  L..info_string3:
380 ; ASM64-NEXT:          .string "main"                          # string offset=31
381 ; ASM64-NEXT:  L..info_string4:
382 ; ASM64-NEXT:          .string "int"                           # string offset=36
383 ; ASM64-NEXT:         .toc
384 ; ASM64:               .dwsect 0x20000
385 ; ASM64-NEXT:  .dwline:
386 ; ASM64-NEXT:  L..debug_line_0:
387 ; ASM64-NEXT:  .set L..line_table_start0, L..debug_line_0-12
388 ; ASM64-NEXT:          .vbyte  2, 4
389 ; ASM64-NEXT:          .vbyte  8, L..prologue_end0-L..prologue_start0
390 ; ASM64-NEXT:  L..prologue_start0:
391 ; ASM64-NEXT:          .byte   4
392 ; ASM64-NEXT:          .byte   1
393 ; ASM64-NEXT:          .byte   1
394 ; ASM64-NEXT:          .byte   -5
395 ; ASM64-NEXT:          .byte   14
396 ; ASM64-NEXT:          .byte   13
397 ; ASM64-NEXT:          .byte   0
398 ; ASM64-NEXT:          .byte   1
399 ; ASM64-NEXT:          .byte   1
400 ; ASM64-NEXT:          .byte   1
401 ; ASM64-NEXT:          .byte   1
402 ; ASM64-NEXT:          .byte   0
403 ; ASM64-NEXT:          .byte   0
404 ; ASM64-NEXT:          .byte   0
405 ; ASM64-NEXT:          .byte   1
406 ; ASM64-NEXT:          .byte   0
407 ; ASM64-NEXT:          .byte   0
408 ; ASM64-NEXT:          .byte   1
409 ; ASM64-NEXT:          .byte   "debug"
410 ; ASM64-NEXT:          .byte   0
411 ; ASM64-NEXT:          .byte   0
412 ; ASM64-NEXT:          .byte   "1.c"
413 ; ASM64-NEXT:          .byte   0
414 ; ASM64-NEXT:          .byte   1
415 ; ASM64-NEXT:          .byte   0
416 ; ASM64-NEXT:          .byte   0
417 ; ASM64-NEXT:          .byte   0
418 ; ASM64-NEXT:  L..prologue_end0:
419 ; ASM64-NEXT:          .byte   0                               # Set address to L..tmp0
420 ; ASM64-NEXT:          .byte   9
421 ; ASM64-NEXT:          .byte   2
422 ; ASM64-NEXT:          .vbyte  8, L..tmp0
423 ; ASM64-NEXT:          .byte   19                              # Start sequence
424 ; ASM64-NEXT:          .byte   5
425 ; ASM64-NEXT:          .byte   3
426 ; ASM64-NEXT:          .byte   10
427 ; ASM64-NEXT:          .byte   0                               # Set address to L..tmp2
428 ; ASM64-NEXT:          .byte   9
429 ; ASM64-NEXT:          .byte   2
430 ; ASM64-NEXT:          .vbyte  8, L..tmp2
431 ; ASM64-NEXT:          .byte   3                               # Advance line 1
432 ; ASM64-NEXT:          .byte   1
433 ; ASM64-NEXT:          .byte   1
434 ; ASM64-NEXT:          .byte   0                               # Set address to L..func_end0
435 ; ASM64-NEXT:          .byte   9
436 ; ASM64-NEXT:          .byte   2
437 ; ASM64-NEXT:          .vbyte  8, L..func_end0
438 ; ASM64-NEXT:          .byte   0                               # End sequence
439 ; ASM64-NEXT:          .byte   1
440 ; ASM64-NEXT:          .byte   1
441 ; ASM64-NEXT:  L..debug_line_end0:
443 ; DWARF32:       :        file format aixcoff-rs6000
444 ; DWARF32:       .debug_abbrev contents:
445 ; DWARF32-NEXT:  Abbrev table for offset: 0x00000000
446 ; DWARF32-NEXT:  [1] DW_TAG_compile_unit DW_CHILDREN_yes
447 ; DWARF32-NEXT:          DW_AT_producer  DW_FORM_string
448 ; DWARF32-NEXT:          DW_AT_language  DW_FORM_data2
449 ; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
450 ; DWARF32-NEXT:          DW_AT_stmt_list DW_FORM_sec_offset
451 ; DWARF32-NEXT:          DW_AT_comp_dir  DW_FORM_string
452 ; DWARF32-NEXT:          DW_AT_low_pc    DW_FORM_addr
453 ; DWARF32-NEXT:          DW_AT_high_pc   DW_FORM_data4
454 ; DWARF32:       [2] DW_TAG_subprogram   DW_CHILDREN_no
455 ; DWARF32-NEXT:          DW_AT_low_pc    DW_FORM_addr
456 ; DWARF32-NEXT:          DW_AT_high_pc   DW_FORM_data4
457 ; DWARF32-NEXT:          DW_AT_frame_base        DW_FORM_exprloc
458 ; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
459 ; DWARF32-NEXT:          DW_AT_decl_file DW_FORM_data1
460 ; DWARF32-NEXT:          DW_AT_decl_line DW_FORM_data1
461 ; DWARF32-NEXT:          DW_AT_prototyped        DW_FORM_flag_present
462 ; DWARF32-NEXT:          DW_AT_type      DW_FORM_ref4
463 ; DWARF32-NEXT:          DW_AT_external  DW_FORM_flag_present
464 ; DWARF32:       [3] DW_TAG_base_type    DW_CHILDREN_no
465 ; DWARF32-NEXT:          DW_AT_name      DW_FORM_string
466 ; DWARF32-NEXT:          DW_AT_encoding  DW_FORM_data1
467 ; DWARF32-NEXT:          DW_AT_byte_size DW_FORM_data1
468 ; DWARF32:       .debug_info contents:
469 ; DWARF32-NEXT:  0x00000000: Compile Unit: length = 0x00000053, format = DWARF32, version = 0x0004, abbr_offset = 0x0000, addr_size = 0x04 (next unit at 0x00000057)
470 ; DWARF32:       0x0000000b: DW_TAG_compile_unit
471 ; DWARF32-NEXT:                DW_AT_producer    ("clang version 12.0.0")
472 ; DWARF32-NEXT:                DW_AT_language    (DW_LANG_C99)
473 ; DWARF32-NEXT:                DW_AT_name        ("1.c")
474 ; DWARF32-NEXT:                DW_AT_stmt_list   (0x00000000)
475 ; DWARF32-NEXT:                DW_AT_comp_dir    ("debug")
476 ; DWARF32-NEXT:                DW_AT_low_pc      (0x00000000)
477 ; DWARF32-NEXT:                DW_AT_high_pc     (0x00000026)
478 ; DWARF32:       0x00000039:   DW_TAG_subprogram
479 ; DWARF32-NEXT:                  DW_AT_low_pc    (0x00000000)
480 ; DWARF32-NEXT:                  DW_AT_high_pc   (0x00000026)
481 ; DWARF32-NEXT:                  DW_AT_frame_base        (DW_OP_reg1 R1)
482 ; DWARF32-NEXT:                  DW_AT_name      ("main")
483 ; DWARF32-NEXT:                  DW_AT_decl_file ("debug{{[/\\]}}1.c")
484 ; DWARF32-NEXT:                  DW_AT_decl_line (1)
485 ; DWARF32-NEXT:                  DW_AT_prototyped        (true)
486 ; DWARF32-NEXT:                  DW_AT_type      (0x0000004f "int")
487 ; DWARF32-NEXT:                  DW_AT_external  (true)
488 ; DWARF32:       0x0000004f:   DW_TAG_base_type
489 ; DWARF32-NEXT:                  DW_AT_name      ("int")
490 ; DWARF32-NEXT:                  DW_AT_encoding  (DW_ATE_signed)
491 ; DWARF32-NEXT:                  DW_AT_byte_size (0x04)
492 ; DWARF32:       0x00000056:   NULL
493 ; DWARF32:       .debug_line contents:
494 ; DWARF32-NEXT:  debug_line[0x00000000]
495 ; DWARF32-NEXT:  Line table prologue:
496 ; DWARF32-NEXT:      total_length: 0x00000032
497 ; DWARF32-NEXT:            format: DWARF32
498 ; DWARF32-NEXT:           version: 4
499 ; DWARF32-NEXT:   prologue_length: 0x0000001b
500 ; DWARF32-NEXT:   min_inst_length: 4
501 ; DWARF32-NEXT:  max_ops_per_inst: 1
502 ; DWARF32-NEXT:   default_is_stmt: 1
503 ; DWARF32-NEXT:         line_base: -5
504 ; DWARF32-NEXT:        line_range: 14
505 ; DWARF32-NEXT:       opcode_base: 13
506 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_copy] = 0
507 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_advance_pc] = 1
508 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_advance_line] = 1
509 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_file] = 1
510 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_column] = 1
511 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_negate_stmt] = 0
512 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_basic_block] = 0
513 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_const_add_pc] = 0
514 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_fixed_advance_pc] = 1
515 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_prologue_end] = 0
516 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_epilogue_begin] = 0
517 ; DWARF32-NEXT:  standard_opcode_lengths[DW_LNS_set_isa] = 1
518 ; DWARF32-NEXT:  file_names[  1]:
519 ; DWARF32-NEXT:             name: "1.c"
520 ; DWARF32-NEXT:        dir_index: 0
521 ; DWARF32-NEXT:         mod_time: 0x00000000
522 ; DWARF32-NEXT:           length: 0x00000000
523 ; DWARF32:       Address            Line   Column File   ISA Discriminator OpIndex Flags
524 ; DWARF32-NEXT:  ------------------ ------ ------ ------ --- ------------- ------- -------------
525 ; DWARF32-NEXT:  0x0000000000000000      2      0      1   0             0       0  is_stmt
526 ; DWARF32-NEXT:  0x0000000000000004      3      3      1   0             0       0  is_stmt prologue_end
527 ; DWARF32-NEXT:  0x0000000000000024      3      3      1   0             0       0  is_stmt end_sequence