22;
33; Global scope
44; 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
66;
77; Per-module split
88; RUN: sycl-post-link -properties -symbols -split=source -emit-kernel-names -S < %s -o %t.per_module.files.table
1212;
1313; Per-kernel split
1414; 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
2133
2234target triple = "spir64-unknown-unknown"
2335
@@ -26,75 +38,253 @@ entry:
2638 ret void
2739}
2840
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+
2951define dso_local spir_kernel void @SpirKernel2 (float %arg1 ) #1 {
3052entry:
3153 ret void
3254}
3355
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+
3466define dso_local spir_kernel void @SpirKernel3 (float %arg1 ) #2 {
3567entry:
3668 ret void
3769}
3870
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+
3981define dso_local spir_func void @SpirFunc1 (float %arg1 ) #0 {
4082entry:
4183 ret void
4284}
4385
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+
4496define dso_local spir_func void @SpirFunc2 (i32 %arg1 , i32 %arg2 ) #1 {
4597entry:
4698 ret void
4799}
48100
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+
49111define dso_local spir_func void @SpirFunc3 (float %arg1 ) #0 {
50112entry:
51113 ret void
52114}
53115
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+
54126define dso_local spir_func void @SpirFunc4 (float %arg1 ) {
55127entry:
56128 ret void
57129}
58130
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+
59141attributes #0 = { "sycl-module-id" ="a.cpp" }
60142attributes #1 = { "sycl-module-id" ="b.cpp" }
61143attributes #2 = { "sycl-module-id" ="c.cpp" }
62144
63145; Global scope
64146; CHECK-GLOBAL-PROP: [SYCL/kernel names]
65147; CHECK-GLOBAL-PROP-NEXT: SpirKernel1
148+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel1
149+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel1
66150; CHECK-GLOBAL-PROP-NEXT: SpirKernel2
151+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel2
152+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel2
67153; CHECK-GLOBAL-PROP-NEXT: SpirKernel3
154+ ; CHECK-GLOBAL-PROP-NEXT: PtxKernel3
155+ ; CHECK-GLOBAL-PROP-NEXT: AmdgpuKernel3
68156
69157; Per-module split
70158; CHECK-PERMODULE-0-PROP: [SYCL/kernel names]
71159; CHECK-PERMODULE-0-PROP-NEXT: SpirKernel1
160+ ; CHECK-PERMODULE-0-PROP-NEXT: PtxKernel1
161+ ; CHECK-PERMODULE-0-PROP-NEXT: AmdgpuKernel1
72162; CHECK-PERMODULE-0-PROP-NEXT: SpirKernel3
163+ ; CHECK-PERMODULE-0-PROP-NEXT: PtxKernel3
164+ ; CHECK-PERMODULE-0-PROP-NEXT: AmdgpuKernel3
73165; CHECK-PERMODULE-0-PROP-NOT: SpirKernel2
166+ ; CHECK-PERMODULE-0-PROP-NOT: PtxKernel2
167+ ; CHECK-PERMODULE-0-PROP-NOT: AmdgpuKernel2
74168
75169; CHECK-PERMODULE-1-PROP: [SYCL/kernel names]
76170; CHECK-PERMODULE-1-PROP-NEXT: SpirKernel2
171+ ; CHECK-PERMODULE-1-PROP-NEXT: PtxKernel2
172+ ; CHECK-PERMODULE-1-PROP-NEXT: AmdgpuKernel2
77173; CHECK-PERMODULE-1-PROP-NOT: SpirKernel1
174+ ; CHECK-PERMODULE-1-PROP-NOT: PtxKernel1
175+ ; CHECK-PERMODULE-1-PROP-NOT: AmdgpuKernel1
78176; CHECK-PERMODULE-1-PROP-NOT: SpirKernel3
177+ ; CHECK-PERMODULE-1-PROP-NOT: PtxKernel3
178+ ; CHECK-PERMODULE-1-PROP-NOT: AmdgpuKernel3
79179
80180; Per-kernel split
81181; CHECK-PERKERNEL-0-PROP: [SYCL/kernel names]
82182; CHECK-PERKERNEL-0-PROP-NEXT: SpirKernel3
83- ; CHECK-PERKERNEL-0-PROP-NOT: SpirKernel1
84183; 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
85191
86192; CHECK-PERKERNEL-1-PROP: [SYCL/kernel names]
193+ ; CHECK-PERKERNEL-1-PROP-NOT: SpirKernel3
87194; CHECK-PERKERNEL-1-PROP-NEXT: SpirKernel2
88195; 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
90202
91203; CHECK-PERKERNEL-2-PROP: [SYCL/kernel names]
92- ; CHECK-PERKERNEL-2-PROP-NEXT: SpirKernel1
93- ; CHECK-PERKERNEL-2-PROP-NOT: SpirKernel2
94204; 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
95279
96280; Kernel-less generated modules should have no kernel names
97281; CHECK-KERNELLESS-PROP-NOT: [SYCL/kernel names]
98282; CHECK-KERNELLESS-PROP-NOT: SpirKernel1
283+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel1
284+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel1
99285; CHECK-KERNELLESS-PROP-NOT: SpirKernel2
286+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel2
287+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel2
100288; CHECK-KERNELLESS-PROP-NOT: SpirKernel3
289+ ; CHECK-KERNELLESS-PROP-NOT: PtxKernel3
290+ ; CHECK-KERNELLESS-PROP-NOT: AmdgpuKernel3
0 commit comments