LLVM/Clang 3.9 Is Shipping Soon With OpenCL 2.0, ThinLTO & Much More

The LLVM/Clang 3.9 release date is currently penciled in for 22 August. Among the LLVM and Clang highlights for v3.9 are:
LLVM 3.9 Highlights:
- The Autoconf build system was dropped in favor of CMake.
- A new MemorySSA analysis.
- The incompatibility problems of the new GCC ABI have been addressed. a.k.a. the Clang issues that came about as Linux distributions began moving to GCC 5 and switching to the new ABI.
- LLVM now supports ThinLTO via -flto=thin. Those unfamiliar with ThinLTO can find much information about its design and implementation via the LLVM blog.
- LLVM on x86 now supports Intel Skylake server CPUs with AVX-512 via -march=skylake-avx512. There is also Knights Landing CPU support with AVX-512 via the knl value.
- LLVM on ARM now supports Qualcomm's Kryo and Broadcom's Vulcan. There's also early Cortex-R8 support and ARMv8.2-A support.
- The AMDGPU back-end now supports OpenGL shader images, buffer storage, atomic counters, and compute shader extensions. These go in hand with the work done on Mesa 12.
Clang 3.9 Highlights:
- Support for all OpenCL 2.0 features, such as pipe built-in functions, address space conversion functions, improved diagnostic/generation of Clang Blocks in OpenCL kernels, etc.
- Support for all non-offloading features of OpenMP 4.5. This brings Clang to OpenMP 3.1 support and the non-offloading features of OpenMP 4.0/4.5 while the support to offload to GPUs and other accelerators is still a work in progress.
- Various improvements to the compiler's diagnostics.
- Improved Windows support as well as to the clang-cl drop-in driver.
- Several new features are supported of the upcoming C++1z standard. The next-gen C++ language updates in experimental form can be turned on via -std=c++1z.
Succeeding LLVM/Clang 3.9 will be LLVM/Clang 4.0.
18 Comments