[LLVMdev] Memory dependence analysis
John Criswell
criswell at illinois.edu
Fri Jun 24 08:45:27 PDT 2011
On 6/24/11 5:20 AM, Andreas Wilhelm wrote:
>
> Where can I find some information about MemoryDependenceAnalysis and
> DataStructureAnalysis?
> It would be interesting which kinds of dependence they're able to find
> and which not.
I haven't used MemoryDependenceAnalysis myself, but I recommend that you
read its doxygen documentation:
http://llvm.org/doxygen/classllvm_1_1MemoryDependenceAnalysis.html.
For DSA, you will want to read the documentation in the docs
subdirectory of the poolalloc project (if you don't know how to download
poolalloc, please feel free to ask on the list). You may also want to
read the paper on DSA (http://llvm.org/pubs/2007-06-10-PLDI-DSA.html)
and Chris Lattner's thesis
(http://llvm.org/pubs/2005-05-04-LattnerPHDThesis.html).
Note that DSA is a unification-based points-to analysis (among other
things): it will generate for you a graph in which each node represents
an abstract memory object and the edges represent pointers between
memory objects (for example, it can tell you that field 5 of abstract
memory object A points to the second field of abstract memory object
B). You can build things like reaching definitions analysis, alias
analysis, etc., etc. using DSA, but it doesn't do these things for you
"out of the box."
-- John T.
>
> Andreas
>
More information about the llvm-dev
mailing list