GCC 5 Is Coming This Month With OpenMP 4.0,Offloading,Cilk Plus & More

作者: Xuein 2015-04-08 09:02:27
GCC 5 is expected to be formally released later this month and it by far is looking to be the most exciting GNU Compiler Collection update yet! GCC 5 has amassed a ton of exciting open-source compiler features over the past year.

Here's a look at some of the features that get me the most excited about GCC 5.0:

- The GCC C compiler now defaults to GNU11 (C11) rather than GNU89 (C89)! LLVM's Clang compiler took a similar move but at least before they were on C99.

- Optimization improvements! The inter-procedural optimizations include a new Identical Code Folding (ICF) pass for unifying identical functions, virtual tables are now optimized, write-only variables are now detected and optimized out, and many other optimizations.

- Memory usage and link times were improved when enabling link-time optimizations (LTO).

- OpenMP 4.0 is fully-supported by GCC 5 for C, C++, and Fortran. The OpenMP 4.0 support also includes initial offloading support, including early support for upcoming Intel Xeon Phi MICs.

- GCC C and C++ now supports Intel's Cilk Plus parallel programming interface.

- New _has_include and _has_include_next pre-processor constructs for attempting to include header files only if they are present on the system.

- GCC 5's C++ support now includes many C++14 features from variable templates to aggregates with non-static data member initializers, sized deallocation functions, and much more.

- GCC 5's libstdc++ library has full support for C++11 and experimental support for C++14.

- GCC 5's Go language support has complete support for Go 1.4.2.

- GCC 5 adds initial support for its Just-In-Time (JIT) compilation via the new libgccjit library. Libgccjit is finally in mainline, but it's still considered an experimental option for this release as an embeddable JIT compiler.

- Improved 64-bit ARM (AArch64) code generation for the Cortex-A57 and A53. There's also new support for the ARM Cortex-A72 (and with a A53 big.LITTLE design), the Cavium ThunderX, and Applied Micro X-Gene 1. Within the 32-bit ARM world is support for the new AArch64 processors when on a 32-bit stack along with the new Cortex-A17 processor.

- AVX-512 support for Intel's future Skylake server processors.

- MIPS Release 3 and 5 and 6 are now supported. There's also support for the Cavium Octeon 3 and Imagination P5600 MIPS processors.

- GCC is now officially supported on DragonFlyBSD.

You can find out more about the upcoming GCC 5.0 release via our dozens of GCC 5 articles over the past year on Phoronix along with the lengthy release notes documented at gcc.gnu.org.

相关资讯