[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)

2026-05-06 Thread Alexey Bader via cfe-commits

https://github.com/bader closed https://github.com/llvm/llvm-project/pull/196213
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)

2026-05-06 Thread Yury Plyakhin via cfe-commits

https://github.com/YuriPlyakhin approved this pull request.

LGTM

https://github.com/llvm/llvm-project/pull/196213
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)

2026-05-06 Thread via cfe-commits

llvmorg-github-actions[bot] wrote:



@llvm/pr-subscribers-backend-spir-v

@llvm/pr-subscribers-clang-driver

Author: Alexey Bader (bader)


Changes

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.

---
Full diff: https://github.com/llvm/llvm-project/pull/196213.diff


2 Files Affected:

- (modified) clang/lib/Driver/ToolChains/SPIRV.cpp (+2) 
- (modified) clang/test/Driver/sycl-link-spirv-target.cpp (+6) 


``diff
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"

``




https://github.com/llvm/llvm-project/pull/196213
___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)

2026-05-06 Thread Alexey Bader via cfe-commits

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 
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"

___
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits