[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