This is the mail archive of the
mailing list for the GCC project.
Re: Proposed doc update for Explicit Reg Vars 3/3
- From: Jeff Law <law at redhat dot com>
- To: Segher Boessenkool <segher at kernel dot crashing dot org>
- Cc: Andrew Haley <aph at redhat dot com>, David Wohlferd <dw at LimeGreenSocks dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Sandra Loosemore <sandra at codesourcery dot com>
- Date: Wed, 21 Oct 2015 00:05:07 -0600
- Subject: Re: Proposed doc update for Explicit Reg Vars 3/3
- Authentication-results: sourceware.org; auth=none
- References: <561C3DAE dot 8050505 at LimeGreenSocks dot com> <5625CF7E dot 5010003 at redhat dot com> <20151020151312 dot GB25514 at gate dot crashing dot org> <56266519 dot 8070104 at redhat dot com> <56266630 dot 2050800 at redhat dot com> <562667FF dot 5000003 at redhat dot com> <562668B5 dot 6040404 at redhat dot com> <56266A5D dot 80809 at redhat dot com> <20151020171148 dot GC25514 at gate dot crashing dot org> <56268176 dot 5080307 at redhat dot com> <20151020194049 dot GE25514 at gate dot crashing dot org>
On 10/20/2015 01:40 PM, Segher Boessenkool wrote:
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!
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
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.