Advanced Compiler Optimizations for the Smallest, Fastest Code
This paper describes some of the optimizations performed by today's modern compilers that help to generate highly tuned code for maximum performance and minimal code size. In spite of the increased speed of microprocessors, performance has not become irrelevant. Performance is necessary to minimizing the response time of one's system, thereby achieving product reliability. Increased performance also allows more features to be implemented without compromising the integrity of the system. Conversely, performance may be used to select a cheaper microprocessor or one that consumes less power.
There are many factors that determine the performance of a system. The choice of hardware can mean the difference between a few MIPS and a few hundred. Good data structures and algorithms are essential, and bookshelves have been written on this topic. Simple guidelines should also be followed to make sure that one's code can be readily optimized. A good compiler is also essential. The examples provided in this paper describe optimizations performed by highly optimizing compilers.