[LLVMdev] New analysis passes

Vikram Adve vadve at cs.uiuc.edu
Sun Dec 8 08:29:01 PST 2002


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



More information about the llvm-dev mailing list