Skip to content

Commit b7a3aec

Browse files
Update Intel GPU tests.
1 parent 26dd5ec commit b7a3aec

File tree

5 files changed

+167
-16
lines changed

5 files changed

+167
-16
lines changed

clang/lib/Driver/Driver.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1333,9 +1333,13 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C,
13331333
getProcessorFromTargetID(*AMDTriple, Arch)))) {
13341334
DerivedArchs[AMDTriple->getTriple()].insert(Arch);
13351335
} else if (IsIntelCPUOffloadArch(StringToOffloadArchIntel(Arch))) {
1336-
DerivedArchs["spir64_x86_64"].insert(Arch);
1336+
DerivedArchs[MakeSYCLDeviceTriple("spir64_x86_64").getTriple()].insert(
1337+
Arch);
13371338
} else if (IsIntelGPUOffloadArch(StringToOffloadArchIntel(Arch))) {
1338-
DerivedArchs["spir64_gen"].insert(Arch);
1339+
StringRef IntelGPUArch;
1340+
IntelGPUArch = mapIntelGPUArchName(Arch).data();
1341+
DerivedArchs[MakeSYCLDeviceTriple("spir64_gen").getTriple()].insert(
1342+
IntelGPUArch);
13391343
} else {
13401344
Diag(clang::diag::err_drv_invalid_sycl_target) << Arch;
13411345
return;

clang/lib/Driver/ToolChains/SYCL.cpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,40 @@ clang::driver::StringToOffloadArchIntel(llvm::StringRef ArchNameAsString) {
103103
return result->IntelArch;
104104
}
105105

106+
StringRef clang::driver::mapIntelGPUArchName(StringRef ArchName) {
107+
StringRef Arch;
108+
Arch = llvm::StringSwitch<StringRef>(ArchName)
109+
.Case("bdw", "bdw")
110+
.Case("skl", "skl")
111+
.Case("kbl", "kbl")
112+
.Case("cfl", "cfl")
113+
.Cases("apl", "bxt", "apl")
114+
.Case("glk", "glk")
115+
.Case("whl", "whl")
116+
.Case("aml", "aml")
117+
.Case("cml", "cml")
118+
.Cases("icllp", "icl", "icllp")
119+
.Cases("ehl", "jsl", "ehl")
120+
.Cases("tgllp", "tgl", "tgllp")
121+
.Case("rkl", "rkl")
122+
.Cases("adl_s", "rpl_s", "adl_s")
123+
.Case("adl_p", "adl_p")
124+
.Case("adl_n", "adl_n")
125+
.Case("dg1", "dg1")
126+
.Cases("acm_g10", "dg2_g10", "acm_g10")
127+
.Cases("acm_g11", "dg2_g11", "acm_g11")
128+
.Cases("acm_g12", "dg2_g12", "acm_g12")
129+
.Case("pvc", "pvc")
130+
.Case("pvc_vg", "pvc_vg")
131+
.Cases("mtl_u", "mtl_s", "arl_u", "arl_s", "mtl_u")
132+
.Case("mtl_h", "mtl_h")
133+
.Case("arl_h", "arl_h")
134+
.Case("bmg_g21", "bmg_g21")
135+
.Case("lnl_m", "lnl_m")
136+
.Default("");
137+
return Arch;
138+
}
139+
106140
SYCLInstallationDetector::SYCLInstallationDetector(const Driver &D)
107141
: D(D), InstallationCandidates() {
108142
InstallationCandidates.emplace_back(D.Dir + "/..");

clang/lib/Driver/ToolChains/SYCL.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ static inline bool IsIntelGPUOffloadArch(OffloadArchIntel Arch) {
9292

9393
OffloadArchIntel StringToOffloadArchIntel(llvm::StringRef ArchNameAsString);
9494

95+
StringRef mapIntelGPUArchName(StringRef ArchName);
96+
9597
class SYCLInstallationDetector {
9698
public:
9799
SYCLInstallationDetector(const Driver &D);

clang/test/Driver/sycl-offload-arch-intelgpu.cpp renamed to clang/test/Driver/sycl-offload-arch-intel-cpu.cpp

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/// Tests the behaviors of using -fsycl --offload-new-driver
2-
// --offload-arch=<intel-gpu/cpu-values>.
2+
// --offload-arch=<intel-cpu-values>.
33

44
// SYCL AOT compilation to Intel CPUs using --offload-arch
55

@@ -58,16 +58,3 @@
5858
// TARGET-TRIPLE-CPU: "-D__SYCL_TARGET_INTEL_X86_64__"
5959
// CLANG-OFFLOAD-PACKAGER-CPU: clang-offload-packager{{.*}} "--image={{.*}}triple=spir64_x86_64-unknown-unknown,arch=[[DEV_STR]],kind=sycl"
6060

61-
62-
// SYCL AOT compilation to Intel GPUs using --offload-arch
63-
64-
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=bdw %s 2>&1 | \
65-
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=bdw -DMAC_STR=BDW
66-
67-
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=cfl %s 2>&1 | \
68-
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=cfl -DMAC_STR=CFL
69-
70-
// TARGET-TRIPLE-GPU: clang{{.*}} "-triple" "spir64_gen-unknown-unknown"
71-
// TARGET-TRIPLE-GPU: "-D__SYCL_TARGET_INTEL_GPU_[[MAC_STR]]__"
72-
// CLANG-OFFLOAD-PACKAGER-GPU: clang-offload-packager{{.*}} "--image={{.*}}triple=spir64_gen-unknown-unknown,arch=[[DEV_STR]],kind=sycl"
73-
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
/// Tests the behaviors of using -fsycl --offload-new-driver
2+
// --offload-arch=<intel-gpu-values>.
3+
4+
// SYCL AOT compilation to Intel GPUs using --offload-arch
5+
6+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=bdw %s 2>&1 | \
7+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=bdw -DMAC_STR=BDW
8+
9+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=skl %s 2>&1 | \
10+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=skl -DMAC_STR=SKL
11+
12+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=kbl %s 2>&1 | \
13+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=kbl -DMAC_STR=KBL
14+
15+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=cfl %s 2>&1 | \
16+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=cfl -DMAC_STR=CFL
17+
18+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=apl %s 2>&1 | \
19+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=apl -DMAC_STR=APL
20+
21+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=bxt %s 2>&1 | \
22+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=apl -DMAC_STR=APL
23+
24+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=glk %s 2>&1 | \
25+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=glk -DMAC_STR=GLK
26+
27+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=whl %s 2>&1 | \
28+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=whl -DMAC_STR=WHL
29+
30+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=aml %s 2>&1 | \
31+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=aml -DMAC_STR=AML
32+
33+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=cml %s 2>&1 | \
34+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=cml -DMAC_STR=CML
35+
36+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=icllp %s 2>&1 | \
37+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=icllp -DMAC_STR=ICLLP
38+
39+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=icl %s 2>&1 | \
40+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=icllp -DMAC_STR=ICLLP
41+
42+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=ehl %s 2>&1 | \
43+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=ehl -DMAC_STR=EHL
44+
45+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=jsl %s 2>&1 | \
46+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=ehl -DMAC_STR=EHL
47+
48+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=tgllp %s 2>&1 | \
49+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=tgllp -DMAC_STR=TGLLP
50+
51+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=tgl %s 2>&1 | \
52+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=tgllp -DMAC_STR=TGLLP
53+
54+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=rkl %s 2>&1 | \
55+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=rkl -DMAC_STR=RKL
56+
57+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=adl_s %s 2>&1 | \
58+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=adl_s -DMAC_STR=ADL_S
59+
60+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=rpl_s %s 2>&1 | \
61+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=adl_s -DMAC_STR=ADL_S
62+
63+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=adl_p %s 2>&1 | \
64+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=adl_p -DMAC_STR=ADL_P
65+
66+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=adl_n %s 2>&1 | \
67+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=adl_n -DMAC_STR=ADL_N
68+
69+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=dg1 %s 2>&1 | \
70+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=dg1 -DMAC_STR=DG1
71+
72+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=acm_g10 %s 2>&1 | \
73+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g10 -DMAC_STR=ACM_G10
74+
75+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=dg2_g10 %s 2>&1 | \
76+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g10 -DMAC_STR=ACM_G10
77+
78+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=acm_g11 %s 2>&1 | \
79+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g11 -DMAC_STR=ACM_G11
80+
81+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=dg2_g11 %s 2>&1 | \
82+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g11 -DMAC_STR=ACM_G11
83+
84+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=acm_g12 %s 2>&1 | \
85+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g12 -DMAC_STR=ACM_G12
86+
87+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=dg2_g12 %s 2>&1 | \
88+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU -DDEV_STR=acm_g12 -DMAC_STR=ACM_G12
89+
90+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=pvc %s 2>&1 | \
91+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=pvc -DMAC_STR=PVC
92+
93+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=pvc_vg %s 2>&1 | \
94+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=pvc_vg -DMAC_STR=PVC_VG
95+
96+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=mtl_u %s 2>&1 | \
97+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=mtl_u -DMAC_STR=MTL_U
98+
99+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=mtl_s %s 2>&1 | \
100+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=mtl_u -DMAC_STR=MTL_U
101+
102+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=arl_u %s 2>&1 | \
103+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=mtl_u -DMAC_STR=MTL_U
104+
105+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=arl_s %s 2>&1 | \
106+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=mtl_u -DMAC_STR=MTL_U
107+
108+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=mtl_h %s 2>&1 | \
109+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=mtl_h -DMAC_STR=MTL_H
110+
111+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=arl_h %s 2>&1 | \
112+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=arl_h -DMAC_STR=ARL_H
113+
114+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=bmg_g21 %s 2>&1 | \
115+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=bmg_g21 -DMAC_STR=BMG_G21
116+
117+
// RUN: %clangxx -### --offload-new-driver -fsycl --offload-arch=lnl_m %s 2>&1 | \
118+
// RUN: FileCheck %s --check-prefixes=TARGET-TRIPLE-GPU,CLANG-OFFLOAD-PACKAGER-GPU-OPTS -DDEV_STR=lnl_m -DMAC_STR=LNL_M
119+
120+
// TARGET-TRIPLE-GPU: clang{{.*}} "-triple" "spir64_gen-unknown-unknown"
121+
// TARGET-TRIPLE-GPU: "-D__SYCL_TARGET_INTEL_GPU_[[MAC_STR]]__"
122+
// CLANG-OFFLOAD-PACKAGER-GPU: clang-offload-packager{{.*}} "--image={{.*}}triple=spir64_gen-unknown-unknown,arch=[[DEV_STR]],kind=sycl"
123+
// CLANG-OFFLOAD-PACKAGER-GPU-OPTS: clang-offload-packager{{.*}} "--image={{.*}}triple=spir64_gen-unknown-unknown,arch=[[DEV_STR]],kind=sycl{{.*}}"
124+

0 commit comments

Comments
 (0)