Journal Article10.1145/321796.321804
Some Topics in Code Optimization
14
TL;DR: The methods here applied to collecting information for use in code optimization include general algorithms for solving a set of linear equations in Boolean algebra, which are most useful when the coefficient matrix is sparse.
read more
Abstract: Many compilers for higher order languages attempt to translate the source code into “good” object code. Cocke and Schwartz have described an algorithm for discovering when the computation of an expression is redundant (common), and when it can be moved to a less frequently executed region of the program. The present paper includes a tutorial presentation of their basic methods, along with a number of improvements and extensions. These include simplification of the solution method, to save a pass; extension of it to treat the safety constraint, handle multi-entry regions directly, detect additional commonality and code motion after unsafe code motion, and decide where moved code should be put; and combination of the algorithms for commonality and the dead condition, making use of important work of Ken Kennedy.The methods here applied to collecting information for use in code optimization include general algorithms for solving a set of linear equations in Boolean algebra. The algorithms are most useful when the coefficient matrix is sparse.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Dissertation
Méthodes itératives de construction et d'approximation de points fixes d'opérateurs monotones sur un treillis, analyse sémantique des programmes
Patrick Cousot
- 21 Mar 1978
TL;DR: Theoremes de points fixes dans les treillis complets, etude du comportement d'un systeme dynamique discret, analyse semantique exacte des programmes and applications, andes constructives d'approximation de points fix d'operateurs monotone sur un treill is complet.
160
Symbolic Program Analysis in Almost-Linear Time
John H. Reif,Robert E. Tarjan +1 more
TL;DR: This paper describes an algorithm to construct, for each expression in a given program text, a symbolic expression whose value is equal to the value of the text expression for all executions of the program.
Symbolic program analysis in almost linear time
John H. Reif
- 01 Jan 1978
TL;DR: The objective of this program analysis is the construction of a mapping (a cover) from program text expressions to symbolic expressions for their value holding over all executions of the program.
Efficient symbolic analysis of programs
John H. Reif,Harry R. Lewis +1 more
TL;DR: The cover computed by the algorithm is characterized as a minimum of a certain fixed point equation, and is in general a better cover than might be computed by iteration methods (which can compute fixed point covers which are not minimal).
30
References
A global flow analysis algorithm
TL;DR: A global algorithm which uses interval analysis techniques to recognize live variables is presented and it is shown that this algorithm can be used to solve the challenge of recognizing live variables in discrete time.
65
Analysis of Graphs by Ordering of Nodes
TL;DR: A method of analyzing directed graphs by establishing a particular ordering for the nodes is presented, and properties of the ordered graph are derived.
28
Optimization of expressions in Fortran
TL;DR: A method of optimizing the computation of arithmetic and indexing expressions of a Fortran program is presented, based on a linear analysis of the definition points of the variables and the branching and DO loop structure of the program.
25