[LLVMdev] Dependence Analysis [was: Flow-Sensitive AA]

David Greene dag at cray.com
Wed Aug 20 08:56:56 PDT 2008

On Monday 18 August 2008 17:48, David Greene wrote:

> > Normally, the conversion to SSA form is sufficient.  Can you talk
> > about cases where this matters to you?
> Mostly it involves tying into our memory dependence analysis which
> annotates things on program points.  I need a way to translate back
> to our optimizer data structures.
> So it's not "flow-sensitive AA" in the strictest sense but it does require
> program point information.

Ok, so this is not the ideal way to do things.  AliasAnalysis was just a 
convenient way to hook into something.  But as I've gone through this
I've realized it's just not going to work very well.

What I really need is a dependence analysis interface.  I need to know
about loop-carried dependencies and that sort of things, whether two memory 
operations reference the same data, distance information, etc..  As far as I 
can tell, there's no infrastructure for this in LLVM.

I don't actually need the analysis because we have it in our optimizer.  What
I need is some kind of interface akin to AliasAnalysis that can chain 
analyses, etc.

I'm sure there are others working on this.  I believe Vikram mentioned his 
group is working on a parallelizing compiler based on LLVM.

I would think it would be straightforward to taken the AliasAnalysis interface
and essentially duplicate it and call it DependenceAnalysis or some such 
thing.  But if someone's already done this I'd rather not duplicate the 


More information about the llvm-dev mailing list