LLVM 11 Feature Development Is Over With Many Changes

LLVM 11.0 was branched today in its mono repository including sub-projects like Clang. This branching is going as planned with aiming to ship LLVM 11.0 officially around 26 August.
Among the many changes found in this half-year update to the LLVM compiler stack includes:
- Clang now uses C17/GNU17 by default if no C standard version is specified. Previously it was C11.
- Clang 11 now supports -fstack-clash-protection for helping fight off possible stack clash attacks on x86/x86_64, s390x, and POWER 64-bit architectures.
- Clang can now parse the asm inline GNU C extension albeit is currently unhandled.
- Continued C++20 support.
- Clang -O behavior better matches GCC.
- Early bits around Intel AMX support.
- Support for newer ARMv8 instructions.
- AMD Navi 2 (Sienna Cichlid) support within the AMDGPU shader compiler as GFX1030.
- Radeon GCN offloading for OpenMP.
- Intel load hardening mitigation and SESES speculative execution pass.
- The AVR target for LLVM has been promoted from experimental status to an official back-end.
- Various WebAssembly target improvements.
- F18/Flang were merged into the LLVM 11 source tree albeit still under development.
- Intel SERIALIZE instruction support for Golden Cove.
- Support for the Marvell ThunderX3.
- Arm Cortex-A77 support.
- Fujitsu A64FX support.
- NVIDIA Carmel bits were finally upstreamed.
Benchmarks of LLVM Clang 11 will begin soon on Phoronix.
9 Comments