public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hubicka at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/40436] [4.5 regression] 0.5% code size regression caused by r147852
Date: Sun, 07 Mar 2010 20:37:00 -0000	[thread overview]
Message-ID: <20100307203743.16978.qmail@sourceware.org> (raw)
In-Reply-To: <bug-40436-374@http.gcc.gnu.org/bugzilla/>



------- Comment #15 from hubicka at gcc dot gnu dot org  2010-03-07 20:37 -------
I've been discussing this on IRC a while ago with Richard Guenther, but forgot
to add a record.

It seems that for 4.5, it is best to leave inlining heruistics as it is.  THe
code size regression come mainly from bzip that is excercising kind of typical
"bad luck" scenario.  Other known problem in 4.5 inlining is tramp3d where we
now deliver worse than best known performance, but still not worse than one of
4.4.

I spent some time playing with this and only way to get 4.5 inliner to solve
these faults is to add new parameter that allows early inlining to inline
forwarder functions that do increase code size estimates by small amount.  This
helps to solve both tramp3d and bzip problems but also cause code size issues
in some benchmarks (mostly not regressions over 4.4) and is quite ugly.

Since re-tunning heuristics needs significant amount of effort and it was done
earlier in stage1 of 4.5 after merging changes from pretty-ipa, it seems better
to leave as it is now. Also after LTO merge it seems, according to results
posted by Vladimir Marakov, that the inliner is actually perfomring very well
compared to other compilers.

For 4.6 I do have number of plans. With FRE in early optimization queue we
invalidate need for some of early inlining and also IPA stuff should be making
us less dependent on inling overall.

But I would propose this PR to be wontfix for 4.5.

Honza


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40436


  parent reply	other threads:[~2010-03-07 20:37 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-13 22:35 [Bug tree-optimization/40436] New: " rearnsha at gcc dot gnu dot org
2009-06-13 22:51 ` [Bug tree-optimization/40436] " rguenth at gcc dot gnu dot org
2009-06-13 22:53 ` rguenth at gcc dot gnu dot org
2009-06-13 23:07 ` pinskia at gcc dot gnu dot org
2009-06-13 23:10 ` rearnsha at gcc dot gnu dot org
2009-06-13 23:27 ` rearnsha at gcc dot gnu dot org
2009-06-14 13:31 ` rguenth at gcc dot gnu dot org
2009-06-19  0:00 ` ramana at gcc dot gnu dot org
2009-06-19 23:14 ` ramana at gcc dot gnu dot org
2009-06-30 12:44 ` hubicka at gcc dot gnu dot org
2009-06-30 12:46 ` hubicka at ucw dot cz
2009-06-30 13:14 ` steven at gcc dot gnu dot org
2009-06-30 13:41 ` hubicka at gcc dot gnu dot org
2009-06-30 19:56 ` steven at gcc dot gnu dot org
2009-06-30 23:37 ` hubicka at ucw dot cz
2009-07-01  5:41 ` steven at gcc dot gnu dot org
2009-07-02 10:11 ` hubicka at ucw dot cz
2009-07-09 15:39 ` rguenth at gcc dot gnu dot org
2009-12-09 17:09 ` ramana at gcc dot gnu dot org
2010-03-07 20:37 ` hubicka at gcc dot gnu dot org [this message]
2010-03-28 15:47 ` rguenth at gcc dot gnu dot org
2010-03-28 16:34 ` hubicka at ucw dot cz
2010-03-28 16:43 ` rguenther at suse dot de
2010-03-28 16:56 ` hubicka at ucw dot cz
2010-03-28 17:00 ` rguenther at suse dot de
2010-03-28 17:30 ` hubicka at ucw dot cz
2010-04-03 21:02 ` hubicka at ucw dot cz
2010-04-03 21:13 ` rguenther at suse dot de
2010-04-03 21:19 ` hubicka at ucw dot cz
2010-04-03 21:21 ` hubicka at ucw dot cz
2010-04-03 21:39 ` hubicka at ucw dot cz
2010-04-06 10:36 ` matz at gcc dot gnu dot org
2010-04-06 10:46 ` hubicka at ucw dot cz
2010-04-06 10:57 ` steven at gcc dot gnu dot org
2010-04-06 11:00 ` rguenther at suse dot de
2010-04-06 11:05 ` hubicka at ucw dot cz
2010-04-06 11:10 ` matz at gcc dot gnu dot org
2010-04-06 11:37 ` steven at gcc dot gnu dot org
2010-04-06 11:39 ` rguenth at gcc dot gnu dot org
2010-07-31  9:35 ` [Bug tree-optimization/40436] [4.5/4.6 " rguenth at gcc dot gnu dot org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100307203743.16978.qmail@sourceware.org \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).