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]

[tree-ssa] Re: auto vectorization in gcc


> This is very much along the same lines as I was envisaging.  Given we
> currently have some time and resources that could be used on a project
> like this would you be interested / able tocolaborate on this project?

Sure! (there's a lot to be done...)

We're still at the design phase - trying to decide which
vectorization scheme we want to implement, what is the minimal
essential infrastructure required in order to vectorize even
the simplest loop/code-sequence, and how much of this infrastructure
is already available, or is being developed and will be available (and
when).

I understand that Sebastian Pop is working on IV detection,
and that data dependence analysis will be based on that infrastructure.
Where does that stand? Sebastian, were you planning to work on the
dependence graph too?

The project's web page states that loop normalization
and loop canonicalization are on the todo list. Is someone working
on that? (Daniel Berlin?) I guess that's pending the IV detection work too?

Jan Hubicka wrote (http://gcc.gnu.org/ml/gcc/2003-07/msg00185.html):
> "...I am not sure whether Tree-SSA is quite
> ready for playing with things like, say, loop unrolling when there are
> still no ways to duplicate basic blocks and redirect edges..."

I didn't see loop unrolling on the todo list though. I saw that there's
an intention to borrow the loop unroller from the rtlopt branch.
Where does that stand?

Anything else regarding loop / data-dependence / array / alignment
analysis that people are working on?

thanks,
dorit



                                                                                                                                   
                      Martin Brain                                                                                                 
                      <mjb@cs.bath.ac.u        To:       Dorit Naishlos/Haifa/IBM@IBMIL                                            
                      k>                       cc:       gcc@gcc.gnu.org                                                           
                                               Subject:  Re: auto vectorization in gcc                                             
                      22/07/2003 20:03                                                                                             
                                                                                                                                   




Sorry about my previous out of thread posting - have now had a proper
chance to catch up on this discussion.

> Thanks very much for the responsiveness!
>
> > The tree level is *more* capable than the rtl level at representing
> > vector types (and thus operations).  I think all we need is some
> > small amount of info from the target about vector widths and memory
> > blocking, and then the transformation should happen at the tree level.
>
> I wonder if the target info that you suggest to expose to the tree level
> would suffice. In many cases code sequences that are perfectly
> parallelizable with respect to data dependences, will not benefit from
> vectorization. In order to avoid making really poor decisions, you want
> to have at least the following information exposed:
<snip>
> Bottom line is, if there's not enough information at the tree level, too
> much redundant code will be generated, requiring a lot of effort to
> undo it. I think we should either expose all vital target specific
> info to the tree-level, or perform only (target independent) analysis in
> the
> tree level, and do the actual vectorization transformation where we know
if
> and how to do it.
This is very much along the same lines as I was envisaging.  Given we
currently have some time and resources that could be used on a project
like this would you be interested / able tocolaborate on this project?

Cheers,
 - Martin






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