[PATCH] D129424: [LinkerWrapper] Forward `-mllvm` options to the linker wrapper
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Jul 9 15:17:21 PDT 2022
MaskRay accepted this revision.
MaskRay added a comment.
This revision is now accepted and ready to land.
> This patch adds the ability to use -mllvm options in the linker wrapper when performing bitcode linking or the module compilation. This is done by passing in the LLVM argument to the clang-linker-wrapper ...
The description can be simplified. "This patch adds the ability to " can be simplified as "Add ..." (imperative).
> The actual arguments to the linker wrapper are parsed using the Opt library instead.
It is called `LLVMOption`. You can also refer to it as `llvm/lib/Option`.
> As far as I can tell this is the easiest way to forward arguments to LLVM tool invocations. If there is a better way to pass these arguments (such as through the LTO config) let me know.
This is how `Clang::ConstructJob` handles -mllvm, too.
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:8466
+ // Forward `-mllvm` arguments to the LLVM invocations if present.
+ for (auto *Arg : Args.filtered(options::OPT_mllvm)) {
+ CmdArgs.push_back("-mllvm");
----------------
================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:8467
+ for (auto *Arg : Args.filtered(options::OPT_mllvm)) {
+ CmdArgs.push_back("-mllvm");
+ CmdArgs.push_back(Arg->getValue());
----------------
Add `A->claim();`
================
Comment at: clang/test/Driver/openmp-offload.c:676
+
+// CHK-NEW-DRIVER-MLLVM: clang-linker-wrapper{{.*}}"-abc
----------------
Just add the ending `"`
================
Comment at: clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td:74
+// Arguments for the LLVM backend.
+def mllvm : Separate<["--", "-"], "mllvm">, Flags<[WrapperOnlyOption]>,
+ MetaVarName<"<arg>">, HelpText<"Arguments passed to the LLVM invocation">;
----------------
Just keep `"-"` and remove `"--"`. clang doesn't support --mllvm. There is no need making users choose different spellings.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D129424/new/
https://reviews.llvm.org/D129424
More information about the cfe-commits
mailing list