Skip to content

Commit 80da6b6

Browse files
authored
[Clang][Test] Remove sycl-bc-device-libraries.cpp's dependency on libspirv files (#20791)
Also add `-fgpu-rdc` to fix `Unknown command line argument '-amdgpu-internalize-symbols'` error when generating %t.amd.o. Closes #20784
1 parent 89a0525 commit 80da6b6

File tree

1 file changed

+23
-11
lines changed

1 file changed

+23
-11
lines changed
Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,31 @@
11
/// Test that SYCL bitcode device libraries are properly separated for NVIDIA and AMD targets.
22

3-
/// Check devicelib and libspirv are linked for nvptx.
3+
/// Check devicelib are linked for nvptx.
44
// RUN: %clang -### -fsycl --offload-new-driver \
5+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
56
// RUN: -fsycl-targets=nvptx64-nvidia-cuda \
67
// RUN: --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \
78
// RUN: %s 2>&1 | FileCheck -check-prefix=CHECK-NVPTX-BC %s
89

910
// RUN: %clang_cl -### -fsycl --offload-new-driver \
11+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
1012
// RUN: -fsycl-targets=nvptx64-nvidia-cuda \
1113
// RUN: --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \
1214
// RUN: %s 2>&1 | FileCheck -check-prefix=CHECK-NVPTX-BC %s
1315

1416
// CHECK-NVPTX-BC: clang-linker-wrapper
15-
// CHECK-NVPTX-BC-SAME: "--bitcode-library=nvptx64-nvidia-cuda={{.*}}devicelib-nvptx64-nvidia-cuda.bc" "--bitcode-library=nvptx64-nvidia-cuda={{.*}}libspirv-nvptx64-nvidia-cuda.bc"
17+
// CHECK-NVPTX-BC-SAME: "--bitcode-library=nvptx64-nvidia-cuda={{.*}}devicelib-nvptx64-nvidia-cuda.bc"
1618

1719
/// Check devicelib is linked for amdgcn.
1820
// RUN: %clang -### -fsycl --offload-new-driver \
21+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
1922
// RUN: -fsycl-targets=amdgcn-amd-amdhsa \
2023
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
2124
// RUN: --rocm-path=%S/Inputs/rocm \
2225
// RUN: %s 2>&1 | FileCheck -check-prefix=CHECK-AMD-BC %s
2326

2427
// RUN: %clang_cl -### -fsycl --offload-new-driver \
28+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
2529
// RUN: -fsycl-targets=amdgcn-amd-amdhsa \
2630
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
2731
// RUN: --rocm-path=%S/Inputs/rocm \
@@ -32,35 +36,42 @@
3236

3337
/// Check linking with multiple targets.
3438
// RUN: %clang -### -fsycl --offload-new-driver \
39+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
3540
// RUN: -fsycl-targets=amdgcn-amd-amdhsa,nvptx64-nvidia-cuda \
3641
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
3742
// RUN: --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \
3843
// RUN: --rocm-path=%S/Inputs/rocm \
3944
// RUN: %s 2>&1 | FileCheck -check-prefix=CHECK-MULTI-TARGET %s
4045

4146
// RUN: %clang_cl -### -fsycl --offload-new-driver \
47+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
4248
// RUN: -fsycl-targets=amdgcn-amd-amdhsa,nvptx64-nvidia-cuda \
4349
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
4450
// RUN: --cuda-path=%S/Inputs/CUDA_102/usr/local/cuda \
4551
// RUN: --rocm-path=%S/Inputs/rocm \
4652
// RUN: %s 2>&1 | FileCheck -check-prefix=CHECK-MULTI-TARGET %s
4753

4854
// CHECK-MULTI-TARGET: clang-linker-wrapper
49-
// CHECK-MULTI-TARGET-SAME: "--bitcode-library=amdgcn-amd-amdhsa={{.*}}devicelib-amdgcn-amd-amdhsa.bc" "--bitcode-library=nvptx64-nvidia-cuda={{.*}}devicelib-nvptx64-nvidia-cuda.bc" "--bitcode-library=nvptx64-nvidia-cuda={{.*}}libspirv-nvptx64-nvidia-cuda.bc"
55+
// CHECK-MULTI-TARGET-SAME: "--bitcode-library=amdgcn-amd-amdhsa={{.*}}devicelib-amdgcn-amd-amdhsa.bc" "--bitcode-library=nvptx64-nvidia-cuda={{.*}}devicelib-nvptx64-nvidia-cuda.bc"
5056

