TR-2005-11
Type-sensitive Control-flow Analysis
John Reppy. 18 July, 2005.
Communicated by John Reppy.
Abstract
Higher-order typed languages, such as ML, provide strong
support for data and type abstraction.
While such abstraction is often viewed as costing performance,
there are situations where it may provide opportunities for
more aggressive program optimization.
Specifically, we can exploit the fact that type abstraction
guarantees representation independence, which allows the compiler
to specialize data representations.
This paper describes a first step in supporting such optimizations;
namely a modular control-flow analysis that uses the program's type
information to compute more precise results.
We present our algorithm as an extension of Serrano's version of
0-CFA and we show that it respects types.
We also discuss applications of the analysis with a specific
focus on optimizing Concurrent ML programs.
Original Document
The original document is available in PDF (uploaded 18 July, 2005 by
John Reppy).