This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rs6000] Update default loop peel limits


> On Thu, Dec 6, 2012 at 10:43 PM, Jan Hubicka <hubicka@ucw.cz> wrote:
> >> The following patch restores the old default limits for loop peeling
> >> that were recently changed to 100 and caused a 20% degradation in
> >> 454.calculix.
> >>
> >> Bootstrap/regtest on powerpc64-linux with no new regressions. Ok for trunk?
> >>
> >> -Pat
> >>
> >>
> >> 2012-12-06  Pat Haugen <pthaugen@us.ibm.com>
> >>         * config/rs6000/rs6000.c (rs6000_option_override_internal): Set
> >>         default loop peeling limits.
> >
> > Actually the calculix regression is also seen on core.
> > Igor was looking into what loops got slower and why. Either we can fix that partiuclar
> > loop or revert to the old default (that sadly causes quite a lot of code bloat)
> 
> Well, as the patch regressed the testcase in put in the testsuite for calculix
> that is no surprise... gfortran.dg/reassoc_4.f.  The fix for the testcase was to
> increase the limit with a --param :/

I would not care too much about limits for gfortran.dg/reassoc_4.f, it is an artificail
testcase.
> 
> Note that it is even beneficial to unroll two more levels of the nest
> completely.
> It's just an insane testcase (and I spent quite some time on it trying to
> somehow autodetect the simplification opportunities - see the unrolling
> heuristic rewrite patch I dumped on you a few weeks ago).
> 
> No advice from me on how to "fix" this ... but eventually the rewrite restores
> the old behavior with the new limits (I did the rewrite to try to somehow make
> it do two extra levels of nest unrolling ...).

Yep, calculix is kind of special case.  I also tested increasing the limits to more
than 10 fold improves ammp and applu (I filled in enhancement PR to track that).

I am not sure how to deal with calculix - I am OK with reverting to the old limit even
if it doesn't fare best with firefox (whose code size growth was main motivation for
tamning the heuristics down). In meantime inlining improved so except for FDO the firefox
is still smaller with 4.8 compres to 4.7 in my setup.

I am also OK with declaring calculix a special case and living with the regression,
same way as we do not try to handle ammp/applu.

Honza
> 
> Richard.
> 
> > Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]