[PATCH] D94001: [CSSPGO] Call site prioritized inlining for sample PGO
Wenlei He via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 1 09:33:43 PST 2021
wenlei added a comment.
Some more data points:
- Inline size/growth limit hits:
- Among spec2017, gcc has ~100 hits where inlining stopped due to limit. parest has ~40. Other benchmarks mostly has around 0-20 hits.
- For server side Hermes (internal version of https://github.com/facebook/hermes), inliner hit limit for ~500 times.
- For cpython (internal version of https://github.com/python/cpython), inliner hit limit for ~100 times.
- Perf and code size:
- I don't have numbers comparing just w/ and w/o the new inliner for bigger workloads. But here's what I got on spec2017 comparing `-sample-profile-prioritized-inline=1` vs `-sample-profile-prioritized-inline=1` - ~1.5% geomean perf boost, and it also controls the size growth (30% reduction) as intended. This is using pseudo-probe, and some small tweaks that we will upstream after this change are also included in the test run.
SPEC2017 run time .text size
508.namd_r -0.62% -10.73%
510.parest_r 0.23% -1.68%
511.povray_r -3.79% -50.93%
526.blender_r 1.06% -7.78%
600.perlbench_s -0.62% -41.87%
602.gcc_s -1.58% -60.28%
605.mcf_s -0.64% -39.95%
620.omnetpp_s 0.34% -4.08%
623.xalancbmk_s -5.24% -8.20%
625.x264_s -10.36% -75.58%
631.deepsjeng_s -1.87% -55.70%
638.imagick_s 0.14% 0.00%
641.leela_s -0.87% -13.85%
644.nab_s 0.79% -6.19%
657.xz_s 0.21% -12.84%
geomean -1.57% -31.16%
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D94001/new/
https://reviews.llvm.org/D94001
More information about the llvm-commits
mailing list