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
