aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
diff options
context:
space:
mode:
authorJason Eckhardt <jeckhardt@nvidia.com>2024-02-21 21:36:10 -0600
committerGitHub <noreply@github.com>2024-02-22 11:36:10 +0800
commit05af9c83f3a0d154f73d619ac1361eae05531e5e (patch)
treed2631b3a9a516a94c844796ebd24c23adc91926d /lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp
parent7e1432f1258e229a4fcc9c017937166f0578e1f8 (diff)
downloadllvm-05af9c83f3a0d154f73d619ac1361eae05531e5e.zip
llvm-05af9c83f3a0d154f73d619ac1361eae05531e5e.tar.gz
llvm-05af9c83f3a0d154f73d619ac1361eae05531e5e.tar.bz2
[TableGen] Suppress per-HwMode duplicate instructions/tables. (#82567)
Currently, for per-HwMode encoding/decoding, those instructions that do not have a HwMode override are duplicated into the decoder tables for all HwModes. This includes inducing multiple tables for instructions that are otherwise unrelated (e.g., different namespace with no overrides at all). This patch adds support to suppress instruction and table duplicates. TableGen option "-gen-disassembler --suppress-per-hwmode-duplicates" enables the suppression (off by default). For one downstream backend with a complicated ISA and major cross-generation encoding differences, this eliminates ~32000 duplicate table entries at the time of this patch. There are legitimate reasons to suppress or not suppress duplicates. If there are relatively few non-overridden related instructions, it can be convenient to pull them into the per-mode tables (only need to decode the per-mode tables, slightly simpler decode function in disassembler). On the other hand, in some backends, the opposite is true or the size is too large to tolerate any duplication in the first place. We let the user decide which makes sense. This is currently off by default, though there is no reason it couldn't be enabled by default. Any existing backends downstream using the per-HwMode feature will function as before. Turning on the feature requires minor modifications to their disassembler due to more/less tables and naming.
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python/PythonDataObjectsTests.cpp')
0 files changed, 0 insertions, 0 deletions