Producing Computer Instructions for the PACT I Compiler
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Single-Scan Techniques for the Translation of Arithmetic Expressions in ALGOL 60
Journal of the ACM (JACM)
ALPHA—An Automatic Programming System of High Efficiency
Journal of the ACM (JACM)
Journal of the ACM (JACM)
Analysis of Graphs by Connectivity Considerations
Journal of the ACM (JACM)
Subexpression ordering in the execution of arithmetic expressions
Communications of the ACM
Communications of the ACM
On arithmetic expressions and trees
Communications of the ACM
One-Pass compilation of arithmetic expressions for a parallel processor
Communications of the ACM
On compiling algorithms for arithmetic expressions
Communications of the ACM
Optimization of expressions in Fortran
Communications of the ACM
A comment on index register allocation
Communications of the ACM
Some effects of the 6600 computer on language structures
Communications of the ACM
A note on some compiling algorithms
Communications of the ACM
Communications of the ACM
The arithmetic translator-compiler of the IBM FORTRAN automatic coding system
Communications of the ACM
Compiler Construction for Digital Computers
Compiler Construction for Digital Computers
Automatic recognition of vector and parallel operations in a higher level language
ACM '72 Proceedings of the ACM annual conference - Volume 2
Proceedings of a symposium on Compiler optimization
Global common subexpression elimination
Proceedings of a symposium on Compiler optimization
Proceedings of a symposium on Compiler optimization
Programming languages and their compilers: Preliminary notes
Programming languages and their compilers: Preliminary notes
On storage optimization of horizontal microprograms
MICRO 7 Conference record of the 7th annual workshop on Microprogramming
Hi-index | 0.00 |
This survey describes the major optimization techniques of compilers and groups them into three categories: machine dependent, architecture dependent, and architecture independent. Machine-dependent optimizations tend to be local and are performed upon short spans of generated code by using particular properties of an instruction set to reduce the time or space required by a program. Architecture-dependent optimizations are global and are performed while generating code. These optimizations consider the structure of a computer, but not its detailed instruction set. Architecture-independent optimizations are also global but are based on analysis of the program flow graph and the dependencies among statements of source program. The paper also presents a conceptual review of a universal optimizer that performs architecture-independent optimizations at source-code level.