We are happy to announce that LLVM 21.1.0-rc3 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
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
This is the last RC in the 21.x series. The next release will be 21.1.0 and released Tuesday the 26th of August. File bugs and backports to the LLVM 21.x Release Milestone.
Changes
- Tobias Hieta: Bump version to 21.1.0-rc3 (6096d35ea93c)
- Jonathon Penix: [clang][Driver] Prefer non-Linux emulations for baremetal Arm/AArch64 targets (#149235) (a619e4631515)
- hanbeom: [GVN] Check IndirectBr in Predecessor Terminators (#151188) (6f5c887e557f)
- Yingwei Zheng: [IR] Handle fabs LHS in
fcmpImpliesClass(#152913) (f64406b824d6) - A. Jiang: [libc++] Fix uses of non-empty transparent comparator in
<map>(#152624) (c092e2af144d) - Ayke: [AVR] Fix codegen after getConstant assertions got enabled (#152269) (ba87d05c554d)
- Nikita Popov: [SystemZ] Remove incorrect areInlineCompatible hook (#152494) (7be867f19d05)
- Paul Murphy: [PowerPC] fix lowering of SPILL_CRBIT on pwr9 and pwr10 (#146424) (3e55c84ab684)
- Csanád Hajdú: [compiler-rt][AArch64] Add GCS property in assembly files (#152502) (17c39c1e05b6)
- Corentin Jabot: [libc++] Fix tests after #144220 (3aee9c737197)
- Carlos Seo: [Flang] Fix crash with parametrized derived types usage (#150289) (e239f1fc580f)
- Amy Kwan: [AIX] Handle arbitrary sized integers when lowering formal arguments passed on the stack (#149351) (768c3245b4ea)
- Louis Dionne: [libc++] Add checks for misused hardening macros (#150669) (3290ca0fdd69)
- Simon Pilgrim: [RISCV] Add test coverage for #148084 (0fb2434e9ac0)
- Simon Pilgrim: [DAG] visitFREEZE - limit freezing of multiple operands (#149797) (c8f64bbe6835)
- Harald-R: [clangd] Use resolved path when checking AngledHeaders/QuotedHeaders in IncludeInserter (#148371) (d51ce3406ac0)
- Oliver Hunt: [clang][PAC] Fix PAC codegen for final class dynamic_cast optimization (#152227) (3c754bfd9b2e)
- David Truby: [flang-rt] Use correct flang-rt build for flang-rt unit tests on Windows (#152318) (2555a8537896)
- David Spickett: [llvm][cmake] Remove version number from runtimes in PROJECTS warnings (#152457) (b398447cbc86)
- Michael Kruse: [Flang] Search flang_rt in clang_rt path (#151954) (9ec748cfb155)
- Michael Kruse: [flang][cmake] Fix bbc dependencies (#152306) (79f3653fbd72)
- Hubert Tong: Remove reference to reverted PR #130742 (6203ddea9f33)
- Nathan Ridge: [clangd] Add clangd 21 release notes (d1f761c8d76e)
- Aaron Ballman: [C23] AST equivalence of attributes (#151196) (460ff1eb0ef1)
- Tommy MᶜMichen: [llvm][sroa] Disable support for
invariant.group(#151743) (bf0f8eae0aca) - Sudharsan Veeravalli: [Hexagon] Add nounwind to hexagon-strcpy.ll (#151293) (f24efe19dce1)
- Alex Rønne Petersen: [libunwind] Fix return type of
DwarfFDECache::findFDE()in definition (#146308) (496a49d4a268) - Aaron Ballman: [C23] More improved type compatibility for enumerations (#150946) (3d6fb12dfcef)
- bd1976bris: [Test] Adjust quoting in archive-thin.test for spaces in paths (#151707) (400d8b067591)
- Younan Zhang: [Clang] Don’t allow implicit this access when checking function constraints (#151276) (7ee100ccedcc)
- Utkarsh Saxena: [LifetimeSafety] Add language option for experimental lifetime safety (#149592) (6419104d1878)
- Aaron Ballman: [C] static_assert in a for loop is not an extension (#151955) (d502822e682a)
- Keno Fischer: [Driver][MinGW] Always put libc argument last, even if non-standard (#149434) (1d46440e9f82)
- Konstantin Varlamov: [libc++][hardening] Add a greppable prefix to assertion messages. (#150560) (16bd92cdca5e)
- Aaron Puchert: Thread safety analysis: Don’t warn on acquiring reentrant capability (#150857) (d4046ae6df51)
- Jessica Clarke: [ELF][Hexagon] Fix host endianness assumption (f5ad8dc6876a)
- Jessica Clarke: [NFC][ELF][Hexagon] Avoid pointless ArrayRef::drop_front (74a0c1e962c0)
- Jessica Clarke: [NFC][ELF] Add missing blank line between functions (489d36cedc71)
- Craig Topper: [RISCV] vsha2cl intrinsics should select vsha2cl instructions. (863f9963c378)
- James Y Knight: [clang-format] Google Style: disable DerivePointerAlignment. (#149602) (c7ac782942f1)
- Zhaoxin Yang: [lld][LoongArch] GOT indirection to PC relative optimization (#123743) (ca8b2f3777a5)
- Samarth Narang: [clang] Avoid inheriting [[noreturn]] in explicit function template specializations (#150003) (087cb2e91c5b)
- Andreas Schwab: Remove reference to obsolete termio ioctls (8d38ccbb5a43)
- cqwrteur: [sanitizer] Remove usage of termios ioctl constants on Linux glibc since 2.41 (#149140) (9869d43fc275)
- bd1976bris: [DTLTO][LLD][ELF] Support bitcode members of thin archives (#149425) (d9ddd18544a9)
- bd1976bris: [DTLTO][Clang][Docs] Update for COFF support (#149988) (8b85cf53a164)
- David Spickett: [llvm][docs] Add release note for LLDB MTE changes (1f1747459282)
- Sergio Afonso: [Flang][OpenMP][Docs] Update target-related support in Flang docs, NFC (#150443) (b38f35757b70)
- Phoebe Wang: [X86][AVX10.2] Fix VNNIINT16 maskz intrinsics arguments order (#151077) (78ce57ca69db)
- Zhaoxin Yang: [lld][LoongArch] Check that the relocation addend is zero before applying relaxation to R_LARCH_GOT_PC_{HI20,LO12} (#151264) (80a6bc76cf43)
- Serge Pavlov: [Analysis] Prevent revisiting block when searching for noreturn vars (#150582) (f207cb4ed22a)
- Owen Pan: [clang-format] Disable IntegerLiteralSeparator for C++ before c++14 (#151273) (2dbbc2729249)
- Martin Storsjö: [llvm-objcopy] [COFF] Ignore associative sections in executables (#151143) (71f9b12e1b5a)
- Evgenii Kudriashov: [LLD][X86] Match delayLoad thunk with MSVC (#149521) (773b718c2530)
- Fabio D’Urso: [scudo] Make Ptr volatile so that the malloc and free calls are not optimized out (#149944) (d436146305b9)
- Aaron Ballman: [C23] Handle type compatibility for enumerations better (#150282) (3b53c84e338b)
- David Spickett: [llvm][release] Add links to commonly used release packages (#147719) (6df1a2879a27)
- David Spickett: [lldb][AArch64][Linux] Show MTE store only setting in mte_ctrl (#145033) (b1c834f27cda)
- David Spickett: [lldb][AArch64] Add HWCAP3 to register field detection (#145029) (9ad630fcb7cf)
- Daniil Kovalev: [PAC][compiler-rt] Fix init/fini array signing schema (#150691) (614544048c71)
- Konstantin Varlamov: [libc++][hardening] Introduce assertion semantics. (#149459) (6943f1bf7797)
- kikairoya: [clang][DebugInfo] Disable VTable debug info (#130255) on COFF platforms (8c3ef23106bf)
- Aaron Ballman: [[gnu::nonstring]] should work on pointers too (#150974) (4ca9a4bb351a)
- Jacek Caban: [LLD][COFF] Allow symbols with empty chunks to have no associated output section in the PDB writer (#149523) (7e51c08c82c5)