134
|
1 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
|
|
2 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s
|
|
3
|
|
4 ; CHECK: ---
|
|
5 ; CHECK: Version: [ 1, 0 ]
|
|
6 ; CHECK-NOT: Printf:
|
|
7 ; CHECK: Kernels:
|
|
8
|
|
9 ; CHECK: - Name: test_non_enqueue_kernel_caller
|
|
10 ; CHECK-NEXT: SymbolName: 'test_non_enqueue_kernel_caller@kd'
|
|
11 ; CHECK-NEXT: Language: OpenCL C
|
|
12 ; CHECK-NEXT: LanguageVersion: [ 2, 0 ]
|
|
13 ; CHECK-NEXT: Args:
|
|
14 ; CHECK-NEXT: - Name: a
|
|
15 ; CHECK-NEXT: TypeName: char
|
|
16 ; CHECK-NEXT: Size: 1
|
|
17 ; CHECK-NEXT: Align: 1
|
|
18 ; CHECK-NEXT: ValueKind: ByValue
|
|
19 ; CHECK-NEXT: ValueType: I8
|
|
20 ; CHECK-NEXT: AccQual: Default
|
|
21 ; CHECK-NEXT: - Size: 8
|
|
22 ; CHECK-NEXT: Align: 8
|
|
23 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX
|
|
24 ; CHECK-NEXT: ValueType: I64
|
|
25 ; CHECK-NEXT: - Size: 8
|
|
26 ; CHECK-NEXT: Align: 8
|
|
27 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY
|
|
28 ; CHECK-NEXT: ValueType: I64
|
|
29 ; CHECK-NEXT: - Size: 8
|
|
30 ; CHECK-NEXT: Align: 8
|
|
31 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ
|
|
32 ; CHECK-NEXT: ValueType: I64
|
|
33 ; CHECK-NOT: ValueKind: HiddenNone
|
|
34 ; CHECK-NOT: ValueKind: HiddenDefaultQueue
|
|
35 ; CHECK-NOT: ValueKind: HiddenCompletionAction
|
|
36 define amdgpu_kernel void @test_non_enqueue_kernel_caller(i8 %a)
|
|
37 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
|
|
38 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 {
|
|
39 ret void
|
|
40 }
|
|
41
|
|
42 ; CHECK: - Name: test_enqueue_kernel_caller
|
|
43 ; CHECK-NEXT: SymbolName: 'test_enqueue_kernel_caller@kd'
|
|
44 ; CHECK-NEXT: Language: OpenCL C
|
|
45 ; CHECK-NEXT: LanguageVersion: [ 2, 0 ]
|
|
46 ; CHECK-NEXT: Args:
|
|
47 ; CHECK-NEXT: - Name: a
|
|
48 ; CHECK-NEXT: TypeName: char
|
|
49 ; CHECK-NEXT: Size: 1
|
|
50 ; CHECK-NEXT: Align: 1
|
|
51 ; CHECK-NEXT: ValueKind: ByValue
|
|
52 ; CHECK-NEXT: ValueType: I8
|
|
53 ; CHECK-NEXT: AccQual: Default
|
|
54 ; CHECK-NEXT: - Size: 8
|
|
55 ; CHECK-NEXT: Align: 8
|
|
56 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetX
|
|
57 ; CHECK-NEXT: ValueType: I64
|
|
58 ; CHECK-NEXT: - Size: 8
|
|
59 ; CHECK-NEXT: Align: 8
|
|
60 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetY
|
|
61 ; CHECK-NEXT: ValueType: I64
|
|
62 ; CHECK-NEXT: - Size: 8
|
|
63 ; CHECK-NEXT: Align: 8
|
|
64 ; CHECK-NEXT: ValueKind: HiddenGlobalOffsetZ
|
|
65 ; CHECK-NEXT: ValueType: I64
|
|
66 ; CHECK-NEXT: - Size: 8
|
|
67 ; CHECK-NEXT: Align: 8
|
|
68 ; CHECK-NEXT: ValueKind: HiddenNone
|
|
69 ; CHECK-NEXT: ValueType: I8
|
|
70 ; CHECK-NEXT: AddrSpaceQual: Global
|
|
71 ; CHECK-NEXT: - Size: 8
|
|
72 ; CHECK-NEXT: Align: 8
|
|
73 ; CHECK-NEXT: ValueKind: HiddenDefaultQueue
|
|
74 ; CHECK-NEXT: ValueType: I8
|
|
75 ; CHECK-NEXT: AddrSpaceQual: Global
|
|
76 ; CHECK-NEXT: - Size: 8
|
|
77 ; CHECK-NEXT: Align: 8
|
|
78 ; CHECK-NEXT: ValueKind: HiddenCompletionAction
|
|
79 ; CHECK-NEXT: ValueType: I8
|
|
80 ; CHECK-NEXT: AddrSpaceQual: Global
|
|
81 define amdgpu_kernel void @test_enqueue_kernel_caller(i8 %a) #0
|
|
82 !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
|
|
83 !kernel_arg_base_type !3 !kernel_arg_type_qual !4 {
|
|
84 ret void
|
|
85 }
|
|
86
|
|
87 attributes #0 = { "calls-enqueue-kernel" }
|
|
88
|
|
89 !1 = !{i32 0}
|
|
90 !2 = !{!"none"}
|
|
91 !3 = !{!"char"}
|
|
92 !4 = !{!""}
|
|
93
|
|
94 !opencl.ocl.version = !{!90}
|
|
95 !90 = !{i32 2, i32 0}
|
|
96
|
|
97
|
|
98 ; PARSER: AMDGPU HSA Metadata Parser Test: PASS
|