[Autovect]dependencies of virtual defs/uses

Jiahua He jiahua@gmail.com
Thu Feb 15 22:28:00 GMT 2007


2007/2/15, Dorit Nuzman <DORIT@il.ibm.com>:
> "Jiahua He" <jiahua@gmail.com> wrote on 12/02/2007 22:54:08:
>
> > Oh, I see. For reduction and induction, you don't need to deal with
> > the condition with vdef. I am considering how to implement an idiom
> > with vdef, like SCAN (prefix sum). And by the way, do you support
> > idioms with vuses?
> >
>
> You mean detecting this pattern?:
>
> for i
>   a[i] += a[i-1];

a[i] = a[i-1] + b[i]

>
> I don't know if analyzing vdefs/vuses would help you much to detect this
> pattern - maybe you're better off computing the dependence-distance (i.e.
> use compute_data_dependences_for_loop, and look at DDR_DIST_VECTS).

Thinking in the same way.

Jiahua


>
> dorit
>
> > Jiahua
> >
> >
> > 2007/2/12, Dorit Nuzman <DORIT@il.ibm.com>:
> > > > Thanks! In fact, I should ask how to deal with idiom (such as
> > > > reduction, induction) recognition for virtual defs/uses.
> > > >
> > >
> > > Just curious - what is this for? (are you interested in this in the
> context
> > > of vectorization? is there a specific example you have in mind?)
> > >
> > > dorit
> > >
> > > > Jiahua
> > > >
> > > >
> > > > 2007/2/12, Daniel Berlin <dberlin@dberlin.org>:
> > > > > On 2/12/07, Jiahua He <jiahua_he@ustc.edu> wrote:
> > > > > > Hi,
> > > > > >
> > > > > > I am reading the code of autovect branch and curious about how to
> > > deal
> > > > > > with the dependencies of virtual defs/uses. In the function
> > > > > > vect_analyze_scalar_cycles( ), I found the statement "Skip
> virtual
> > > > > > phi's. The data dependences that are associated with virtual
> > > defs/uses
> > > > > > ( i.e., memory accesses) are analyzed elsewhere." But where is
> the
> > > > > > code? I tried to search  for "vect_induction_def" and
> > > > > > "vect_reduction_def" and found that they are not used to assign
> > > > > > elsewhere. Is the analysis not implemented yet? Thanks in
> advance!
> > > > >
> > > > > They show up as data references because of tree-data-reference.c
> > > > marking them.
> > > > > At lets, that's how other linear loop transforms handles it.
> > > > > Not sure about how vectorizer deals with it specifically
> > > > >
> > > > > >
> > > > > > Jiahua
> > > > > >
> > > > >
> > >
> > >
>
>



More information about the Gcc mailing list