summaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorDaniel Hoekwater <hoekwater@google.com>2023-08-04 01:16:07 +0000
committerDaniel Hoekwater <hoekwater@google.com>2023-08-28 21:47:57 +0000
commitef1c25eb50502692f343e9ac0b83b52086aa584e (patch)
tree08788429105ad394c001d4f150c9961971e2decf /clang/lib/CodeGen/CodeGenModule.cpp
parent47aca7562abe8de378fdb88160ece9e3fcac24f4 (diff)
[CodeGen][AArch64] Don't split jump table basic blocks
Jump tables on AArch64 are label-relative rather than table-relative, so having jump table destinations that are in different sections causes problems with relocation. Jump table lookups have a max range of 1MB, so all destinations must be in the same section as the lookup code. Both of these restrictions can be mitigated with some careful and complex logic, but doing so doesn't gain a huge performance benefit. Efficiently ensuring jump tables are correct and can be compressed on AArch64 is a TODO item. In the meantime, don't split blocks that can cause problems. Differential Revision: https://reviews.llvm.org/D157124
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions