[clang] [compiler-rt] [Driver][SYCL] Add compile-time device library linking for SPIR-V targets (PR #196656)

Nick Sarnie via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 28 07:30:51 PDT 2026


================
@@ -200,3 +209,26 @@ void SYCLToolChain::AddClangCXXStdlibIncludeArgs(const ArgList &Args,
                                                  ArgStringList &CC1Args) const {
   HostTC.AddClangCXXStdlibIncludeArgs(Args, CC1Args);
 }
+
+llvm::SmallVector<ToolChain::BitCodeLibraryInfo, 12>
+SYCLToolChain::getDeviceLibs(
+    const llvm::opt::ArgList &DriverArgs, BoundArch /*BA*/,
+    const Action::OffloadKind /*DeviceOffloadingKind*/) const {
+  if (!getTriple().isSPIROrSPIRV())
+    return {};
+  if (!DriverArgs.hasFlag(options::OPT_offloadlib, options::OPT_no_offloadlib,
+                          true))
+    return {};
+  // -nolibsycl suppresses all SYCL library injection including device libs.
+  if (DriverArgs.hasArg(options::OPT_nolibsycl))
+    return {};
+
+  SmallString<128> BCPath(getDriver().ResourceDir);
+  llvm::sys::path::append(BCPath, "lib", getTriple().str(),
----------------
sarnex wrote:

Got it, thanks

https://github.com/llvm/llvm-project/pull/196656


More information about the cfe-commits mailing list