[clang] [ClangLinkerWrapper] Forward --wrapper-verbose as -v to the clang backend invocation (PR #224179)

via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 16 19:13:51 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Wenju He (wenju-he)

<details>
<summary>Changes</summary>

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.

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


2 Files Affected:

- (modified) clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper-verbose.c (+7-7) 
- (modified) clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp (+3) 


``````````diff
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);
 

``````````

</details>


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


More information about the cfe-commits mailing list