This is the mail archive of the gcc@gcc.gnu.org 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: 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


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