[clang] [HIP] Claim `--offload-compress` for `-M` (PR #133456)
Yaxun Liu via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 2 05:33:23 PDT 2025
https://github.com/yxsamliu updated https://github.com/llvm/llvm-project/pull/133456
>From be4ea80f2431bff0c017df3aef9f260dddfa9ccc Mon Sep 17 00:00:00 2001
From: "Yaxun (Sam) Liu" <yaxun.liu at amd.com>
Date: Fri, 28 Mar 2025 11:30:39 -0400
Subject: [PATCH] [HIP] Claim --offloading-compress for -M
Cmake automatically generate dependency files with all compilation
options provided by users. When users use for
HIP compilation, it causes warnings when cmake generates dependency
files. Claim this option to supress warnings.
---
clang/lib/Driver/ToolChains/Clang.cpp | 6 ++++++
clang/test/Driver/hip-options.hip | 4 ++++
2 files changed, 10 insertions(+)
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp
index 5f45cf0865b9e..a09b158b75b27 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -1026,6 +1026,12 @@ void Clang::AddPreprocessingOptions(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-dependency-file");
CmdArgs.push_back(DepFile);
}
+ // Cmake generates dependency files using all compilation options specified
+ // by users. Claim those not used for dependency files.
+ if (JA.isOffloading(Action::OFK_HIP)) {
+ Args.ClaimAllArgs(options::OPT_offload_compress);
+ Args.ClaimAllArgs(options::OPT_no_offload_compress);
+ }
bool HasTarget = false;
for (const Arg *A : Args.filtered(options::OPT_MT, options::OPT_MQ)) {
diff --git a/clang/test/Driver/hip-options.hip b/clang/test/Driver/hip-options.hip
index 0aabc8ad41904..29d23c1b6c8d9 100644
--- a/clang/test/Driver/hip-options.hip
+++ b/clang/test/Driver/hip-options.hip
@@ -242,3 +242,7 @@
// NO-WARN-ATOMIC: clang{{.*}} "-triple" "amdgcn-amd-amdhsa" {{.*}} "-Werror=atomic-alignment" {{.*}} "-Wno-error=atomic-alignment"
// NO-WARN-ATOMIC-NOT: clang{{.*}} "-triple" "x86_64-unknown-linux-gnu" {{.*}} "-Werror=atomic-alignment"
// NO-WARN-ATOMIC-NOT: clang{{.*}} "-triple" "x86_64-unknown-linux-gnu" {{.*}} "-Wno-error=atomic-alignment"
+
+// Check --offload-compress does not cause warning.
+// RUN: %clang -### -Werror --target=x86_64-unknown-linux-gnu -nogpuinc -nogpulib \
+// RUN: --offload-arch=gfx1100 --offload-compress --offload-host-only -M %s
More information about the cfe-commits
mailing list