[all-commits] [llvm/llvm-project] dcf016: [TableGen] Optimize intrinsic info type signature ...

Rahul Joshi via All-commits all-commits at lists.llvm.org
Wed Sep 4 14:47:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: dcf0160bd61d150e7b94067fcd991b466a361b08
      https://github.com/llvm/llvm-project/commit/dcf0160bd61d150e7b94067fcd991b466a361b08
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-09-04 (Wed, 04 Sep 2024)

  Changed paths:
    M llvm/benchmarks/CMakeLists.txt
    A llvm/benchmarks/GetIntrinsicInfoTableEntriesBM.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp

  Log Message:
  -----------
  [TableGen] Optimize intrinsic info type signature encoding (#106809)

Change the "fixed encoding" table used for encoding intrinsic
type signature to use 16-bit encoding as opposed to 32-bit.

This results in both space and time improvements. For space,
the total static storage size (in bytes) of this info reduces by 50%:
- Current = 14193*4 (Fixed table) + 16058 + 3 (Long Table) = 72833
- New size = 14193*2 (Fixed table) + 19879 + 3 (Long Table) = 48268.
- Reduction = 50.9%

For time, with the added benchmark, we see a 7.3% speedup in 
`GetIntrinsicInfoTableEntries` benchmark. Actual output of the 
benchmark in included in the GitHub MR.



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