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