I have checked in 3 new analyses:
1. IPModRef (analyze -ipmodref):
This is a Module pass that computes flow-insensitive context-sensitive
interprocedural Mod/Ref information for a program. It uses DS Graphs
to track mod/ref info for distinct data structures.
2. MemoryDepAnalysis (analyze -memdep):
This is a Module pass (but will eventually be a Function pass) that
computes a DependenceGraph for all data-dependences on memory locations
within each function (i.e., the nodes are Instructions; the edges are
data dependences). This pass uses the IPModRef pass to find dependences
on Call instructions. It does NOT do any non-trivial array dependence
3. PgmDependenceGraph (analyze -pgmdep):
This is an iterator (not a pass) that is intended to enumerate all
dependences in a function, including data dependences on memory and
on SSA registers, and control dependences. It does not build an
explicit graph in order to avoid creating a second representation of
SSA def-use edges.
Caveat: Control dependences are not implemented yet, so this iterator
only enumerates data dependences at present. Also, this pass has only
been lightly tested.