[LLVMdev] Google Summer of Code Idea

Chris Lattner sabre at nondot.org
Sat Mar 1 01:09:29 PST 2008

On Feb 28, 2008, at 10:43 AM, Richard Warburton wrote:

> This email is written on the premise that LLVM will be involved in
> GSOC again this year.

I hope so too!

> I would be looking to implement a context-sensitive alias analysis.
> Whilst I accept that this isn't the most efficient category of alias
> analysis, I think the implementation of such an analysis, that trades
> off computational efficiency for a more precise computation of
> aliasing would be a beneficial addition to the LLVM project.  In terms
> of which algorithm to actually implement, I am considering
> implementing a BDD based algorithm, possible candidate include:

Ok.  I think the most important thing to keep in mind, if you want  
this to be useful for LLVM, is for it to be sound in the presence of  
incomplete programs.  I think it would be very interesting to have a  
BDD based analysis in LLVM, it would be useful for performance  
comparisons and many other things, even if it isn't turned on by  
default.  However, it must be sound.

Also, LLVM benefits quite a bit from mod/ref info for function.  I  
don't know if you've thought about it at all, but it is an important  
problem.  If you're interested, my thesis describes these issues in  

> 1. Is this too ambitious for a google summer of code project?

It depends on your familiarity with the domain.  If you haven't worked  
in the area of alias analysis (and applications) it probably is.   
There are lot of smaller subprojects that would be useful for llvm  

> 2. Would implementing any of these algorithms be tricky due to some
> peculiarity of LLVM?

No, I don't think so.  LLVM has hosted a lot of AA work already.

> 3. Do existing optimisations and DFAs that depend on aliasing
> information interface with the alias analysis in a context sensitive
> manner, or do they require rewriting?

They can benefit from context sensitive mod/ref info.

> 4. Is anyone willing to mentor this project?

I don't know :)  Maybe someone from Vikram's research group would be  
willing to mentor you.  If you are interested in pursuing this, I'd  
suggest making a proposal and we can figure out mentorship when the  
time is closer,


More information about the llvm-dev mailing list