Hello, this patch sets inline-unit-growth to 40. The performance changes are - Firefox, LTO https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=f7bd026e1a931b9a284d1c85c2577a72dd592820&newProject=try&newRevision=74889968abcc688b8d161863566ed273c0401ee4&framework=1&filter=opt&showOnlyComparable=1&showOnlyImportant=1 After fixes to inlining priorities this makes difference without profile feedback only.
Code size growth is about 9.15% with LTO and 3.95 with LTO and profile feedback. - Firefox noLTO https://treeherder.mozilla.org/perf.html#/compare?originalProject=try&originalRevision=c902b72340a3dca3114f58578c1c8f3e6a1cd89c&newProject=try&newRevision=4974da6f92c144a9c09765b56a564a640069ddb9&framework=1&showOnlyComparable=1&showOnlyImportant=1 With about 7% code size growth - SPEC https://lnt.opensuse.org/db_default/v4/CPP/latest_runs_report?num_runs=10&min_percentage_change=0.02&revisions=46e2bd1143b5c60af814916d7673879b34ceb3f6%2Cc0d79cfe9c4ec30823480f2f9b256600e8e3899f - C++ benchmarks https://lnt.opensuse.org/db_default/v4/SPEC/latest_runs_report?num_runs=10&all_changes=on&min_percentage_change=0.02&revisions=46e2bd1143b5c60af814916d7673879b34ceb3f6%2Cc0d79cfe9c4ec30823480f2f9b256600e8e3899f I am not entirely happy about the code-size/performance tradeoffs but it is concerned only for programs built with -O3 or having too many inline keywords. I have looked into inlining decisions for Firefox, HHVM and Clang and inliner gets out of growt bounds way too early and some of more performance aware projects already sets the limit up. I will tune other metrics down to handle some of the code size problems. Honza Index: ChangeLog =================================================================== --- ChangeLog (revision 267882) +++ ChangeLog (working copy) @@ -1,3 +1,7 @@ +2019-01-05 Jan Hubicka <hubi...@ucw.cz> + + * params.def (inline-unit-growth): Set to 40. + 2019-01-12 Jakub Jelinek <ja...@redhat.com> * tree-ssa-loop-ivopts.c (find_inv_vars): Fix a comment typo. Index: params.def =================================================================== --- params.def (revision 267882) +++ params.def (working copy) @@ -227,7 +227,7 @@ DEFPARAM(PARAM_LARGE_UNIT_INSNS, DEFPARAM(PARAM_INLINE_UNIT_GROWTH, "inline-unit-growth", "How much can given compilation unit grow because of the inlining (in percent).", - 20, 0, 0) + 40, 0, 0) DEFPARAM(PARAM_IPCP_UNIT_GROWTH, "ipcp-unit-growth", "How much can given compilation unit grow because of the interprocedural constant propagation (in percent).",