LLVM 17.0 + Clang 17.0 Released With Many New Compiler Features
The LLVM 17 compiler stack has been released as stable as LLVM 17.0.1 -- a slight mistake leaving the 17.0.0-rc tag meant the original v17.0.0 tag was skipped. This LLVM 17.0.1 stable release along with sub-projects like the Clang 17 C/C++ compiler bring many new features and improvements.
There are many new changes to find with the LLVM 17 compiler stack including some notable additions such as:
- LLVM adds a FatLTO pipeline that allows generating object files with both machine code and LTO-compatible bitcode. The LLVM support for Fat LTO objects allows use for both development builds as well as optimized binaries.
- Assembly support for the AArch64 Arm 2022 A-profile extensions of Guarded Control Stacks, Check Feature Status, and ATS1A.
- The AMDGPU LLVM back-end has more fine-grained synchronization around barriers for GFX9 and newer, Address Space 7 and 8 support added, various new intrinsics are supported, and other new features.
- LLVM on LoongArch adds assembler/disassembler support for the LSX, LASX, LVZ, and LBT LoongArch ISA extensions.
- A ton of RISC-V back-end improvements including for supporting many newer RISC-V ISA extensions and other new features.
- LLVM 17 on x86/x86_64 adds support for newer Intel ISA features like SHA-512, SM3, SM4, and AVX-VNNI-INT16 with Arrow Lake and Lunar Lake.
- LLVM 17 adds the new Granite Rapids D (-mcpu=graniterapids-d) target.
- LLVM's BOLT optimizer adds initial RISC-V target support.
Over on the Clang side for this C/C++ compiler the Clang 17 update provides:
- More C++20 feature support is in place, including co-routines being fully supported now on all targets besides Windows.
- Various C++23 feature support improvements, including now honoring the -std=c++23 option.
- Implementing more C2x feature support.
- Improved -O0 optimization level code generation.
- Adding various GCC stdio built-ins and making other GCC compatibility support improvements with new flags.
- A wide variety of Clang diagnostic improvements.
- Clang on x86/x86_64 now supports AMX-COMPLEX and other new ISA extensions as well as -march=graniterapids-d for Intel Granite Rapids CPU support.
- On the CUDA/HIP side, gnu++17 is now the default standard rather than c++14.
There is also other work to find with LLVM 17 like the LLD linker improvements with many ELF enhancements, libc++ supporting more C++20 and C++23 features, and the Flang front-end continues improving as well too for LLVM Fortran support.
Downloads and more details on today's LLVM 17.0.1 release via LLVM.org.
There are many new changes to find with the LLVM 17 compiler stack including some notable additions such as:
- LLVM adds a FatLTO pipeline that allows generating object files with both machine code and LTO-compatible bitcode. The LLVM support for Fat LTO objects allows use for both development builds as well as optimized binaries.
- Assembly support for the AArch64 Arm 2022 A-profile extensions of Guarded Control Stacks, Check Feature Status, and ATS1A.
- The AMDGPU LLVM back-end has more fine-grained synchronization around barriers for GFX9 and newer, Address Space 7 and 8 support added, various new intrinsics are supported, and other new features.
- LLVM on LoongArch adds assembler/disassembler support for the LSX, LASX, LVZ, and LBT LoongArch ISA extensions.
- A ton of RISC-V back-end improvements including for supporting many newer RISC-V ISA extensions and other new features.
- LLVM 17 on x86/x86_64 adds support for newer Intel ISA features like SHA-512, SM3, SM4, and AVX-VNNI-INT16 with Arrow Lake and Lunar Lake.
- LLVM 17 adds the new Granite Rapids D (-mcpu=graniterapids-d) target.
- LLVM's BOLT optimizer adds initial RISC-V target support.
Over on the Clang side for this C/C++ compiler the Clang 17 update provides:
- More C++20 feature support is in place, including co-routines being fully supported now on all targets besides Windows.
- Various C++23 feature support improvements, including now honoring the -std=c++23 option.
- Implementing more C2x feature support.
- Improved -O0 optimization level code generation.
- Adding various GCC stdio built-ins and making other GCC compatibility support improvements with new flags.
- A wide variety of Clang diagnostic improvements.
- Clang on x86/x86_64 now supports AMX-COMPLEX and other new ISA extensions as well as -march=graniterapids-d for Intel Granite Rapids CPU support.
- On the CUDA/HIP side, gnu++17 is now the default standard rather than c++14.
There is also other work to find with LLVM 17 like the LLD linker improvements with many ELF enhancements, libc++ supporting more C++20 and C++23 features, and the Flang front-end continues improving as well too for LLVM Fortran support.
Downloads and more details on today's LLVM 17.0.1 release via LLVM.org.
14 Comments