[LLVMdev] Compiling problem with steensgaard alias analysis
criswell at illinois.edu
Wed Oct 19 11:30:00 PDT 2011
On 10/7/11 11:56 PM, Jiesheng Wei wrote:
> 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
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.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
More information about the llvm-dev