[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