Local optimizations

Some local optimizations (as opposed to global optimizations} are presented and a suitable one-pass compiler design for using them is shown. Optimizations shown are divided into machine dependent and independent classes with examples of each. There is some discussion of a subscript calculation technique which is an improvement over the usual technique, and a discussion of the best way to raise a quantity to a known small constant power by inline code. Various register allocation criteria are mentioned.

[1]  Bernard A. Galler,et al.  The internal organization of the MAD translator , 1961, CACM.

[2]  W. M. McKeeman,et al.  Peephole optimization , 1965, CACM.

[3]  C. Robert Zarnke,et al.  WATFOR—The University of Waterloo FORTRAN IV compiler , 1967, CACM.

[4]  R. E. Nather On the compilation of subscripted variables , 1961, CACM.

[5]  Donald E. Knuth,et al.  Evaluation of polynomials by computer , 1962, Commun. ACM.

[6]  Bernard A. Galler,et al.  The MAD definition facility , 1969, CACM.

[7]  John M. Blatt,et al.  Comments from a FORTRAN user , 1960, Commun. ACM.

[8]  Bernard A. Galler,et al.  An Algorithm for Translating Boolean Expressions , 1962, JACM.

[9]  Edward S. Lowry,et al.  Object code optimization , 1969, CACM.

[10]  C. William Gear,et al.  High speed compilation of efficient object code , 1965, Commun. ACM.

[11]  Robert M. Graham Bounded context translation , 1964, AFIPS '64 (Spring).

[12]  Vincent A. Busam,et al.  Optimization of expressions in Fortran , 1969, CACM.

[13]  A. P. Yershóv ALPHA—An Automatic Programming System of High Efficiency , 1966, JACM.

[14]  Stephen Warshall A syntax directed generator , 1961, AFIPS '61 (Eastern).

[15]  Robert W. Floyd,et al.  An algorithm for coding efficient arithmetic operations , 1961, CACM.

[16]  Saul Rosen,et al.  PUFFT—The Purdue University fast FORTRAN translator , 1965, CACM.

[17]  Herbert Kanner,et al.  The structure of yet another ALGOL compiler , 1965, CACM.

[18]  Jürg Nievergelt,et al.  On the automatic simplification of computer programs , 1965, CACM.

[19]  Stephen Warshall,et al.  A general-purpose table-driven compiler , 1964, AFIPS '64 (Spring).