From d963acd04624d33908583ee956a86c9ae668ef26 Mon Sep 17 00:00:00 2001 From: jinge90 Date: Fri, 23 Oct 2026 10:17:59 +0800 Subject: [PATCH 1/4] [SYCL][Driver][Test] Replace sysroot with ccc-install-dir for SYCL driver tests part2 Signed-off-by: jinge90 --- clang/test/Driver/sycl-c-warn.c | 4 +- clang/test/Driver/sycl-device-lib-amdgcn.cpp | 4 +- .../test/Driver/sycl-device-lib-bfloat16.cpp | 210 +++++++++--------- clang/test/Driver/sycl-device-lib-diag.cpp | 4 +- clang/test/Driver/sycl-device-lib-nvptx.cpp | 4 +- .../sycl-early-device-link-old-model.cpp | 8 +- clang/test/Driver/sycl-fsyclbin.cpp | 52 ++--- .../Driver/sycl-instrumentation-old-model.cpp | 12 +- clang/test/Driver/sycl-lto.cpp | 4 +- clang/test/Driver/sycl-offload-new-driver.cpp | 49 ++-- clang/test/Driver/sycl-offload.cpp | 192 ++++++++-------- clang/test/Driver/sycl-option-ownership.cpp | 14 +- clang/test/Driver/sycl-spirv-obj.cpp | 4 +- 13 files changed, 293 insertions(+), 268 deletions(-) diff --git a/clang/test/Driver/sycl-c-warn.c b/clang/test/Driver/sycl-c-warn.c index 57c4796f4e3e..dda7bec280d3 100644 --- a/clang/test/Driver/sycl-c-warn.c +++ b/clang/test/Driver/sycl-c-warn.c @@ -1,8 +1,8 @@ // Emit warning for treating 'c' input as 'c++' when -fsycl is used // RUN: %clang -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s +// RUN: %clang -### -fsycl --offload-new-driver --no-offloadlib -fno-sycl-instrument-device-code %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s +// RUN: %clang_cl -### -fsycl --offload-new-driver --no-offloadlib -fno-sycl-instrument-device-code %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // FSYCL-CHECK: warning: treating 'c' input as 'c++' when -fsycl is used [-Wexpected-file-type] diff --git a/clang/test/Driver/sycl-device-lib-amdgcn.cpp b/clang/test/Driver/sycl-device-lib-amdgcn.cpp index bc5125ee0132..dcb2b30805cf 100644 --- a/clang/test/Driver/sycl-device-lib-amdgcn.cpp +++ b/clang/test/Driver/sycl-device-lib-amdgcn.cpp @@ -4,9 +4,11 @@ // UNSUPPORTED: system-windows +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // Check that llvm-link uses the "-only-needed" flag. // Not using the flag breaks kernel bundles. -// RUN: %clangxx -### -fsycl -fsycl-targets=amdgcn-amd-amdhsa -fno-sycl-libspirv --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -### -fsycl -fsycl-targets=amdgcn-amd-amdhsa -fno-sycl-libspirv -ccc-install-dir %{clang_install_dir} \ // RUN: -Xsycl-target-backend --offload-arch=gfx908 --rocm-path=%S/Inputs/rocm %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-ONLY-NEEDED %s diff --git a/clang/test/Driver/sycl-device-lib-bfloat16.cpp b/clang/test/Driver/sycl-device-lib-bfloat16.cpp index fe4f11369203..853652682805 100644 --- a/clang/test/Driver/sycl-device-lib-bfloat16.cpp +++ b/clang/test/Driver/sycl-device-lib-bfloat16.cpp @@ -4,388 +4,390 @@ // UNSUPPORTED: cuda +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// ########################################################################### /// Test that no bfloat16 libraries are added in JIT mode. -// RUN: %clangxx -### -fsycl --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clangxx -### -fsycl -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16 --dump-input=always -// RUN: %clang_cl -### -fsycl /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: %clang_cl -### -fsycl -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16 --dump-input=always // Test that no bfloat16 libraries are added in JIT mode with generic target. // RUN: %clangxx -### -fsycl -fsycl-targets=spir64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16 // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16 // Test that a PVC AOT compilation uses the native library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device pvc" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_12_60_7 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device pvc" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test that a wcl AOT compilation uses the native library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device wcl" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device wcl" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_30_3_0 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device wcl" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device wcl" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test that a cri AOT compilation uses the native library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device cri" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device cri" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_cri %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_35_11_0 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device cri" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device cri" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test that a novalake AOT compilation uses the native library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device nvl_s" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device nvl_s" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_nvl_s %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_30_4_0 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device nvl_u" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device nvl_u" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_nvl_u %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_30_5_0 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device nvl_p" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device nvl_p" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_nvl_p %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_35_10_0 %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device nvl_s" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device nvl_s" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test that unless all targets support bfloat16, AOT compilation uses the // fallback library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc,gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device pvc,gen9" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc,gen9" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device pvc,gen9" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // Test that when all targets support bfloat16, AOT compilation uses the // native library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc-sdv,ats-m75" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device pvc-sdv,ats-m75" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device pvc-sdv,ats-m75" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device pvc-sdv,ats-m75" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test that a gen9 AOT compilation uses the fallback library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device gen9" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device gen9" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device gen9" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device gen9" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // Test that a generic AOT compilation uses the fallback library. // RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device *" %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: "-device *" %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend \ -// RUN: "-device *" /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: "-device *" -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK // Test that a mixed JIT + AOT-PVC compilation uses no libs + fallback libs. // RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device pvc" \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-NATIVE // Test that a mixed JIT + AOT-Gen9 compilation uses no libs + native libs. // RUN: %clangxx -fsycl -fsycl-targets=spir64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device gen9" \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NONE-FALLBACK // Test that an AOT-CPU + AOT-PVC compilation fallback + fallback libs. // RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device pvc" %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device pvc" \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NATIVE // Test that an AOT-CPU + AOT-Gen9 compilation uses fallback + native libs. // RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device gen9" %s \ -// RUN: --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=spir64_x86_64,spir64_gen \ // RUN: -Xsycl-target-backend=spir64_gen "-device gen9" \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-DG2 compilation uses native libs + native libs. // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_acm_g10 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE // Test AOT-PVC + AOT-DG2 compilation uses native libs + native libs. // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_pvc,intel_gpu_acm_g10 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // Test AOT-PVC + AOT-DG1 compilation uses native libs + native libs. // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_12_10_0,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_dg1,intel_gpu_acm_g10 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_12_10_0,intel_gpu_acm_g10 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-PVC + JIT compilation uses native libs + no libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_pvc,spir64 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // Test AOT-wcl + JIT compilation uses native libs + no libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl,spir64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl,spirv64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl,spir64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl,spirv64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_wcl,spir64 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE // Test AOT-DG1 + JIT compilation uses native libs + no libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spirv64 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spirv64-unknown-unknown \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_dg1,spir64 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE // Test AOT-PVC + JIT compilation + AOT-DG2 uses native libs + no libs + native libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64-unknown-unknown,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown,intel_gpu_acm_g10 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_acm_g10 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NONE-NATIVE // Test AOT-PVC + JIT compilation + AOT-DG1 uses fallback libs + no libs + fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_dg1 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64,intel_gpu_dg1 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64-unknown-unknown,intel_gpu_dg1 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spirv64-unknown-unknown,intel_gpu_dg1 \ -// RUN: --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_pvc,spir64,intel_gpu_dg1 \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -- %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} -- %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-NONE-FALLBACK // Test AOT-PVC + AOT-DG1 specified via different options, uses fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-PVC + AOT-BMG specified via different options, uses native libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_bmg_g21,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device bmg-g21-a0" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device bmg-g21-a0" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_bmg_g21,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // Test AOT-DG2 + AOT-DG1 specified via different options, uses fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg2_g10,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg2_g12" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg2_g12" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_dg2_g10,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-PVC + AOT-DG2 specified via different options, uses native libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg2_g11,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg2_g12" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg2_g12" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_dg2_g11,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // Test AOT-PVC + AOT-LNL specified via different options, uses native libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device lnl_m" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device pvc" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device pvc" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // Test AOT-LNL + AOT-DG1 specified via different options, uses fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device lnl_m" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-PTL + AOT-LNL specified via different options, uses native libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_h" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device ptl_h" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_u" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device ptl_u" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device lnl_m" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_u,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device lnl_m" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device lnl_m" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_lnl_m,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_h" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device ptl_h" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-NATIVE-NATIVE // Test AOT-PTL + AOT-DG1 specified via different options, uses fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device ptl_u" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device ptl_u" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_ptl_h,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // Test AOT-wcl + AOT-DG1 specified via different options, uses fallback libs // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_wcl,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_dg1,spir64_gen \ -// RUN: --sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device wcl" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device wcl" \ // RUN: %s -### 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // RUN: %clang_cl -### -fsycl -fsycl-targets=intel_gpu_wcl,spir64_gen \ -// RUN: /clang:--sysroot=%S/Inputs/SYCL -Xsycl-target-backend=spir64_gen "-device dg1" \ +// RUN: -ccc-install-dir %{clang_install_dir} -Xsycl-target-backend=spir64_gen "-device dg1" \ // RUN: -- %s 2>&1 | FileCheck %s -check-prefix=BFLOAT16-FALLBACK-FALLBACK // BFLOAT16-NOT: llvm-link{{.*}} "{{.*}}libsycl-{{fallback|native}}-bfloat16.bc" diff --git a/clang/test/Driver/sycl-device-lib-diag.cpp b/clang/test/Driver/sycl-device-lib-diag.cpp index 5d29e76602c2..385fb3e52c11 100644 --- a/clang/test/Driver/sycl-device-lib-diag.cpp +++ b/clang/test/Driver/sycl-device-lib-diag.cpp @@ -4,11 +4,13 @@ // known environment that does not have the device libraries installed. // UNSUPPORTED: libdevice +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// Check for expected device library diagnostic. // RUN: not %clangxx -fsycl --offload-new-driver %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL-DEVICE-LIB-DIAG // SYCL-DEVICE-LIB-DIAG: error: cannot find expected SYCL device library 'libsycl-crt.bc'. Pass '--no-offloadlib' to build without the SYCL device libraries -// RUN: %clangxx -fsycl --offload-new-driver %s --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: %clangxx -fsycl --offload-new-driver %s -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL-DEVICE-LIB-NO-DIAG // SYCL-DEVICE-LIB-NO-DIAG-NOT: cannot find expected SYCL device library diff --git a/clang/test/Driver/sycl-device-lib-nvptx.cpp b/clang/test/Driver/sycl-device-lib-nvptx.cpp index 4c4f7e70bf6f..0ce52f03751e 100644 --- a/clang/test/Driver/sycl-device-lib-nvptx.cpp +++ b/clang/test/Driver/sycl-device-lib-nvptx.cpp @@ -4,9 +4,11 @@ // UNSUPPORTED: system-windows +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // Check that llvm-link uses the "-only-needed" flag. // Not using the flag breaks kernel bundles. -// RUN: %clangxx -### --cuda-path=%S/Inputs/CUDA/usr/local/cuda -fno-sycl-libspirv --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -### --cuda-path=%S/Inputs/CUDA/usr/local/cuda -fno-sycl-libspirv -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl -fsycl-targets=nvptx64-nvidia-cuda %s 2>&1 | FileCheck -check-prefix=CHK-ONLY-NEEDED %s // CHK-ONLY-NEEDED: llvm-link"{{.*}}"--only-needed"{{.*}}"{{.*}}devicelib-nvptx64-nvidia-cuda.bc"{{.*}} diff --git a/clang/test/Driver/sycl-early-device-link-old-model.cpp b/clang/test/Driver/sycl-early-device-link-old-model.cpp index 89436ec38a1d..d72f1ee164c2 100644 --- a/clang/test/Driver/sycl-early-device-link-old-model.cpp +++ b/clang/test/Driver/sycl-early-device-link-old-model.cpp @@ -2,10 +2,12 @@ // -c to create final device binaries during the link step when using -fsycl. // Behavior is restricted to spir64_gen targets for now. +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // Create object that contains final device image // RUN: %clangxx -c -fno-sycl-rdc -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen \ // RUN: --target=x86_64-unknown-linux-gnu -Xsycl-target-backend \ -// RUN: "-device skl" --sysroot=%S/Inputs/SYCL -### %s 2>&1 \ +// RUN: "-device skl" -ccc-install-dir %{clang_install_dir} -### %s 2>&1 \ // RUN: | FileCheck %s -check-prefix=CREATE_IMAGE // CREATE_IMAGE: clang{{.*}} "-triple" "spir64_gen-unknown-unknown"{{.*}} "-fsycl-is-device"{{.*}} "-o" "[[DEVICE_BC:.+\.bc]]" // CREATE_IMAGE: llvm-link{{.*}} "-o" "[[LIB_DEVICE_BC:.+\.bc]]" @@ -22,7 +24,7 @@ // RUN: %clangxx -c -fno-sycl-rdc -fsycl --no-offload-new-driver -fsycl-targets=spir64_gen \ // RUN: --target=x86_64-unknown-linux-gnu -Xsycl-target-backend \ -// RUN: "-device skl" --sysroot=%S/Inputs/SYCL -ccc-print-phases %s \ +// RUN: "-device skl" -ccc-install-dir %{clang_install_dir} -ccc-print-phases %s \ // RUN: -fsycl-instrument-device-code --no-offloadlib 2>&1 \ // RUN: | FileCheck %s -check-prefix=CREATE_IMAGE_PHASES // CREATE_IMAGE_PHASES: 0: input, "[[INPUT:.+\.cpp]]", c++, (device-sycl) @@ -68,7 +70,7 @@ // Mix and match JIT and AOT phases check. Expectation is for AOT to perform // early device link, and JIT to just produce the LLVM-IR. // RUN: %clangxx -c -fno-sycl-rdc -fsycl --no-offload-new-driver -fsycl-targets=spir64,spir64_gen \ -// RUN: --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: -Xsycl-target-backend=spir64_gen "-device skl" \ // RUN: -fsycl-instrument-device-code -ccc-print-phases %s --no-offloadlib 2>&1 \ // RUN: | FileCheck %s -check-prefix=JIT_AOT_PHASES diff --git a/clang/test/Driver/sycl-fsyclbin.cpp b/clang/test/Driver/sycl-fsyclbin.cpp index f11d663df621..96048013a647 100644 --- a/clang/test/Driver/sycl-fsyclbin.cpp +++ b/clang/test/Driver/sycl-fsyclbin.cpp @@ -1,5 +1,7 @@ /// Tests behaviors of -fsyclbin +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// -fsyclbin is only used with the new offloading model. // RUN: %clangxx -fsycl -fsyclbin --no-offload-new-driver %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=UNUSED @@ -7,18 +9,18 @@ /// -fsyclbin -fsycl-device-only usage. -fsycl-device-only will 'win' and /// -fsyclbin is effectively ignored. -// RUN: %clangxx -fsycl-device-only -fsyclbin --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsycl-device-only -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=SYCLBIN_UNUSED -// RUN: %clang_cl -fsycl-device-only -fsyclbin --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsycl-device-only -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=SYCLBIN_UNUSED // SYCLBIN_UNUSED: warning: argument unused during compilation: '-fsyclbin' /// Check tool invocation contents. -// RUN: %clangxx -fsycl -fsyclbin=input --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsycl -fsyclbin=input --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_INPUT -// RUN: %clangxx -fsyclbin=input --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=input --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_INPUT -// RUN: %clang_cl -fsycl -fsyclbin=input --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsycl -fsyclbin=input --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_INPUT // CHECK_TOOLS_INPUT: llvm-offload-binary // CHECK_TOOLS_INPUT-SAME: --image=file={{.*}}.bc,triple=spir64-unknown-unknown @@ -26,11 +28,11 @@ // CHECK_TOOLS_INPUT: clang-linker-wrapper // CHECK_TOOLS_INPUT-SAME: --syclbin=input -// RUN: %clangxx -fsycl -fsyclbin=object --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsycl -fsyclbin=object --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_OBJECT -// RUN: %clangxx -fsyclbin=object --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=object --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_OBJECT -// RUN: %clang_cl -fsycl -fsyclbin=object --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsycl -fsyclbin=object --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_OBJECT // CHECK_TOOLS_OBJECT: llvm-offload-binary // CHECK_TOOLS_OBJECT-SAME: --image=file={{.*}}.bc,triple=spir64-unknown-unknown @@ -38,17 +40,17 @@ // CHECK_TOOLS_OBJECT: clang-linker-wrapper // CHECK_TOOLS_OBJECT-SAME: --syclbin=object -// RUN: %clangxx -fsycl -fsyclbin=executable --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsycl -fsyclbin=executable --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE -// RUN: %clangxx -fsyclbin=executable --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=executable --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE -// RUN: %clang_cl -fsycl -fsyclbin=executable --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsycl -fsyclbin=executable --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE -// RUN: %clangxx -fsycl -fsyclbin --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsycl -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE -// RUN: %clangxx -fsyclbin --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE -// RUN: %clang_cl -fsycl -fsyclbin --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsycl -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_TOOLS_EXECUTABLE // CHECK_TOOLS_EXECUTABLE: llvm-offload-binary // CHECK_TOOLS_EXECUTABLE-SAME: --image=file={{.*}}.bc,triple=spir64-unknown-unknown @@ -74,26 +76,26 @@ /// Check the output file names (file.syclbin, or -o ) // RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsyclbin \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL -o file.syclbin %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} -o file.syclbin %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_NAMED_OUTPUT // CHECK_NAMED_OUTPUT: clang-linker-wrapper // CHECK_NAMED_OUTPUT-SAME: "-o" "file.syclbin" -// RUN: %clang_cl -fsyclbin --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -o file.syclbin %s -### 2>&1 \ +// RUN: %clang_cl -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} -o file.syclbin %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_NAMED_OUTPUT_WIN // CHECK_NAMED_OUTPUT_WIN: clang-linker-wrapper // CHECK_NAMED_OUTPUT_WIN-SAME: "-out:file.syclbin" /// For Linux - the default is 'a.out' so the syclbin file is 'a.syclbin' // RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsyclbin \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_LINUX_DEFAULT_OUTPUT // CHECK_LINUX_DEFAULT_OUTPUT: clang-linker-wrapper // CHECK_LINUX_DEFAULT_OUTPUT-SAME: "-o" "a.syclbin" /// For Windows - the default is based on the source file so the syclbin file /// is 'fsyclbin.syclbin' -// RUN: %clang_cl -fsyclbin --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clang_cl -fsyclbin --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_WIN_DEFAULT_OUTPUT // CHECK_WIN_DEFAULT_OUTPUT: clang-linker-wrapper // CHECK_WIN_DEFAULT_OUTPUT-SAME: "-out:{{.*}}fsyclbin.syclbin" @@ -101,9 +103,9 @@ /// -fsyclbin=input and -fsyclbin=object imply /// -fsycl-allow-device-image-dependencies, since cross-image symbol /// resolution is required for those bundle states. -// RUN: %clangxx -fsyclbin=input --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=input --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_DEPS_IMPLIED -// RUN: %clangxx -fsyclbin=object --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=object --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_DEPS_IMPLIED // CHECK_DEPS_IMPLIED: clang-linker-wrapper // CHECK_DEPS_IMPLIED-SAME: "--sycl-post-link-options={{[^"]*}}-allow-device-image-dependencies{{[^"]*}}" @@ -112,7 +114,7 @@ /// -fsyclbin=executable does not imply /// -fsycl-allow-device-image-dependencies, since the resulting bundle /// is fully linked and does not participate in cross-image link. -// RUN: %clangxx -fsyclbin=executable --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: %clangxx -fsyclbin=executable --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_DEPS_NOT_IMPLIED // CHECK_DEPS_NOT_IMPLIED-NOT: -sycl-allow-device-image-dependencies @@ -120,12 +122,12 @@ /// -library-compilation in the backend options so symbols stay /// externally visible for runtime cross-image resolution. // RUN: %clangxx -fsyclbin=object -fsycl-targets=intel_gpu_pvc \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_LIBCOMP_IMPLIED // CHECK_LIBCOMP_IMPLIED: -library-compilation // RUN: %clangxx -fsyclbin=executable -fsycl-targets=intel_gpu_pvc \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_LIBCOMP_NOT_IMPLIED // CHECK_LIBCOMP_NOT_IMPLIED-NOT: -library-compilation @@ -146,7 +148,7 @@ /// -fsycl-allow-device-image-dependencies is harmless but pointless, /// so the driver emits a warning. // RUN: %clangxx -fsyclbin=executable -fsycl-allow-device-image-dependencies \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_DEPS_REDUNDANT // CHECK_DEPS_REDUNDANT: warning: '-fsycl-allow-device-image-dependencies' has no effect with '-fsyclbin=executable' @@ -154,7 +156,7 @@ /// building a SYCLBIN. // RUN: %clangxx -fsyclbin=executable -fsycl-targets=intel_gpu_pvc \ // RUN: -fsycl-device-code-split=per_kernel -fsycl-max-parallel-link-jobs=24 \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s -### 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -### 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK_PARALLEL_JOBS // CHECK_PARALLEL_JOBS-NOT: argument unused during compilation: '-fsycl-max-parallel-link-jobs=24' // CHECK_PARALLEL_JOBS: clang-linker-wrapper{{.*}} "--syclbin=executable" diff --git a/clang/test/Driver/sycl-instrumentation-old-model.cpp b/clang/test/Driver/sycl-instrumentation-old-model.cpp index 69fc126047f5..416a60227f60 100644 --- a/clang/test/Driver/sycl-instrumentation-old-model.cpp +++ b/clang/test/Driver/sycl-instrumentation-old-model.cpp @@ -4,13 +4,15 @@ // 1. A SPIR-V-based environment must be targetted // 2. The option must not be explicitly disabled in the Driver call +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // FIXME: Force linux targets to allow for the libraries to be found. Dummy // inputs for --sysroot should be updated to work better for Windows. -// RUN: %clangxx -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-instrument-device-code --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -### %s 2>&1 \ +// RUN: %clangxx -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-instrument-device-code -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -### %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-SPIRV,CHECK-HOST %s // -fno-sycl-device-lib mustn't affect the linkage of ITT libraries -// RUN: %clangxx -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-instrument-device-code --sysroot=%S/Inputs/SYCL --no-offloadlib -fsycl-targets=spir64 -### %s 2>&1 \ +// RUN: %clangxx -target x86_64-unknown-linux-gnu -fsycl --no-offload-new-driver -fsycl-instrument-device-code -ccc-install-dir %{clang_install_dir} --no-offloadlib -fsycl-targets=spir64 -### %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-SPIRV %s // CHECK-SPIRV: "-cc1"{{.*}} "-fsycl-is-device"{{.*}} "-fsycl-instrument-device-code" @@ -24,7 +26,7 @@ // offloading, we still link ITT annotations libraries to ensure ABI // compatibility with previous release. // RUN: %clangxx -fsycl --no-offload-new-driver -fsycl-targets=spir64 -### \ -// RUN: --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-ITT-LINK-ONLY %s // CHECK-ITT-LINK-ONLY-NOT: "-fsycl-instrument-device-code" @@ -32,10 +34,10 @@ // Verify that ITT annotations are not pulled in for non-SPIR-V targets as // well as when device code instrumentation is explicitly turned off. -// RUN: %clangxx -fsycl --no-offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl --no-offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=nvptx64-nvidia-cuda -fno-sycl-libspirv -nocudalib -### %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-NONPASSED %s -// RUN: %clangxx -fsycl --no-offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl --no-offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fno-sycl-instrument-device-code -fsycl-targets=spir64 -### %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-NONPASSED %s // RUN: %clangxx -fsycl --no-offload-new-driver --sysroot=%s/Inputs/SYCL \ diff --git a/clang/test/Driver/sycl-lto.cpp b/clang/test/Driver/sycl-lto.cpp index be16cd54ad4c..cbc792f6120e 100644 --- a/clang/test/Driver/sycl-lto.cpp +++ b/clang/test/Driver/sycl-lto.cpp @@ -1,5 +1,7 @@ // Verify the usage of -foffload-lto with SYCL. +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // Verify we error when using the old offload driver. // RUN: not %clangxx -fsycl -foffload-lto=thin %s -### 2>&1 | FileCheck -check-prefix=CHECK-ERROR %s // CHECK-ERROR: unsupported option '-foffload-lto=thin' for target 'spir64-unknown-unknown' @@ -9,7 +11,7 @@ // CHECK-SPLIT-ERROR: '-fsycl-device-code-split=off' is not supported when '-foffload-lto=thin' is set with '-fsycl' // Verify there's no error and we see the expected cc1 flags and tool invocations with the new offload driver. -// RUN: %clangxx -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -foffload-lto=thin %s -### 2>&1 | \ +// RUN: %clangxx -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -foffload-lto=thin %s -### 2>&1 | \ // RUN: FileCheck -check-prefix=CHECK-SUPPORTED -implicit-check-not=-emit-only-kernels-as-entry-points %s // CHECK-SUPPORTED: clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown" {{.*}} "-flto=thin" "-flto-unit" // CHECK-SUPPORTED: sycl-post-link diff --git a/clang/test/Driver/sycl-offload-new-driver.cpp b/clang/test/Driver/sycl-offload-new-driver.cpp index b316c539bd17..0178d0f709d9 100644 --- a/clang/test/Driver/sycl-offload-new-driver.cpp +++ b/clang/test/Driver/sycl-offload-new-driver.cpp @@ -1,4 +1,7 @@ // REQUIRES: system-linux + +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// Verify --offload-new-driver option phases // RUN: %clang --target=x86_64-unknown-linux-gnu -fsycl -fsycl-targets=nvptx64-nvidia-cuda,spir64 --offload-new-driver -ccc-print-phases %s 2>&1 \ // RUN: | FileCheck -check-prefix=OFFLOAD-NEW-DRIVER %s @@ -23,7 +26,7 @@ // OFFLOAD-NEW_DRIVER: 18: clang-linker-wrapper, {17}, image, (host-sycl) /// Check the toolflow for SYCL compilation using new offload model -// RUN: %clangxx -### --target=x86_64-unknown-linux-gnu -fsycl -fsycl-targets=spir64 --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck -check-prefix=CHK-FLOW %s +// RUN: %clangxx -### --target=x86_64-unknown-linux-gnu -fsycl -fsycl-targets=spir64 --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck -check-prefix=CHK-FLOW %s // CHK-FLOW: clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown" "-aux-triple" "x86_64-unknown-linux-gnu" "-fsycl-is-device" {{.*}} "-fsycl-int-header=[[HEADER:.*]].h" "-fsycl-int-footer=[[FOOTER:.*]].h" {{.*}} "-o" "[[CC1DEVOUT:.*]]" "-x" "c++" "[[INPUT:.*]]" // CHK-FLOW-NEXT: llvm-offload-binary{{.*}} "-o" "[[PACKOUT:.*]]" "--image=file=[[CC1DEVOUT]],triple=spir64-unknown-unknown,arch=generic,kind=sycl{{.*}}" // CHK-FLOW-NEXT: clang{{.*}} "-cc1" "-triple" "x86_64-unknown-linux-gnu"{{.*}} "-fsycl-is-host"{{.*}} "-include-internal-header" "[[HEADER]].h" "-dependency-filter" "[[HEADER]].h" {{.*}} "-include-internal-footer" "[[FOOTER]].h" "-dependency-filter" "[[FOOTER]].h"{{.*}} "-fembed-offload-object=[[PACKOUT]]" {{.*}} "-o" "[[CC1FINALOUT:.*]]" "-x" "c++" "[[INPUT]]" @@ -44,12 +47,12 @@ // SPIRV_OBJ: [[#SPVOBJ+4]]: llvm-spirv, {[[#SPVOBJ+3]]}, spirv, (device-sycl) // SPIRV_OBJ: [[#SPVOBJ+5]]: offload, "device-sycl (spir64-unknown-unknown)" {[[#SPVOBJ+4]]}, {{.*}} -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -Xspirv-translator -translator-opt -### %s 2>&1 \ // RUN: | FileCheck -check-prefix WRAPPER_OPTIONS_TRANSLATOR %s // WRAPPER_OPTIONS_TRANSLATOR: clang-linker-wrapper{{.*}} "--llvm-spirv-options=sycl:spir64-unknown-unknown=-translator-opt" -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -Xdevice-post-link -post-link-opt -### %s 2>&1 \ // RUN: | FileCheck -check-prefix WRAPPER_OPTIONS_POSTLINK %s // WRAPPER_OPTIONS_POSTLINK: clang-linker-wrapper{{.*}} "--sycl-post-link-options=-O2"{{.*}} "--sycl-post-link-options=-device-globals"{{.*}} "--sycl-post-link-options=sycl:spir64-unknown-unknown=-post-link-opt" @@ -68,18 +71,18 @@ // DEVICE_ONLY: 4: offload, "device-sycl (spir64-unknown-unknown)" {3}, none /// check for -shared transmission to clang-linker-wrapper tool -// RUN: %clangxx -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -target x86_64-unknown-linux-gnu \ +// RUN: %clangxx -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -target x86_64-unknown-linux-gnu \ // RUN: -shared %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK_SHARED %s // CHECK_SHARED: clang-linker-wrapper{{.*}} "-shared" // Verify 'arch' offload-packager values for known targets // RUN: %clangxx -### --target=x86_64-unknown-linux-gnu -fsycl \ -// RUN: -fsycl-targets=spir64 --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: -fsycl-targets=spir64 --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK_ARCH \ // RUN: -DTRIPLE=spir64-unknown-unknown -DARCH= %s // RUN: %clangxx -### --target=x86_64-unknown-linux-gnu -fsycl \ -// RUN: -fsycl-targets=intel_gpu_pvc --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: -fsycl-targets=intel_gpu_pvc --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK_ARCH \ // RUN: -DTRIPLE=spir64_gen-unknown-unknown -DARCH=pvc %s // RUN: %clangxx -### --target=x86_64-unknown-linux-gnu -fsycl \ @@ -103,7 +106,7 @@ // RUN: -Xsycl-target-backend=intel_gpu_pvc -spir64_gen-opt \ // RUN: -Xsycl-target-linker=spir64 -spir64-link-opt \ // RUN: -Xsycl-target-linker=intel_gpu_pvc -spir64_gen-link-opt \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK_PACKAGER_OPTS %s // CHK_PACKAGER_OPTS: llvm-offload-binary{{.*}} "-o" // CHK_PACKAGER_OPTS-SAME: {{.*}}triple=spir64-unknown-unknown,arch=generic,kind=sycl,compile-opts={{.*}}-spir64-opt,link-opts=-spir64-link-opt @@ -134,19 +137,19 @@ // MULT_TARG_PHASES: 16: assembler, {15}, object, (host-sycl) /// Test option passing behavior for clang-offload-wrapper options. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -Xsycl-target-backend -backend-opt -### %s 2>&1 \ // RUN: | FileCheck -check-prefix WRAPPER_OPTIONS_BACKEND %s // WRAPPER_OPTIONS_BACKEND: clang-linker-wrapper{{.*}} "--device-compiler=sycl:spir64-unknown-unknown=--jit-compiler-options=-backend-opt" -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -Xsycl-target-linker -link-opt -### %s 2>&1 \ // RUN: | FileCheck -check-prefix WRAPPER_OPTIONS_LINK %s // WRAPPER_OPTIONS_LINK: clang-linker-wrapper{{.*}} "--device-linker=sycl:spir64-unknown-unknown=--jit-linker-options=-link-opt" // Clang's generic LTO mode is forwarded to the wrapper, but must not become // a JIT runtime option. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=spir64 -foffload-lto=full \ // RUN: -Xsycl-target-backend -jit-opt -Xsycl-target-linker -jit-link \ // RUN: -### %s 2>&1 | FileCheck -check-prefix WRAPPER_JIT_LTO %s @@ -156,7 +159,7 @@ // Compilation attaches JIT, GPU AOT, and CPU AOT compiler options to the // object's image properties. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl --offload-new-driver -fsycl-targets=spir64,intel_gpu_pvc,spir64_x86_64 \ // RUN: -g -O0 -ftarget-register-alloc-mode=pvc:large -c -### %s 2>&1 \ // RUN: | FileCheck %s --check-prefix=OBJECT_COMPILE @@ -185,7 +188,7 @@ // OBJECT_LINK-SAME: "--device-linker=sycl:spir64_x86_64-unknown-unknown=--opencl-aot-options=-cpu-link-opt" /// Test option passing behavior for clang-offload-wrapper options for AOT. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=intel_gpu_pvc,spir64_x86_64 \ // RUN: -Xsycl-target-backend=intel_gpu_pvc -backend-gen-opt \ // RUN: -Xsycl-target-backend=spir64_x86_64 -backend-cpu-opt \ @@ -197,7 +200,7 @@ /// AOT targets map backend and linker options to native tool syntax, one /// token per occurrence; a "/" qualifier routes multi-arch GPU options. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=intel_gpu_pvc \ // RUN: -Xsycl-target-backend -opt1 -Xsycl-target-linker -opt2 \ // RUN: -### %s 2>&1 \ @@ -207,7 +210,7 @@ // Clang's generic LTO mode reaches the wrapper, which drops it before // invoking ocloc or opencl-aot. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=intel_gpu_pvc,spir64_x86_64 -foffload-lto=full \ // RUN: -Xsycl-target-linker=intel_gpu_pvc -gpu-link \ // RUN: -Xsycl-target-linker=spir64_x86_64 -cpu-link -### %s 2>&1 \ @@ -219,7 +222,7 @@ /// Two spir64_gen sub-targets on the same triple: each arch's tokens /// carry their own "/" qualifier so options don't cross-contaminate. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=intel_gpu_pvc,intel_gpu_skl \ // RUN: -Xsycl-target-backend=intel_gpu_pvc "-options -extraopt_pvc" \ // RUN: -Xsycl-target-backend=intel_gpu_skl "-options -extraopt_skl" \ @@ -253,16 +256,16 @@ /// Verify the arch value for the packager is populated for intel_gpu_* // RUN: %clangxx -fsycl -### -fsycl-targets=intel_gpu_bdw \ -// RUN: --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix ARCH_CHECK %s // RUN: %clang_cl -fsycl -### -fsycl-targets=intel_gpu_bdw \ -// RUN: --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix ARCH_CHECK %s // ARCH_CHECK: llvm-offload-binary{{.*}} "--image=file={{.*}}triple=spir64_gen-unknown-unknown,arch=bdw,kind=sycl{{.*}}" // Verify for multiple targets with -Xsycl-target-backend= with commas in the values // are passed correctly to llvm-offload-binary. -// RUN: %clangxx -fsycl -### --offload-new-driver --sysroot=%S/Inputs/SYCL -fno-sycl-libspirv \ +// RUN: %clangxx -fsycl -### --offload-new-driver -ccc-install-dir %{clang_install_dir} -fno-sycl-libspirv \ // RUN: -fsycl-targets=nvptx64-nvidia-cuda,amdgcn-amd-amdhsa,intel_gpu_pvc \ // RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx908,gfx1010 \ // RUN: -Xsycl-target-backend=nvptx64-nvidia-cuda --offload-arch=sm_86,sm_87,sm_89 \ @@ -277,7 +280,7 @@ // MULTI_ARCH2-SAME: "--image=file={{.*}}triple=spir64_gen-unknown-unknown,arch=pvc,kind=sycl,compile-opts=-device_options pvc -ze-intel-enable-auto-large-GRF-mode -FOO a,compile-opts=b,link-opts=-DFOO,link-opts=BAR" // Verify that the driver correctly handles link-opt and compile-opt values with commas -// RUN: %clangxx -fsycl -### -fsycl-targets=intel_gpu_bdw --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl -### -fsycl-targets=intel_gpu_bdw --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -Xsycl-target-backend "-FOO a,b" \ // RUN: -Xsycl-target-linker "-BAR x,y" %s 2>&1 \ // RUN: | FileCheck -check-prefix COMMA_OPTS %s @@ -291,18 +294,18 @@ // NVPTX_CUDA_PATH: clang-linker-wrapper{{.*}}--cuda-path={{.*}}Inputs/CUDA_80/usr/local/cuda" /// Check for -sycl-allow-device-image-dependencies transmission to clang-linker-wrapper tool -// RUN: %clangxx -fsycl -### --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl -### --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-allow-device-image-dependencies %s 2>&1 \ // RUN: | FileCheck -check-prefix CHECK_DYNAMIC_LINKING %s // CHECK_DYNAMIC_LINKING: clang-linker-wrapper{{.*}} "-sycl-allow-device-image-dependencies" /// Check that -sycl-allow-device-image-dependencies is not passed to clang-linker-wrapper tool -// RUN: %clangxx -fsycl -### --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl -### --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fno-sycl-allow-device-image-dependencies %s 2>&1 \ // RUN: | FileCheck -check-prefix CHECK_NO_DYNAMIC_LINKING %s /// Check that -sycl-allow-device-image-dependencies is not passed to clang-linker-wrapper tool -// RUN: %clangxx -fsycl -### --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clangxx -fsycl -### --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix CHECK_NO_DYNAMIC_LINKING %s // CHECK_NO_DYNAMIC_LINKING-NOT: clang-linker-wrapper{{.*}} "-sycl-allow-device-image-dependencies" @@ -318,7 +321,7 @@ // CHK-MACRO-GFX90C: clang{{.*}} "-fsycl-is-device"{{.*}} "-D__SYCL_TARGET_AMD_GPU_GFX90C__"{{.*}} /// Check that -sycl-device-link is passed to clang-linker-wrapper tool -// RUN: %clangxx -fsycl -### --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx -fsycl -### --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-link %s 2>&1 \ // RUN: | FileCheck -check-prefix CHECK_SYCL_DEVICE_LINKING %s // CHECK_SYCL_DEVICE_LINKING: clang-linker-wrapper{{.*}} "--sycl-device-link" diff --git a/clang/test/Driver/sycl-offload.cpp b/clang/test/Driver/sycl-offload.cpp index 44adab9a9c2d..5e54218eae9b 100644 --- a/clang/test/Driver/sycl-offload.cpp +++ b/clang/test/Driver/sycl-offload.cpp @@ -4,6 +4,8 @@ // REQUIRES: x86-registered-target +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// ########################################################################### /// Check whether an invalid SYCL target is specified: @@ -25,9 +27,9 @@ /// ########################################################################### /// Check warning for empty -fsycl-targets -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets= %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets= %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-EMPTY-SYCLTARGETS %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets= %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets= %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-EMPTY-SYCLTARGETS %s // CHK-EMPTY-SYCLTARGETS: warning: joined argument expects additional value: '-fsycl-targets=' @@ -53,19 +55,19 @@ // CHK-SYCL-BAD-OPT-VALUE: error: invalid argument 'bad_value' to [[option]]= /// Check no error for -fsycl-targets with good triple -// RUN: %clang -### -fsycl-targets=spir-unknown-unknown -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spir-unknown-unknown -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang -### -fsycl-targets=spir64 -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spir64 -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang_cl -### -fsycl-targets=spir-unknown-unknown -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang_cl -### -fsycl-targets=spir-unknown-unknown -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang -### -fsycl-targets=spirv32-unknown-unknown -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spirv32-unknown-unknown -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang -### -fsycl-targets=spirv64-unknown-unknown -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spirv64-unknown-unknown -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang -### -fsycl-targets=spirv32 -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spirv32 -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s -// RUN: %clang -### -fsycl-targets=spirv64 -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 \ +// RUN: %clang -### -fsycl-targets=spirv64 -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-SYCL-TARGET %s // CHK-SYCL-TARGET-NOT: error: SYCL target is invalid @@ -114,11 +116,11 @@ /// ########################################################################### /// Check -Xsycl-target-frontend= accepts triple aliases -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -Xsycl-target-frontend=spir64 -DFOO %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -Xsycl-target-frontend=spir64 -DFOO %s 2>&1 \ // RUN: | FileCheck -DARCH1=spir64 -check-prefixes=CHK-UNUSED-ARG-WARNING-1,CHK-TARGET-1 %s // CHK-UNUSED-ARG-WARNING-1-NOT: clang{{.*}} warning: argument unused during compilation: '-Xsycl-target-frontend={{.*}} -DFOO' // CHK-TARGET-1: clang{{.*}} "-cc1" "-triple" "[[ARCH1]]-unknown-unknown"{{.*}} "-D" "FOO" -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spirv64 -Xsycl-target-frontend=spirv64 -DFOO %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spirv64 -Xsycl-target-frontend=spirv64 -DFOO %s 2>&1 \ // RUN: | FileCheck -DARCH2=spirv64 -check-prefixes=CHK-UNUSED-ARG-WARNING-2,CHK-TARGET-2 %s // CHK-UNUSED-ARG-WARNING-2-NOT: clang{{.*}} warning: argument unused during compilation: '-Xsycl-target-frontend={{.*}} -DFOO' // CHK-TARGET-2: clang{{.*}} "-cc1" "-triple" "[[ARCH2]]-unknown-unknown"{{.*}} "-D" "FOO" @@ -176,7 +178,7 @@ /// ########################################################################### /// Check the compilation flow to verify that the integrated header is filtered -// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -c %s -### 2>&1 \ +// RUN: %clang -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -c %s -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=CHK-INT-HEADER // CHK-INT-HEADER: clang{{.*}} "-fsycl-is-device"{{.*}} "-fsycl-int-header=[[INPUT1:.+\-header.+\.h]]" "-fsycl-int-footer={{.*}}" // CHK-INT-HEADER: clang{{.*}} "-triple" "x86_64-unknown-linux-gnu" {{.*}} "-include-internal-header" "[[INPUT1]]" "-dependency-filter" "[[INPUT1]]" @@ -239,9 +241,9 @@ /// Check -fsycl-is-device is passed when compiling for the device. /// also check for SPIR-V binary creation -// RUN: %clang -### -no-canonical-prefixes -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ +// RUN: %clang -### -no-canonical-prefixes -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-FSYCL-IS-DEVICE %s -// RUN: %clang_cl -### -no-canonical-prefixes -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ +// RUN: %clang_cl -### -no-canonical-prefixes -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-FSYCL-IS-DEVICE %s // CHK-FSYCL-IS-DEVICE: clang{{.*}} "-fsycl-is-device" {{.*}} "-emit-llvm-bc" {{.*}}.cpp @@ -250,9 +252,9 @@ /// Check -fsycl-is-device and emitting to .spv when compiling for the device /// when using -fsycl-device-obj=spirv -// RUN: %clang -### -fsycl-device-obj=spirv -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ +// RUN: %clang -### -fsycl-device-obj=spirv -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-FSYCL-IS-DEVICE-NO-BITCODE %s -// RUN: %clang_cl -### -fsycl-device-obj=spirv -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ +// RUN: %clang_cl -### -fsycl-device-obj=spirv -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-FSYCL-IS-DEVICE-NO-BITCODE %s // CHK-FSYCL-IS-DEVICE-NO-BITCODE: clang{{.*}} "-fsycl-is-device" {{.*}} "-emit-llvm-bc" {{.*}}.cpp @@ -260,51 +262,51 @@ /// ########################################################################### /// Check for default linking of libsycl.so with -fsycl --offload-new-driver usage -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -implicit-check-not="-lsycl" -check-prefix=CHECK-LD-SYCL %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -implicit-check-not="-lsycl" -check-prefix=CHECK-LD-SYCL %s // CHECK-LD-SYCL: "{{.*}}ld{{(.exe)?}}" // CHECK-LD-SYCL: "{{.*}}libsycl.so" // CHECK-LD-SYCL-SAME: "{{.*}}libsycl-devicelib-host.a" /// Check no SYCL runtime is linked with -nolibsycl -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -nolibsycl -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LD-NOLIBSYCL %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nolibsycl -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LD-NOLIBSYCL %s // CHECK-LD-NOLIBSYCL: "{{.*}}ld{{(.exe)?}}" // CHECK-LD-NOLIBSYCL-NOT: "libsycl.so" /// Check no SYCL runtime is linked with -nostdlib -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -nostdlib -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LD-NOSTDLIB %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nostdlib -target x86_64-unknown-linux-gnu %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LD-NOSTDLIB %s // CHECK-LD-NOSTDLIB: "{{.*}}ld{{(.exe)?}}" // CHECK-LD-NOSTDLIB-NOT: "libsycl.so" /// Check for default linking of syclN.lib with -fsycl --offload-new-driver usage -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL %s -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL-CL %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL %s +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL-CL %s // CHECK-LINK-SYCL-CL: "--dependent-lib=sycl{{[0-9]*}}" // CHECK-LINK-SYCL-CL-NOT: "-defaultlib:sycl{{[0-9]*}}.lib" // CHECK-LINK-SYCL: "-defaultlib:sycl{{[0-9]*}}.lib" /// Check no SYCL runtime is linked with -nolibsycl -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -nolibsycl -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOLIBSYCL %s -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -nolibsycl %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOLIBSYCL-CL %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nolibsycl -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOLIBSYCL %s +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nolibsycl %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOLIBSYCL-CL %s // CHECK-LINK-NOLIBSYCL-CL-NOT: "--dependent-lib=sycl{{[0-9]*}}" // CHECK-LINK-NOLIBSYCL: "{{.*}}link{{(.exe)?}}" // CHECK-LINK-NOLIBSYCL-NOT: "-defaultlib:sycl{{[0-9]*}}.lib" /// Check SYCL runtime is linked despite -nostdlib on Windows, this is /// necessary for the Windows Clang CMake to work -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -nostdlib -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOSTDLIB %s -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -nostdlib %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOSTDLIB-CL %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nostdlib -target x86_64-unknown-windows-msvc %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOSTDLIB %s +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -nostdlib %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-NOSTDLIB-CL %s // CHECK-LINK-NOSTDLIB-CL: "--dependent-lib=sycl{{[0-9]*}}" // CHECK-LINK-NOSTDLIB: "{{.*}}link{{(.exe)?}}" // CHECK-LINK-NOSTDLIB: "-defaultlib:sycl{{[0-9]*}}.lib" /// Check sycld.lib is chosen with /MDd -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /MDd %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL-DEBUG %s +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /MDd %s -o %t -### 2>&1 | FileCheck -check-prefix=CHECK-LINK-SYCL-DEBUG %s /// Check sycld is pulled in when msvcrtd is used -// RUN: %clangxx -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Xclang --dependent-lib=msvcrtd \ +// RUN: %clangxx -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Xclang --dependent-lib=msvcrtd \ // RUN: -target x86_64-unknown-windows-msvc -### %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK-LINK-SYCL-DEBUG %s /// Check sycld.lib is pulled in with -fms-runtime-lib=dll_dbg -// RUN: %clangxx -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fms-runtime-lib=dll_dbg \ +// RUN: %clangxx -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fms-runtime-lib=dll_dbg \ // RUN: -target x86_64-unknown-windows-msvc -### %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK-LINK-SYCL-DEBUG %s // CHECK-LINK-SYCL-DEBUG: "--dependent-lib=sycl{{[0-9]*}}d" @@ -312,7 +314,7 @@ /// Only a single instance of sycld should be pulled in when both the /// -Xclang --dependent-lib=msvcrtd and -fms-runtime-lib=dll_dbg is used. -// RUN: %clangxx -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fms-runtime-lib=dll_dbg -Xclang \ +// RUN: %clangxx -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fms-runtime-lib=dll_dbg -Xclang \ // RUN: --dependent-lib=msvcrtd --target=x86_64-unknown-windows-msvc -### %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK-LINK-SYCLD %s // CHECK-LINK-SYCLD: "--dependent-lib=sycl{{[0-9]*}}d" @@ -321,73 +323,73 @@ /// ########################################################################### /// Check -Xsycl-target-frontend does not trigger an error when no -fsycl-targets is specified -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Xsycl-target-frontend -DFOO %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Xsycl-target-frontend -DFOO %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-NO-FSYCL-TARGET-ERROR %s // CHK-NO-FSYCL-TARGET-ERROR-NOT: clang{{.*}} error: cannot deduce implicit triple value for '-Xsycl-target-frontend', specify triple using '-Xsycl-target-frontend=' /// ########################################################################### -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-OPTS %s // CHK-TOOLS-OPTS: clang-linker-wrapper{{.*}} "--device-compiler=sycl:spir64-unknown-unknown=--jit-compiler-options=-DFOO1" "--device-compiler=sycl:spir64-unknown-unknown=--jit-compiler-options=-DFOO2" /// Check for implied options (-g -O0) -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown -g -O0 -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown -g -O0 -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown -Zi -Od -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown -Zi -Od -Xsycl-target-backend "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS %s // CHK-TOOLS-IMPLIED-OPTS: llvm-offload-binary{{.*}} {{.*}}compile-opts=-g{{.*}}-DFOO1 -DFOO2" /// Check for implied options (-O0) -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -O0 %s 2>&1 \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -O0 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-O0 %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown -Od %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown -Od %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-O0 %s -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -O0 -O2 %s 2>&1 \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -O0 -O2 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS-O0 %s // CHK-TOOLS-IMPLIED-OPTS-O0-NOT: llvm-offload-binary{{.*}} {{.*}}compile-opts={{.*}}-cl-opt-disable" -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64-unknown-unknown -Xsycl-target-linker "-DFOO1 -DFOO2" %s 2>&1 \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64-unknown-unknown -Xsycl-target-linker "-DFOO1 -DFOO2" %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-TOOLS-OPTS2 %s // CHK-TOOLS-OPTS2: clang-linker-wrapper{{.*}} "--device-linker=sycl:spir64-unknown-unknown=--jit-linker-options=-DFOO1" "--device-linker=sycl:spir64-unknown-unknown=--jit-linker-options=-DFOO2" /// -fsycl-range-rounding settings /// /// // Check that driver flag is passed to cc1 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-range-rounding=disable %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-range-rounding=disable %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-DRIVER-RANGE-ROUNDING-DISABLE %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-range-rounding=force %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-range-rounding=force %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-DRIVER-RANGE-ROUNDING-FORCE %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-range-rounding=on %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-range-rounding=on %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-DRIVER-RANGE-ROUNDING-ON %s // CHK-DRIVER-RANGE-ROUNDING-DISABLE: "-cc1{{.*}}-fsycl-range-rounding=disable" // CHK-DRIVER-RANGE-ROUNDING-FORCE: "-cc1{{.*}}-fsycl-range-rounding=force" // CHK-DRIVER-RANGE-ROUNDING-ON: "-cc1{{.*}}-fsycl-range-rounding=on" /// /// -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=spir64 -O0 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-DISABLE-RANGE-ROUNDING %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -Od %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -Od %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-DISABLE-RANGE-ROUNDING %s -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -O0 -fsycl-range-rounding=force %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-OVERRIDE-RANGE-ROUNDING %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -Od %s 2>&1 -fsycl-range-rounding=force %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Od %s 2>&1 -fsycl-range-rounding=force %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-OVERRIDE-RANGE-ROUNDING %s // CHK-DISABLE-RANGE-ROUNDING: "-fsycl-range-rounding=disable" // CHK-OVERRIDE-RANGE-ROUNDING: "-fsycl-range-rounding=force" // CHK-OVERRIDE-RANGE-ROUNDING-NOT: "-fsycl-range-rounding=disable" -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=spir64 -O2 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-RANGE-ROUNDING %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -O2 %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -O2 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-RANGE-ROUNDING %s -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL \ +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} \ // RUN: -fsycl-targets=spir64 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-RANGE-ROUNDING %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 %s 2>&1 \ +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHK-RANGE-ROUNDING %s // CHK-RANGE-ROUNDING-NOT: "-fsycl-disable-range-rounding" // CHK-RANGE-ROUNDING-NOT: "-fsycl-range-rounding=disable" @@ -471,7 +473,7 @@ // CHK-PHASE-MULTI-TARG-SPIRV-NVIDIA-AMD: 22: clang-linker-wrapper, {21}, image, (host-sycl) /// -fsycl --offload-new-driver with /Fo testing -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /Fosomefile.obj -c %s -### 2>&1 \ +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /Fosomefile.obj -c %s -### 2>&1 \ // RUN: | FileCheck -check-prefix=FO-CHECK %s // FO-CHECK: clang{{.*}} "-fsycl-int-header=[[HEADER:.+\.h]]" "-fsycl-int-footer={{.*}}" // FO-CHECK: clang{{.*}} "-include-internal-header" "[[HEADER]]" {{.*}} "-o" "somefile.obj" @@ -492,41 +494,41 @@ // LIB-NODEVICE: 1: clang-linker-wrapper, {0}, image, (host-sycl) // -std=c++17 check (check all 3 compilations) -// RUN: %clangxx -### -c -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -xc++ %s 2>&1 | FileCheck -check-prefix=CHECK-STD %s -// RUN: %clang_cl -### -c -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -TP %s 2>&1 | FileCheck -check-prefix=CHECK-STD %s +// RUN: %clangxx -### -c -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -xc++ %s 2>&1 | FileCheck -check-prefix=CHECK-STD %s +// RUN: %clang_cl -### -c -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -TP %s 2>&1 | FileCheck -check-prefix=CHECK-STD %s // CHECK-STD: clang{{.*}} "-emit-llvm-bc" {{.*}} "-std=c++17" // CHECK-STD: clang{{.*}} "-emit-obj" {{.*}} "-std=c++17" // -std=c++17 override check -// RUN: %clangxx -### -c -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -std=c++20 -xc++ %s 2>&1 | FileCheck -check-prefix=CHECK-STD-OVR %s -// RUN: %clang_cl -### -c -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /std:c++20 -TP %s 2>&1 | FileCheck -check-prefix=CHECK-STD-OVR %s +// RUN: %clangxx -### -c -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -std=c++20 -xc++ %s 2>&1 | FileCheck -check-prefix=CHECK-STD-OVR %s +// RUN: %clang_cl -### -c -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /std:c++20 -TP %s 2>&1 | FileCheck -check-prefix=CHECK-STD-OVR %s // CHECK-STD-OVR: clang{{.*}} "-emit-llvm-bc" {{.*}} "-std=c++20" // CHECK-STD-OVR: clang{{.*}} "-emit-obj" {{.*}} "-std=c++20" // CHECK-STD-OVR-NOT: clang{{.*}} "-std=c++17" // Check sycl-post-link optimization level. // Default is O2 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 // Common options for %clang and %clang_cl -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -O2 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /O2 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Os %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /Os %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -O2 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O2 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /O2 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Os %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /Os %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os // %clang options -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -O0 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O0 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Ofast %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -O3 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Oz %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Oz -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -Og %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -O0 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O0 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Ofast %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -O3 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Oz %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Oz +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -Og %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 // %clang_cl options -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /Od %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O0 -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /Ot %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /Od %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O0 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /Ot %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O3 // only the last option is considered -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -O2 -O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL /O2 /O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -O2 -O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-O1 +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} /O2 /O1 %s 2>&1 | FileCheck %s -check-prefixes=CHK-POST-LINK-OPT-LEVEL-Os // CHK-POST-LINK-OPT-LEVEL-O0: --sycl-post-link-options=-O2 // CHK-POST-LINK-OPT-LEVEL-O1: --sycl-post-link-options=-O1 // CHK-POST-LINK-OPT-LEVEL-O2: --sycl-post-link-options=-O2 @@ -535,8 +537,8 @@ // CHK-POST-LINK-OPT-LEVEL-Oz: --sycl-post-link-options=-Oz // Verify header search dirs are added with -fsycl -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck %s -check-prefixes=CHECK-HEADER-DIR -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck %s -check-prefixes=CHECK-HEADER-DIR +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck %s -check-prefixes=CHECK-HEADER-DIR +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck %s -check-prefixes=CHECK-HEADER-DIR // CHECK-HEADER-DIR: clang{{.*}} "-fsycl-is-device" // CHECK-HEADER-DIR-SAME: "-internal-isystem" "[[ROOT:[^"]*]]bin{{[/\\]+}}..{{[/\\]+}}include{{[/\\]+}}sycl{{[/\\]+}}stl_wrappers" // CHECK-HEADER-DIR-NOT: -internal-isystem @@ -554,23 +556,23 @@ // CHK-INCOMPATIBILITY: error: invalid argument '[[INCOMPATOPT]]' not allowed with '-fsycl' /// Using -fsyntax-only with -fsycl --offload-new-driver should not emit IR -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsyntax-only %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsyntax-only %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHK-FSYNTAX-ONLY %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-device-only -fsyntax-only %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-device-only -fsyntax-only %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHK-FSYNTAX-ONLY %s // CHK-FSYNTAX-ONLY-NOT: "-emit-llvm-bc" // CHK-FSYNTAX-ONLY: "-fsyntax-only" /// Check for linked sycl lib when using -fpreview-breaking-changes with -fsycl -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fpreview-breaking-changes -target x86_64-unknown-windows-msvc %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-CHECK %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fpreview-breaking-changes %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-CHECK-CL %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fpreview-breaking-changes -target x86_64-unknown-windows-msvc %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-CHECK %s +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fpreview-breaking-changes %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-CHECK-CL %s // FSYCL-PREVIEW-BREAKING-CHANGES-CHECK: -defaultlib:sycl{{[0-9]*}}-preview.lib // FSYCL-PREVIEW-BREAKING-CHANGES-CHECK-NOT: -defaultlib:sycl{{[0-9]*}}.lib // FSYCL-PREVIEW-BREAKING-CHANGES-CHECK-CL: "--dependent-lib=sycl{{[0-9]*}}-preview" /// Check for linked sycl lib when using -fpreview-breaking-changes with -fsycl -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fpreview-breaking-changes -target x86_64-unknown-windows-msvc -Xclang --dependent-lib=msvcrtd %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK %s -// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fpreview-breaking-changes /MDd %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fpreview-breaking-changes -target x86_64-unknown-windows-msvc -Xclang --dependent-lib=msvcrtd %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK %s +// RUN: %clang_cl -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fpreview-breaking-changes /MDd %s 2>&1 | FileCheck -check-prefix FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK %s // FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK: --dependent-lib=sycl{{[0-9]*}}-previewd // FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK-NOT: -defaultlib:sycl{{[0-9]*}}.lib // FSYCL-PREVIEW-BREAKING-CHANGES-DEBUG-CHECK-NOT: -defaultlib:sycl{{[0-9]*}}-preview.lib @@ -588,7 +590,7 @@ /// ########################################################################### /// Check "-aux-target-cpu" and "target-cpu" are passed when compiling for SYCL offload device and host codes: -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -c %s 2>&1 | FileCheck -check-prefix=CHECK-OFFLOAD %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -c %s 2>&1 | FileCheck -check-prefix=CHECK-OFFLOAD %s // CHECK-OFFLOAD: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-device" // CHECK-OFFLOAD-SAME: "-aux-target-cpu" "[[HOST_CPU_NAME:[^ ]+]]" // CHECK-OFFLOAD: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-host" @@ -598,7 +600,7 @@ /// Check "-aux-target-cpu" with "-aux-target-feature" and "-target-cpu" with "-target-feature" are passed /// when compiling for SYCL offload device and host codes: -// RUN: %clang -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -mavx -c %s -### -o %t.o 2>&1 | FileCheck -check-prefix=OFFLOAD-AVX %s +// RUN: %clang -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -mavx -c %s -### -o %t.o 2>&1 | FileCheck -check-prefix=OFFLOAD-AVX %s // OFFLOAD-AVX: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-device" // OFFLOAD-AVX-SAME: "-aux-target-cpu" "[[HOST_CPU_NAME:[^ ]+]]" "-aux-target-feature" "+avx" // OFFLOAD-AVX: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-host" @@ -609,17 +611,17 @@ /// Check that the needed -fsycl --offload-new-driver -fsycl-is-device and -fsycl-is-host options /// are passed to all of the needed compilation steps regardless of final /// phase. -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -c %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -E %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -S %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -c %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -E %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -S %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck -check-prefix=CHECK-OPTS %s // CHECK-OPTS: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-device" // CHECK-OPTS: clang{{.*}} "-cc1" {{.*}} "-fsycl-is-host" /// ########################################################################### /// Check that -fcoverage-mapping is disabled for device -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fprofile-instr-generate -fcoverage-mapping -target x86_64-unknown-linux-gnu -c %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fprofile-instr-generate -fcoverage-mapping -target x86_64-unknown-linux-gnu -c %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK_COVERAGE_MAPPING %s // CHECK_COVERAGE_MAPPING: clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown"{{.*}} "-fsycl-is-device"{{.*}} // CHECK_COVERAGE_MAPPING-NOT: "-fprofile-instrument=clang" @@ -629,7 +631,7 @@ /// ########################################################################### /// Check that -fprofile-arcs -ftest-coverage is disabled for device -// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fprofile-arcs -ftest-coverage -target x86_64-unknown-linux-gnu -c %s 2>&1 \ +// RUN: %clang -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fprofile-arcs -ftest-coverage -target x86_64-unknown-linux-gnu -c %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK_TEST_COVERAGE %s // CHECK_TEST_COVERAGE: clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown"{{.*}} "-fsycl-is-device"{{.*}} // CHECK_TEST_COVERAGE-NOT: "-coverage-notes-file={{.*}}" @@ -638,7 +640,7 @@ /// ########################################################################### /// -S -emit-llvm should generate IR for device. -// RUN: %clangxx -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -S -emit-llvm %s 2>&1 \ +// RUN: %clangxx -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -S -emit-llvm %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK_S_LLVM %s // CHECK_S_LLVM: clang{{.*}} "-fsycl-is-device"{{.*}} "-emit-llvm-bc" // CHECK_S_LLVM: llvm-offload-binary{{.*}} @@ -647,9 +649,9 @@ /// ########################################################################### // RUN: touch %t_empty.o -// RUN: %clangxx -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -target x86_64-unknown-linux-gnu -fsycl-targets=spir64_x86_64 %t_empty.o %s 2>&1 \ +// RUN: %clangxx -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -target x86_64-unknown-linux-gnu -fsycl-targets=spir64_x86_64 %t_empty.o %s 2>&1 \ // RUN: | FileCheck -check-prefix DEFAULT_LINK %s -// RUN: %clangxx -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -target x86_64-unknown-linux-gnu -fsycl-targets=intel_gpu_pvc %t_empty.o %s 2>&1 \ +// RUN: %clangxx -### -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -target x86_64-unknown-linux-gnu -fsycl-targets=intel_gpu_pvc %t_empty.o %s 2>&1 \ // RUN: | FileCheck -check-prefix DEFAULT_LINK %s // DEFAULT_LINK: clang-linker-wrapper{{.*}} @@ -676,7 +678,7 @@ /// ########################################################################### /// Check -fsycl-targets=spir64 enables addition of -ffine-grained-bitfield-accesses option -// RUN: %clangxx -### -fsycl-device-only --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck -check-prefixes=CHECK_BITFIELD_OPTION %s +// RUN: %clangxx -### -fsycl-device-only --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck -check-prefixes=CHECK_BITFIELD_OPTION %s // CHECK_BITFIELD_OPTION: clang{{.*}} "-ffine-grained-bitfield-accesses" /// ########################################################################### @@ -694,23 +696,23 @@ /// ########################################################################### /// Check if the clang with fsycl adds C++ libraries to the link line -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL %s 2>&1 | FileCheck -check-prefix=CHECK-FSYCL-WITH-CLANG %s +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} %s 2>&1 | FileCheck -check-prefix=CHECK-FSYCL-WITH-CLANG %s // CHECK-FSYCL-WITH-CLANG: "-lstdc++" /// ########################################################################### /// Check for correct handling of -fsycl-fp64-conv-emu option for different targets -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_WARNING %s +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_WARNING %s // CHECK_WARNING: warning: '-fsycl-fp64-conv-emu' option is supported only for AOT compilation of Intel GPUs. It will be ignored for other targets [-Wunused-command-line-argument] -// RUN: %clang -### -Wno-unused-command-line-argument -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=spir64 -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_NO_WARNING %s +// RUN: %clang -### -Wno-unused-command-line-argument -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=spir64 -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_NO_WARNING %s // CHECK_NO_WARNING-NOT: warning: '-fsycl-fp64-conv-emu' option is supported only for AOT compilation of Intel GPUs. It will be ignored for other targets [-Wunused-command-line-argument] -// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-targets=intel_gpu_pvc -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_FSYCL_FP64_CONV_EMU %s +// RUN: %clang -### -target x86_64-unknown-linux-gnu -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=intel_gpu_pvc -fsycl-fp64-conv-emu %s 2>&1 | FileCheck -check-prefix=CHECK_FSYCL_FP64_CONV_EMU %s // CHECK_FSYCL_FP64_CONV_EMU-NOT: clang{{.*}} "-cc1" "-triple x86_64-unknown-linux-gnu" {{.*}} "-fsycl-fp64-conv-emu" // CHECK_FSYCL_FP64_CONV_EMU-DAG: clang{{.*}} "-cc1" "-triple" "spir64_gen{{.*}}" "-fsycl-fp64-conv-emu" // CHECK_FSYCL_FP64_CONV_EMU-DAG: llvm-offload-binary{{.*}} "--image=file={{.*}}.bc,triple=spir64_gen-unknown-unknown,arch=pvc,kind=sycl,compile-opts={{.*}}-options -ze-fp64-gen-conv-emu{{.*}}" -// RUN: %clang_cl -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL -fsycl-targets=intel_gpu_pvc %s -fsycl-fp64-conv-emu -### 2>&1 \ +// RUN: %clang_cl -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-targets=intel_gpu_pvc %s -fsycl-fp64-conv-emu -### 2>&1 \ // RUN: | FileCheck %s -check-prefixes=CHECK_FSYCL_FP64_CONV_EMU_WIN // CHECK_FSYCL_FP64_CONV_EMU_WIN-NOT: clang{{.*}} "-cc1" "-triple x86_64-unknown-linux-gnu" {{.*}} "-fsycl-fp64-conv-emu" // CHECK_FSYCL_FP64_CONV_EMU_WIN-DAG: clang{{.*}} "-cc1" "-triple" "spir64_gen{{.*}}" "-fsycl-fp64-conv-emu" diff --git a/clang/test/Driver/sycl-option-ownership.cpp b/clang/test/Driver/sycl-option-ownership.cpp index 963af2f8eb24..a6f5a8f3f8a8 100644 --- a/clang/test/Driver/sycl-option-ownership.cpp +++ b/clang/test/Driver/sycl-option-ownership.cpp @@ -1,7 +1,9 @@ // Compiler-owned options are serialized once, during compilation. Link // orchestration interprets the full context but emits only linker options. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=spir64 \ // RUN: -g -O0 -ftarget-register-alloc-mode=pvc:large \ // RUN: -foffload-fp32-prec-div -foffload-fp32-prec-sqrt -ftarget-compile-fast \ @@ -9,7 +11,7 @@ // RUN: --implicit-check-not=unused-command-line-argument // Compile-only invocations retain the same compiler options. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=spir64 -c \ // RUN: -g -O0 -ftarget-register-alloc-mode=pvc:large \ // RUN: -foffload-fp32-prec-div -foffload-fp32-prec-sqrt -ftarget-compile-fast \ @@ -17,7 +19,7 @@ // RUN: --implicit-check-not=unused-command-line-argument // Mixed source/object links do not regenerate compiler options either. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=spir64 \ // RUN: -g -O0 -ftarget-register-alloc-mode=pvc:large \ // RUN: -foffload-fp32-prec-div -foffload-fp32-prec-sqrt -ftarget-compile-fast \ @@ -78,7 +80,7 @@ // INVALID_GRF-NOT: error: unsupported argument 'pvc:invalid' to option '-ftarget-register-alloc-mode=' // Defaults belong to compilation too (including PVC's default GRF setting). -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=spir64 \ // RUN: -### %s 2>&1 | FileCheck %s --check-prefix=LINK // RUN: %clangxx --target=x86_64-unknown-linux-gnu \ @@ -93,7 +95,7 @@ // AOT and multiple-target invocations use the same ownership rules. Full // interpretation still includes fp64 emulation, which is not in the generic // Clang compiler-option allowlist. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=spir64,intel_gpu_pvc \ // RUN: -g -O0 -fsycl-fp64-conv-emu \ // RUN: -foffload-fp32-prec-div -foffload-fp32-prec-sqrt -ftarget-compile-fast \ @@ -113,7 +115,7 @@ // EXPLICIT-SAME: --jit-linker-options=-link-opt // Exporting symbols is a linker option, not a packaging option. -// RUN: %clangxx --target=x86_64-unknown-linux-gnu --sysroot=%S/Inputs/SYCL \ +// RUN: %clangxx --target=x86_64-unknown-linux-gnu -ccc-install-dir %{clang_install_dir} \ // RUN: --offload-new-driver -fsycl -fsycl-targets=intel_gpu_pvc \ // RUN: -ftarget-export-symbols -### %s 2>&1 \ // RUN: | FileCheck %s --check-prefix=EXPORT diff --git a/clang/test/Driver/sycl-spirv-obj.cpp b/clang/test/Driver/sycl-spirv-obj.cpp index b79f7e9b9bae..2030f43d5134 100644 --- a/clang/test/Driver/sycl-spirv-obj.cpp +++ b/clang/test/Driver/sycl-spirv-obj.cpp @@ -2,8 +2,10 @@ /// Tests for SPIR-V related objects /// +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// -fsycl-device-obj=spirv -// RUN: %clangxx -target x86_64-unknown-linux-gnu -c -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL -fsycl-device-obj=spirv -### %s 2>&1 | \ +// RUN: %clangxx -target x86_64-unknown-linux-gnu -c -fsycl --offload-new-driver -ccc-install-dir %{clang_install_dir} -fsycl-device-obj=spirv -### %s 2>&1 | \ // RUN: FileCheck %s -check-prefix SPIRV_DEVICE_OBJ // SPIRV_DEVICE_OBJ: clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown" // SPIRV_DEVICE_OBJ-SAME: "-aux-triple" "x86_64-unknown-linux-gnu" From eb884a9146b62d74ecced4fe895e5c1d9a0296e4 Mon Sep 17 00:00:00 2001 From: Jin Date: Fri, 23 Oct 2026 12:37:10 +0800 Subject: [PATCH 2/4] update sycl-device-lib-win and no-rdc-win Signed-off-by: Jin --- clang/test/Driver/sycl-device-lib-win.cpp | 10 ++++++---- clang/test/Driver/sycl-no-rdc-win.cpp | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/clang/test/Driver/sycl-device-lib-win.cpp b/clang/test/Driver/sycl-device-lib-win.cpp index 62625a49cdd1..fc05b0cbbdd4 100644 --- a/clang/test/Driver/sycl-device-lib-win.cpp +++ b/clang/test/Driver/sycl-device-lib-win.cpp @@ -8,10 +8,12 @@ /// compiler-rt builtins library (libclang_rt.builtins.bc). // DEFINE: %{resource_dir} = %/S/Inputs/SYCL/lib/clang/resource_dir +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + /// ########################################################################### /// test behavior of device library default link -// RUN: %clangxx -fsycl %s --sysroot=%S/Inputs/SYCL -resource-dir=%{resource_dir} -### 2>&1 \ +// RUN: %clangxx -fsycl %s -ccc-install-dir %{clang_install_dir} -resource-dir=%{resource_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_LINK_DEFAULT // SYCL_DEVICE_LIB_LINK_DEFAULT: llvm-link{{.*}} "{{.*}}lib\\libsycl-crt.bc" // SYCL_DEVICE_LIB_LINK_DEFAULT-SAME: "{{.*}}lib\\libsycl-cmath.bc" @@ -21,7 +23,7 @@ /// ########################################################################### /// test behavior of disabling all device libraries -// RUN: %clangxx -fsycl %s --no-offloadlib --sysroot=%S/Inputs/SYCL -### 2>&1 \ +// RUN: %clangxx -fsycl %s --no-offloadlib -ccc-install-dir %{clang_install_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_LINK_NO_DEVICE_LIB // SYCL_DEVICE_LIB_LINK_NO_DEVICE_LIB: {{.*}}clang{{.*}} "-cc1" "-triple" "spir64-unknown-unknown" // SYCL_DEVICE_LIB_LINK_NO_DEVICE_LIB-NOT: libsycl-cmath.bc @@ -29,9 +31,9 @@ /// ########################################################################### /// test llvm-link behavior for linking device libraries -// RUN: %clangxx -fsycl %s --sysroot=%S/Inputs/SYCL -resource-dir=%{resource_dir} -### 2>&1 \ +// RUN: %clangxx -fsycl %s -ccc-install-dir %{clang_install_dir} -resource-dir=%{resource_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL_LLVM_LINK_DEVICE_LIB -// RUN: %clangxx -fsycl -save-temps %s --sysroot=%S/Inputs/SYCL -resource-dir=%{resource_dir} -### 2>&1 \ +// RUN: %clangxx -fsycl -save-temps %s -ccc-install-dir %{clang_install_dir} -resource-dir=%{resource_dir} -### 2>&1 \ // RUN: | FileCheck %s -check-prefix=SYCL_LLVM_LINK_DEVICE_LIB // SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "{{.*}}.bc" "-o" "{{.*}}.bc" "--suppress-warnings" // SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "--only-needed" diff --git a/clang/test/Driver/sycl-no-rdc-win.cpp b/clang/test/Driver/sycl-no-rdc-win.cpp index d81812936d7f..085c9cc1b1e8 100644 --- a/clang/test/Driver/sycl-no-rdc-win.cpp +++ b/clang/test/Driver/sycl-no-rdc-win.cpp @@ -5,10 +5,12 @@ /// compiler-rt builtins library (libclang_rt.builtins.bc). // DEFINE: %{resource_dir} = %/S/Inputs/SYCL/lib/clang/resource_dir +// DEFINE: %{clang_install_dir} = %/S/Inputs/SYCL/bin + // RUN: touch %t1.cpp // RUN: touch %t2.cpp -// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-instrument-device-code --sysroot=%S/Inputs/SYCL -resource-dir=%{resource_dir} %t1.cpp %t2.cpp 2>&1 -ccc-print-phases | FileCheck %s -// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-instrument-device-code /clang:--sysroot=%S/Inputs/SYCL -resource-dir=%{resource_dir} %t1.cpp %t2.cpp 2>&1 -ccc-print-phases | FileCheck %s +// RUN: %clang -### -fsycl -fno-sycl-rdc -fsycl-instrument-device-code -ccc-install-dir %{clang_install_dir} -resource-dir=%{resource_dir} %t1.cpp %t2.cpp 2>&1 -ccc-print-phases | FileCheck %s +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -fsycl-instrument-device-code -ccc-install-dir %{clang_install_dir} -resource-dir=%{resource_dir} %t1.cpp %t2.cpp 2>&1 -ccc-print-phases | FileCheck %s // CHECK: 2: input, "{{.*}}1.cpp", c++, (device-sycl) // CHECK: 3: preprocessor, {2}, c++-cpp-output, (device-sycl) @@ -36,8 +38,8 @@ // CHECK: 39: clang-offload-wrapper, {38}, object, (device-sycl) // CHECK: 40: offload, "device-sycl (spir64-unknown-unknown)" {39}, object // CHECK: 41: linker, {8, 17, 33, 40}, image, (host-sycl) -// RUN: %clang -### -fsycl -fno-sycl-rdc -c -fsycl-targets=spir64_gen --sysroot=%S/Inputs/SYCL %t1.cpp 2>&1 | FileCheck -check-prefix=CHECK-EARLY %s -// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -c -fsycl-targets=spir64_gen /clang:--sysroot=%S/Inputs/SYCL %t1.cpp 2>&1 | FileCheck -check-prefix=CHECK-EARLY %s +// RUN: %clang -### -fsycl -fno-sycl-rdc -c -fsycl-targets=spir64_gen -ccc-install-dir %{clang_install_dir} %t1.cpp 2>&1 | FileCheck -check-prefix=CHECK-EARLY %s +// RUN: %clang_cl -### -fsycl -fno-sycl-rdc -c -fsycl-targets=spir64_gen -ccc-install-dir %{clang_install_dir} %t1.cpp 2>&1 | FileCheck -check-prefix=CHECK-EARLY %s // CHECK-EARLY: llvm-link{{.*}} // CHECK-EARLY-NOT: -only-needed // CHECK-EARLY: llvm-link{{.*}}-only-needed From c0eee7dd12fd13fd465e9c619251ab2b741df7ba Mon Sep 17 00:00:00 2001 From: jinge90 Date: Fri, 23 Oct 2026 13:12:39 +0800 Subject: [PATCH 3/4] revert unrelated change Signed-off-by: jinge90 --- clang/test/Driver/sycl-c-warn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clang/test/Driver/sycl-c-warn.c b/clang/test/Driver/sycl-c-warn.c index dda7bec280d3..085f64b6da31 100644 --- a/clang/test/Driver/sycl-c-warn.c +++ b/clang/test/Driver/sycl-c-warn.c @@ -1,8 +1,8 @@ // Emit warning for treating 'c' input as 'c++' when -fsycl is used // RUN: %clang -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s -// RUN: %clang -### -fsycl --offload-new-driver --no-offloadlib -fno-sycl-instrument-device-code %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s -// RUN: %clang_cl -### -fsycl --offload-new-driver --no-offloadlib -fno-sycl-instrument-device-code %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s +// RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s +// RUN: %clang_cl -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // FSYCL-CHECK: warning: treating 'c' input as 'c++' when -fsycl is used [-Wexpected-file-type] From 82a1289dae0082f7d4284b9e9129fe99f6b7a32a Mon Sep 17 00:00:00 2001 From: jinge90 Date: Fri, 23 Oct 2026 13:14:18 +0800 Subject: [PATCH 4/4] fix typo Signed-off-by: jinge90 --- clang/test/Driver/sycl-c-warn.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/Driver/sycl-c-warn.c b/clang/test/Driver/sycl-c-warn.c index 085f64b6da31..57c4796f4e3e 100644 --- a/clang/test/Driver/sycl-c-warn.c +++ b/clang/test/Driver/sycl-c-warn.c @@ -2,7 +2,7 @@ // RUN: %clang -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s -// RUN: %clang_cl -### -fsycl --offload-new-driver --sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s +// RUN: %clang_cl -### -fsycl --offload-new-driver /clang:--sysroot=%S/Inputs/SYCL --no-offloadlib %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // RUN: %clang_cl -### -fsycl --no-offload-new-driver %s 2>&1 | FileCheck -check-prefix FSYCL-CHECK %s // FSYCL-CHECK: warning: treating 'c' input as 'c++' when -fsycl is used [-Wexpected-file-type]