/// Tests for SYCL offloading JIT that require Unix commands (rm, ln, mkdir, touch) // These tests require a fake install tree with a symlinked clang so that D.Dir points to a // controlled location, allowing us to place a dummy libLLVMSYCL.so where the driver expects it. // UNSUPPORTED: system-windows, system-cygwin // Check if path to the SYCL RT is passed to clang-linker-wrapper for SYCL compilation. // The test also checks if SYCL header include paths are added to the SYCL host and device compilation. // Check LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON case: library is in lib// // RUN: rm -rf %t && mkdir -p %t/bin %t/lib/x86_64-unknown-linux-gnu // RUN: touch %t/lib/x86_64-unknown-linux-gnu/libLLVMSYCL.so // RUN: ln -s %clang %t/bin/clang // RUN: %t/bin/clang -### -no-canonical-prefixes --target=x86_64-unknown-linux-gnu -fsycl %s 2>&1 \ // RUN: | FileCheck -check-prefixes=CHECK-LSYCL,CHECK-SYCL-HEADERS-HOST,CHECK-SYCL-HEADERS-DEVICE %s // CHECK-SYCL-HEADERS-DEVICE: "-fsycl-is-device"{{.*}} "-internal-isystem" "{{.*}}bin{{[/\\]+}}..{{[/\\]+}}include" // CHECK-SYCL-HEADERS-HOST: "-fsycl-is-host"{{.*}} "-internal-isystem" "{{.*}}bin{{[/\\]+}}..{{[/\\]+}}include" // CHECK-LSYCL: clang-linker-wrapper{{.*}} "{{.*}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}x86_64-unknown-linux-gnu{{[/\\]+}}libLLVMSYCL.so" // Check LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF case: library is in lib/ (no triple subdir) // RUN: rm -rf %t && mkdir -p %t/bin %t/lib // RUN: touch %t/lib/libLLVMSYCL.so // RUN: ln -s %clang %t/bin/clang // RUN: %t/bin/clang -### -no-canonical-prefixes --target=x86_64-unknown-linux-gnu -fsycl %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK-LSYCL-FLAT %s // CHECK-LSYCL-FLAT: clang-linker-wrapper{{.*}} "{{.*}}bin{{[/\\]+}}..{{[/\\]+}}lib{{[/\\]+}}libLLVMSYCL.so" // Check that -nolibsycl suppresses libLLVMSYCL.so from the linker invocation. // RUN: rm -rf %t && mkdir -p %t/bin %t/lib/x86_64-unknown-linux-gnu // RUN: touch %t/lib/x86_64-unknown-linux-gnu/libLLVMSYCL.so // RUN: ln -s %clang %t/bin/clang // RUN: %t/bin/clang -### -no-canonical-prefixes --target=x86_64-unknown-linux-gnu -fsycl -nolibsycl %s 2>&1 \ // RUN: | FileCheck -check-prefix=CHECK-NOLIBSYCL %s // CHECK-NOLIBSYCL-NOT: libLLVMSYCL.so