LLVM/Clang 14 Ends Feature Development With Better C++20 Support, Armv9 Added

Written by Michael Larabel in LLVM on 2 February 2022 at 05:08 AM EST. 14 Comments
LLVM release manager Tom Stellard has branched the LLVM 14.0 code and that of its sub-projects like Clang within the mono repository. As such, LLVM 14.0 feature development is now over with the main Git branch working towards what will become LLVM 15.0 later this calendar year.

LLVM 14.0 will now undergo weeks of bug fixing and testing before being released as stable likely in March. A first release candidate is expected later this week while a second release candidate in early March. If all goes well, LLVM 14.0 stable could be out in mid-March at the earliest.

There is a lot in store for this six month update to the LLVM compiler stack and notable sub-projects like the Clang C/C++ front-end and libc++ standard library. Some of the LLVM 14 highlights include:

- LLVM and Clang have support for the Armv9-A architecture, including Armv9.1-A and Armv9.2-A. Clang also adds support for the Arm Cortex X2, A710, and A510 processors.

- Another Arm change is Clang now honors the "-mtune" flag on AArch64 to tune code generation to a particular CPU without setting any specific architectural features.

- Support for AVX512-FP16 instructions is added to LLVM for new Intel server CPUs.

- Clang supports a wide range of additional SiFive RISC-V processors from the SiFive E20 through the SiFive S76 with new "-mcpu=" targets.

- Clang has more additions in preparation for C23.

- Clang now supports NVIDIA CUDA versions up to v11.5 and also bumped the default GPU architecture target to sm-35.

- Clang now uses DWARFv5 as the default debug format where supported rather than DWARFv4.

- When building Clang it can now be configured that -fPIE and -pie are used by default on Linux to match the behavior of GCC.

- Clangd now provides inlay hints by default as textual hints interleaved with the code for its Language Server Protocol handling for integration with integrated development environments, etc. There are also numerous other Clangd improvements, including better code completion and more.

- Libc++ now has support for the C++20 coroutines, the C++20 format header, and other C++20 and early C++2b work.

Stay tuned to Phoronix for LLVM/Clang 14 benchmarks against the upcoming GCC 12 compiler release along with other news on this LLVM 14.0 feature release.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week