1807	 Optimization of Expressions in Fortran	 A method of optimizing the computation of arithmetic and indexing expressions of a Fortran program is presented. The method is based on a linear analysis of the definition points of the variables and the branching and DO loop structure of the program. The objectives of the processing are to eliminate redundant calculations when references are made to common subexpression values to remove invariant calculations from DO loops to efficiently compute subscripts containing DO iteration variables and to provide efficient index register usage. The method presented requires at least a three-pass compiler the second of which is scanned backward. It has been used in the development of several FORTRAN compilers that have proved to produce excellent object code without significantly reducing the compilation speed. FORTRAN optimization expressions compilers compilation subscripts register allocation DO loops common subexpressions invariant calculations
