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