This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Proposed doc update for Explicit Reg Vars 3/3
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Jeff Law <law at redhat dot com>
- 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: Tue, 20 Oct 2015 14:40:49 -0500
- 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>
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.
Segher