Features To Look Forward To With LLVM / Clang 6.0
With the LLVM Clang 6.0 code branching and feature freeze coming up on 3 January, here's a recap of some of the most interesting new features and changes to find with the LLVM 6.0 compiler infrastructure and Clang 6.0 C/C++ front-end.
Some of the LLVM 6.0 feature highlights include:
- Updated Skylake Server scheduler model along with updates too for the Sandybridge, Haswell, and Broadwell models.
- The AMD Zen "znver1" scheduler model is now considered "complete" that includes an updated scheduler model that landed earlier in the cycle.
- For those with old AMD CPUs, there is 3DNow! improvements.
- Plenty of AMDGPU LLVM optimizations. Especially if running with a newer Radeon GPU like Raven/Vega, you'll really want your driver stack built against LLVM 6.0.
- Support for Myriad ma2x8x CPUs.
- The ARC back-end was merged for Synopsys DesignWare ARC processors.
- Cortex A55 and A75 CPUs are now officially supported.
On the LLVM Clang 6.0 side there is:
- Clang 6.0 now defaults to C++14 (the GNU++14 dialect) rather than C++98/GNU++98.
- Clang support for configuration files was just recently added. Clang also now supports a -autocomplete flag to help with bash auto-completion and finding out all available compiler flag options.
- Initial support for Intel Icelake CPUs and its new AVX-512 instructions.
- Initial support for the C17 programming language standard.
- Support for Intel Control-flow Enforcement Technology as one of many new Intel CPU instruction additions this cycle like the Vector Neural Network Instructions (VNNI).
LLVM 6.0 is branching on 3 January while the release candidates will begin by mid-January. The official LLVM 6.0.0 release is expected by late February assuming no delays. More LLVM/Clang 6.0 benchmarks will be coming up on Phoronix.
Some of the LLVM 6.0 feature highlights include:
- Updated Skylake Server scheduler model along with updates too for the Sandybridge, Haswell, and Broadwell models.
- The AMD Zen "znver1" scheduler model is now considered "complete" that includes an updated scheduler model that landed earlier in the cycle.
- For those with old AMD CPUs, there is 3DNow! improvements.
- Plenty of AMDGPU LLVM optimizations. Especially if running with a newer Radeon GPU like Raven/Vega, you'll really want your driver stack built against LLVM 6.0.
- Support for Myriad ma2x8x CPUs.
- The ARC back-end was merged for Synopsys DesignWare ARC processors.
- Cortex A55 and A75 CPUs are now officially supported.
On the LLVM Clang 6.0 side there is:
- Clang 6.0 now defaults to C++14 (the GNU++14 dialect) rather than C++98/GNU++98.
- Clang support for configuration files was just recently added. Clang also now supports a -autocomplete flag to help with bash auto-completion and finding out all available compiler flag options.
- Initial support for Intel Icelake CPUs and its new AVX-512 instructions.
- Initial support for the C17 programming language standard.
- Support for Intel Control-flow Enforcement Technology as one of many new Intel CPU instruction additions this cycle like the Vector Neural Network Instructions (VNNI).
LLVM 6.0 is branching on 3 January while the release candidates will begin by mid-January. The official LLVM 6.0.0 release is expected by late February assuming no delays. More LLVM/Clang 6.0 benchmarks will be coming up on Phoronix.
1 Comment