diff options
author | Craig Topper <craig.topper@sifive.com> | 2024-02-13 16:17:50 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-13 16:17:50 -0800 |
commit | f45b9d987dfc5904d4129aa006ab20614b3174e3 (patch) | |
tree | f4565ed464d92673f1baf3912824045cd80d5166 /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | 3647ff159a2f2445c45d9cbb4f8791b5f30da16b (diff) | |
download | llvm-f45b9d987dfc5904d4129aa006ab20614b3174e3.zip llvm-f45b9d987dfc5904d4129aa006ab20614b3174e3.tar.gz llvm-f45b9d987dfc5904d4129aa006ab20614b3174e3.tar.bz2 |
[RISCV] Add canonical ISA string as Module metadata in IR. (#80760)
In an LTO build, we don't set the ELF attributes to indicate what
extensions were compiled with. The target CPU/Attrs in
RISCVTargetMachine do not get set for an LTO build. Each function gets a
target-cpu/feature attribute, but this isn't usable to set ELF attributs
since we wouldn't know what function to use. We can't just once since it
might have been compiler with an attribute likes target_verson.
This patch adds the ISA as Module metadata so we can retrieve it in the
backend. Individual translation units can still be compiled with
different strings so we need to collect the unique set when Modules are
merged.
The backend will need to combine the unique ISA strings to produce a
single value for the ELF attributes. This will be done in a separate
patch.
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions