[llvm] [FuncSpec] Only compute Latency bonus when necessary (PR #113159)

Hari Limaye via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 21 05:41:59 PDT 2024


hazzlim wrote:

Change in compile-times for CTMark (measured as instruction-count) when SpecializeLiteralConstant is enabled:

O3 (Non-LTO):

```
Benchmark        |  Change  |
-----------------+----------+
ClamAV           |  -0.03%  |
7zip             |  -0.01%  |
kimwitu++        |  -0.01%  |
tramp3d-v4       |   0.00%  |
sqlite3          |  -0.03%  |
mafft            |  -0.01%  |
SPASS            |  -0.01%  |
lencod           |  -0.01%  |
consumer-typeset |  -0.14%  |
Bullet           |  -0.01%  |
-----------------+----------+
GEOMEAN          |  -0.03%  |
```

ReleaseLTO-g:

```
Benchmark        |  Change  |
-----------------+----------+
ClamAV           |  -0.03%  |
7zip             |  +0.01%  |
kimwitu++        |  -0.02%  |
tramp3d-v4       |  +0.01%  |
sqlite3          |  -0.06%  |
mafft            |  +0.03%  |
SPASS            |  -0.01%  |
lencod           |   0.00%  |
consumer-typeset |  -0.08%  |
Bullet           |  +0.01%  |
-----------------+----------+
GEOMEAN          |  -0.01%  |
```

This patch has the largest effect on the consumer-typeset benchmark, which exhibits compile-time regressions (+0.14% for O3, +0.12% for ReleaseLTO-g) when SpecializeLiteralConstant is enabled despite no specializations being created.
With this patch applied the compile-time changes for consumer-typeset when SpecializeLiteralConstant is enabled are -0.01% for O3 and +0.04% for ReleaseLTO-g.

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


More information about the llvm-commits mailing list