https://github.com/YixingZhang007 created 
https://github.com/llvm/llvm-project/pull/181600

None

>From f1371bb8f9f6aabff539c1a93ab9ed373c0cf328 Mon Sep 17 00:00:00 2001
From: "yixing.zhang" <[email protected]>
Date: Mon, 16 Feb 2026 06:14:24 +0100
Subject: [PATCH] remove OPT_linker_arg_EQ and OPT_compiler_arg_EQ

---
 .../ClangLinkerWrapper.cpp                    | 23 +++++++++++--------
 .../clang-linker-wrapper/LinkerWrapperOpts.td |  6 -----
 2 files changed, 13 insertions(+), 16 deletions(-)

diff --git a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp 
b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
index 619e539857fc6..fc8ab5b0cdedf 100644
--- a/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+++ b/clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
@@ -585,9 +585,9 @@ Expected<StringRef> clang(ArrayRef<StringRef> InputFiles, 
const ArgList &Args,
     CmdArgs.append({"-Xlinker", Args.MakeArgString("-arch=" + Arch)});
   }
 
-  for (StringRef Arg : Args.getAllArgValues(OPT_linker_arg_EQ))
+  for (StringRef Arg : Args.getAllArgValues(OPT_device_linker_args_EQ))
     CmdArgs.append({"-Xlinker", Args.MakeArgString(Arg)});
-  for (StringRef Arg : Args.getAllArgValues(OPT_compiler_arg_EQ))
+  for (StringRef Arg : Args.getAllArgValues(OPT_device_compiler_args_EQ))
     CmdArgs.push_back(Args.MakeArgString(Arg));
 
   if (Error Err = executeCommands(*ClangPath, CmdArgs))
@@ -873,8 +873,11 @@ bundleLinkedOutput(ArrayRef<OffloadingImage> Images, const 
ArgList &Args,
 DerivedArgList getLinkerArgs(ArrayRef<OffloadFile> Input,
                              const InputArgList &Args) {
   DerivedArgList DAL = DerivedArgList(DerivedArgList(Args));
-  for (Arg *A : Args)
-    DAL.append(A);
+  for (Arg *A : Args) {
+    if (!A->getOption().matches(OPT_device_linker_args_EQ) &&
+        !A->getOption().matches(OPT_device_compiler_args_EQ))
+        DAL.append(A);
+  }
 
   // Set the subarchitecture and target triple for this compilation.
   const OptTable &Tbl = getOptTable();
@@ -898,13 +901,13 @@ DerivedArgList getLinkerArgs(ArrayRef<OffloadFile> Input,
     llvm::Triple TT(Triple);
     // If this isn't a recognized triple then it's an `arg=value` option.
     if (TT.getArch() == Triple::ArchType::UnknownArch)
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_linker_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_linker_args_EQ),
                        Args.MakeArgString(Arg));
     else if (Value.empty())
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_linker_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_linker_args_EQ),
                        Args.MakeArgString(Triple));
     else if (Triple == DAL.getLastArgValue(OPT_triple_EQ))
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_linker_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_linker_args_EQ),
                        Args.MakeArgString(Value));
   }
 
@@ -914,13 +917,13 @@ DerivedArgList getLinkerArgs(ArrayRef<OffloadFile> Input,
     llvm::Triple TT(Triple);
     // If this isn't a recognized triple then it's an `arg=value` option.
     if (TT.getArch() == Triple::ArchType::UnknownArch)
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_compiler_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_compiler_args_EQ),
                        Args.MakeArgString(Arg));
     else if (Value.empty())
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_compiler_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_compiler_args_EQ),
                        Args.MakeArgString(Triple));
     else if (Triple == DAL.getLastArgValue(OPT_triple_EQ))
-      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_compiler_arg_EQ),
+      DAL.AddJoinedArg(nullptr, Tbl.getOption(OPT_device_compiler_args_EQ),
                        Args.MakeArgString(Value));
   }
 
diff --git a/clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td 
b/clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
index ef3a16b2f58bb..8192c71d2c573 100644
--- a/clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
+++ b/clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
@@ -79,12 +79,6 @@ def triple_EQ : Joined<["--"], "triple=">,
 def whole_program : Flag<["--"], "whole-program">,
   Flags<[DeviceOnlyOption, HelpHidden]>,
   HelpText<"LTO has visibility of all input files">;
-def linker_arg_EQ : Joined<["--"], "linker-arg=">,
-  Flags<[DeviceOnlyOption, HelpHidden]>,
-  HelpText<"An extra argument to be passed to the linker">;
-def compiler_arg_EQ : Joined<["--"], "compiler-arg=">,
-  Flags<[DeviceOnlyOption, HelpHidden]>,
-  HelpText<"An extra argument to be passed to the compiler">;
 
 // Arguments for the LLVM backend.
 def mllvm : Separate<["-"], "mllvm">, Flags<[WrapperOnlyOption]>,

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

Reply via email to