public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jan Hubicka <hubicka@ucw.cz>
To: Dominique Dhumieres <dominiq@lps.ens.fr>
Cc: gcc-patches@gcc.gnu.org, richard.guenthe@gmail.com, hubicka@ucw.cz
Subject: Re: More of ipa-inline housekeeping
Date: Sun, 17 Apr 2011 10:23:00 -0000	[thread overview]
Message-ID: <20110417083528.GA28329@kam.mff.cuni.cz> (raw)
In-Reply-To: <20110415151933.7A5923BE19@mailhost.lps.ens.fr>

> AFAICT revision 172430 fixed the original problem in pr45810:
> 
> gfc -Ofast -fwhole-program fatigue.f90       : 6.301u 0.003s 0:06.30
> gfc -Ofast -fwhole-program -flto fatigue.f90 : 6.263u 0.003s 0:06.26
> 
> However if I play with --param max-inline-insns-auto=*, I get
> 
> gfc -Ofast -fwhole-program --param max-inline-insns-auto=124 -fstack-arrays fatigue.f90 : 4.870u 0.002s 0:04.87
> gfc -Ofast -fwhole-program --param max-inline-insns-auto=125 -fstack-arrays fatigue.f90 : 2.872u 0.002s 0:02.87
> 
> and
> 
> gfc -Ofast -fwhole-program -flto --param max-inline-insns-auto=515 -fstack-arrays fatigue.f90 : 4.965u 0.003s 0:04.97
> gfc -Ofast -fwhole-program -flto --param max-inline-insns-auto=516 -fstack-arrays fatigue.f90 : 2.732u 0.002s 0:02.73
> 
> while I get the same threshold=125 with/without -flto at revision 172429.
> Note that I get the same thresholds without -fstack-arrays, the run times
> are only larger.

Thanks for notice.   This was not really expected, but seems to give some
insight.  I just tested a new cleanup patch of mine where I fixed few minor
bugs in side corners.  One of those bugs I noticed was introduced by this patch
(an overlook while converting the code to new accesor).

In case of nested inlining, the stack usage got misaccounted and consequently
we allowed more inlining than --param large-stack-frame-growth would allow normally.
The vortex and wupwise improvement seems to be gone, so I think they are due to this
issue.

I never really tuned the stack frame growth heuristics since it did not cause any problems
in the benchmarks. On fortran this is quite different because of the large i/o blocks
hitting it very commonly, so I will look into making it more permissive.  We definitely
can just bump up the limits and/or we can also teach it that if call dominates the return
there is not really much to save of stack usage by preventing inlining since both stack
frames will wind up on the stack anyway.

This means adding new bit whether call edge dominate exit and using this info. Also simple
noreturn IPA discovery can be based on this and I recently noticed it might be important
for Mozilla. So I will give it a try soonish.

I will also look into the estimate_size ICE reported today.

Honza

  reply	other threads:[~2011-04-17  8:35 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-15 15:22 Dominique Dhumieres
2011-04-17 10:23 ` Jan Hubicka [this message]
2011-04-17 12:08   ` Richard Guenther
2011-04-17 13:22     ` Jan Hubicka
  -- strict thread matches above, loose matches on Subject: below --
2011-04-17 10:35 Dominique Dhumieres
2011-04-15 15:27 Dominique Dhumieres
2011-04-13 22:20 Jan Hubicka
2011-04-14  8:59 ` Richard Guenther
2011-04-15 10:32   ` Jan Hubicka
2011-04-15 10:38     ` Richard Guenther
2011-04-15 11:40       ` Jan Hubicka
2011-04-17  1:18 ` H.J. Lu
2011-04-17  1:27   ` H.J. Lu

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=20110417083528.GA28329@kam.mff.cuni.cz \
    --to=hubicka@ucw.cz \
    --cc=dominiq@lps.ens.fr \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=richard.guenthe@gmail.com \
    /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).