diff options
author | Joel E. Denny <jdenny.ornl@gmail.com> | 2024-07-11 11:41:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-11 11:41:34 -0400 |
commit | 90ccf2187332ff900d46a58a27cb0353577d37cb (patch) | |
tree | 2305a0c5fcc4d6b9c82532656ee86a65e9e5a9c9 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 22a7f6dcc4fc83f80f81722ab9c83b6fa73416f8 (diff) | |
download | llvm-90ccf2187332ff900d46a58a27cb0353577d37cb.zip llvm-90ccf2187332ff900d46a58a27cb0353577d37cb.tar.gz llvm-90ccf2187332ff900d46a58a27cb0353577d37cb.tar.bz2 |
[LinkerWrapper] Extend with usual pass options (#96704)
The goal of this patch is to enable utilizing LLVM plugin passes and
remarks for GPU offload code at link time. Specifically, this patch
extends clang-linker-wrapper's `--offload-opt` (and consequently
`-mllvm`) to accept the various LLVM pass options that tools like opt
usually accept. Those options include `--passes`, `--load-pass-plugin`,
and various remarks options.
Unlike many other LLVM options that are inherited from linked code by
clang-linker-wrapper (e.g., `-pass-remarks` is already implemented in
`llvm/lib/IR/DiagnosticHandler.cpp`), these options are implemented
separately as needed by each tool (e.g., opt, llc). Fortunately, this
patch is able to handle most of the implementation by passing the option
values to `lto::Config`.
For testing plugin support, this patch uses the simple `Bye` plugin from
LLVM core, but that requires several small Clang test suite config
extensions.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions