https://github.com/wenju-he created 
https://github.com/llvm/llvm-project/pull/224179

Propagate the wrapper's verbose flag to the clang subprocess it invokes, like 
assemble() and link() do.
@bader's made this change in our downstream. This PR upstreams the change.

>From 6a6f91a57e680dba5c0cd8b7d971ecfdbe17d821 Mon Sep 17 00:00:00 2001
From: Wenju He <[email protected]>
Date: Thu, 17 Sep 2026 04:00:52 +0200
Subject: [PATCH] [ClangLinkerWrapper] Forward --wrapper-verbose as -v to the
 clang backend invocation

Propagate the wrapper's verbose flag to the clang subprocess it invokes,
like assemble() and link() do.
@bader's made this change in our downstream. This PR upstreams the change.

Co-Authored-By: Claude Sonnet 5 <[email protected]>
---
 .../clang-linker-wrapper/linker-wrapper-verbose.c  | 14 +++++++-------
 .../clang-linker-wrapper/ClangLinkerWrapper.cpp    |  3 +++
 2 files changed, 10 insertions(+), 7 deletions(-)

diff --git 
a/clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c 
b/clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
index 7da80fc9ee41f..381fefab7ff16 100644
--- a/clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
+++ b/clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c
@@ -13,8 +13,8 @@
 // RUN:   --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s 
--check-prefix=OPENMP
 
 // OPENMP: llvm-offload-binary{{.*}} {{.*}}.o 
--image=kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70,file={{.*}}.o 
--image=kind=openmp,triple=amdgcn-amd-amdhsa,arch=gfx90a,file={{.*}}.o
-// OPENMP: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_70
-// OPENMP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx90a
+// OPENMP: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_70{{.*}} -v{{$}}
+// OPENMP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx90a{{.*}} -v{{$}}
 // OPENMP: llvm-offload-binary{{.*}} -o {{.*}}.offload 
--image=file={{.*}}.img,kind=openmp,triple=nvptx64-nvidia-cuda,arch=sm_70
 // OPENMP: llvm-offload-binary{{.*}} -o {{.*}}.offload 
--image=file={{.*}}.img,kind=openmp,triple=amdgcn-amd-amdhsa,arch=gfx90a
 // OPENMP: llvm-offload-wrapper{{.*}} --kind=openmp 
--triple=x86_64-unknown-linux-gnu -o [[BC:.*]].bc {{.*}}.offload {{.*}}.offload
@@ -42,8 +42,8 @@
 // RUN:   --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s 
--check-prefix=CUDA
 
 // CUDA: llvm-offload-binary{{.*}} {{.*}}.o 
--image=kind=cuda,triple=nvptx64-nvidia-cuda,arch=sm_70,file={{.*}}.o 
--image=kind=cuda,triple=nvptx64-nvidia-cuda,arch=sm_52,file={{.*}}.o
-// CUDA: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_70
-// CUDA: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_52
+// CUDA: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_70{{.*}} -v{{$}}
+// CUDA: clang{{.*}} --target=nvptx64-nvidia-cuda -march=sm_52{{.*}} -v{{$}}
 // CUDA: fatbinary{{.*}}--create [[FB:.*]].fatbin 
{{.*}}--image3=kind=elf,sm=70{{.*}}--image3=kind=elf,sm=52
 // CUDA: llvm-offload-wrapper{{.*}} --kind=cuda 
--triple=x86_64-unknown-linux-gnu -o [[BC:.*]].bc [[FB]].fatbin
 // CUDA: clang{{.*}} --no-default-config --target=x86_64-unknown-linux-gnu -c 
-fPIC -o {{.*}}.cuda.image.wrapper{{.*}}.o [[BC]].bc
@@ -59,8 +59,8 @@
 // RUN:   --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s 
--check-prefix=HIP
 
 // HIP: llvm-offload-binary{{.*}} {{.*}}.o 
--image=kind=hip,triple=amdgcn-amd-amdhsa,arch=gfx90a,file={{.*}}.o 
--image=kind=hip,triple=amdgcn-amd-amdhsa,arch=gfx908,file={{.*}}.o
-// HIP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx90a
-// HIP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx908
+// HIP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx90a{{.*}} -v{{$}}
+// HIP: clang{{.*}} --target=amdgcn-amd-amdhsa -mcpu=gfx908{{.*}} -v{{$}}
 // HIP: 
clang-offload-bundler{{.*}}-targets=host-x86_64-unknown-linux-gnu,hip-amdgcn-amd-amdhsa--gfx90a,hip-amdgcn-amd-amdhsa--gfx908{{.*}}-output=[[FB:.*]].hipfb
 // HIP: llvm-offload-wrapper{{.*}} --kind=hip 
--triple=x86_64-unknown-linux-gnu -o [[BC:.*]].bc [[FB]].hipfb
 // HIP: clang{{.*}} --no-default-config --target=x86_64-unknown-linux-gnu -c 
-fPIC -o {{.*}}.hip.image.wrapper{{.*}}.o [[BC]].bc
@@ -76,7 +76,7 @@
 // RUN:   --linker-path=/usr/bin/ld %t.o -o a.out 2>&1 | FileCheck %s 
--check-prefix=SYCL
 
 // SYCL: llvm-offload-binary{{.*}} {{.*}}.o 
--image=kind=sycl,triple=spirv64-unknown-unknown,arch=generic,file={{.*}}.o
-// SYCL: clang{{.*}} --target=spirv64-unknown-unknown {{.*}} --sycl-link{{$}}
+// SYCL: clang{{.*}} --target=spirv64-unknown-unknown {{.*}} --sycl-link 
-v{{$}}
 // SYCL: llvm-offload-wrapper{{.*}} --kind=sycl 
--triple=x86_64-unknown-linux-gnu -o [[BC:.*]].bc {{.*}}.img
 // SYCL: clang{{.*}} --no-default-config --target=x86_64-unknown-linux-gnu -c 
-fPIC -o {{.*}}.sycl.image.wrapper{{.*}}.o [[BC]].bc
 
diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp 
b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
index ec1b824589de9..a7a570658a76a 100644
--- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
@@ -624,6 +624,9 @@ Expected<StringRef> clang(ArrayRef<StringRef> InputFiles, 
const ArgList &Args,
   for (StringRef Arg : Args.getAllArgValues(OPT_compiler_arg_EQ))
     CmdArgs.push_back(Args.MakeArgString(Arg));
 
+  if (Verbose)
+    CmdArgs.push_back("-v");
+
   if (Error Err = executeCommands(*ClangPath, CmdArgs))
     return std::move(Err);
 

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

Reply via email to