diff options
author | Craig Topper <craig.topper@sifive.com> | 2024-04-26 10:32:21 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-26 10:32:21 -0700 |
commit | 451e853e512ba6fca51f0743ffa24d252f7fc633 (patch) | |
tree | 44533022cfbd0bb46034052dc691804eb92bc7aa /llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp | |
parent | 690c929b6c68b4cd0ff314a0a88d3b218d46db2d (diff) | |
download | llvm-451e853e512ba6fca51f0743ffa24d252f7fc633.zip llvm-451e853e512ba6fca51f0743ffa24d252f7fc633.tar.gz llvm-451e853e512ba6fca51f0743ffa24d252f7fc633.tar.bz2 |
[RISCV] Flatten the ImpliedExts table in RISCVISAInfo.cpp (#89975)
Previously we had an individiaul global array of implied extensions for
each extension that needed it. This allowed each array to have a
different length. Then we had a sorted table that stored pointers and
size for the indivual arrays keyed by the extension name.
This patch changes the sorted table to use multiple rows if multiple
extensions are implied. We use equal_range instead of lower_bound to
find all the rows that apply to a given extension.
The CombineIntoExts array was also modified to store only the extension
name that need to be combined. This extension name is looked up in the
implied table to find all the extensions it depends on.
Diffstat (limited to 'llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp')
0 files changed, 0 insertions, 0 deletions