2
2
;
3
3
; Global scope
4
4
; RUN: sycl-post-link -properties -symbols -emit-kernel-names -S < %s -o %t.global.files.table
5
- ; RUN: FileCheck %s -input-file=%t.global.files_0.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-GLOBAL-PROP
5
+ ; RUN: FileCheck %s -input-file=%t.global.files_0.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" -- check-prefix=CHECK-GLOBAL-PROP
6
6
;
7
7
; Per-module split
8
8
; RUN: sycl-post-link -properties -symbols -split=source -emit-kernel-names -S < %s -o %t.per_module.files.table
12
12
;
13
13
; Per-kernel split
14
14
; RUN: sycl-post-link -properties -symbols -split=kernel -emit-kernel-names -S < %s -o %t.per_kernel.files.table
15
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_0.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-PERKERNEL-0-PROP
16
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_1.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-PERKERNEL-1-PROP
17
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_2.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-PERKERNEL-2-PROP
18
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_3.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-KERNELLESS-PROP
19
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_4.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-KERNELLESS-PROP
20
- ; RUN: FileCheck %s -input-file=%t.per_kernel.files_5.prop --implicit-check-not="SpirFunc" --check-prefix=CHECK-KERNELLESS-PROP
15
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_0.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-0-PROP
16
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_1.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-1-PROP
17
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_2.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-2-PROP
18
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_3.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
19
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_4.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
20
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_5.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
21
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_6.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-6-PROP
22
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_7.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-7-PROP
23
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_8.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-8-PROP
24
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_9.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
25
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_10.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
26
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_11.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
27
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_12.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-12-PROP
28
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_13.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-13-PROP
29
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_14.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-PERKERNEL-14-PROP
30
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_15.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
31
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_16.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
32
+ ; RUN: FileCheck %s -input-file=%t.per_kernel.files_17.prop --implicit-check-not="SpirFunc" --implicit-check-not="PtxFunc" --implicit-check-not="AmdgpuFunc" --check-prefix=CHECK-KERNELLESS-PROP
21
33
22
34
target triple = "spir64-unknown-unknown"
23
35
@@ -26,75 +38,253 @@ entry:
26
38
ret void
27
39
}
28
40
41
+ define dso_local ptx_kernel void @PtxKernel1 (float %arg1 ) #2 {
42
+ entry:
43
+ ret void
44
+ }
45
+
46
+ define dso_local amdgpu_kernel void @AmdgpuKernel1 (float %arg1 ) #2 {
47
+ entry:
48
+ ret void
49
+ }
50
+
29
51
define dso_local spir_kernel void @SpirKernel2 (float %arg1 ) #1 {
30
52
entry:
31
53
ret void
32
54
}
33
55
56
+ define dso_local ptx_kernel void @PtxKernel2 (float %arg1 ) #1 {
57
+ entry:
58
+ ret void
59
+ }
60
+
61
+ define dso_local amdgpu_kernel void @AmdgpuKernel2 (float %arg1 ) #1 {
62
+ entry:
63
+ ret void
64
+ }
65
+
34
66
define dso_local spir_kernel void @SpirKernel3 (float %arg1 ) #2 {
35
67
entry:
36
68
ret void
37
69
}
38
70
71
+ define dso_local ptx_kernel void @PtxKernel3 (float %arg1 ) #2 {
72
+ entry:
73
+ ret void
74
+ }
75
+
76
+ define dso_local amdgpu_kernel void @AmdgpuKernel3 (float %arg1 ) #2 {
77
+ entry:
78
+ ret void
79
+ }
80
+
39
81
define dso_local spir_func void @SpirFunc1 (float %arg1 ) #0 {
40
82
entry:
41
83
ret void
42
84
}
43
85
86
+ define dso_local ptx_device void @PtxFunc1 (float %arg1 ) #0 {
87
+ entry:
88
+ ret void
89
+ }
90
+
91
+ define dso_local amdgpu_cs void @AmdgpuFunc1 (float %arg1 ) #0 {
92
+ entry:
93
+ ret void
94
+ }
95
+
44
96
define dso_local spir_func void @SpirFunc2 (i32 %arg1 , i32 %arg2 ) #1 {
45
97
entry:
46
98
ret void
47
99
}
48
100
101
+ define dso_local ptx_device void @PtxFunc2 (i32 %arg1 , i32 %arg2 ) #1 {
102
+ entry:
103
+ ret void
104
+ }
105
+
106
+ define dso_local amdgpu_cs void @AmdgpuFunc2 (i32 %arg1 , i32 %arg2 ) #1 {
107
+ entry:
108
+ ret void
109
+ }
110
+
49
111
define dso_local spir_func void @SpirFunc3 (float %arg1 ) #0 {
50
112
entry:
51
113
ret void
52
114
}
53
115
116
+ define dso_local ptx_device void @PtxFunc3 (float %arg1 ) #0 {
117
+ entry:
118
+ ret void
119
+ }
120
+
121
+ define dso_local amdgpu_cs void @AmdgpuFunc3 (float %arg1 ) #0 {
122
+ entry:
123
+ ret void
124
+ }
125
+
54
126
define dso_local spir_func void @SpirFunc4 (float %arg1 ) {
55
127
entry:
56
128
ret void
57
129
}
58
130
131
+ define dso_local ptx_device void @PtxFunc4 (float %arg1 ) {
132
+ entry:
133
+ ret void
134
+ }
135
+
136
+ define dso_local amdgpu_cs void @AmdgpuFunc4 (float %arg1 ) {
137
+ entry:
138
+ ret void
139
+ }
140
+
59
141
attributes #0 = { "sycl-module-id" ="a.cpp" }
60
142
attributes #1 = { "sycl-module-id" ="b.cpp" }
61
143
attributes #2 = { "sycl-module-id" ="c.cpp" }
62
144
63
145
; Global scope
64
146
; CHECK-GLOBAL-PROP: [SYCL/kernel names]
65
147
; CHECK-GLOBAL-PROP-NEXT: SpirKernel1
148
+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel1
149
+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel1
66
150
; CHECK-GLOBAL-PROP-NEXT: SpirKernel2
151
+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel2
152
+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel2
67
153
; CHECK-GLOBAL-PROP-NEXT: SpirKernel3
154
+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel3
155
+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel3
68
156
69
157
; Per-module split
70
158
; CHECK-PERMODULE-0-PROP: [SYCL/kernel names]
71
159
; CHECK-PERMODULE-0-PROP-NEXT: SpirKernel1
160
+ ; CHECK-PERMODULE-0-PROP-NEXT: PtxKernel1
161
+ ; CHECK-PERMODULE-0-PROP-NEXT: AmdgpuKernel1
72
162
; CHECK-PERMODULE-0-PROP-NEXT: SpirKernel3
163
+ ; CHECK-PERMODULE-0-PROP-NEXT: PtxKernel3
164
+ ; CHECK-PERMODULE-0-PROP-NEXT: AmdgpuKernel3
73
165
; CHECK-PERMODULE-0-PROP-NOT: SpirKernel2
166
+ ; CHECK-PERMODULE-0-PROP-NOT: PtxKernel2
167
+ ; CHECK-PERMODULE-0-PROP-NOT: AmdgpuKernel2
74
168
75
169
; CHECK-PERMODULE-1-PROP: [SYCL/kernel names]
76
170
; CHECK-PERMODULE-1-PROP-NEXT: SpirKernel2
171
+ ; CHECK-PERMODULE-1-PROP-NEXT: PtxKernel2
172
+ ; CHECK-PERMODULE-1-PROP-NEXT: AmdgpuKernel2
77
173
; CHECK-PERMODULE-1-PROP-NOT: SpirKernel1
174
+ ; CHECK-PERMODULE-1-PROP-NOT: PtxKernel1
175
+ ; CHECK-PERMODULE-1-PROP-NOT: AmdgpuKernel1
78
176
; CHECK-PERMODULE-1-PROP-NOT: SpirKernel3
177
+ ; CHECK-PERMODULE-1-PROP-NOT: PtxKernel3
178
+ ; CHECK-PERMODULE-1-PROP-NOT: AmdgpuKernel3
79
179
80
180
; Per-kernel split
81
181
; CHECK-PERKERNEL-0-PROP: [SYCL/kernel names]
82
182
; CHECK-PERKERNEL-0-PROP-NEXT: SpirKernel3
83
- ; CHECK-PERKERNEL-0-PROP-NOT: SpirKernel1
84
183
; CHECK-PERKERNEL-0-PROP-NOT: SpirKernel2
184
+ ; CHECK-PERKERNEL-0-PROP-NOT: SpirKernel1
185
+ ; CHECK-PERKERNEL-0-PROP-NOT: PtxKernel3
186
+ ; CHECK-PERKERNEL-0-PROP-NOT: PtxKernel2
187
+ ; CHECK-PERKERNEL-0-PROP-NOT: PtxKernel1
188
+ ; CHECK-PERKERNEL-0-PROP-NOT: AmdgpuKernel3
189
+ ; CHECK-PERKERNEL-0-PROP-NOT: AmdgpuKernel2
190
+ ; CHECK-PERKERNEL-0-PROP-NOT: AmdgpuKernel1
85
191
86
192
; CHECK-PERKERNEL-1-PROP: [SYCL/kernel names]
193
+ ; CHECK-PERKERNEL-1-PROP-NOT: SpirKernel3
87
194
; CHECK-PERKERNEL-1-PROP-NEXT: SpirKernel2
88
195
; CHECK-PERKERNEL-1-PROP-NOT: SpirKernel1
89
- ; CHECK-PERKERNEL-1-PROP-NOT: SpirKernel3
196
+ ; CHECK-PERKERNEL-1-PROP-NOT: PtxKernel3
197
+ ; CHECK-PERKERNEL-1-PROP-NOT: PtxKernel2
198
+ ; CHECK-PERKERNEL-1-PROP-NOT: PtxKernel1
199
+ ; CHECK-PERKERNEL-1-PROP-NOT: AmdgpuKernel3
200
+ ; CHECK-PERKERNEL-1-PROP-NOT: AmdgpuKernel2
201
+ ; CHECK-PERKERNEL-1-PROP-NOT: AmdgpuKernel1
90
202
91
203
; CHECK-PERKERNEL-2-PROP: [SYCL/kernel names]
92
- ; CHECK-PERKERNEL-2-PROP-NEXT: SpirKernel1
93
- ; CHECK-PERKERNEL-2-PROP-NOT: SpirKernel2
94
204
; CHECK-PERKERNEL-2-PROP-NOT: SpirKernel3
205
+ ; CHECK-PERKERNEL-2-PROP-NOT: SpirKernel2
206
+ ; CHECK-PERKERNEL-2-PROP-NEXT: SpirKernel1
207
+ ; CHECK-PERKERNEL-2-PROP-NOT: PtxKernel3
208
+ ; CHECK-PERKERNEL-2-PROP-NOT: PtxKernel2
209
+ ; CHECK-PERKERNEL-2-PROP-NOT: PtxKernel1
210
+ ; CHECK-PERKERNEL-2-PROP-NOT: AmdgpuKernel3
211
+ ; CHECK-PERKERNEL-2-PROP-NOT: AmdgpuKernel2
212
+ ; CHECK-PERKERNEL-2-PROP-NOT: AmdgpuKernel1
213
+
214
+ ; CHECK-PERKERNEL-6-PROP: [SYCL/kernel names]
215
+ ; CHECK-PERKERNEL-6-PROP-NOT: SpirKernel3
216
+ ; CHECK-PERKERNEL-6-PROP-NOT: SpirKernel2
217
+ ; CHECK-PERKERNEL-6-PROP-NOT: SpirKernel1
218
+ ; CHECK-PERKERNEL-6-PROP-NEXT: PtxKernel3
219
+ ; CHECK-PERKERNEL-6-PROP-NOT: PtxKernel2
220
+ ; CHECK-PERKERNEL-6-PROP-NOT: PtxKernel1
221
+ ; CHECK-PERKERNEL-6-PROP-NOT: AmdgpuKernel3
222
+ ; CHECK-PERKERNEL-6-PROP-NOT: AmdgpuKernel2
223
+ ; CHECK-PERKERNEL-6-PROP-NOT: AmdgpuKernel1
224
+
225
+ ; CHECK-PERKERNEL-7-PROP: [SYCL/kernel names]
226
+ ; CHECK-PERKERNEL-7-PROP-NOT: SpirKernel3
227
+ ; CHECK-PERKERNEL-7-PROP-NOT: SpirKernel2
228
+ ; CHECK-PERKERNEL-7-PROP-NOT: SpirKernel1
229
+ ; CHECK-PERKERNEL-7-PROP-NOT: PtxKernel3
230
+ ; CHECK-PERKERNEL-7-PROP-NEXT: PtxKernel2
231
+ ; CHECK-PERKERNEL-7-PROP-NOT: PtxKernel1
232
+ ; CHECK-PERKERNEL-7-PROP-NOT: AmdgpuKernel3
233
+ ; CHECK-PERKERNEL-7-PROP-NOT: AmdgpuKernel2
234
+ ; CHECK-PERKERNEL-7-PROP-NOT: AmdgpuKernel1
235
+
236
+ ; CHECK-PERKERNEL-8-PROP: [SYCL/kernel names]
237
+ ; CHECK-PERKERNEL-8-PROP-NOT: SpirKernel3
238
+ ; CHECK-PERKERNEL-8-PROP-NOT: SpirKernel2
239
+ ; CHECK-PERKERNEL-8-PROP-NOT: SpirKernel1
240
+ ; CHECK-PERKERNEL-8-PROP-NOT: PtxKernel3
241
+ ; CHECK-PERKERNEL-8-PROP-NOT: PtxKernel2
242
+ ; CHECK-PERKERNEL-8-PROP-NEXT: PtxKernel1
243
+ ; CHECK-PERKERNEL-8-PROP-NOT: AmdgpuKernel3
244
+ ; CHECK-PERKERNEL-8-PROP-NOT: AmdgpuKernel2
245
+ ; CHECK-PERKERNEL-8-PROP-NOT: AmdgpuKernel1
246
+
247
+ ; CHECK-PERKERNEL-12-PROP: [SYCL/kernel names]
248
+ ; CHECK-PERKERNEL-12-PROP-NOT: SpirKernel3
249
+ ; CHECK-PERKERNEL-12-PROP-NOT: SpirKernel2
250
+ ; CHECK-PERKERNEL-12-PROP-NOT: SpirKernel1
251
+ ; CHECK-PERKERNEL-12-PROP-NOT: PtxKernel3
252
+ ; CHECK-PERKERNEL-12-PROP-NOT: PtxKernel2
253
+ ; CHECK-PERKERNEL-12-PROP-NOT: PtxKernel1
254
+ ; CHECK-PERKERNEL-12-PROP-NEXT: AmdgpuKernel3
255
+ ; CHECK-PERKERNEL-12-PROP-NOT: AmdgpuKernel2
256
+ ; CHECK-PERKERNEL-12-PROP-NOT: AmdgpuKernel1
257
+
258
+ ; CHECK-PERKERNEL-13-PROP: [SYCL/kernel names]
259
+ ; CHECK-PERKERNEL-13-PROP-NOT: SpirKernel3
260
+ ; CHECK-PERKERNEL-13-PROP-NOT: SpirKernel2
261
+ ; CHECK-PERKERNEL-13-PROP-NOT: SpirKernel1
262
+ ; CHECK-PERKERNEL-13-PROP-NOT: PtxKernel3
263
+ ; CHECK-PERKERNEL-13-PROP-NOT: PtxKernel2
264
+ ; CHECK-PERKERNEL-13-PROP-NOT: PtxKernel1
265
+ ; CHECK-PERKERNEL-13-PROP-NOT: AmdgpuKernel3
266
+ ; CHECK-PERKERNEL-13-PROP-NEXT: AmdgpuKernel2
267
+ ; CHECK-PERKERNEL-13-PROP-NOT: AmdgpuKernel1
268
+
269
+ ; CHECK-PERKERNEL-14-PROP: [SYCL/kernel names]
270
+ ; CHECK-PERKERNEL-14-PROP-NOT: SpirKernel3
271
+ ; CHECK-PERKERNEL-14-PROP-NOT: SpirKernel2
272
+ ; CHECK-PERKERNEL-14-PROP-NOT: SpirKernel1
273
+ ; CHECK-PERKERNEL-14-PROP-NOT: PtxKernel3
274
+ ; CHECK-PERKERNEL-14-PROP-NOT: PtxKernel2
275
+ ; CHECK-PERKERNEL-14-PROP-NOT: PtxKernel1
276
+ ; CHECK-PERKERNEL-14-PROP-NOT: AmdgpuKernel3
277
+ ; CHECK-PERKERNEL-14-PROP-NOT: AmdgpuKernel2
278
+ ; CHECK-PERKERNEL-14-PROP-NEXT: AmdgpuKernel1
95
279
96
280
; Kernel-less generated modules should have no kernel names
97
281
; CHECK-KERNELLESS-PROP-NOT: [SYCL/kernel names]
98
282
; CHECK-KERNELLESS-PROP-NOT: SpirKernel1
283
+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel1
284
+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel1
99
285
; CHECK-KERNELLESS-PROP-NOT: SpirKernel2
286
+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel2
287
+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel2
100
288
; CHECK-KERNELLESS-PROP-NOT: SpirKernel3
289
+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel3
290
+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel3
0 commit comments