[patch] Merge to trunk from Graphite branch
Jack Howarth
howarth@bromo.med.uc.edu
Sun Mar 14 15:49:00 GMT 2010
On Sun, Mar 14, 2010 at 08:22:59AM +0200, Ira Rosen wrote:
>
>
> gcc-patches-owner@gcc.gnu.org wrote on 13/03/2010 09:19:00 PM:
> >
> > On Sat, Mar 13, 2010 at 12:15, Toon Moene <toon@moene.org> wrote:
> > > Sebastian Pop wrote:
> > >
> > >> I just merged the Graphite branch back to trunk. This solved
> > >> PR43349 for which I just added the testcase, as I already have
> > >> taken care of it in the Graphite branch.
> > >
> > > Hmmm, is it just me or ...
> > >
> > > If I commpile:
> > >
> > > subroutine sum(a, b, c, n)
> > > integer i, n
> > > real a(n), b(n), c(n)
> > > do i = 1, n
> > > c(i) = a(i) + b(i)
> > > enddo
> > > end
> > >
> > > with -g -O3 -S and with -g -O3 -fgraphite-identity I strongly get the
> > > impression that -fgraphite-identity turns off vectorization (which is
> on by
> > > default with -O3).
> > >
> > > Or am I missing something ...
> >
> > The vectorizer should be fixed to handle the code generated by Graphite.
> > The vectorizer expects to see a very particular form of code, and if
> > anything differs from that pattern, it won't generate vector code.
>
> AFAIR, adding the following two passes cleans the code generated by
> GRAPHITE:
>
> *** passes.c
> --- passes.c
> *************** init_optimization_passes (void)
> *** 659,664 ****
> --- 659,666 ----
> NEXT_PASS (pass_graphite_transforms);
> NEXT_PASS (pass_iv_canon);
> + NEXT_PASS (pass_copy_prop);
> + NEXT_PASS (pass_dce_loop);
> NEXT_PASS (pass_if_conversion);
> NEXT_PASS (pass_vectorize);
>
> (I think, it was suggested by Richard to solve similar problem, but I can't
> find the link).
>
> Ira
>
>
> >
> > Sebastian
Ira,
I believe you are thinking of Richard's proposed patch to add versioning
for constant strides for vectorization...
http://gcc.gnu.org/ml/gcc-patches/2009-01/msg01174.html
This patch has severe bit rot against current gcc trunk but would
be nice to get into gcc trunk before gcc 4.5 if possible. I pinged
Richard on this yesterday...
http://gcc.gnu.org/ml/gcc-patches/2010-03/msg00518.html
Jack
More information about the Gcc-patches
mailing list