1973 · 901 citations · 29 references
ComputingComputer ScienceAlgorithmsCompilersSoftware EngineeringCode GenerationCompiler ConstructionControl-flow AnalysisData-flow AnalysisStatic AnalysisStatic Code AnalysisCode OptimizationCommon Subexpression EliminationCompile-time OptimizationCompiler DesignConstant PropagationInformation Flow StructureObject Code OptimizationProgram Optimization
The paper introduces a general‑purpose program flow analysis algorithm that, through an optimizing function, enables compile‑time global optimization of object code for expressions. The algorithm is formally defined on a directed‑graph model of program flow, proven correct, and combined with optimizing functions such as constant propagation, common subexpression elimination, redundant register load elimination, and live expression analysis to perform global code optimization.
A technique is presented for global analysis of program structure in order to perform compile time optimization of object code generated for expressions. The global expression optimization presented includes constant propagation, common subexpression elimination, elimination of redundant register load operations, and live expression analysis. A general purpose program flow analysis algorithm is developed which depends upon the existence of an "optimizing function." The algorithm is defined formally using a directed graph model of program flow structure, and is shown to be correct. Several optimizing functions are defined which, when used in conjunction with the flow analysis algorithm, provide the various forms of code optimization. The flow analysis algorithm is sufficiently general that additional functions can easily be defined for other forms of global code optimization.
29
Frances Allen · ACM SIGPLAN Notices · 1970 · 720 citations
The Generation of Optimal Code for Arithmetic Expressions
Ravi Sethi, Jeffrey D. Ullman · Journal of the ACM · 1970 · 295 citations · Full text
Edward S. Lowry, C. W. Medlock · Communications of the ACM · 1969 · 229 citations · Full text
Global common subexpression elimination
John Cocke · ACM SIGPLAN Notices · 1970 · 210 citations
W. M. McKeeman · Communications of the ACM · 1965 · 155 citations · Full text