On Fri, Apr 29, 2016 at 10:21 AM, Richard Biener <richard.guent...@gmail.com> wrote: > On April 29, 2016 3:48:37 PM GMT+02:00, David Edelsohn <dje....@gmail.com> > wrote: >>On Fri, Apr 29, 2016 at 9:44 AM, Bernd Schmidt <bschm...@redhat.com> >>wrote: >>> >>> >>> On 04/29/2016 03:42 PM, David Edelsohn wrote: >>>> >>>> On Fri, Apr 29, 2016 at 9:32 AM, Bernd Schmidt <bschm...@redhat.com> >>>> wrote: >>>>> >>>>> On 04/29/2016 03:02 PM, David Edelsohn wrote: >>>>>> >>>>>> >>>>>> How has this show general benefit for all architectures to deserve >>>>>> enabling it by default at -O2? >>>>> >>>>> >>>>> >>>>> It should improve postreload scheduling in general, and it can also >>help >>>>> clear up bad code generation left behind by register allocation. >>>> >>>> >>>> Did you test the actual performance benefit on any architectures, >>>> especially architectures other than x86? >>> >>> >>> No. If that's the standard, I'll back out the change. >> >>It seems rather strange to enable an optimization by default across >>all targets without even knowing the performance impact. >> >>I'm eager to learn the opinion of others about this. > > It shows overall benefit on Itanic and ups and downs on x86. > > It's stage1 and the easiest to get feedback for all archs is to enable it by > default.
Bernd and Richard, The IBM LTC team has tested the benefit of -frename-registers at -O2 and sees no net benefit for PowerPC -- some benchmarks improve slightly but others degrade slightly (a few percent). You mentioned no overall benefit for x86. Although you mentioned benefit for Itanium, it is not a primary nor secondary architecture target for GCC and continues to have limited adoption. Andreas also reported a bootstrap comparison failure for Itanium due to the change. If I understand correctly, the change to enable -frename-registers was motivated by PR 59173 for SSE. The performance experiments, bootstrap failure, and testsuite fallout do not provide good justification for enabling this optimization by default at -O2 for all targets. If this helps SSE, this optimization can be enabled using target-specific override mechanisms for that target. Optimizations enabled by default at -O2 should show an overall net benefit -- that is the general justification that we have used in the past. I request that this change be reverted until more compelling evidence of benefit is presented. Thanks, David