[all-commits] [llvm/llvm-project] 598ec8: [LLVM][TableGen] Parameterize NumToSkip in Decoder...

Rahul Joshi via All-commits all-commits at lists.llvm.org
Wed Apr 16 13:08:20 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 598ec8ce2d1e5e20b45c56de8972f58a0caeb697
      https://github.com/llvm/llvm-project/commit/598ec8ce2d1e5e20b45c56de8972f58a0caeb697
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2025-04-16 (Wed, 16 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/CMakeLists.txt
    M llvm/test/TableGen/VarLenDecoder.td
    M llvm/test/TableGen/trydecode-emission.td
    M llvm/test/TableGen/trydecode-emission2.td
    M llvm/test/TableGen/trydecode-emission3.td
    M llvm/test/TableGen/trydecode-emission4.td
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter (#135882)

- Add command line option `num-to-skip-size` to parameterize the size of
`NumToSkip` bytes in the decoder table. Default value will be 2, and
targets that need larger size can use 3.
- Keep all existing targets, except AArch64, to use size 2, and change
AArch64 to use size 3 since it run into the "disassembler decoding table
too large" error with size 2.
- Following is a rough reduction in size for the decoder tables by
switching to size 2.

```
Target         Old Size   New Size   % Reduction
================================================
AArch64           153254     153254        0.00
AMDGPU            471566     412805       12.46
ARC                 5724       5061       11.58
ARM                84936      73831       13.07
AVR                 1497       1306       12.76
BPF                 2172       1927       11.28
CSKY               10064       8692       13.63
Hexagon            47967      41965       12.51
Lanai               1108        982       11.37
LoongArch          24446      21621       11.56
MSP430              4200       3716       11.52
Mips               36330      31415       13.53
PPC                31897      28098       11.91
RISCV              37979      32790       13.66
Sparc               8331       7252       12.95
SystemZ            36722      32248       12.18
VE                 48296      42873       11.23
XCore               2590       2316       10.58
Xtensa              3827       3316       13.35
```



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list