We are happy to announce that LLVM 22.1.2 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Huge thanks to everyone that contributed, reviewed, provided support and in any other way contributed to this release!
Please note the subproject tarballs have been removed after RFC: Do "something" with the subproject tarballs in the release page
Download
Find sources on GitHub.
A note on binaries
Official binaries will not be available right away. They will be provided later.
Third-party binaries will be posted to the following forum thread. Note that these binaries are not created or checked by the release managers, they should be used with care.
Next Release
The next release will be 22.1.3 in two weeks time on Tuesday the 7th of April. The full release schedule can be found on https://llvm.org and the LLVM calendar calendar@llvm.org. File bugs and backports to the LLVM 22.x Release Milestone.
Changes
The full list of changes since 22.1.1 can be viewed here:
Changes
- owenca: [clang-format] Fix regression in annotating angles in static_assert (#187966) (1ab49a973e21)
- Alexey Bataev: [SLP]Improve reductions for copyables/split nodes (ed9551146fc6)
- Martin Storsjö: [LLD] [ELF] Make -z gcs=always implicitly warn on missing GCS, like force-bti (#186203) (8f8b53a0ecb3)
- Pengcheng Wang: [RISCV] Relax out of range Zibi conditional branches (#186965) (8efb87ae5a53)
- Dominik Steenken: [SystemZ] Remove custom lowering of f16 IS_FPCLASS (#187532) (94411c9d5684)
- wanglei: [LoongArch] Ensure .dwo sections do not contain relocations (#187429) (2e1aea64649d)
- Devajith: [clang][AST] Fix assertion in
getFullyQualifiedTypefor AutoType (#186105) (bef8df8a6041) - Balazs Benics: [analyzer][docs] Mention that ‘expand-macros’ won’t use clang-format in the future (9fdb8da1c50c)
- Victor Chernyakin: release/22.x: Backport workarounds for certain addMatcher overloads ignoring traversal kind (80f11cb923ee)
- Nikita Popov: [PowerPC] Preserve load output chain in vcmpequb combine (#187010) (8ac0a123a5e8)
- Matheus Izvekov: [clang] Backport: use canonical arguments for checking function template constraints (20795d7ebda8)
- wanglei: [lld][ELF] Fix crash when relaxation pass encounters synthetic sections (160377d62836)
- Nikolas Klauser: [libc++] Fix iostream size ABI break (#185839) (dc8750d91147)
- Benjamin Maxwell: Fix comment in FPR128 test (NFC) (3611dc1bf0ac)
- Benjamin Maxwell: [AArch64] Ensure FPR128 callee-save stack offsets are aligned (#184314) (34bf276866f5)
- Artem Belevich: [clang][CUDA] Define _NV_RSQRT_SPECIFIER for glibc-2.42/cuda-13.2 compatibility (#185701) (c1c833734cf0)
- Ayush3941: Update ptrtoaddr provenance reference in ReleaseNotes (b73f72ec9a34)
- mitchell: [clang-tidy] Correctly handle attributes in readability-inconsistent-ifelse-braces (#184095) (6121df77a781)
- Nikita Popov: [SystemZ] Limit depth of findCCUse() (#185922) (5315e0b2f0b5)
- Daniel Paoliello: [arm64ec] Fix missing sret return in Arm64EC entry thunks for large struct returns (#185452) (81cf937ba2ac)
- Luo Yuanke: [FastISel] Lower call instruction with illegal type returned (#180322) (4dfb4b6017c4)
- Congcong Cai: [SimplifyCFG] process prof data when remove case in umin (#182261) (92a6627fa8ef)
- Jonathan Thackray: [AArch64][llvm] Update Armv9.7-A dependencies (#185034) (318adced66e0)
- Mariya Podchishchaeva: [win][clang] Fix devirtualization of vector deleting destructor call (#183741) (7a9fd4a550e5)
- Douglas Yung: Bump version to 22.1.2 (7ad5ff138776)