[LLVMdev] Question about DSA analysis
gsouther at soe.ucsc.edu
Wed May 22 10:15:35 PDT 2013
Thanks for the reply. The project that Jing is working on is for a class
that I'm TAing for and it involves evaluating the effectiveness of the
alias analysis support in LLVM. We've modified the project so that it
doesn't require looking at -ds-aa or -steens-aa since it sounds like those
aren't available anymore (originally we had included that as a requirement
because of what's in the documentation).
Do you think those passes might be added back in the future? If not would
it make sense to remove them from the documentation (we saw them listed in
the current documentation so that is why we thought they should work).
Also I'm working on another project with someone that is using DSA. I had
a couple of questions about DSA based on your response.
1) What happens if we specify running multiple DSA passes, such as: -dsa-td
2) If we are interested in both intra- and inter-procedural alias analysis
would switching from -dsa-td to -dsa-eq get that for us.
Thanks for your help.
On Mon, May 20, 2013 at 7:13 AM, John Criswell <criswell at illinois.edu>wrote:
> On 5/19/13 11:46 AM, Jing Zhou wrote:
> I am working on one DSA related project. Got several questions about
> LLVM's DSA analysis:
> 1. I looked through the llvm doc, it seems "-ds-aa" option is the one I
> should use. (http://llvm.org/docs/AliasAnalysis.html#the-ds-aa-pass).
> however based on the poolalloc's svn history, this option was removed on
> (or before) 2011. May I know why this one was removed ? and is there any
> equivalent option (or options combination) in current poolalloc project ?
> We removed ds-aa because it had bit-rotted and very few people were using
> it. There was a patch to resurrect it, but it didn't apply cleanly (I
> think we moved from LLVM 3.0 to 3.2 between the time the patch was
> submitted and the time I got around to looking at it), and there was only 1
> user of ds-aa, so making it work was low priority.
> How you should use the DSA analysis depends on what you're doing. For
> intra-procedural alias analysis queries, you can use the DSGraph straight
> from the BottomUp or TopDown DSA analysis passes. For both intra- and
> inter-procedural alias analysis queries, you can use the DSNodeEquivs
> pass. If you need a shape graph, you can use the DSGraph interface
> If you could tell me how you want to use DSA, I can explain which approach
> to use and how to make it work.
> 2. I checked the svn history of poolalloc. there is no update to trunk
> since last Nov. the release_32 branch was updated this March. I am
> wondering which one is good to use ? and are they compatible with latest
> llvm trunk or llvm release_3_3 branch ?
> The release_32 branch is the actively maintained branch at the moment.
> When we're ready to to move to LLVM 3.3, we'll merge the release_32 branch
> back into trunk and then update the code to compile with LLVM 3.3.
> While I don't have a timeline yet for when the update to LLVM 3.3 will
> happen, I think the earliest date that we'd begin an update would be July
> or August.
> -- John T.
> thank you in advance
> btw: I am not in the llvmdev email alias, please include my email
> address in your reply.
> LLVM Developers mailing listLLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.eduhttp://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev