[llvm] [TableGen] Optimize intrinsic info type signature encoding (PR #106809)

Rahul Joshi via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 1 07:39:39 PDT 2024


jurahul wrote:

Here's the actual benchmark run results:

```
32-bit$ ./build/benchmarks/DecodeIITFixedEncodingBM --benchmark_repetitions=20 --benchmark_display_aggregates_only
2024-09-01T07:27:27-07:00
Running ./build/benchmarks/DecodeIITFixedEncodingBM
Run on (20 X 2918.4 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x10)
  L1 Instruction 32 KiB (x10)
  L2 Unified 1280 KiB (x10)
  L3 Unified 24576 KiB (x1)
Load Average: 0.38, 0.16, 0.12
---------------------------------------------------------------------------------
Benchmark                                       Time             CPU   Iterations
---------------------------------------------------------------------------------
BM_DecodeIITFixedEncoding_mean              97373 ns        97372 ns           20
BM_DecodeIITFixedEncoding_median            97194 ns        97193 ns           20
BM_DecodeIITFixedEncoding_stddev              881 ns          881 ns           20
BM_DecodeIITFixedEncoding_cv                 0.90 %          0.90 %            20
BM_GetIntrinsicInfoTableEntries_mean       543853 ns       543848 ns           20
BM_GetIntrinsicInfoTableEntries_median     542532 ns       542528 ns           20
BM_GetIntrinsicInfoTableEntries_stddev       4759 ns         4758 ns           20
BM_GetIntrinsicInfoTableEntries_cv           0.88 %          0.87 %            20

16-bit$ ./build/benchmarks/DecodeIITFixedEncodingBM --benchmark_repetitions=20 --benchmark_display_aggregates_only
2024-09-01T07:28:23-07:00
Running ./build/benchmarks/DecodeIITFixedEncodingBM
Run on (20 X 2918.4 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x10)
  L1 Instruction 32 KiB (x10)
  L2 Unified 1280 KiB (x10)
  L3 Unified 24576 KiB (x1)
Load Average: 0.43, 0.22, 0.14
---------------------------------------------------------------------------------
Benchmark                                       Time             CPU   Iterations
---------------------------------------------------------------------------------
BM_DecodeIITFixedEncoding_mean              43832 ns        43832 ns           20
BM_DecodeIITFixedEncoding_median            43675 ns        43675 ns           20
BM_DecodeIITFixedEncoding_stddev              632 ns          632 ns           20
BM_DecodeIITFixedEncoding_cv                 1.44 %          1.44 %            20
BM_GetIntrinsicInfoTableEntries_mean       475647 ns       475647 ns           20
BM_GetIntrinsicInfoTableEntries_median     474756 ns       474755 ns           20
BM_GetIntrinsicInfoTableEntries_stddev       5090 ns         5090 ns           20
BM_GetIntrinsicInfoTableEntries_cv           1.07 %          1.07 %            20

```
% speedups:
* DecodeIITFixedEncoding  : 97372 -> 43832 = 55%
* GetIntrinsicInfoTableEntries : 543848 -> 475647 = 12.5%


https://github.com/llvm/llvm-project/pull/106809


More information about the llvm-commits mailing list