This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran 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: [RFC] Have the scalarizer generate vectorizable loops.


On Thu, 2006-01-05 at 00:43 +0100, Zdenek Dvorak wrote:
> Hello,
> 
> > > > Zdenek already supplied a patch for it.  That one didn't apply
> > > > completely cleanly, so I had to hand edit the result for one
> > > > chunk.  The updated patch follows.  It works in the sense that
> > > > it vectorizes the example I showed yesterday.  I still have
> > > > to test it extensively (running make -k check, etc.).
> > > 
> > > [ ... etc. ... ]
> > > 
> > > It passed make -k check with no additional regressions.
> > > 
> > > Who can approve this patch ? Sebastian ? DannyB ?
> > 
> > I looked at the patch, and it looks fine to me, although it does look
> > like this code is getting a bit messy.
> > 
> > (Personally, I think we should be using SCEV more heavily than we do
> > now, instead of making up affine style expressions everywhere, like loop
> > strength reduction)
> 
> the reason for this is that ivopts and # of iteration analysis only work
> with affine ivs,
>  and having to wrap and unwrap the components from
> CHRECs would be quite cumbersome (and wasting memory). 

You are joking, right?

It ends up looking something like ComputeIterationCount* in
http://llvm.cs.uiuc.edu/cvsweb/cvsweb.cgi/llvm/lib/Analysis/ScalarEvolution.cpp?rev=1.44&content-type=text/x-cvsweb-markup

This code looks a heck of a lot nicer than the weird mix of stuff we
have.



>   Or do you have
> something else in mind?

Not having affine expressions, SCEV, affine combinations, and 3 other
representations of things we could simply represent all the same way?


> 
> Zdenek
> 



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