diff options
author | Craig Topper <craig.topper@sifive.com> | 2025-01-03 19:04:13 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-01-03 19:04:13 -0800 |
commit | a2b9058c392995660956e56c2ac8695a44dc2e4e (patch) | |
tree | ccf36cd6c147cb4a5c2e94fb89d9d907187058e7 /clang/lib/Basic/Builtins.cpp | |
parent | 7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a (diff) | |
download | llvm-a2b9058c392995660956e56c2ac8695a44dc2e4e.zip llvm-a2b9058c392995660956e56c2ac8695a44dc2e4e.tar.gz llvm-a2b9058c392995660956e56c2ac8695a44dc2e4e.tar.bz2 |
[RISCV] Reduce size of CSR lookup tables. NFC (#121606)
Instead of storing 3 different names in each row of the table, use a
separate row for each name and use a flag to indicate what type of name
it is. The AltName and DeprecatedName weren't used often enough to
justify storing them as a possibility for every register.
This reduces the .rodata size by 27k and reduces the number of dynamic
relocations since we now only need 1 lookup by name function. The lookup
by name function each contained a ~400 entry table of const char*
pointing to constant strings. Each of those requires a dynamic
relocation.
I also capitalized IsRV32Only in the C++ code to match coding
standards.
Diffstat (limited to 'clang/lib/Basic/Builtins.cpp')
0 files changed, 0 insertions, 0 deletions