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 analysis yet. 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. --Vikram http://www.cs.uiuc.edu/~vadve