High speed compilation of efficient object code
- 1 August 1965
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 8 (8) , 483-488
- https://doi.org/10.1145/365474.365489
Abstract
A three-pass compiler with the following properties is briefly described: The last two passes scan an intermediate language produced by the preceding pass in essentially the reverse of the order in which it was generated, so that the first pass is the only one which has to read the relatively bulky problem-oriented input. The double scan, one in either direction, performed by the first two passes, allows the compiler to remove locally constant expressions and recursively calculable expressions from loops and to do the important part of common subexpression recognition. Optimization such as the effective use of index registers, although as important, is not discussed since the object code which would be most efficient is highly machine dependent. The discussion is in terms of a FORTRAN-like language, although the technique is applicable to most algebraic languages.Keywords
This publication has 3 references indexed in Scilit:
- Optimization of the Address Field Compilation in the ILLIAC 2 AssemblerThe Computer Journal, 1964
- An algorithm for coding efficient arithmetic operationsCommunications of the ACM, 1961
- Sequential formula translationCommunications of the ACM, 1960