The Free Software Foundation and the GNU Compiler Collection (GCC)
development team have released GCC 4.5.0. This release is a major
upgrade to the compilers, with a particular focus on the performance
of the generated code. The developers have measured performance
improvements of 5% to 10% on high-performance computing benchmarks.
(Of course, results vary depending on choice of CPU, benchmark, and
GCC 4.5.0 is now capable of "link-time optimization". Traditionally,
most C and C++ compilers (including GCC) have only been able to
optimize within a single source file or "module". GCC was therefore
unable to take advantage of optimization opportunities that required
knowledge about multiple modules. This limitation has been removed in
GCC 4.5.0. This optimization can provide significant increases in
performance and equally significant reductions in code size.
In addition, GCC 4.5.0 has improved loop optimization infrastructure.
This infrastructure, based on an advanced "polyhedral" model for
optimization, allows GCC to perform more advanced loop optimizations.
In the future, this infrastructure will be tuned and used more heavily.
GCC 4.5.0 also features improvements for a wide variety of specific
architectures, including support for recent CPUs using the ARM, AVR,
ColdFire, MIPS, Power, SuperH, and x86 architectures. GCC also
generates better debug information for optimized code, including
information about the value of variables that have been optimized
away. And, of course, a wide variety of defects in all parts of the
compiler (ranging from language conformance to code-generation) have