This is the mail archive of the 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: Proposed doc update for Explicit Reg Vars 3/3

On 10/20/2015 01:40 PM, Segher Boessenkool wrote:
On Tue, Oct 20, 2015 at 12:01:26PM -0600, Jeff Law wrote:
On 10/20/2015 11:11 AM, Segher Boessenkool wrote:
On Tue, Oct 20, 2015 at 10:22:53AM -0600, Jeff Law wrote:
bz21182 has a testcase that's still helped by local register variables.

I tried it out, and it now is much worse *with* the reg vars than
without (and -O2 vs. -O3 makes no difference at all).  It doesn't look
to have used the pre-determined allocation at all.  The difference at
expand time is huge already; maybe some things weren't optimised at
tree level with the register vars?  It's a bit big to really look into ;-)
We must be evaluating different things.  I review the state of that bug
each release. While the amount of stack slot shuffling has improved over
time it still looked better with the register variables during the gcc-5
release cycle.

The "#if 0" variant (no reg vars) results in 3597 bytes text, "esp"
mentioned 29 times.
The "#if 1" version is 3886 bytes, "esp" mentioned 87 times.

This is a GCC 6 compiler, a week or so old.
Cool. I'll do a final review during stage3/stage4 and assuming we don't go backwards between now and then we'll be able to cross that one off the regression list for gcc6!


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