Abstract

Optimizing compilers play a crucial role in making a computer program efficient. Many optimizing techniques are used to improve the performance of a program written in high level language. The different types of optimizations techniques include data-flow optimization, control flow optimization, SSA-based optimization, loop optimization, code generator optimization, functional language optimization etc. Some optimizations are done early during the compilation or optimization phase since they help or improve further optimizations. Some of the early optimizations are value numbering, constant folding, constant propagation, copy propagation, scalar replacement of aggregates etc. We propose here an extension to the existing technique of early optimization - Global Value Numbering. The value graph method used for global value numbering is utilized. The idea is to include some algebraic simplification and error detection during the value numbering phase itself. This is beneficial since we can improve an existing technique without incurring any additional cost and it gives a scope to increase the efficiency of other optimizations.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call