Graph Rewrite Systems for Program Optimization
Abstract
This paper demonstrates how graph rewrite systems can be used to specify and generate program optimizations. For termination of the systems we develop some new rule-based criteria, defining {\em exhaustive graph rewrite systems}. We also define {\em stratification} of graph rewrite systems which automatically selects single normal forms for many non-deterministic systems. To illustrate the technology we specify parts of the lazy code motion optimization. For the resulting graph rewrite system classes a uniform evaluation algorithm is given. On the basis of this method the optimizer generator OPTIMIX has been developed. It is one of the first tools which can be used to specify analysis and transformation uniformly and we present compilation time results of generated optimizer components.
Loading...