[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