
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 .