GCC 4.5.0 Released

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
optimization options.)

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
been corrected.

Refer to gcc.gnu.org:

http://gcc.gnu.org/gcc-4.5/changes.html

for more information about this release.

GCC 4.5.1, with corrections for any critical defects reported in GCC
4.5.0, is expected in July, 2010.

As always, a vast number of people contributed to this GCC release —
far too many to thank individually!


Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713

Comments are closed.