public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Set inline-unit-growth to 40
@ 2019-01-12 18:32 Jan Hubicka
  2019-01-14 16:28 ` Christophe Lyon
  2019-01-14 16:53 ` Qing Zhao
  0 siblings, 2 replies; 7+ messages in thread
From: Jan Hubicka @ 2019-01-12 18:32 UTC (permalink / raw)
  To: gcc-patches

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  <hubicka@ucw.cz>
+
+	* params.def (inline-unit-growth): Set to 40.
+
 2019-01-12  Jakub Jelinek  <jakub@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).",

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-01-17 13:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-12 18:32 Set inline-unit-growth to 40 Jan Hubicka
2019-01-14 16:28 ` Christophe Lyon
2019-01-14 16:40   ` Jan Hubicka
2019-01-17 13:22     ` Christophe Lyon
2019-01-14 16:53 ` Qing Zhao
2019-01-15 15:14   ` Jan Hubicka
2019-01-15 16:18     ` Qing Zhao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).