Global optimization by suppression of partial redundancies
- 1 February 1979
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 22 (2) , 96-103
- https://doi.org/10.1145/359060.359069
Abstract
The elimination of redundant computations and the moving of invariant computations out of loops are often done separately, with invariants moved outward loop by loop. We propose to do both at once and to move each expression directly to the entrance of the outermost loop in which it is invariant. This is done by solving a more general problem, i.e. the elimination of computations performed twice on a given execution path. Such computations are termed partially redundant. Moreover, the algorithm does not require any graphical information or restrictions on the shape of the program graph. Testing this algorithm has shown that its execution cost is nearly linear with the size of the program, and that it leads to a smaller optimizer that requires less execution time.Keywords
This publication has 7 references indexed in Scilit:
- A Comparison of Two Algorithms for Global Data Flow AnalysisSIAM Journal on Computing, 1976
- A Simple Algorithm for Global Data Flow Analysis ProblemsSIAM Journal on Computing, 1975
- A unified approach to global program optimizationPublished by Association for Computing Machinery (ACM) ,1973
- An empirical study of FORTRAN programsSoftware: Practice and Experience, 1971
- Control flow analysisPublished by Association for Computing Machinery (ACM) ,1970
- Global common subexpression eliminationPublished by Association for Computing Machinery (ACM) ,1970
- Object code optimizationCommunications of the ACM, 1969