Skip to content

Commit 10fe786

Browse files
jinge90Lukacma
authored andcommitted
[Clang][Driver] Enable offloadlib option for clang-cl (llvm#162980)
--[no-]offloadlib option is used by rocm and cuda toolchain to enable/disable device libraries in linking phase for device code. It makes sense to re-use this option in SYCL for similar purpose and since clang driver supports SYCL in CL compatibility mode, we also need to enable this option in CL compatibility mode. --------- Signed-off-by: jinge90 <[email protected]>
1 parent b32ed5a commit 10fe786

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

clang/include/clang/Driver/Options.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5980,10 +5980,10 @@ def : Flag<["-"], "nocudainc">, Alias<no_offload_inc>;
59805980
def no_offloadlib
59815981
: Flag<["--"], "no-offloadlib">,
59825982
MarshallingInfoFlag<LangOpts<"NoGPULib">>,
5983-
Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
5984-
HelpText<"Do not link device library for CUDA/HIP device compilation">;
5983+
Visibility<[ClangOption, CC1Option, CLOption, FlangOption, FC1Option]>,
5984+
HelpText<"Do not link device library for CUDA/HIP/SYCL device compilation">;
59855985
def offloadlib : Flag<["--"], "offloadlib">,
5986-
Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
5986+
Visibility<[ClangOption, CC1Option, CLOption, FlangOption, FC1Option]>,
59875987
HelpText<"Link device libraries for GPU device compilation">;
59885988
def : Flag<["-"], "nogpulib">,
59895989
Alias<no_offloadlib>,

clang/test/Driver/sycl.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,8 @@
2525
// RUN: %clang_cl -### -fsycl -- %s 2>&1 | FileCheck %s --check-prefix=DEFAULT
2626

2727
// DEFAULT: "-sycl-std=2020"
28+
29+
// RUN: %clang -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
30+
// RUN: %clangxx -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
31+
// RUN: %clang_cl -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
32+
// CHECK-NO-OFFLOADLIB-NOT: warning: unknown argument ignored in clang-cl: '--no-offloadlib'

0 commit comments

Comments
 (0)