aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Builtins.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@sifive.com>2025-01-03 19:04:13 -0800
committerGitHub <noreply@github.com>2025-01-03 19:04:13 -0800
commita2b9058c392995660956e56c2ac8695a44dc2e4e (patch)
treeccf36cd6c147cb4a5c2e94fb89d9d907187058e7 /clang/lib/Basic/Builtins.cpp
parent7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a (diff)
downloadllvm-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