Optimal code motion
Authors:
Open Access
- 1 July 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 16 (4) , 1117-1155
Abstract
An implementation-oriented algorithm for lazy code motion is presented that minimizes the number of computations in programs while suppressing any unnecessary code motion in order to avoid superfluous register pressure. In particular, this variant of the original algorithm for lazy code motion works on flowgraphs whose nodes are basic blocks rather than single statements, since this format is standard in optimizing compilers. The theoretical foundations of the modified algorithm are given in the first part, where t -refined flowgraphs are introduced for simplifying the treatment of flow graphs whose nodes are basic blocks. The second part presents the “basic block” algorithm in standard notation and gives directions for its implementation in standard compiler environments.Keywords
This publication has 19 references indexed in Scilit:
- A variation of Knoop, Rüthing, and Steffen's Lazy Code MotionACM SIGPLAN Notices, 1993
- An elimination algorithm for bidirectional data flow problems using edge placementACM Transactions on Programming Languages and Systems, 1993
- Practical adaption of the global optimization algorithm of Morel and RenvoiseACM Transactions on Programming Languages and Systems, 1991
- A new algorithm for composite hoisting and strength reduction optimisationInternational Journal of Computer Mathematics, 1989
- A fast algorithm for code movement optimisationACM SIGPLAN Notices, 1988
- A solution to a problem with Morel and Renvoise's “Global optimization by suppression of partial redundancies”ACM Transactions on Programming Languages and Systems, 1988
- Characterization of program loops in code optimizationComputer Languages, 1983
- A composite hoisting-strength reduction transformation for global program optimization part IInternational Journal of Computer Mathematics, 1982
- A Fast and Usually Linear Algorithm for Global Flow AnalysisJournal of the ACM, 1976
- A Simple Algorithm for Global Data Flow Analysis ProblemsSIAM Journal on Computing, 1975