Author: Joseph Huber
Date: 2025-08-01T07:26:02-05:00
New Revision: 812b982e3642354660103d694e12ceb355c14e2e

URL: 
https://github.com/llvm/llvm-project/commit/812b982e3642354660103d694e12ceb355c14e2e
DIFF: 
https://github.com/llvm/llvm-project/commit/812b982e3642354660103d694e12ceb355c14e2e.diff

LOG: [HIP] Fix compression arguments being passed to linker wrapper (#151591)

Summary:
The new driver's behavior forwards all unrecognized command line
arguments to the host linker. It only knew `--compress` so when
`-compress` was passed it didn't forward it correctly. This patch
changes the spelling because multi word arguments should have two
dashes.

Added: 
    

Modified: 
    clang/lib/Driver/ToolChains/CommonArgs.cpp
    clang/test/Driver/hip-offload-compress-zlib.hip
    clang/test/Driver/hip-offload-compress-zstd.hip

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp 
b/clang/lib/Driver/ToolChains/CommonArgs.cpp
index 0771c7c5c4736..334fcbb5b1eb2 100644
--- a/clang/lib/Driver/ToolChains/CommonArgs.cpp
+++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp
@@ -3014,12 +3014,12 @@ void tools::addOffloadCompressArgs(const 
llvm::opt::ArgList &TCArgs,
                                    llvm::opt::ArgStringList &CmdArgs) {
   if (TCArgs.hasFlag(options::OPT_offload_compress,
                      options::OPT_no_offload_compress, false))
-    CmdArgs.push_back("-compress");
+    CmdArgs.push_back("--compress");
   if (TCArgs.hasArg(options::OPT_v))
-    CmdArgs.push_back("-verbose");
+    CmdArgs.push_back("--verbose");
   if (auto *Arg = TCArgs.getLastArg(options::OPT_offload_compression_level_EQ))
     CmdArgs.push_back(
-        TCArgs.MakeArgString(Twine("-compression-level=") + Arg->getValue()));
+        TCArgs.MakeArgString(Twine("--compression-level=") + Arg->getValue()));
 }
 
 void tools::addMCModel(const Driver &D, const llvm::opt::ArgList &Args,

diff  --git a/clang/test/Driver/hip-offload-compress-zlib.hip 
b/clang/test/Driver/hip-offload-compress-zlib.hip
index 9f542c2053296..f51ab328b5775 100644
--- a/clang/test/Driver/hip-offload-compress-zlib.hip
+++ b/clang/test/Driver/hip-offload-compress-zlib.hip
@@ -14,7 +14,7 @@
 
 // CHECK: clang-offload-bundler{{.*}} -type=bc
 // CHECK-SAME: 
-targets={{.*}}hip-amdgcn-amd-amdhsa-unknown-gfx1100,hip-amdgcn-amd-amdhsa-unknown-gfx1101
-// CHECK-SAME: -compress -verbose -compression-level=9
+// CHECK-SAME: --compress --verbose --compression-level=9
 // CHECK: Compressed bundle format
 
 // Test uncompress of bundled bitcode.
@@ -41,4 +41,4 @@
 
 // CO: clang-offload-bundler{{.*}} "-type=o"
 // CO-SAME: 
-targets={{.*}}hipv4-amdgcn-amd-amdhsa--gfx1100,hipv4-amdgcn-amd-amdhsa--gfx1101
-// CO-SAME: "-compress" "-verbose"
+// CO-SAME: "--compress" "--verbose"

diff  --git a/clang/test/Driver/hip-offload-compress-zstd.hip 
b/clang/test/Driver/hip-offload-compress-zstd.hip
index dfe681feeb647..f91c10f046c2d 100644
--- a/clang/test/Driver/hip-offload-compress-zstd.hip
+++ b/clang/test/Driver/hip-offload-compress-zstd.hip
@@ -14,7 +14,7 @@
 
 // CHECK: clang-offload-bundler{{.*}} -type=bc
 // CHECK-SAME: 
-targets={{.*}}hip-amdgcn-amd-amdhsa-unknown-gfx1100,hip-amdgcn-amd-amdhsa-unknown-gfx1101
-// CHECK-SAME: -compress -verbose -compression-level=9
+// CHECK-SAME: --compress --verbose --compression-level=9
 // CHECK: Compressed bundle format
 
 // Test uncompress of bundled bitcode.
@@ -41,4 +41,16 @@
 
 // CO: clang-offload-bundler{{.*}} "-type=o"
 // CO-SAME: 
-targets={{.*}}hipv4-amdgcn-amd-amdhsa--gfx1100,hipv4-amdgcn-amd-amdhsa--gfx1101
-// CO-SAME: "-compress" "-verbose"
+// CO-SAME: "--compress" "--verbose"
+
+// RUN: rm -rf %t.bc
+// RUN: %clang -### -v --target=x86_64-linux-gnu \
+// RUN:   -x hip --offload-arch=gfx1100 --offload-arch=gfx1101 \
+// RUN:   --offload-new-driver -fgpu-rdc -nogpuinc -nogpulib \
+// RUN:   %S/Inputs/hip_multiple_inputs/a.cu \
+// RUN:   --offload-compress --offload-compression-level=9 \
+// RUN:   --gpu-bundle-output \
+// RUN:   -o %t.bc \
+// RUN: 2>&1 | FileCheck %s --check-prefix=NEWDRIVER
+
+// NEWDRIVER: clang-linker-wrapper{{.*}}"--compress" "--verbose" 
"--compression-level=9"


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to