|Clang 3.4 Released|
|Written by Kay Ewbank|
|Friday, 10 January 2014|
The LLVM 3.4 compiler has been released with an updated Clang C/C++ compiler front-end and new compiler tools.
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies. It began life as a research project at the University of Illinois, with the goal of providing a modern, SSA-based compilation strategy capable of supporting both static and dynamic compilation of arbitrary programming languages.
The Clang project was created in order to create a new C, C++, Objective C and Objective C++ front-end for the LLVM compiler. It is a "LLVM native" C/C++/Objective-C compiler that aims to deliver very fast compiles, about three times faster than GCC when compiling Objective-C code in a debug configuration.
One of the main improvements in LLVM 3.4 is the enabling by default of the AMD R600 GPU LLVM back-end. Until now this was an ‘experimental’ feature, but the new version moves beyond that. The advantage this offers is that it means you can use it with the open-source AMD Linux graphics driver.
Other improvements include a new Clang-Format utility that you can use to auto-format code, more widespread use of the loop vectorizer at different optimization levels, and the fact the SLP straight-line vectorizer is turned on by default. There’s a driver for Microsoft Visual Studio.
Support has been added for the MIPS SIMD architecture, as well as experimental support for SPARC V9. Several improvements mean the PowerPC backend in terms of code generation quality and compile time. The X86, SPARC, ARM32, Aarch64 and SystemZ backends have all been improved.
According to the Clang 3.4 release notes, the main improvements to the Clang implementation start with improvements to Clang’s diagnostics to catch more issues, explain them more clearly, and provide more accurate source information about them.
The C Language support in Clang has new checked arithmetic builtins for security critical applications. C++ changes include support for the 2013-08-28 draft of the ISO WG21 SG10 feature test macro recommendations. These aim to provide a portable method to determine whether a compiler supports a language feature, much like Clang’s __has_feature macro.
One major improvement is support for all the features in the current working draft of the C++1y standard. This will become the new C++ standard when finalised. Support for the following major new features has been added since Clang 3.3:
Clang-cl has also added a new experimental driver mode that is designed for compatibility with Visual Studio’s compiler, cl.exe. This driver mode makes Clang accept the same kind of command-line options as cl.exe. The installer will attempt to expose clang-cl in any Visual Studio installations on the system as a Platform Toolset, e.g. “LLVM-vs2012”.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: firstname.lastname@example.org
You can here: http://llvm.org/releases/download.html#3.4
|Last Updated ( Friday, 10 January 2014 )|