[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