[clang] 0ece134 - [Clang][Driver] Enable offloadlib option for clang-cl (#162980)

via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 27 18:10:33 PDT 2025


Author: jinge90
Date: 2025-10-28T09:10:28+08:00
New Revision: 0ece134031c5e442103db25985c4a36b338127bb

URL: https://github.com/llvm/llvm-project/commit/0ece134031c5e442103db25985c4a36b338127bb
DIFF: https://github.com/llvm/llvm-project/commit/0ece134031c5e442103db25985c4a36b338127bb.diff

LOG: [Clang][Driver] Enable offloadlib option for clang-cl (#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 <ge.jin at intel.com>

Added: 
    

Modified: 
    clang/include/clang/Driver/Options.td
    clang/test/Driver/sycl.c

Removed: 
    


################################################################################
diff  --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index bca8b26bc3d30..8784c9d7d206d 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -5980,10 +5980,10 @@ def : Flag<["-"], "nocudainc">, Alias<no_offload_inc>;
 def no_offloadlib
     : Flag<["--"], "no-offloadlib">,
       MarshallingInfoFlag<LangOpts<"NoGPULib">>,
-      Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
-      HelpText<"Do not link device library for CUDA/HIP device compilation">;
+      Visibility<[ClangOption, CC1Option, CLOption, FlangOption, FC1Option]>,
+      HelpText<"Do not link device library for CUDA/HIP/SYCL device compilation">;
 def offloadlib : Flag<["--"], "offloadlib">,
-                 Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
+                 Visibility<[ClangOption, CC1Option, CLOption, FlangOption, FC1Option]>,
                  HelpText<"Link device libraries for GPU device compilation">;
 def : Flag<["-"], "nogpulib">,
       Alias<no_offloadlib>,

diff  --git a/clang/test/Driver/sycl.c b/clang/test/Driver/sycl.c
index 2a672ccf0692d..5c210c8c181da 100644
--- a/clang/test/Driver/sycl.c
+++ b/clang/test/Driver/sycl.c
@@ -25,3 +25,8 @@
 // RUN: %clang_cl -### -fsycl -- %s 2>&1 | FileCheck %s --check-prefix=DEFAULT
 
 // DEFAULT: "-sycl-std=2020"
+
+// RUN: %clang -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
+// RUN: %clangxx -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
+// RUN: %clang_cl -### -fsycl -sycl-std=2017 --no-offloadlib -- %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-OFFLOADLIB
+// CHECK-NO-OFFLOADLIB-NOT: warning: unknown argument ignored in clang-cl: '--no-offloadlib'


        


More information about the cfe-commits mailing list