[LLVMdev] Memory dependence analysis

Andreas Wilhelm andreas.wilhelm at gmx.com
Sat Jun 25 08:31:06 PDT 2011


That looks good, I already got DSA to run. But now there are thousands of possibilities to compare the pointer arguments of two functions in terms of data dependence.
What is the most "elegant" way?

As a first case I have a pair of functions, function A and function B that are both called in function X. Now I want to check if there is a data dependence between them
with DSA. How would your approach look like?

Ciao, Andreas

Am 24.06.2011 um 17:45 schrieb John Criswell:

> 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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20110625/caa4fb7e/attachment.html>


More information about the llvm-dev mailing list