This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCSE store motion
- From: Daniel Berlin <dberlin at dberlin dot org>
- To: Roger Sayle <roger at eyesopen dot com>
- Cc: gcc at gcc dot gnu dot org, Mark Mitchell <mark at codesourcery dot com>,"David S. Miller" <davem at redhat dot com>, Andreas Jaeger <aj at suse dot de>,Richard Henderson <rth at redhat dot com>
- Date: Wed, 15 May 2002 12:39:22 -0400 (EDT)
- Subject: Re: GCSE store motion
On Wed, 15 May 2002, Daniel Berlin wrote:
> On Wed, 15 May 2002, Roger Sayle wrote:
>
> >
> > I'm more than happy to attempt to fix GCSE store motion, but my current
> > understanding is that its working perfectly!
> And doing nothing.
> >
> > PR opt/5200 was filed by Andreas Jaeger on the supporting evidence of
> > PR opt/5172 and postings by Dan Berlin to gcc-patches last year.
> >
> > In the review of my patch to that attempted to fix PR/5172
> > http://gcc.gnu.org/ml/gcc-patches/2002-01/msg01142.html, it
> > became clear that it was glibc at fault and not the store motion
> > pass at all.
> >
> > Hence the only remaining claims that store motion is broken are
> > the comments by Dan Berlin, but as far as I am aware there are
> > no known examples of failing test cases.
>
> I'm not going through this again.
> We've been over this before.
>
>
> > Dan also claimed that
> > store motion wasn't currently doing anything, but clearly PR/5172
> > showed that duplicate stores are being eliminated in real code.
>
> I "claimed" it wasn't doing anything because SPEC95/2000 runs show it
> making no improvement whatsoever.
>
> In addition, never, in any RTL dumps of any code, ever, have I seen it
> remove a single store.
And for the record, the platforms i've stared at untold numbers of rtl
dumps of store motion on include x86, PPC, and alpha.
And I misspoke, I neglected to mention it moves 3 stores during
bootstrapping.
My apologies.
The global store removal portion also removes 2 stores during
bootstrapping gcc, total.
I am completely for disabling optimizations on the mainline that do
nothing but waste time in their current state (though even a 1%
improvement might be arguably worth it).
One would imagine if it's such a functional optimization, it
would at least move or remove greater than 2 stores during
during bootstrapping gcc.
There are plenty of stores to be moved/eliminated.
But it doesn't.
Believe me, I'd like to see a useful store motion.
It's just not what we've got now.
--Dan