Skip to content

Commit d635399

Browse files
Merge branch 'sycl' into Alexandr-Konovalov/ref-ndrange
2 parents 2754978 + 2b5deb6 commit d635399

File tree

678 files changed

+102279
-537
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

678 files changed

+102279
-537
lines changed

.github/workflows/sycl-linux-build.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,7 @@ jobs:
202202
--ci-defaults ${{ inputs.build_configure_extra_args }} \
203203
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
204204
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
205-
-DLLVM_INSTALL_UTILS=ON \
206-
-DNATIVECPU_USE_OCK=Off
205+
-DLLVM_INSTALL_UTILS=ON
207206
- name: Compile
208207
id: build
209208
# Emulate default value for manual dispatch as we've run out of available arguments.

clang/lib/Driver/ToolChains/SYCL.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "llvm/SYCLLowerIR/DeviceConfigFile.hpp"
1414
#include "llvm/Support/CommandLine.h"
1515
#include "llvm/Support/Path.h"
16+
#include "llvm/Support/VirtualFileSystem.h"
1617
#include <sstream>
1718

1819
using namespace clang::driver;
@@ -55,7 +56,7 @@ const char *SYCLInstallationDetector::findLibspirvPath(
5556

5657
// If -fsycl-libspirv-path= is specified, try to use that path directly.
5758
if (Arg *A = Args.getLastArg(options::OPT_fsycl_libspirv_path_EQ)) {
58-
if (llvm::sys::fs::exists(A->getValue()))
59+
if (D.getVFS().exists(A->getValue()))
5960
return A->getValue();
6061

6162
return nullptr;
@@ -68,7 +69,7 @@ const char *SYCLInstallationDetector::findLibspirvPath(
6869
SmallString<128> LibraryPath(Path);
6970
llvm::sys::path::append(LibraryPath, a, b, c, Basename);
7071

71-
if (llvm::sys::fs::exists(LibraryPath))
72+
if (D.getVFS().exists(LibraryPath))
7273
return Args.MakeArgString(LibraryPath);
7374

7475
return nullptr;
@@ -248,7 +249,8 @@ static bool selectBfloatLibs(const llvm::Triple &Triple, const Compilation &C,
248249
static llvm::SmallSet<StringRef, 8> GPUArchsWithNBF16{
249250
"intel_gpu_pvc", "intel_gpu_acm_g10", "intel_gpu_acm_g11",
250251
"intel_gpu_acm_g12", "intel_gpu_dg2_g10", "intel_gpu_dg2_g11",
251-
"intel_dg2_g12", "intel_gpu_bmg_g21", "intel_gpu_lnl_m"};
252+
"intel_dg2_g12", "intel_gpu_bmg_g21", "intel_gpu_lnl_m",
253+
"intel_gpu_ptl_h", "intel_gpu_ptl_u"};
252254
const llvm::opt::ArgList &Args = C.getArgs();
253255
bool NeedLibs = false;
254256

@@ -290,7 +292,7 @@ static bool selectBfloatLibs(const llvm::Triple &Triple, const Compilation &C,
290292
auto checkBF = [](StringRef Device) {
291293
return Device.starts_with("pvc") || Device.starts_with("ats") ||
292294
Device.starts_with("dg2") || Device.starts_with("bmg") ||
293-
Device.starts_with("lnl");
295+
Device.starts_with("lnl") || Device.starts_with("ptl");
294296
};
295297

296298
auto checkSpirvJIT = [](StringRef Target) {

clang/lib/Frontend/InitPreprocessor.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,10 +1545,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI,
15451545
// with TI set to the device TargetInfo.
15461546
const llvm::Triple &Triple = TI.getTriple();
15471547
const llvm::Triple::SubArchType SubArch = Triple.getSubArch();
1548-
if (Triple.isNVPTX() || Triple.isAMDGPU() ||
1549-
(Triple.isSPIR() && SubArch != llvm::Triple::SPIRSubArch_fpga) ||
1550-
Triple.isNativeCPU())
1551-
Builder.defineMacro("SYCL_USE_NATIVE_FP_ATOMICS");
1548+
15521549
// Enable generation of USM address spaces for FPGA.
15531550
if (SubArch == llvm::Triple::SPIRSubArch_fpga) {
15541551
Builder.defineMacro("__ENABLE_USM_ADDR_SPACE__");

clang/test/Driver/sycl-device-lib-bfloat16.cpp

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,16 @@
88
/// Test that no bfloat16 libraries are added in JIT mode.
99
// RUN: %clangxx -fsycl %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
1010
// RUN: | FileCheck %s -check-prefix=BFLOAT16 --dump-input=always
11+
// RUN: %clang_cl -fsycl %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
12+
// RUN: | FileCheck %s -check-prefix=BFLOAT16 --dump-input=always
1113

1214
// Test that no bfloat16 libraries are added in JIT mode with generic target.
1315
// RUN: %clangxx -fsycl -fsycl-targets=spir64 %s \
1416
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
1517
// RUN: | FileCheck %s -check-prefix=BFLOAT16
18+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64 %s \
19+
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
20+
// RUN: | FileCheck %s -check-prefix=BFLOAT16
1621

1722
// Test that a PVC AOT compilation uses the native library.
1823
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
@@ -21,68 +26,108 @@
2126
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc %s \
2227
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
2328
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
29+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
30+
// RUN: "-device pvc" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
31+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
2432

2533
// Test that unless all targets support bfloat16, AOT compilation uses the
2634
// fallback library.
2735
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
2836
// RUN: "-device pvc,gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
2937
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
38+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
39+
// RUN: "-device pvc,gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
40+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
3041

3142
// Test that when all targets support bfloat16, AOT compilation uses the
3243
// native library.
3344
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
3445
// RUN: "-device pvc-sdv,ats-m75" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
3546
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
47+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
48+
// RUN: "-device pvc-sdv,ats-m75" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
49+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
3650

3751
// Test that a gen9 AOT compilation uses the fallback library.
3852
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
3953
// RUN: "-device gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
4054
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
55+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
56+
// RUN: "-device gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
57+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
4158

4259
// Test that a generic AOT compilation uses the fallback library.
4360
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
4461
// RUN: "-device *" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
4562
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
63+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \
64+
// RUN: "-device *" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
65+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK
4666

4767
// Test that a mixed JIT + AOT-PVC compilation uses no libs + fallback libs.
4868
// RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen \
4969
// RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \
5070
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
5171
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-NATIVE
72+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64,spir64_gen \
73+
// RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \
74+
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
75+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-NATIVE
5276

5377
// Test that a mixed JIT + AOT-Gen9 compilation uses no libs + native libs.
5478
// RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen \
5579
// RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \
5680
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
5781
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-FALLBACK
82+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64,spir64_gen \
83+
// RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \
84+
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
85+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-FALLBACK
5886

5987
// Test that an AOT-CPU + AOT-PVC compilation fallback + fallback libs.
6088
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \
6189
// RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \
6290
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
6391
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NATIVE
92+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \
93+
// RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \
94+
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
95+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NATIVE
6496

6597
// Test that an AOT-CPU + AOT-Gen9 compilation uses fallback + native libs.
6698
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \
6799
// RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \
68100
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
69101
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
102+
// RUN: %clang_cl -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \
103+
// RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \
104+
// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \
105+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
70106

71107

72108
// Test AOT-DG2 compilation uses native libs + native libs.
73109
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_acm_g10 \
74110
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
75111
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
112+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_acm_g10 \
113+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
114+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE
76115

77116
// Test AOT-PVC + AOT-DG2 compilation uses native libs + native libs.
78117
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,intel_gpu_acm_g10 \
79118
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
80119
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
120+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_pvc,intel_gpu_acm_g10 \
121+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
122+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
81123

82124
// Test AOT-PVC + AOT-DG1 compilation uses native libs + native libs.
83125
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,intel_gpu_acm_g10 \
84126
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
85127
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
128+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_dg1,intel_gpu_acm_g10 \
129+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
130+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
86131

87132

88133
// Test AOT-PVC + JIT compilation uses native libs + no libs
@@ -98,6 +143,9 @@
98143
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown \
99144
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
100145
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE
146+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_pvc,spir64 \
147+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
148+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE
101149

102150
// Test AOT-DG1 + JIT compilation uses native libs + no libs
103151
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64 \
@@ -112,6 +160,9 @@
112160
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spirv64-unknown-unknown \
113161
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
114162
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE
163+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_dg1,spir64 \
164+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
165+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE
115166

116167
// Test AOT-PVC + JIT compilation + AOT-DG2 uses native libs + no libs + native libs
117168
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_acm_g10 \
@@ -126,6 +177,9 @@
126177
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown,intel_gpu_acm_g10 \
127178
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
128179
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE
180+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_acm_g10 \
181+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
182+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE
129183

130184
// Test AOT-PVC + JIT compilation + AOT-DG1 uses fallback libs + no libs + fallback libs
131185
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_dg1 \
@@ -140,6 +194,9 @@
140194
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown,intel_gpu_dg1 \
141195
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
142196
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK
197+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_dg1 \
198+
// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \
199+
// RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK
143200

144201
// Test AOT-PVC + AOT-DG1 specified via different options, uses fallback libs
145202
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \
@@ -148,6 +205,9 @@
148205
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \
149206
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \
150207
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
208+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \
209+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \
210+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
151211

152212
// Test AOT-PVC + AOT-BMG specified via different options, uses native libs
153213
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_bmg_g21,spir64_gen \
@@ -156,6 +216,9 @@
156216
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \
157217
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device bmg-g21-a0" \
158218
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
219+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_bmg_g21,spir64_gen \
220+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \
221+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
159222

160223
// Test AOT-DG2 + AOT-DG1 specified via different options, uses fallback libs
161224
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg2_g10,spir64_gen \
@@ -164,6 +227,9 @@
164227
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \
165228
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg2_g12" \
166229
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
230+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_dg2_g10,spir64_gen \
231+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \
232+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
167233

168234
// Test AOT-PVC + AOT-DG2 specified via different options, uses native libs
169235
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg2_g11,spir64_gen \
@@ -172,6 +238,9 @@
172238
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \
173239
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg2_g12" \
174240
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
241+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_dg2_g11,spir64_gen \
242+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \
243+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
175244

176245
// Test AOT-PVC + AOT-LNL specified via different options, uses native libs
177246
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
@@ -180,6 +249,9 @@
180249
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \
181250
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \
182251
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
252+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
253+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \
254+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
183255

184256
// Test AOT-LNL + AOT-DG1 specified via different options, uses fallback libs
185257
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
@@ -188,7 +260,37 @@
188260
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \
189261
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \
190262
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
263+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
264+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \
265+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
191266

267+
// Test AOT-PTL + AOT-LNL specified via different options, uses native libs
268+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
269+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_h" \
270+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
271+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
272+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_u" \
273+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
274+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \
275+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \
276+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
277+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_u,spir64_gen \
278+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \
279+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
280+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \
281+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_h" \
282+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE
283+
284+
// Test AOT-PTL + AOT-DG1 specified via different options, uses fallback libs
285+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \
286+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \
287+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
288+
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \
289+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_u" \
290+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
291+
// RUN: %clang_cl -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \
292+
// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \
293+
// RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK
192294
// BFLOAT16-NOT: llvm-link{{.*}} "{{.*}}libsycl-{{fallback|native}}-bfloat16.bc"
193295

194296
// BFLOAT16-NATIVE: llvm-link{{.*}} "{{.*}}libsycl-native-bfloat16.bc"

clang/test/Preprocessor/sycl-macro-target-specific.cpp

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,23 +34,6 @@
3434
// CHECK-AMDGPU: #define __AMDGPU__
3535
// CHECK-AMDGPU-NEG-NOT: #define __AMDGPU__
3636

37-
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64-unknown-unknown -E -dM \
38-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
39-
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_gen-unknown-unknown -E -dM \
40-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
41-
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_x86_64-unknown-unknown -E -dM \
42-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
43-
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_fpga-unknown-unknown -E -dM \
44-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS-NEG %s
45-
// RUN: %clang_cc1 %s -fsycl-is-device -triple nvptx64-nvidia-nvcl -E -dM \
46-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
47-
// RUN: %clang_cc1 %s -fsycl-is-device -triple amdgcn-amdhsa-amdhsa -E -dM \
48-
// RUN: | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
49-
// RUN: %clang_cc1 %s -fsycl-is-device -triple native_cpu \
50-
// RUN: -E -dM | FileCheck --check-prefix=CHECK-SYCL-FP-ATOMICS %s
51-
// CHECK-SYCL-FP-ATOMICS: #define SYCL_USE_NATIVE_FP_ATOMICS
52-
// CHECK-SYCL-FP-ATOMICS-NEG-NOT: #define SYCL_USE_NATIVE_FP_ATOMICS
53-
5437
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64_fpga-unknown-unknown -E -dM \
5538
// RUN: | FileCheck --check-prefix=CHECK-USM-ADDR-SPACE %s
5639
// RUN: %clang_cc1 %s -fsycl-is-device -triple spir64-unknown-unknown -E -dM \

clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,9 @@ Expected<StringRef> writeOffloadFile(const OffloadFile &File,
305305
sys::path::stem(Binary.getMemoryBufferRef().getBufferIdentifier());
306306
StringRef Suffix = getImageKindName(Binary.getImageKind());
307307

308+
StringRef BinArch = (Binary.getArch() == "*") ? "any" : Binary.getArch();
308309
auto TempFileOrErr = createOutputFile(
309-
Prefix + "-" + Binary.getTriple() + "-" + Binary.getArch(),
310+
Prefix + "-" + Binary.getTriple() + "-" + BinArch,
310311
HasSYCLOffloadKind ? getImageKindName(Binary.getImageKind()) : "o");
311312
if (!TempFileOrErr)
312313
return TempFileOrErr.takeError();

0 commit comments

Comments
 (0)