The Free Software Foundation's GCC (GNU Compiler Collection), featuring front ends for such languages as C, C++, Objective-C, and Java, has been upgraded with improvements for devirtualization and fixes to bottlenecks.
GCC 4.9.0, available at the the GNU FTP site and mirrors, is a major release containing substantial new functionality, said GCC developer Jakub Jelinek, a consulting engineer at Red Hat. Version 4.9.0, he said, "adds new features some people are looking for, improves generated code, adds support for new instruction set extensions, and improves and extends support for new language standards." Some of these standards include C++11 and 14, Fortran 2008, and C11.
The new version boasts substantial improvements to C++ devirtualization as well as fixes for scalability bottlenecks in interprocedural and link-time optimizations. Middle-end devirtualization is an optimization where if the computer can prove a virtual call will always call a particular virtual method, then it can be transformed into a direct call to that method, Jelinek explained.
Version 4.9.0 supports the OpenMP 4.0 parallel programming standard for C and C++ and a partial implementation of Cilk Plus extension for data and task parallelism. Also, undefined behaviors in programs can be diagnosed at runtime through an Undefined Behavior Sanitizer capability.
GCC is widely used in Free Software OSes as the primary system compiler and is in many embedded architectures, Jelinek said. "Additionally, it is or will be soon included in several Linux distributions and in various binary distributions for other operating systems," he noted.
In the hardware space, the Local Register Allocator introduced in GCC 4.8.0 for ia32 and x86-64 targets is now also used on Aarch64, ARM, S/390, and ARC targets by default and on PowerPC and RX targets optionally. "The LRA pass is a rewrite of the old reload pass, which became too complicated and hard to maintain," Jelinek said. Support for the little-endian PowerPC ELF ELFv2 ABI is featured as well.
This story, "GNU Compiler Collection gains major new functionality," was originally published at InfoWorld.com. Get the first word on what the important tech news really means with the InfoWorld Tech Watch blog. For the latest developments in business technology news, follow InfoWorld.com on Twitter.