xref: /llvm-project/llvm/test/DebugInfo/NVPTX/debug-addr-class.ll (revision 4583f6d3443c8dc6605c868724e3743161954210)
1; RUN: llc -mtriple=nvptx64-nvidia-cuda < %s | FileCheck %s
2; RUN: %if ptxas %{ llc -mtriple=nvptx64-nvidia-cuda < %s | %ptxas-verify %}
3
4@GLOBAL = addrspace(1) externally_initialized global i32 0, align 4, !dbg !0
5@SHARED = addrspace(3) externally_initialized global i32 undef, align 4, !dbg !6
6
7define ptx_kernel void @test(float, ptr, ptr, i32) !dbg !17 {
8  %5 = alloca float, align 4
9  %6 = alloca ptr, align 8
10  %7 = alloca ptr, align 8
11  %8 = alloca i32, align 4
12  store float %0, ptr %5, align 4
13  call void @llvm.dbg.declare(metadata ptr %5, metadata !22, metadata !DIExpression()), !dbg !23
14  store ptr %1, ptr %6, align 8
15  call void @llvm.dbg.declare(metadata ptr %6, metadata !24, metadata !DIExpression()), !dbg !25
16  store ptr %2, ptr %7, align 8
17  call void @llvm.dbg.declare(metadata ptr %7, metadata !26, metadata !DIExpression()), !dbg !27
18  store i32 %3, ptr %8, align 4
19  call void @llvm.dbg.declare(metadata ptr %8, metadata !28, metadata !DIExpression()), !dbg !29
20  %9 = load float, ptr %5, align 4, !dbg !30
21  %10 = load ptr, ptr %6, align 8, !dbg !31
22  %11 = load i32, ptr %8, align 4, !dbg !32
23  %12 = sext i32 %11 to i64, !dbg !31
24  %13 = getelementptr inbounds float, ptr %10, i64 %12, !dbg !31
25  %14 = load float, ptr %13, align 4, !dbg !31
26  %15 = fmul contract float %9, %14, !dbg !33
27  %16 = load ptr, ptr %7, align 8, !dbg !34
28  %17 = load i32, ptr %8, align 4, !dbg !35
29  %18 = sext i32 %17 to i64, !dbg !34
30  %19 = getelementptr inbounds float, ptr %16, i64 %18, !dbg !34
31  store float %15, ptr %19, align 4, !dbg !36
32  store i32 0, ptr addrspacecast (ptr addrspace(1) @GLOBAL to ptr), align 4, !dbg !37
33  store i32 0, ptr addrspacecast (ptr addrspace(3) @SHARED to ptr), align 4, !dbg !38
34  ret void, !dbg !39
35}
36
37; Function Attrs: nounwind readnone speculatable
38declare void @llvm.dbg.declare(metadata, metadata, metadata)
39
40!llvm.dbg.cu = !{!2}
41!llvm.module.flags = !{!11, !12, !13, !14, !15}
42!llvm.ident = !{!16}
43
44!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
45!1 = distinct !DIGlobalVariable(name: "GLOBAL", scope: !2, file: !8, line: 3, type: !9, isLocal: false, isDefinition: true)
46!2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !3, producer: "clang version 9.0.0 (trunk 351969) (llvm/trunk 351973)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !4, globals: !5, nameTableKind: None)
47!3 = !DIFile(filename: "new.cc", directory: "/tmp")
48!4 = !{}
49!5 = !{!0, !6}
50!6 = !DIGlobalVariableExpression(var: !7, expr: !DIExpression(DW_OP_constu, 8, DW_OP_swap, DW_OP_xderef))
51!7 = distinct !DIGlobalVariable(name: "SHARED", scope: !2, file: !8, line: 4, type: !9, isLocal: false, isDefinition: true)
52!8 = !DIFile(filename: "test.cu", directory: "/tmp")
53!9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
54!11 = !{i32 2, !"Dwarf Version", i32 2}
55!12 = !{i32 2, !"Debug Info Version", i32 3}
56!13 = !{i32 1, !"wchar_size", i32 4}
57!14 = !{i32 4, !"nvvm-reflect-ftz", i32 0}
58!15 = !{i32 7, !"PIC Level", i32 2}
59!16 = !{!"clang version 9.0.0 (trunk 351969) (llvm/trunk 351973)"}
60!17 = distinct !DISubprogram(name: "test", linkageName: "test", scope: !8, file: !8, line: 6, type: !18, scopeLine: 6, flags: DIFlagPrototyped, spFlags: DISPFlagDefinition, unit: !2, retainedNodes: !40)
61!18 = !DISubroutineType(types: !19)
62!19 = !{null, !20, !21, !21, !9}
63!20 = !DIBasicType(name: "float", size: 32, encoding: DW_ATE_float)
64!21 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !20, size: 64)
65!22 = !DILocalVariable(name: "a", arg: 1, scope: !17, file: !8, line: 6, type: !20)
66!23 = !DILocation(line: 6, column: 41, scope: !17)
67!24 = !DILocalVariable(name: "x", arg: 2, scope: !17, file: !8, line: 6, type: !21)
68!25 = !DILocation(line: 6, column: 51, scope: !17)
69!26 = !DILocalVariable(name: "y", arg: 3, scope: !17, file: !8, line: 6, type: !21)
70!27 = !DILocation(line: 6, column: 61, scope: !17)
71!28 = !DILocalVariable(name: "i", arg: 4, scope: !17, file: !8, line: 6, type: !9)
72!29 = !DILocation(line: 6, column: 68, scope: !17)
73!30 = !DILocation(line: 7, column: 10, scope: !17)
74!31 = !DILocation(line: 7, column: 14, scope: !17)
75!32 = !DILocation(line: 7, column: 16, scope: !17)
76!33 = !DILocation(line: 7, column: 12, scope: !17)
77!34 = !DILocation(line: 7, column: 3, scope: !17)
78!35 = !DILocation(line: 7, column: 5, scope: !17)
79!36 = !DILocation(line: 7, column: 8, scope: !17)
80!37 = !DILocation(line: 8, column: 10, scope: !17)
81!38 = !DILocation(line: 9, column: 10, scope: !17)
82!39 = !DILocation(line: 10, column: 1, scope: !17)
83!40 = !{!22, !24, !26, !28}
84
85; CHECK: 	.section	.debug_abbrev
86; CHECK-NEXT: 	{
87; CHECK-NEXT: .b8 1                                   // Abbreviation Code
88; CHECK-NEXT: .b8 17                                  // DW_TAG_compile_unit
89; CHECK-NEXT: .b8 1                                   // DW_CHILDREN_yes
90; CHECK-NEXT: .b8 37                                  // DW_AT_producer
91; CHECK-NEXT: .b8 8                                   // DW_FORM_string
92; CHECK-NEXT: .b8 19                                  // DW_AT_language
93; CHECK-NEXT: .b8 5                                   // DW_FORM_data2
94; CHECK-NEXT: .b8 3                                   // DW_AT_name
95; CHECK-NEXT: .b8 8                                   // DW_FORM_string
96; CHECK-NEXT: .b8 16                                  // DW_AT_stmt_list
97; CHECK-NEXT: .b8 6                                   // DW_FORM_data4
98; CHECK-NEXT: .b8 27                                  // DW_AT_comp_dir
99; CHECK-NEXT: .b8 8                                   // DW_FORM_string
100; CHECK-NEXT: .b8 0                                   // EOM(1)
101; CHECK-NEXT: .b8 0                                   // EOM(2)
102; CHECK-NEXT: .b8 2                                   // Abbreviation Code
103; CHECK-NEXT: .b8 52                                  // DW_TAG_variable
104; CHECK-NEXT: .b8 0                                   // DW_CHILDREN_no
105; CHECK-NEXT: .b8 3                                   // DW_AT_name
106; CHECK-NEXT: .b8 8                                   // DW_FORM_string
107; CHECK-NEXT: .b8 73                                  // DW_AT_type
108; CHECK-NEXT: .b8 19                                  // DW_FORM_ref4
109; CHECK-NEXT: .b8 63                                  // DW_AT_external
110; CHECK-NEXT: .b8 12                                  // DW_FORM_flag
111; CHECK-NEXT: .b8 58                                  // DW_AT_decl_file
112; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
113; CHECK-NEXT: .b8 59                                  // DW_AT_decl_line
114; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
115; CHECK-NEXT: .b8 51                                  // DW_AT_address_class
116; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
117; CHECK-NEXT: .b8 2                                   // DW_AT_location
118; CHECK-NEXT: .b8 10                                  // DW_FORM_block1
119; CHECK-NEXT: .b8 0                                   // EOM(1)
120; CHECK-NEXT: .b8 0                                   // EOM(2)
121; CHECK-NEXT: .b8 3                                   // Abbreviation Code
122; CHECK-NEXT: .b8 36                                  // DW_TAG_base_type
123; CHECK-NEXT: .b8 0                                   // DW_CHILDREN_no
124; CHECK-NEXT: .b8 3                                   // DW_AT_name
125; CHECK-NEXT: .b8 8                                   // DW_FORM_string
126; CHECK-NEXT: .b8 62                                  // DW_AT_encoding
127; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
128; CHECK-NEXT: .b8 11                                  // DW_AT_byte_size
129; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
130; CHECK-NEXT: .b8 0                                   // EOM(1)
131; CHECK-NEXT: .b8 0                                   // EOM(2)
132; CHECK-NEXT: .b8 4                                   // Abbreviation Code
133; CHECK-NEXT: .b8 46                                  // DW_TAG_subprogram
134; CHECK-NEXT: .b8 1                                   // DW_CHILDREN_yes
135; CHECK-NEXT: .b8 17                                  // DW_AT_low_pc
136; CHECK-NEXT: .b8 1                                   // DW_FORM_addr
137; CHECK-NEXT: .b8 18                                  // DW_AT_high_pc
138; CHECK-NEXT: .b8 1                                   // DW_FORM_addr
139; CHECK-NEXT: .b8 64                                  // DW_AT_frame_base
140; CHECK-NEXT: .b8 10                                  // DW_FORM_block1
141; CHECK-NEXT: .b8 135                                 // DW_AT_MIPS_linkage_name
142; CHECK-NEXT: .b8 64
143; CHECK-NEXT: .b8 8                                   // DW_FORM_string
144; CHECK-NEXT: .b8 3                                   // DW_AT_name
145; CHECK-NEXT: .b8 8                                   // DW_FORM_string
146; CHECK-NEXT: .b8 58                                  // DW_AT_decl_file
147; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
148; CHECK-NEXT: .b8 59                                  // DW_AT_decl_line
149; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
150; CHECK-NEXT: .b8 63                                  // DW_AT_external
151; CHECK-NEXT: .b8 12                                  // DW_FORM_flag
152; CHECK-NEXT: .b8 0                                   // EOM(1)
153; CHECK-NEXT: .b8 0                                   // EOM(2)
154; CHECK-NEXT: .b8 5                                   // Abbreviation Code
155; CHECK-NEXT: .b8 5                                   // DW_TAG_formal_parameter
156; CHECK-NEXT: .b8 0                                   // DW_CHILDREN_no
157; CHECK-NEXT: .b8 51                                  // DW_AT_address_class
158; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
159; CHECK-NEXT: .b8 2                                   // DW_AT_location
160; CHECK-NEXT: .b8 10                                  // DW_FORM_block1
161; CHECK-NEXT: .b8 3                                   // DW_AT_name
162; CHECK-NEXT: .b8 8                                   // DW_FORM_string
163; CHECK-NEXT: .b8 58                                  // DW_AT_decl_file
164; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
165; CHECK-NEXT: .b8 59                                  // DW_AT_decl_line
166; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
167; CHECK-NEXT: .b8 73                                  // DW_AT_type
168; CHECK-NEXT: .b8 19                                  // DW_FORM_ref4
169; CHECK-NEXT: .b8 0                                   // EOM(1)
170; CHECK-NEXT: .b8 0                                   // EOM(2)
171; CHECK-NEXT: .b8 6                                   // Abbreviation Code
172; CHECK-NEXT: .b8 5                                   // DW_TAG_formal_parameter
173; CHECK-NEXT: .b8 0                                   // DW_CHILDREN_no
174; CHECK-NEXT: .b8 3                                   // DW_AT_name
175; CHECK-NEXT: .b8 8                                   // DW_FORM_string
176; CHECK-NEXT: .b8 58                                  // DW_AT_decl_file
177; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
178; CHECK-NEXT: .b8 59                                  // DW_AT_decl_line
179; CHECK-NEXT: .b8 11                                  // DW_FORM_data1
180; CHECK-NEXT: .b8 73                                  // DW_AT_type
181; CHECK-NEXT: .b8 19                                  // DW_FORM_ref4
182; CHECK-NEXT: .b8 0                                   // EOM(1)
183; CHECK-NEXT: .b8 0                                   // EOM(2)
184; CHECK-NEXT: .b8 7                                   // Abbreviation Code
185; CHECK-NEXT: .b8 15                                  // DW_TAG_pointer_type
186; CHECK-NEXT: .b8 0                                   // DW_CHILDREN_no
187; CHECK-NEXT: .b8 73                                  // DW_AT_type
188; CHECK-NEXT: .b8 19                                  // DW_FORM_ref4
189; CHECK-NEXT: .b8 0                                   // EOM(1)
190; CHECK-NEXT: .b8 0                                   // EOM(2)
191; CHECK-NEXT: .b8 0                                   // EOM(3)
192; CHECK-NEXT: 	}
193; CHECK-NEXT: 	.section	.debug_info
194; CHECK-NEXT: 	{
195; CHECK-NEXT: .b32 238                                // Length of Unit
196; CHECK-NEXT: .b8 2                                   // DWARF version number
197; CHECK-NEXT: .b8 0
198; CHECK-NEXT: .b32 .debug_abbrev                      // Offset Into Abbrev. Section
199; CHECK-NEXT: .b8 8                                   // Address Size (in bytes)
200; CHECK-NEXT: .b8 1                                   // Abbrev [1] 0xb:0xe7 DW_TAG_compile_unit
201; CHECK-NEXT: .b8 99                                  // DW_AT_producer
202; CHECK-NEXT: .b8 108
203; CHECK-NEXT: .b8 97
204; CHECK-NEXT: .b8 110
205; CHECK-NEXT: .b8 103
206; CHECK-NEXT: .b8 32
207; CHECK-NEXT: .b8 118
208; CHECK-NEXT: .b8 101
209; CHECK-NEXT: .b8 114
210; CHECK-NEXT: .b8 115
211; CHECK-NEXT: .b8 105
212; CHECK-NEXT: .b8 111
213; CHECK-NEXT: .b8 110
214; CHECK-NEXT: .b8 32
215; CHECK-NEXT: .b8 57
216; CHECK-NEXT: .b8 46
217; CHECK-NEXT: .b8 48
218; CHECK-NEXT: .b8 46
219; CHECK-NEXT: .b8 48
220; CHECK-NEXT: .b8 32
221; CHECK-NEXT: .b8 40
222; CHECK-NEXT: .b8 116
223; CHECK-NEXT: .b8 114
224; CHECK-NEXT: .b8 117
225; CHECK-NEXT: .b8 110
226; CHECK-NEXT: .b8 107
227; CHECK-NEXT: .b8 32
228; CHECK-NEXT: .b8 51
229; CHECK-NEXT: .b8 53
230; CHECK-NEXT: .b8 49
231; CHECK-NEXT: .b8 57
232; CHECK-NEXT: .b8 54
233; CHECK-NEXT: .b8 57
234; CHECK-NEXT: .b8 41
235; CHECK-NEXT: .b8 32
236; CHECK-NEXT: .b8 40
237; CHECK-NEXT: .b8 108
238; CHECK-NEXT: .b8 108
239; CHECK-NEXT: .b8 118
240; CHECK-NEXT: .b8 109
241; CHECK-NEXT: .b8 47
242; CHECK-NEXT: .b8 116
243; CHECK-NEXT: .b8 114
244; CHECK-NEXT: .b8 117
245; CHECK-NEXT: .b8 110
246; CHECK-NEXT: .b8 107
247; CHECK-NEXT: .b8 32
248; CHECK-NEXT: .b8 51
249; CHECK-NEXT: .b8 53
250; CHECK-NEXT: .b8 49
251; CHECK-NEXT: .b8 57
252; CHECK-NEXT: .b8 55
253; CHECK-NEXT: .b8 51
254; CHECK-NEXT: .b8 41
255; CHECK-NEXT: .b8 0
256; CHECK-NEXT: .b8 4                                   // DW_AT_language
257; CHECK-NEXT: .b8 0
258; CHECK-NEXT: .b8 110                                 // DW_AT_name
259; CHECK-NEXT: .b8 101
260; CHECK-NEXT: .b8 119
261; CHECK-NEXT: .b8 46
262; CHECK-NEXT: .b8 99
263; CHECK-NEXT: .b8 99
264; CHECK-NEXT: .b8 0
265; CHECK-NEXT: .b32 .debug_line                        // DW_AT_stmt_list
266; CHECK-NEXT: .b8 47                                  // DW_AT_comp_dir
267; CHECK-NEXT: .b8 116
268; CHECK-NEXT: .b8 109
269; CHECK-NEXT: .b8 112
270; CHECK-NEXT: .b8 0
271; CHECK-NEXT: .b8 2                                   // Abbrev [2] 0x55:0x1a DW_TAG_variable
272; CHECK-NEXT: .b8 71                                  // DW_AT_name
273; CHECK-NEXT: .b8 76
274; CHECK-NEXT: .b8 79
275; CHECK-NEXT: .b8 66
276; CHECK-NEXT: .b8 65
277; CHECK-NEXT: .b8 76
278; CHECK-NEXT: .b8 0
279; CHECK-NEXT: .b32 111                                // DW_AT_type
280; CHECK-NEXT: .b8 1                                   // DW_AT_external
281; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
282; CHECK-NEXT: .b8 3                                   // DW_AT_decl_line
283; CHECK-NEXT: .b8 5                                   // DW_AT_address_class
284; CHECK-NEXT: .b8 9                                   // DW_AT_location
285; CHECK-NEXT: .b8 3
286; CHECK-NEXT: .b64 GLOBAL
287; CHECK-NEXT: .b8 3                                   // Abbrev [3] 0x6f:0x7 DW_TAG_base_type
288; CHECK-NEXT: .b8 105                                 // DW_AT_name
289; CHECK-NEXT: .b8 110
290; CHECK-NEXT: .b8 116
291; CHECK-NEXT: .b8 0
292; CHECK-NEXT: .b8 5                                   // DW_AT_encoding
293; CHECK-NEXT: .b8 4                                   // DW_AT_byte_size
294; CHECK-NEXT: .b8 2                                   // Abbrev [2] 0x76:0x1a DW_TAG_variable
295; CHECK-NEXT: .b8 83                                  // DW_AT_name
296; CHECK-NEXT: .b8 72
297; CHECK-NEXT: .b8 65
298; CHECK-NEXT: .b8 82
299; CHECK-NEXT: .b8 69
300; CHECK-NEXT: .b8 68
301; CHECK-NEXT: .b8 0
302; CHECK-NEXT: .b32 111                                // DW_AT_type
303; CHECK-NEXT: .b8 1                                   // DW_AT_external
304; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
305; CHECK-NEXT: .b8 4                                   // DW_AT_decl_line
306; CHECK-NEXT: .b8 8                                   // DW_AT_address_class
307; CHECK-NEXT: .b8 9                                   // DW_AT_location
308; CHECK-NEXT: .b8 3
309; CHECK-NEXT: .b64 SHARED
310; CHECK-NEXT: .b8 4                                   // Abbrev [4] 0x90:0x53 DW_TAG_subprogram
311; CHECK-NEXT: .b64 $L__func_begin0                    // DW_AT_low_pc
312; CHECK-NEXT: .b64 $L__func_end0                      // DW_AT_high_pc
313; CHECK-NEXT: .b8 1                                   // DW_AT_frame_base
314; CHECK-NEXT: .b8 156
315; CHECK-NEXT: .b8 116                                 // DW_AT_MIPS_linkage_name
316; CHECK-NEXT: .b8 101
317; CHECK-NEXT: .b8 115
318; CHECK-NEXT: .b8 116
319; CHECK-NEXT: .b8 0
320; CHECK-NEXT: .b8 116                                 // DW_AT_name
321; CHECK-NEXT: .b8 101
322; CHECK-NEXT: .b8 115
323; CHECK-NEXT: .b8 116
324; CHECK-NEXT: .b8 0
325; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
326; CHECK-NEXT: .b8 6                                   // DW_AT_decl_line
327; CHECK-NEXT: .b8 1                                   // DW_AT_external
328; CHECK-NEXT: .b8 5                                   // Abbrev [5] 0xb0:0x10 DW_TAG_formal_parameter
329; CHECK-NEXT: .b8 2                                   // DW_AT_address_class
330; CHECK-NEXT: .b8 5                                   // DW_AT_location
331; CHECK-NEXT: .b8 144
332; CHECK-NEXT: .b8 177
333; CHECK-NEXT: .b8 204
334; CHECK-NEXT: .b8 149
335; CHECK-NEXT: .b8 1
336; CHECK-NEXT: .b8 97                                  // DW_AT_name
337; CHECK-NEXT: .b8 0
338; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
339; CHECK-NEXT: .b8 6                                   // DW_AT_decl_line
340; CHECK-NEXT: .b32 227                                // DW_AT_type
341; CHECK-NEXT: .b8 6                                   // Abbrev [6] 0xc0:0x9 DW_TAG_formal_parameter
342; CHECK-NEXT: .b8 120                                 // DW_AT_name
343; CHECK-NEXT: .b8 0
344; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
345; CHECK-NEXT: .b8 6                                   // DW_AT_decl_line
346; CHECK-NEXT: .b32 236                                // DW_AT_type
347; CHECK-NEXT: .b8 6                                   // Abbrev [6] 0xc9:0x9 DW_TAG_formal_parameter
348; CHECK-NEXT: .b8 121                                 // DW_AT_name
349; CHECK-NEXT: .b8 0
350; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
351; CHECK-NEXT: .b8 6                                   // DW_AT_decl_line
352; CHECK-NEXT: .b32 236                                // DW_AT_type
353; CHECK-NEXT: .b8 5                                   // Abbrev [5] 0xd2:0x10 DW_TAG_formal_parameter
354; CHECK-NEXT: .b8 2                                   // DW_AT_address_class
355; CHECK-NEXT: .b8 5                                   // DW_AT_location
356; CHECK-NEXT: .b8 144
357; CHECK-NEXT: .b8 177
358; CHECK-NEXT: .b8 228
359; CHECK-NEXT: .b8 149
360; CHECK-NEXT: .b8 1
361; CHECK-NEXT: .b8 105                                 // DW_AT_name
362; CHECK-NEXT: .b8 0
363; CHECK-NEXT: .b8 1                                   // DW_AT_decl_file
364; CHECK-NEXT: .b8 6                                   // DW_AT_decl_line
365; CHECK-NEXT: .b32 111                                // DW_AT_type
366; CHECK-NEXT: .b8 0                                   // End Of Children Mark
367; CHECK-NEXT: .b8 3                                   // Abbrev [3] 0xe3:0x9 DW_TAG_base_type
368; CHECK-NEXT: .b8 102                                 // DW_AT_name
369; CHECK-NEXT: .b8 108
370; CHECK-NEXT: .b8 111
371; CHECK-NEXT: .b8 97
372; CHECK-NEXT: .b8 116
373; CHECK-NEXT: .b8 0
374; CHECK-NEXT: .b8 4                                   // DW_AT_encoding
375; CHECK-NEXT: .b8 4                                   // DW_AT_byte_size
376; CHECK-NEXT: .b8 7                                   // Abbrev [7] 0xec:0x5 DW_TAG_pointer_type
377; CHECK-NEXT: .b32 227                                // DW_AT_type
378; CHECK-NEXT: .b8 0                                   // End Of Children Mark
379; CHECK-NEXT: 	}
380; CHECK-NEXT: 	.section	.debug_macinfo	{	}
381; CHECK-NOT: debug_
382