LLVM Clang 8.0 Is Branching In A Week With Intel Cascade Lake Tuning & More
There is just one week to go until LLVM 8.0 and sub-projects like the Clang 8.0 C/C++ compiler will enter its feature freeze ahead of next month's official 8.0.0 milestone.
Release manager Hans Wennborg has posted the routine advisory that the 8.0 branching is set to happen on 16 January. The previously laid out release plan calls for a release candidate to come after that code branching, a second release candidate in early February, and to have out the official LLVM 8.0.0 release by the end of February.
So what's in the LLVM 8.0 / Clang 8.0 release so far? Here is some of the work we've been tracking:
- Intel Cascade Lake support for these now-shipping Xeon CPUs. The LLVM/Clang Cascade Lake support can be enabled by -march=cascadelake and is similar to the Xeon Scalable Skylake targeting but enables VNNI (Vector Neural Network Instructions) support.
- AMD Piledriver / Bdver2 tuning. Yes, for the ~6+ year old AMD processors will see the potential for better performance on this next compiler update.
- Continued work on the AMDGPU LLVM back-end with various fixes and optimizations over the past several months. No really key features come to mind for having landed this cycle, besides more work on Vega 20 and other Vega/GFX9 work.
- New -Wextra-semi-stmt and -Wempty-init-stmt diagnostics for detecting unnecessary null statements with extra semicolons and empty init-statements, respectively.
- Clang now supports per-function speculative load hardening (SLH) as part of its Spectre V1 handling enabled with the -mspeculative-load-hardening switch.
- ARMv8.5 Branch Target Identification (BTI) support as part of ARM's Spectre defenses.
- Implicit Conversion Sanitizer improvements to catch more issues around the implicit conversion of data types.
- Various Windows clang-cl improvements.
- GNU Hurd toolchain support within Clang.
With still one week to go, it's possible there will still be a few more features landing at the last minute. More LLVM/Clang 8.0 benchmarks will come as the February compiler update approaches.
Release manager Hans Wennborg has posted the routine advisory that the 8.0 branching is set to happen on 16 January. The previously laid out release plan calls for a release candidate to come after that code branching, a second release candidate in early February, and to have out the official LLVM 8.0.0 release by the end of February.
So what's in the LLVM 8.0 / Clang 8.0 release so far? Here is some of the work we've been tracking:
- Intel Cascade Lake support for these now-shipping Xeon CPUs. The LLVM/Clang Cascade Lake support can be enabled by -march=cascadelake and is similar to the Xeon Scalable Skylake targeting but enables VNNI (Vector Neural Network Instructions) support.
- AMD Piledriver / Bdver2 tuning. Yes, for the ~6+ year old AMD processors will see the potential for better performance on this next compiler update.
- Continued work on the AMDGPU LLVM back-end with various fixes and optimizations over the past several months. No really key features come to mind for having landed this cycle, besides more work on Vega 20 and other Vega/GFX9 work.
- New -Wextra-semi-stmt and -Wempty-init-stmt diagnostics for detecting unnecessary null statements with extra semicolons and empty init-statements, respectively.
- Clang now supports per-function speculative load hardening (SLH) as part of its Spectre V1 handling enabled with the -mspeculative-load-hardening switch.
- ARMv8.5 Branch Target Identification (BTI) support as part of ARM's Spectre defenses.
- Implicit Conversion Sanitizer improvements to catch more issues around the implicit conversion of data types.
- Various Windows clang-cl improvements.
- GNU Hurd toolchain support within Clang.
With still one week to go, it's possible there will still be a few more features landing at the last minute. More LLVM/Clang 8.0 benchmarks will come as the February compiler update approaches.
Add A Comment