Having yesterday covered the features so far of GCC 4.9, here's a look at the features baking for LLVM 3.4 -- the next major compiler infrastructure update due out likely around the end of the year.
GCC 4.9 will likely not be released until later in H1'2014, but already a lot of compiler changes have been queued up to make this next major release of the GNU Compiler Collection exciting for developers and also benefiting users of the generated binaries.
The Embedded LLVM Compiler Collection (ELLCC) open-source project has reached the major milestone of being self-hosting.
The LLVM compiler infrastructure has now received support for the Cortex-A57, ARM's highest-end 64-bit AArch64 processor.
The recently announced just-in-time (JIT) compiler library using the GNU Compiler Collection might be added to the major GCC 4.9 release in 2014.
Earlier this week there was the news of Intel contributing their OpenMP Runtime to LLVM in order to advance the open-source compiler project. Now to end off the week is news that Apple, who continues to invest significantly into LLVM and employs many of the key contributors, has open-sourced their stack unwinder for the project.
Today in open-source multi-threading compiler news there's been word of Intel having their OpenMP Run-Time Library be a new LLVM sub-project and Cilk-Plus multi-threading support being cleared for GCC. In an abnormally interesting day for open-source compiler news, OpenMP 4.0 support is now ready for mainlining in GCC.
This morning there was news of Intel committed their open-source OpenMP Run-Time Library as a new LLVM project. Now this afternoon there's more good news for multi-threading in open-source compilers: the GCC steering committee will allow Intel to add their Cilk+ Runtime Library to the GCC code-base as they add multi-threading Cilk Plus C/C++ support to the compiler.
While LLVM's Clang C/C++ compiler has made amazing progress in recent times, one of the features it's sorely been missing has been OpenMP support to allow it to better compete with GCC in many multi-threaded workloads. There's been numerous projects to work on OpenMP support in LLVM/Clang and most recently Intel has been taking up the work. Intel's latest announcement in the area is that they have decided to open-source their own OpenMP Runtime as a new LLVM sub-project.
An experimental library has been published by a Red Hat developer that allows for an embeddable JIT compiler that's based on GCC.
Several months ago I wrote about the Duetto C++ compiler that is based upon LLVM's Clang and looks to take C++ programming to the HTML5 web. We hadn't heard anything out of the project since then, but today they're announcing their first public beta.
Samsung has published their code to a modified version of the GCC Compiler that supports using the OpenACC 1.0 parallel computing specification. OpenACC allows for simplified parallel programming on heterogeneous CPU and GPU systems.
LLVM's libc++ standard library alternative to the GNU's libstdc++ now has full support for the forthcoming C++1y standard.
For those curious about the performance of LLVM/Clang 3.4 -- the current development code of the increasingly-used open-source cross-platform compiler -- here's some new tests done on an Intel Core i7 "Haswell" processor with using the compiler's "core-avx2" optimizations and benchmarks comparing it to the stable LLVM 3.3 release.
After writing about ClangFormat yesterday as an interesting LLVM project that leverages Clang to automatically reformat C/C++ source-code, a Phoronix reader wrote in about another interesting project, Cling. Cling is an interactive C++ interpreter that uses Clang for Just-In-Time compilation.
Clang-Format is taking shape in LLVM 3.4 to be a competitive answer for automatically transforming and polishing C, C++, and Objective-C code-bases. Clang-Format is part of Clang Tools and can be used for automatic styling of code with easy integration for common programming applications.
While the LLVM compiler infrastructure is supported to some extent on Microsoft Windows, the main focus of LLVM development has been -- and continues to be -- around Linux and OS X support. However, with a recent push, the LLVM toolchain is beginning to make more serious progress on Windows.
It's been a while since last publicly releasing any GCC vs. LLVM/Clang compiler benchmarks from the Samsung Chromebook with Exynos 5 Dual Cortex-A15 SoC. However, uploaded to OpenBenchmarking.org I have now released some new results.
Our latest tests from an Intel Core i7 4900MQ "Haswell" laptop are looking at the impact of applying CPU compiler optimizations for this high-end "core-avx2" processor when using a recent GCC 4.9 development snapshot.
The mainline GCC compiler received support today for UBSAN, the Undefined Behavior Sanitizer.
GCC 4.9 isn't anticipated for release until H1'2014, but it's already been stacking up changes for several months. We have covered some of the new GCC 4.9 work already on Phoronix for this open-source compiler, but here's an overview of some of the other changes.
Intel software engineers have implemented full support for OpenMP 3.1 onto LLVM's Clang C/C++ compiler front-end.
Improvements for LLVM's support of the Linux x32 ABI is set to improve with some work-in-progress patches for the Clang C/C++ compiler front-end and Compiler-RT runtime library.
The latest benchmark results to share from the System76 Gazelle Pro, a Linux laptop with an Intel Core i7 4900MQ "Haswell" processor, are some current benchmarks of the LLVM Clang 3.4 SVN compiler development code. Is there much churn over the latest LLVM/Clang 3.3 stable on this latest-generation Intel CPU?
As anticipated, the LLVM Clang compiler has now enabled the use of its SLP Vectorizer by default.
The 64-bit ARM back-end to the LLVM/Clang compiler now supports generating NEON instructions for AArch64.
Following word this weekend that Apple and Google engineers agree on SLP vectorization by default for the LLVM/Clang compiler, I carried out some fresh SLP Vectorizer benchmarks this weekend from the LLVM Clang 3.4 SVN development code.
After making more widespread use of the Loop Vectorizer, developers at Apple in Google are at least agreeing that LLVM's SLP Vectorizer should be more widely-used as well.
Videos from the recent GCC Cauldron 2013 that was hosted at the Googleplex earlier this month are now available online. Discussed during this developer event is not only the GCC compiler but also GDB, Address Sanitizer, and other compiler-related technologies.
We're still many months out from seeing the release of GCC 4.9 and LLVM Clang 3.4 releases, but with the next major updates to these open-source code compilers will come better support for the C++14 (C++1y) language.
768 Compiler news articles published on Phoronix.