[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)
Alexey Bader via cfe-commits
cfe-commits at lists.llvm.org
Wed May 6 17:59:56 PDT 2026
https://github.com/bader created https://github.com/llvm/llvm-project/pull/196213
The SPIRV linker job construction was not forwarding the -v (verbose) flag to clang-sycl-linker when --sycl-link is used. This is limited to the --sycl-link path because the default linker spir-link doesn't support -v flag.
>From 749fae91f02a661b50edb5ddaebc19bf5adad9d8 Mon Sep 17 00:00:00 2001
From: Alexey Bader <alexey.bader at intel.com>
Date: Wed, 6 May 2026 17:18:46 -0700
Subject: [PATCH] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain
The SPIRV linker job construction was not forwarding the -v (verbose)
flag to clang-sycl-linker when --sycl-link is used. This is limited
to the --sycl-link path because the default linker spir-link doesn't
support -v flag.
---
clang/lib/Driver/ToolChains/SPIRV.cpp | 2 ++
clang/test/Driver/sycl-link-spirv-target.cpp | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/clang/lib/Driver/ToolChains/SPIRV.cpp b/clang/lib/Driver/ToolChains/SPIRV.cpp
index f77a1d30507c7..479696d523e90 100644
--- a/clang/lib/Driver/ToolChains/SPIRV.cpp
+++ b/clang/lib/Driver/ToolChains/SPIRV.cpp
@@ -184,6 +184,8 @@ void SPIRV::Linker::ConstructJob(Compilation &C, const JobAction &JA,
// Use of --sycl-link will call the clang-sycl-linker instead of
// the default linker (spirv-link).
Linker = ToolChain.GetProgramPath("clang-sycl-linker");
+ if (Args.hasArg(options::OPT_v))
+ CmdArgs.push_back("-v");
} else if (!llvm::sys::fs::can_execute(Linker) &&
!C.getArgs().hasArg(clang::options::OPT__HASH_HASH_HASH)) {
C.getDriver().Diag(clang::diag::err_drv_no_spv_tools) << getShortName();
diff --git a/clang/test/Driver/sycl-link-spirv-target.cpp b/clang/test/Driver/sycl-link-spirv-target.cpp
index 24206e38ad0a7..d27c59d59b637 100644
--- a/clang/test/Driver/sycl-link-spirv-target.cpp
+++ b/clang/test/Driver/sycl-link-spirv-target.cpp
@@ -9,3 +9,9 @@
// RUN: -Xlinker --device-libs=lib1.bc,lib2.bc %t.bc 2>&1 \
// RUN: | FileCheck %s -check-prefix=XLINKEROPTS
// XLINKEROPTS: "{{.*}}clang-sycl-linker{{.*}}" "-triple=spirv64" "--library-path=/tmp" "--device-libs=lib1.bc,lib2.bc" "{{.*}}.bc" "-o" "a.out"
+
+// Test that -v is forwarded to clang-sycl-linker when --sycl-link is used.
+// RUN: touch %t.bc
+// RUN: %clangxx -### --target=spirv64 --sycl-link -v %t.bc 2>&1 \
+// RUN: | FileCheck %s -check-prefix=VERBOSE
+// VERBOSE: "{{.*}}clang-sycl-linker{{.*}}" {{.*}}"-v"
More information about the cfe-commits
mailing list