5157
/// Test --bitcode-library with nvptx dummy libraries.
5258
// RUN: %clang -cc1 %s -triple nvptx64-nvidia-cuda -emit-llvm-bc -o %t.nvptx.devicelib.bc
53-
// RUN: %clang -cc1 %s -triple nvptx64-nvidia-cuda -emit-llvm-bc -o %t.nvptx.libspirv.bc
54-
// RUN: %clangxx -fsycl -fsycl-targets=nvptx64-nvidia-cuda --offload-new-driver -c %s -o %t.nvptx.o -nocudalib
55-
// RUN: clang-linker-wrapper --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.libspirv.bc \
59+
// RUN: %clang -cc1 %s -triple nvptx64-nvidia-cuda -emit-llvm-bc -o %t.nvptx.libdummy.bc
60+
// RUN: %clangxx -fsycl -fsycl-targets=nvptx64-nvidia-cuda \
61+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
62+
// RUN: --offload-new-driver -c %s -o %t.nvptx.o -nocudalib
63+
// RUN: clang-linker-wrapper --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.libdummy.bc \
5664
// RUN: --host-triple=x86_64-unknown-linux-gnu --dry-run \
5765
// RUN: --linker-path=/usr/bin/ld %t.nvptx.o -o a.out 2>&1 | FileCheck -check-prefix=CHECK-WRAPPER-NVPTX %s
5866

59-
// CHECK-WRAPPER-NVPTX: llvm-link{{.*}} {{.*}}.nvptx.devicelib.bc {{.*}}.nvptx.libspirv.bc
67+
// CHECK-WRAPPER-NVPTX: llvm-link{{.*}} {{.*}}.nvptx.devicelib.bc {{.*}}.nvptx.libdummy.bc
6068

6169
/// Test --bitcode-library with amdgcn dummy library.
6270
// RUN: %clang -cc1 %s -triple amdgcn-amd-amdhsa -emit-llvm-bc -o %t.amd.devicelib.bc
63-
// RUN: %clangxx -fsycl -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 --offload-new-driver -c %s -o %t.amd.o -nogpulib
71+
// RUN: %clangxx -fsycl -fsycl-targets=amdgcn-amd-amdhsa \
72+
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
73+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
74+
// RUN: --offload-new-driver -c %s -o %t.amd.o -nogpulib -fgpu-rdc
6475
// RUN: clang-linker-wrapper --bitcode-library=amdgcn-amd-amdhsa=%t.amd.devicelib.bc \
6576
// RUN: --host-triple=x86_64-unknown-linux-gnu --dry-run \
6677
// RUN: --linker-path=/usr/bin/ld %t.amd.o -o a.out 2>&1 | FileCheck -check-prefix=CHECK-WRAPPER-AMD %s
@@ -70,10 +81,11 @@
7081
/// Test --bitcode-library with multi-target bc libraries.
7182
// RUN: %clangxx -fsycl -fsycl-targets=amdgcn-amd-amdhsa,nvptx64-nvidia-cuda \
7283
// RUN: -Xsycl-target-backend=amdgcn-amd-amdhsa --offload-arch=gfx900 \
73-
// RUN: --offload-new-driver -c %s -o %t.multi.o -nocudalib -nogpulib
74-
// RUN: clang-linker-wrapper --bitcode-library=amdgcn-amd-amdhsa=%t.amd.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.libspirv.bc \
84+
// RUN: -fno-sycl-libspirv -Wno-unsafe-libspirv-not-linked \
85+
// RUN: --offload-new-driver -c %s -o %t.multi.o -nocudalib -nogpulib -fgpu-rdc
86+
// RUN: clang-linker-wrapper --bitcode-library=amdgcn-amd-amdhsa=%t.amd.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.devicelib.bc --bitcode-library=nvptx64-nvidia-cuda=%t.nvptx.libdummy.bc \
7587
// RUN: --host-triple=x86_64-unknown-linux-gnu --dry-run \
7688
// RUN: --linker-path=/usr/bin/ld %t.multi.o -o a.out 2>&1 | FileCheck -check-prefix=CHECK-WRAPPER-MULTI %s
7789

7890
// CHECK-WRAPPER-MULTI: llvm-link{{.*}} {{.*}}.amd.devicelib.bc
79-
// CHECK-WRAPPER-MULTI: llvm-link{{.*}} {{.*}}.nvptx.devicelib.bc {{.*}}.nvptx.libspirv.bc
91+
// CHECK-WRAPPER-MULTI: llvm-link{{.*}} {{.*}}.nvptx.devicelib.bc {{.*}}.nvptx.libdummy.bc

0 commit comments

Comments
 (0)