Skip to content

Commit 780832a

Browse files
authored
[SYCL][Driver] Unify usage of '--only-needed' for SYCL device libraries (#22608)
Although '--only-needed' and '-only-needed' both work, had better unify the usage in all places in SYCL driver. --------- Signed-off-by: jinge90 <ge.jin@intel.com>
1 parent 30eefec commit 780832a

6 files changed

Lines changed: 14 additions & 14 deletions

File tree

clang/lib/Driver/ToolChains/SYCL.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ const char *SYCL::Linker::constructLLVMLinkCommand(
922922
LinkSYCLDeviceLibs =
923923
LinkSYCLDeviceLibs && isSYCLDeviceLib(InputFiles[Idx]);
924924
if (LinkSYCLDeviceLibs) {
925-
Opts.push_back("-only-needed");
925+
Opts.push_back("--only-needed");
926926
}
927927
// Go through the Inputs to the link. When a listfile is encountered, we
928928
// know it is an unbundled generated list.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
// RUN: -Xsycl-target-backend --offload-arch=gfx908 --rocm-path=%S/Inputs/rocm %s 2>&1 \
1111
// RUN: | FileCheck -check-prefix=CHK-ONLY-NEEDED %s
1212

13-
// CHK-ONLY-NEEDED: llvm-link"{{.*}}"-only-needed"{{.*}}"{{.*}}devicelib-amdgcn-amd-amdhsa.bc"{{.*}}
13+
// CHK-ONLY-NEEDED: llvm-link"{{.*}}"--only-needed"{{.*}}"{{.*}}devicelib-amdgcn-amd-amdhsa.bc"{{.*}}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
// RUN: %clangxx -### --cuda-path=%S/Inputs/CUDA/usr/local/cuda -fno-sycl-libspirv --sysroot=%S/Inputs/SYCL \
1010
// RUN: -fsycl -fsycl-targets=nvptx64-nvidia-cuda %s 2>&1 | FileCheck -check-prefix=CHK-ONLY-NEEDED %s
1111

12-
// CHK-ONLY-NEEDED: llvm-link"{{.*}}"-only-needed"{{.*}}"{{.*}}devicelib-nvptx64-nvidia-cuda.bc"{{.*}}
12+
// CHK-ONLY-NEEDED: llvm-link"{{.*}}"--only-needed"{{.*}}"{{.*}}devicelib-nvptx64-nvidia-cuda.bc"{{.*}}

clang/test/Driver/sycl-device-lib-old-model.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
// RUN: %clangxx -fsycl --no-offload-new-driver -fsycl-targets=spir64_x86_64 %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
3232
// RUN: | FileCheck %s -check-prefix=SYCL_LLVM_LINK_DEVICE_LIB
3333
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "{{.*}}.bc" "-o" "{{.*}}.bc" "--suppress-warnings"
34-
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "-only-needed"
34+
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "--only-needed"
3535
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-crt.bc"
3636
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-cmath.bc"
3737
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-imf.bc"
@@ -43,7 +43,7 @@
4343
// RUN: %clangxx -fsycl --no-offload-new-driver libsycl-crt.o --sysroot=%S/Inputs/SYCL -### 2>&1 \
4444
// RUN: | FileCheck %s -check-prefix=SYCL_LLVM_LINK_USER_ONLY_NEEDED
4545
// SYCL_LLVM_LINK_USER_ONLY_NEEDED: llvm-link{{.*}} "{{.*}}.bc" "-o" "{{.*}}.bc" "--suppress-warnings"
46-
// SYCL_LLVM_LINK_USER_ONLY_NEEDED: llvm-link{{.*}} "-only-needed" "{{.*}}" "-o" "{{.*}}.bc" "--suppress-warnings"
46+
// SYCL_LLVM_LINK_USER_ONLY_NEEDED: llvm-link{{.*}} "--only-needed" "{{.*}}" "-o" "{{.*}}.bc" "--suppress-warnings"
4747

4848
/// ###########################################################################
4949
/// test behavior of libsycl-asan.bc linking when -fsanitize=address is available
@@ -65,7 +65,7 @@
6565
// SYCL_DEVICE_LIB_ASAN-SAME: "{{.*}}libsycl-asan.bc"
6666
// SYCL_DEVICE_ASAN_MACRO: "-cc1"
6767
// SYCL_DEVICE_ASAN_MACRO-SAME: "USE_SYCL_DEVICE_ASAN"
68-
// SYCL_DEVICE_ASAN_MACRO: llvm-link{{.*}} "-only-needed"
68+
// SYCL_DEVICE_ASAN_MACRO: llvm-link{{.*}} "--only-needed"
6969
// SYCL_DEVICE_ASAN_MACRO-SAME: "{{.*}}libsycl-asan.bc"
7070

7171
/// ###########################################################################
@@ -133,7 +133,7 @@
133133
// SYCL_DEVICE_LIB_MSAN-SAME: "{{.*}}libsycl-msan.bc"
134134
// SYCL_DEVICE_MSAN_MACRO: "-cc1"
135135
// SYCL_DEVICE_MSAN_MACRO-SAME: "USE_SYCL_DEVICE_MSAN"
136-
// SYCL_DEVICE_MSAN_MACRO: llvm-link{{.*}} "-only-needed"
136+
// SYCL_DEVICE_MSAN_MACRO: llvm-link{{.*}} "--only-needed"
137137
// SYCL_DEVICE_MSAN_MACRO-SAME: "{{.*}}libsycl-msan.bc"
138138

139139
/// ###########################################################################
@@ -148,15 +148,15 @@
148148
// RUN: --sysroot=%S/Inputs/SYCL -Xarch_device -fsanitize=memory -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_MSAN_PVC
149149
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xs "-device 12.60.7" --no-offload-new-driver %s --sysroot=%S/Inputs/SYCL \
150150
// RUN: -Xarch_device -fsanitize=memory -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_MSAN_PVC
151-
// SYCL_DEVICE_LIB_MSAN_PVC: llvm-link{{.*}} "-only-needed" "{{.*}}libsycl-crt.bc"
151+
// SYCL_DEVICE_LIB_MSAN_PVC: llvm-link{{.*}} "--only-needed" "{{.*}}libsycl-crt.bc"
152152
// SYCL_DEVICE_LIB_MSAN_PVC-SAME: "{{.*}}libsycl-msan-pvc.bc"
153153

154154

155155
/// ###########################################################################
156156
/// test behavior of linking libsycl-msan-cpu for CPU target AOT compilation when msan flag is applied.
157157
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 --no-offload-new-driver %s --sysroot=%S/Inputs/SYCL \
158158
// RUN: -Xarch_device -fsanitize=memory -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_MSAN_CPU
159-
// SYCL_DEVICE_LIB_MSAN_CPU: llvm-link{{.*}} "-only-needed" "{{.*}}libsycl-crt.bc"
159+
// SYCL_DEVICE_LIB_MSAN_CPU: llvm-link{{.*}} "--only-needed" "{{.*}}libsycl-crt.bc"
160160
// SYCL_DEVICE_LIB_MSAN_CPU-SAME: "{{.*}}libsycl-msan-cpu.bc"
161161

162162
/// ###########################################################################
@@ -179,7 +179,7 @@
179179
// SYCL_DEVICE_LIB_TSAN-SAME: "{{.*}}libsycl-tsan.bc"
180180
// SYCL_DEVICE_TSAN_MACRO: "-cc1"
181181
// SYCL_DEVICE_TSAN_MACRO-SAME: "USE_SYCL_DEVICE_TSAN"
182-
// SYCL_DEVICE_TSAN_MACRO: llvm-link{{.*}} "-only-needed"
182+
// SYCL_DEVICE_TSAN_MACRO: llvm-link{{.*}} "--only-needed"
183183
// SYCL_DEVICE_TSAN_MACRO-SAME: "{{.*}}libsycl-tsan.bc"
184184

185185
/// ###########################################################################
@@ -194,13 +194,13 @@
194194
// RUN: --sysroot=%S/Inputs/SYCL -Xarch_device -fsanitize=thread -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_TSAN_PVC
195195
// RUN: %clangxx -fsycl -fsycl-targets=spir64_gen -Xs "-device 12.60.7" --no-offload-new-driver %s --sysroot=%S/Inputs/SYCL \
196196
// RUN: -Xarch_device -fsanitize=thread -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_TSAN_PVC
197-
// SYCL_DEVICE_LIB_TSAN_PVC: llvm-link{{.*}} "-only-needed" "{{.*}}libsycl-crt.bc"
197+
// SYCL_DEVICE_LIB_TSAN_PVC: llvm-link{{.*}} "--only-needed" "{{.*}}libsycl-crt.bc"
198198
// SYCL_DEVICE_LIB_TSAN_PVC-SAME: "{{.*}}libsycl-tsan-pvc.bc"
199199

200200

201201
/// ###########################################################################
202202
/// test behavior of linking libsycl-tsan-cpu for CPU target AOT compilation when tsan flag is applied.
203203
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 --no-offload-new-driver %s --sysroot=%S/Inputs/SYCL \
204204
// RUN: -Xarch_device -fsanitize=thread -### 2>&1 | FileCheck %s -check-prefix=SYCL_DEVICE_LIB_TSAN_CPU
205-
// SYCL_DEVICE_LIB_TSAN_CPU: llvm-link{{.*}} "-only-needed" "{{.*}}libsycl-crt.bc"
205+
// SYCL_DEVICE_LIB_TSAN_CPU: llvm-link{{.*}} "--only-needed" "{{.*}}libsycl-crt.bc"
206206
// SYCL_DEVICE_LIB_TSAN_CPU-SAME: "{{.*}}libsycl-tsan-cpu.bc"

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
// RUN: %clangxx -fsycl -save-temps %s --sysroot=%S/Inputs/SYCL -### 2>&1 \
3030
// RUN: | FileCheck %s -check-prefix=SYCL_LLVM_LINK_DEVICE_LIB
3131
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "{{.*}}.bc" "-o" "{{.*}}.bc" "--suppress-warnings"
32-
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "-only-needed"
32+
// SYCL_LLVM_LINK_DEVICE_LIB: llvm-link{{.*}} "--only-needed"
3333
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-crt.bc"
3434
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-cmath.bc"
3535
// SYCL_LLVM_LINK_DEVICE_LIB-SAME: "{{.*}}libsycl-imf.bc"

clang/test/Driver/sycl-instrumentation-old-model.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
// RUN: | FileCheck -check-prefixes=CHECK-SPIRV %s
1515

1616
// CHECK-SPIRV: "-cc1"{{.*}} "-fsycl-is-device"{{.*}} "-fsycl-instrument-device-code"
17-
// CHECK-SPIRV: llvm-link{{.*}} "-only-needed"
17+
// CHECK-SPIRV: llvm-link{{.*}} "--only-needed"
1818
// CHECK-SPIRV-SAME: "{{.*}}libsycl-itt-user-wrappers.bc"
1919
// CHECK-SPIRV-SAME: "{{.*}}libsycl-itt-compiler-wrappers.bc"
2020
// CHECK-SPIRV-SAME: "{{.*}}libsycl-itt-stubs.bc"

0 commit comments

Comments
 (0)