On Thu, Apr 30, 2020 at 5:14 PM Andreas Krebbel <kreb...@linux.ibm.com> wrote:
>
> On 30.04.20 08:25, Richard Biener via Gcc-patches wrote:
> > On Wed, Apr 29, 2020 at 5:56 PM Jeff Law <l...@redhat.com> wrote:
> >>
> >> On Tue, 2020-04-28 at 11:44 +0200, Richard Biener via Gcc-patches wrote:
> >>>
> >>> Btw, does s390 have different inlining parameters somehow?
> >> I think so.  We saw a ton of backend warnings that were specific to the 
> >> s390
> >> builds in Fedora that appeared to be triggered by different inlining 
> >> decisions.
> >>
> >> It happened enough that one of the ideas we're going to explore is seeing 
> >> if we
> >> can tune the x86_64 port to use the same heuristics.  That way we can try 
> >> to find
> >> more of these issues in our tester without having to dramatically increase 
> >> s390x
> >> resourcing.  This hasn't started, but I expect we'll be looking at it in 
> >> the fall
> >> (it's unclear if we can just use flags or will need hackery to the x86 
> >> port, but
> >> we're happy to share whatever we find with the wider community).
> >
> > Hmm, OK.  Guess if it becomes an issue for openSUSE I'll simply revert those
> > s390 backend changes.
>
> Too bad. I would prefer to fix the root cause of the warnings instead. Isn't 
> it a good thing that
> thanks to the more aggressive inlining actual bugs in the code get revealed? 
> Or do you see other
> issues with that?

I'm obviously more concerned about latent GCC issues only popping up
on s390.  Basically
the s390 limits throw much of the QA done on x86_64 targets away when
comparing to s390.
For example we do burn-in testing of a new GCC release (10.1 here) in
openSUSE Factory
by using it as system compiler.  Then with GCC 10.2 we ship it as
compiler for their own use
to SLES users and ISVs.  But obviously all the burn-in testing on
openSUSE Factory
is very x86_64 centric these days.

> >
> > As a general advice to backend developers I _strongly_ discourage to adjust
> > --param defaults that affect GIMPLE.
>
> We did tons of measurements to find these values recently and got a nice 
> speedup after increasing
> them. We also had a look at the size increase of binaries. It was significant 
> but we decided that
> the performance benefit is worth it. On IBM Z the function call overhead is 
> bigger than on other
> archs so inlining in general helps us.
>
> I'm not sure I understand your recommendation to leave these values as is. I 
> assumed that such
> parameters are supposed to be used to deal with the characteristics of a 
> platform. Are there better
> ways to achieve the same effect?

Get more inlining than other archs?  No, I don't think so.  But if the
call overhead is bigger then
you should adjust the cost of calls instead?  Also the default limits
are a delicate compromise
between speed and size - of course if you disregard size you get more
speed.  You also only
adjusted two out of very many params which are not really as
independent as one would think...
(and you forgot to re-tune after last years big changes/parameter space splits).

As said you should at least think of adjusting the adjustments to be
relative to the default
value rather than absolute.

Richard.

> Andreas
>
> >
> > Richard.
> >
> >> jeff
> >>
> >>
> >>
>

Reply via email to