Frameworks for Intra- and Interprocedural Dataflow Analysis

Craig Chambers, Jeffrey Dean, and David Grove
Because dataflow analyses are difficult to implement from scratch, reusable dataflow analysis frameworks have been developed which provide generic support facilities for managing propagation of dataflow information and iteration in loops. We have designed a framework that improves on previous work by making it easy to perform graph transformations as part of iterative analysis, to run multiple analyses "in parallel" to achieve the precision of a single monolithic analysis while preserving modularity and reusability of the component analyses, and to construct context-sensitive interprocedural analyses from intraprocedural versions. We have implemented this framework in the Vortex optimizing compiler and used the framework to help build both traditional optimizations and non-traditional optimizations of dynamically-dispatched messages and first-class, lexically-nested functions.
University of Washington Department of Computer Science and Engineering Technical Report UW-CSE-96-11-02.

To get the PostScript file, click here.

Cecil/Vortex Project