This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Loop Optimizer Deficiency revisited
- From: Zdenek Dvorak <rakdver at atrey dot karlin dot mff dot cuni dot cz>
- To: Nitin Gupta <ngupta at GlobespanVirata dot com>
- Cc: Zack Weinberg <zack at codesourcery dot com>,David Edelsohn <dje at watson dot ibm dot com>,Daniel Berlin <dberlin at dberlin dot org>, gcc at gcc dot gnu dot org
- Date: Mon, 24 Mar 2003 21:07:04 +0100
- Subject: Re: Loop Optimizer Deficiency revisited
- References: <IDEAKDGJLGFCFODOJGGIMEPOCAAA.ngupta@globespanvirata.com>
Hello,
> > > Zack> However, it is likely to be addressed by completing the
> > store-motion
> > > Zack> pass, which has never worked properly. If you would like
> > to help with
> > > Zack> that, talk to Daniel Berlin (cc:ed).
> > >
> > > I believe that Zdenek has a revised store-motion patch which has
> > > been waiting for approval.
> >
> > I don't consider myself competent to review that patch, but perhaps
> > Mr. Gupta could try it on his test case.
>
> Thanks for the pointers.
>
> I think you are talking about "[rtlopt] GCSE global variables removal"
> http://gcc.gnu.org/ml/gcc-patches/2002-09/msg01355.html
> submitted by Zdenek. I'll try this with my test case, and communicate
> if there are any improvements.
Nope, that is something different. The right patch is
http://gcc.gnu.org/ml/gcc-patches/2003-03/msg00467.html.
Zdenek
> To improve my understanding I rephrase the problem and my understanding.
> Please correct me, if I'm wrong.
>
> GCC 3.2 would duplicate the entire loop test in .jump and would
> not merge is anywhere latter. Since the loop size is small, increase
> in size is significant, it duplicates more expressions hence *increases*
> size furthered when compiled with **-Os** [cse2 performs badly with -Os].
> However GCC 2.96 would do the same in .jump but would merge the loop test in
> .jump2 (irrespective of -Os is given or not). From the archives I could
> make
> out the jump2 was removed by jump over CFG. But it does not seems to cater
> this problem. The probable solution is that GCC 3.2 should take care of
> this
> while during GCSE phase while doing code hoisting ( when invoked with -Os).
>
> Would an improved store motion take care of these cse2 and unification
> issues?
>
>
> Regards,
> Nitin
>