The Interprocedural Express-Lane Transformation
David Melski and Thomas Reps
The express-lane transformation isolates and duplicates frequently
executed program paths, aiming for better data-flow facts along the
duplicated paths. An express-lane p is a copy of a frequently executed
program path such that p has only one entry point at its beginning;
p may have branches back to the original code,
but the original code never branches into p.
Classical data-flow analysis is likely to find sharper
data-flow facts along an express-lane, because there are no join points.
This paper describes several variants of interprocedural express-lane
transformations; these duplicate hot interprocedural paths, i.e., paths
that may cross procedure boundaries. The paper also reports results
from an experimental study of the effects of the express-lane
transformation on interprocedural range analysis.
(Click here to access the paper:
PostScript,
PDF.)