[clang] [Driver] Forward -v to clang-sycl-linker in SPIRV toolchain (PR #196213)
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)
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)
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)
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
