After a two week hiatus, LLVM 3.3 has been officially released!
The LLVM Loop Vectorizer is now being utilized by default at new optimization levels, in the name of faster performance.
For those that didn't realize, the LLVM/Clang 3.3 release is running a bit behind schedule, but the wait should be worth it with this hefty upgrade.
While LLVM 3.3 hasn't even been released yet, there's already an important change found in LLVM 3.4 for Radeon R600 GPU users.
LLVM's Loop Vectorizer, which is able to automatically vectorize code loops for performance benefits in many scenarios, may find its use expanded for other optimization levels in future LLVM releases.
As the first point release for the GCC 4.8 compiler is the freshly-released GCC 4.8.1.
With next month's release of LLVM 3.3 quickly approaching, here's an overview of some of the best and most exciting features coming to this next major update of the LLVM compiler infrastructure and Clang C/C++ compiler front-end.
The release of LLVM 3.3 along with its sub-projects like the Clang C/C++ compiler front-end and Compiler-RT is imminent. A second release candidate was posted just prior to the weekend to usher in some last minute testing.
The first point release to the GCC 4.8 compiler was made available in release candidate form on Friday, ahead of the official release that's expected next week.
LLVM continues to show its adaptability with the innovative compiler infrastructure now being used by JADE, the Just-In-Time Adaptive Decoder Engine. JADE is an LLVM-powered generic video decoder.
Following yesterday's branching of LLVM and the related components from trunk, LLVM 3.3 Release Candidate 1 is now available for those interested in testing the Apple-sponsored compiler.
LLVM 3.3 and an adjoining update to the Clang C/C++ compiler is due out in June with new features. Today the code for version 3.3 was branched from trunk.
Sambamba is an interesting research project out of academia that's yet another attempt at coming up with a better means of automatically parallelizing code. The Sambamba project describes itself as "A Runtime System for Online Adaptive Parallelization."
Dagger is a decompilation framework written around LLVM that supports decompiling software back into LLVM IR.
At the recent European LLVM meeting in Paris, Andrey Bokhanko and Alexey Bataev of Intel covered their work on supporting OpenMP within LLVM.
LLVM's Clang C/C++ compiler is now supported on IBM's SystemZ mainframe computers.
While GCC 4.8 was released less than two months ago and GCC 4.9 isn't likely to surface until 2014, there's already a new feature to the next major update of the GNU Compiler Collection. GCC 4.9 introduces support for colored outputs in debugging.
While LLVM's Clang C/C++ compiler already has feature complete C++11 support and the developers have already been working on C++14 features, there are some open projects where the GCC alternative is in need of some assistance.
Unlike GCC, LLVM doesn't have any serious compiler support for the Fortran programming language. Having a Fortran front-end has been discussed before and developers have agreed it would be import and worthwhile, but not much has materialized in this space.
Phoronix was first to report on Friday that LLVM's Clang compiler is now C++11 feature complete. The LLVM developers have today confirmed this information and talked about future C++ support too.
The Clang C/C++ compiler front-end to LLVM is now declared "feature complete" against the C++11 ISO standard.
Developing are reaching a point where the mainline LLVM/Clang compiler in an "out of the box" configuration can compile the mainline Linux kernel with only a few patches against the kernel's source tree. This summer's release of LLVM/Clang 3.3 should be a big milestone.
There's a discussion on the LLVM development mailing list about making the compiler become energy-aware to provide an optimization level that would provide the most power-efficient binaries. However, it isn't clear whether this would make sense over simply trying to assemble the fastest binary.
An independent developer has made improvements to the LLVM infrastructure and Clang compiler for supporting the compiling of C++ AMP code into OpenCL code with support for the NVPTX back-end so that this multi-threaded C++ code can be executed on NVIDIA GPUs.
For those using the proven and tested GCC 4.7 compiler series rather than the brand new GCC 4.8, there is now GCC 4.7.3 with over one hundred bug-fixes over the previous release.
A proposal has been made to develop a new LLVM compiler back-end that would generate TGSI instructions, the intermediate representation used by Mesa's Gallium3D drivers.
The LLVM project will be releasing daily Debian/Ubuntu package snapshots of its compiler for those interested in testing out the very latest code.
An Apple developer has shared plans to see LLVM 3.3 released in June of this year, following the month of May being dedicated to testing.
Steve McIntyre and the Linaro Enterprise Group recently analyzed Ubuntu and Fedora software packages to see what software was still relying upon hand-written Assembly code. This was done to see how much real Assembly is being used, to see what the code was used for, and whether it was worth porting to 64-bit ARM / AArch64 / ARMv8.
Beyond LLVM 3.3 having performance optimizations, one of many other features coming to this next compiler infrastructure update is greater support for Intel's AVX2 instruction set extensions.
758 Compiler news articles published on Phoronix.