This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR50823 and its gazillion dups
On Wed, 7 Dec 2011, Jan Hubicka wrote:
> Am Tue 06 Dec 2011 03:41:36 PM CET schrieb Richard Guenther
> <rguenther@suse.de>:
>
> >
> > This removes accounting for the number of remaining calls in
> > the inlining edge badness calculation (as discussed in private
> > with Honza a long time ago - and yes, we disagreed). This
>
> Well, the main reason for disagreement was that is makes programs bigger.
> The basic idea of including badness in the cost is to make inliner preffer to
> fully inline functions that can be fully inline with little effort. This
> seems
> to work well to limit size growths when inlining.
Well, the theory might work for functions called once, but I doubt
it works for a function called 3 times and one called 2 times.
For functions called once we have the inline-functions-called-once
stuff, idependent on the fibheap priority driven inlining.
> > fixes the various ICEs of the edge badness update and caching
> > code checking which are now present for over one month.
> >
> > Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
> > A SPEC 2k6 LTO run is also in progress where I hope it will fix
> > the 403.gcc and 435.gromacs builds which fail with the same
> > ICE since a month.
> >
> > Honza, I guess you have some 12h to come up with a different fix now ;)
>
> I have patch for maintaining the growth via edge removal/addition hooks for
> some time now that speeds things up, too, but needs some cleanups (in
> particular it messes up heap updating somewhere and I did not work out where,
> yet). I think I can do it over weekend, but I am fine if this patch gets into
> tree beforehand. At least we will see how important the global metric still
> is.
SPEC works, shows no regressions (in fact, binary size improves slightly).
I have applied the patch for now. You can resort to reverting it
with a more proper fix, but there is no reason to keep this broken
during stage3.
Thanks,
Richard.