The new LLVM 4.0.0 Release has been announced for general availability and can be downloaded for free. The release comes with several improvements, some changes, and fixes.
LLVM is a compiler infrastructure. It is an aggressive cross-platform, free and open source compiler for C and C++ and Stacker which a Forth-like language. It is a collection of modular and reusable compiler and toolchain technologies.
Clang is the “LLVM native” C, C++, and Objective-C compiler, which aims to deliver amazingly fast compiles. There is also the Clang Static Analyzer which is designed to automatically find bugs in your code.
Also within LLVM is dragon eggs. This allows LLVM to compile Ada, Fortran, and other languages supported by the GCC compiler frontends, and access to C features not supported by Clang. It does this by integrating the LLVM optimizers and code generator with the GCC parsers.
Highlights of the new LLVM 4.0.0 Release
Starting with this release, LLVM is using a new versioning scheme. The scheme is based on increasing the major version number with each major release. Stable updates to the major release will be versioned X.0.x, and the next major release will come in after six months.
The minimum compiler versions for building LLVM has been raised to version 4.8 for GCC and 2015 for Visual Studio. There are also a number of C API functions which have been removed among a host of other internal changes.
Experimental support for Coroutines in LLVM has been added through enabling
opt in the command tool or using the
addCoroutinePassesToExtensionPoints API when building the optimization pipeline.
There are also additions to the ARM, AVR, MIPS and X86 targets bringing in support for AMD Ryzen CPUs, XRay and ILP32 relocations. There is also increased support for Qualcomm’s Falkor and Samsung’s Exynos CPUs.
The attribute API in the OCaml bindings has been completely overhauled, following the changes to the C API. For a comprehensive brief on all the changes, you can check out the official release notes here where they cover all the details. Meanwhile, you can head on over to the download page to get yourself a copy of this new LLVM 4.0.0 Release.