An algorithm for coding efficient arithmetic operations
Communications of the ACM
Sequential formula translation
Communications of the ACM
Communications of the ACM
The role of programming in a Ph.D. computer science program
Communications of the ACM
Communications of the ACM
Optimization of expressions in Fortran
Communications of the ACM
A unified approach to global program optimization
POPL '73 Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On proving the correctness of optimizing transformations in a digital design automation system
DAC '81 Proceedings of the 18th Design Automation Conference
Proceedings of a symposium on Compiler optimization
An Abstract Model of Behavior for Hardware Descriptions
IEEE Transactions on Computers
The automatic optimization of slip routines
ACM SIGSAM Bulletin
An appraisal of compiler technology
AFIPS '72 (Spring) Proceedings of the May 16-18, 1972, spring joint computer conference
Hi-index | 48.30 |
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.