Graph rewrite systems for program optimization
- 1 July 2000
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 22 (4) , 583-637
- https://doi.org/10.1145/363911.363914
Abstract
Graph rewrite systems can be used to specify and generate program optimizations. For termination of the systems several rule-based criteria are developed, defining exhaustive graph rewrite systems . For nondeterministic systems stratification is introduced which automatically selects single normal forms. To illustrate how far the methodology reaches, parts of the lazy code motion optimization are specified. The resulting graph rewrite system classes can be evaluated by a uniform algorithm, which forms the basis for the optimizer generator OPTIMIX. With this tool several optimizer components have been generated, and some numbers on their speed are presented.Keywords
This publication has 24 references indexed in Scilit:
- Practical program analysis using general purpose logic programming systems—a case studyACM SIGPLAN Notices, 1996
- On the adequacy of graph rewriting for simulating term rewritingACM Transactions on Programming Languages and Systems, 1994
- Defining context-dependent syntax without using contextsACM Transactions on Programming Languages and Systems, 1993
- Sharlit—a tool for building optimizersACM SIGPLAN Notices, 1992
- Automatic generation of global optimizersACM SIGPLAN Notices, 1991
- Efficient evaluation of circular attribute grammarsACM Transactions on Programming Languages and Systems, 1990
- Properties of data flow frameworksActa Informatica, 1990
- Higher order attribute grammarsACM SIGPLAN Notices, 1989
- A Unified Approach to Path ProblemsJournal of the ACM, 1981
- Global optimization by suppression of partial redundanciesCommunications of the ACM, 1979