[LLVMdev] Compiling problem with steensgaard alias analysis

John Criswell criswell at illinois.edu
Wed Oct 19 11:30:00 PDT 2011

On 10/7/11 11:56 PM, Jiesheng Wei wrote:
> Hi,
> This is Jiesheng Wei from UBC. Now I am working on a project with LLVM
> and I want to use steensgaard alias analysis tool. I saw on the website
> that steensgaard analysis is available for LLVM 2.9 and it is under
> poolalloc/ directory. I downloaded several versions but none of them is
> compatible with LLVM 2.9. Can you please tell me which version of
> poolalloc is for LLVM 2.9? Thanks,

Sorry for the really late reply.  This got lost under other emails in my 

First, there was a Steensgaard implementation of alias analysis within 
the poolalloc project.  However, since very few people used it and since 
we were not maintaining the code because of this lack of use, we finally 
removed it from poolalloc.  I don't recall when we removed it; it may 
still exist within the release_27 branch of poolalloc (which works with 
LLVM 2.7), and it should be in the release_26 branch (which works with 
LLVM 2.6).

There was a patch that made a number of modifications to mainline 
poolalloc (which should work with the upcoming LLVM 3.0 release, BTW).  
This patch got DSA compiling with LLVM 2.9 and resurrected the -ds-aa 
analysis.  I'm not sure if that is the Steensgaard pass or not.

In any event, I haven't applied the patch because
     1) we're not supporting LLVM 2.9 with DSA/Poolalloc,
     2) the patch included some changes that could have conflicted with 
our updates to make DSA compile with LLVM 3.0, and
     3) we didn't think that there was sufficient interest in an 
AliasAnalysis inteface to deal with reason #2.

Hence, there is currently no alias analysis interface (Steensgaard or 
otherwise) provided in the poolalloc project.  There is DSA (which is a 
unification-based points-to analysis), but to use it, you have to 
examine the points-to graphs (called DSGraphs) it generates directly.  
If you want to go that route, we can help you with that.

If you're interested in having an AliasAnalysis interface to DSA, you 
can make a note under Bug 11130 
(http://llvm.org/bugs/show_bug.cgi?id=11130).  There's at least one 
other person that wants it; I'm using the bug report to measure the 
level of interest in this feature so that we can prioritize it properly.

We do accept patches for the poolalloc project, so if you want to make 
the Steensgaard code work and submit a patch that works with mainline 
poolalloc and LLVM 3.0, we'll try to take a look at it and get it committed.

-- John T.

> Jiesheng
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev

More information about the llvm-dev mailing list