[LLVMdev] Dependence Analysis

Bill Wendling isanbard at gmail.com
Wed Jul 20 21:19:56 PDT 2005


On 7/20/05, Tanya Lattner <tonic at nondot.org> wrote:
> 
> > LLVM already includes this: the -indvars pass.  It turns things like this:
> >
> > int *P = for (...; ... ; ++P)
> >   *P
> >
> > to:
> >
> > int *P = ...
> > for (int i = 0; ... ; ++i)
> >  P[i]
> >
> > If you're interested in dependence analysis, the next important step is to
> > start analyzing distance and direction vectors.
> 
> You can check out
> lib/Target/SparcV9/ModuloScheduling/DependenceAnalyzer.cpp
> 
> It uses Alias Analysis and Scalar Evolution to figure out dependences and
> distances for single dimensional arrays. It needs more work, but its a
> start. Its not used by anyone currently. I wrote it for my
> ModuloScheduling work.
> 
I've been rereading about dependencies and distance and direction
vectors recently and was thinking of giving this a shot in LLVM as
well (in my copious spare time). Naftali, if you're interested in
working on this, perhaps we could coordinate our efforts.

-bw




More information about the llvm-dev mailing list