Changes To Look Forward To With LLVM/Clang 5.0
LLVM 5.0 and its sub-projects like Clang 5.0 are due to be released in two weeks, so here's a look back at the features added to this innovative open-source compiler stack over the past half year.
Among the many changes coming for LLVM 5.0 and Clang 5.0 include:
- "Vega" (GFX9) GPU support within the AMDGPU compiler back-end. LLVM 5.0 is among the components needed for Vega driver support on Linux as well as for Raven Ridge (the Zen + Vega APU coming out in some months).
- The new AMD Zen scheduler model for "znver1" was added at the last minute rather than relying on the old Bobcat scheduler model.
- New scheduler data for Sandy Bridge as well as Silvermont.
- Support for Intel Goldmont CPUs.
- Improved scheduler information for AMD Jaguar processors.
- New ARM processor support like the Cortex M23 and M33.
- Support for AVX-512's avx512vpopcntdq instruction for Vector Population Count Doubleword and Quadword. On the AVX-512 front is also improved support for vector rotations.
- Support for AMD Lightweight Profiling (LWP) instructions.
- New -Wcast-qual and -Wunused-lambda-capture warnings for Clang.
- Various C++1z work.
- clang-format improvements.
- LLVM's Undefined Behavior Sanitizer (UBSan) can now check for pointer overflows by default. UBSan also has new checks for violations of nullability annotations and invalid loads from bitfields.
More details on LLVM/Clang 5.0 as well as fresh compiler benchmarks will be coming in the days ahead on Phoronix. LLVM 5.0 is tentatively set for release around 23 August.
Among the many changes coming for LLVM 5.0 and Clang 5.0 include:
- "Vega" (GFX9) GPU support within the AMDGPU compiler back-end. LLVM 5.0 is among the components needed for Vega driver support on Linux as well as for Raven Ridge (the Zen + Vega APU coming out in some months).
- The new AMD Zen scheduler model for "znver1" was added at the last minute rather than relying on the old Bobcat scheduler model.
- New scheduler data for Sandy Bridge as well as Silvermont.
- Support for Intel Goldmont CPUs.
- Improved scheduler information for AMD Jaguar processors.
- New ARM processor support like the Cortex M23 and M33.
- Support for AVX-512's avx512vpopcntdq instruction for Vector Population Count Doubleword and Quadword. On the AVX-512 front is also improved support for vector rotations.
- Support for AMD Lightweight Profiling (LWP) instructions.
- New -Wcast-qual and -Wunused-lambda-capture warnings for Clang.
- Various C++1z work.
- clang-format improvements.
- LLVM's Undefined Behavior Sanitizer (UBSan) can now check for pointer overflows by default. UBSan also has new checks for violations of nullability annotations and invalid loads from bitfields.
More details on LLVM/Clang 5.0 as well as fresh compiler benchmarks will be coming in the days ahead on Phoronix. LLVM 5.0 is tentatively set for release around 23 August.
5 Comments