LLVM 21.1.0-rc2 Released! (original) (raw)
We are happy to announce that LLVM 21.1.0-rc2 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 second RC in the 21.x series. The next release will be RC3 and released Tuesday the 12th of August. File bugs and backports to the LLVM 21.x Release Milestone.
Changes
- Tobias Hieta: Bump version to 21.1.0-rc2 (d8e9216c27b8)
- Younan Zhang: [Clang] Fix a partial ordering bug involving CTAD injected template arguments (#149782) (2ec38abcba12)
- Trevor Gross: [X86] Align f128 and i128 to 16 bytes when passing on x86-32 (#138092) (a3d182bfe371)
- cmtice: [LLDB] Switch to using DIL as default implementation for ‘frame var’. (#147887) (317403d705ac)
- Jacek Caban: [LLD][COFF] Avoid resolving symbols with -alternatename if the target is undefined (#149496) (bbc8346e6bb5)
- Jacek Caban: [LLD][COFF] Move resolving alternate names to SymbolTable (NFC) (#149495) (f1bca175afd4)
- Eli Friedman: [clang] Fix const eval of constexpr-unknown relational comparisons. (#150088) (dc90bf032925)
- Nikita Popov: [CodeGen] More consistently expand float ops by default (#150597) (81a3436485f2)
- Felix Weiglhofer: opencl: Ensure printf symbol is not mangled. (#150210) (431af6d04c9d)
- Martin Storsjö: [lldb] [Windows] Silence format string warnings (#150886) (67cec1afdbc2)
- Nikita Popov: Revert “[MIPS]Fix QNaNs in the MIPS legacy NaN encodings” (#150773) (c52ff1a82579)
- Rainer Orth: [Driver] Default to -mv8plus on 32-bit Solaris/SPARC (#150176) (d4955d9b9512)
- Zhaoxin Yang: [lld][LoongArch] Support relaxation during TLSDESC GD/LD to IE/LE conversion (#123730) (16d81f85e90d)
- yingopq: [Mips] Fix wrong ELF FP ABI info when inline asm was empty (#146457) (bde97f2cefba)
- David Truby: [flang-rt] Remove hard-coded dependency on compiler-rt path on Windows (#150244) (949c6cc95a9b)
- Yingwei Zheng: [CodeGenPrepare] Make sure that AddOffset is also a loop invariant (#150625) (8c7cf7c06d5d)
- cvspvr: [lldb] Allow building using Mingw-w64 on Windows. (#150398) (9ebb0abb02b1)
- Garvit Gupta: Remove extraneous addition of -X flag in baremetal toolchain (#148855) (c198dc74d0b5)
- Aiden Grossman: [CI] Backport recent changes to release branch (b00e0d2a7e21)
- Eli Friedman: [clang] Fix potential constant expression checking with constexpr-unknown. (ece444008ab4)
- Hervé Poussineau: [docs] Add clang/llvm release notes for mipsel-windows-* targets (52dfd4a27269)
- Sudharsan Veeravalli: [RISCV] Pass sign-extended value to isInt check in expandMul (#150211) (0d8606fc858c)
- Rainer Orth: [Driver] Default to -mcpu=ultrasparc3 on Solaris/SPARC (#149990) (be21c1395e7b)
- Slava “nerfur” Voronzoff: Adding Loongarch64 to OpenBSD parts (#149737) (aae69e9f8438)
- Konstantin Varlamov: [libc++][hardening] Add an experimental function to log hardening errors (#149452) (ee86ae0a69cd)
- Simon Pilgrim: [X86] getTargetConstantBitsFromNode - early-out if the element bitsize doesn’t align with the source bitsize (#150184) (1ddf4e3887da)
- Owen Pan: [clang-format] Add AfterNot to SpaceBeforeParensOptions (#150367) (6077f45cfb06)
- Krzysztof Parzyszek: [flang][OpenMP] Avoid analyzing assumed-size array bases (#150324) (9554152c8a9c)
- circuit10: [X86] Fix misassemble due to not storing registers to state machine on RParen (#150252) (704f542b3d47)
- Dunbobbin: [DTLTO] Add Clang release note for LLVM 21 (fd13e381e48f)
- Orlando Cazalet-Hyams: [KeyInstr] Inline asm atoms (#149076) (ede9fbeac845)
- Jessica Clarke: [Sparc] Remove bogus stack adjustment for LD/GD TLS (#149890) (3378b765f86d)
- Jessica Clarke: [NFC][Sparc] Pre-commit a test showing inefficient and broken LD/GD TLS (509ec13f268d)
- Luke Lau: [RISCV] Don’t lose elements from False in vmerge → vmv peephole (#149720) (5345dc9cd35e)
- Ryotaro Kasuga: [MachinePipeliner] Fix incorrect dependency direction (#149436) (ba5aa84b543d)
- Florian Hahn: [AArch64,TTI] Remove RealUse check for vector insert/extract costs. (#146526) (6df2bfd66b39)
- Brian Cain: [lld] Add thunks for hexagon (#111217) (f6c4f0eb7037)
- Nikolas Klauser: [libc++] Fix hash_multi{map,set}::insert (#149290) (564ed8e06421)
- Carlos Seo: [Flang] Fix a crash when equivalence and namelist statements are used (#150081) (3db29aaee551)
- Volodymyr Sapsai: [clang][deps] Add a release note for fixing crashes in clang-scan-deps. (#149857) (1db54c705a33)
- Carlos Seo: [Flang] Fix ASSIGN statement (#149941) (e43496bacf16)
- Kareem Ergawy: [flang][OpenMP] Restore reduction processor behavior broken by #145837 (#150178) (4d6604adf12a)
- Florian Hahn: [LV] Vectorize maxnum/minnum w/o fast-math flags. (#148239) (a91da31dd3df)
- Heejin Ahn: [WebAssembly] Unstackify registers with no uses in ExplicitLocals (#149626) (dbe3ba076758)
- Dunbobbin: [DTLTO] Add COFF LLD release note for LLVM 21 (132d2316053b)
- Dunbobbin: [DTLTO] Add LLVM release note for LLVM 21 (6cd82c569d15)
- bd1976bris: [LLD][COFF] Make /wholearchive thin-archive member identifiers consistent (#145487) (64a274fadaf0)
- Justus Klausecker: [LoopSimplifyCFG] Add check for missing loop preheader (#149743) (f66e8745047e)
- Orlando Cazalet-Hyams: [KeyInstr] goto stmt atoms (#149101) (233fdcb3955a)
- bd1976bris: [DTLTO][LLD][COFF] Add support for Integrated Distributed ThinLTO (#148594) (54c87e7fdd12)
- bd1976bris: [DTLTO][Clang] Add support for Integrated Distributed ThinLTO (#147265) (475ff348f1e9)
- tangaac: [LoongArch] Strengthen stack size estimation for LSX/LASX extension (#146455) (6dde08705669)
- Jens Reidel: [compiler-rt][Mips] Fix stat size check on mips64 musl (#143301) (02b2a77edbee)
- Louis Dionne: [libc++][NFC] Fix typos in the libc++ 21 release notes (#149536) (da20f10b5d31)
- Ryan Prichard: [libc++][Android] Reenable 2 tests for Android (#149415) (1ad3d3aea616)
- Orlando Cazalet-Hyams: [KeyInstr] Fix verifier check (#149043) (c568a207d8ba)
- mintsuki: LoongArch: Improve detection of valid TripleABI (#147952) (756f4892663a)
- Alexandre Ganea: [LLD][COFF] Follow up comments on pr146610 (#147152) (aaaa54269b9b)
- Hervé Poussineau: [Mips] Correctly define IntPtrType (#145158) (3d520be2735b)
- hev: [LoongArch] Fix failure to widen operand for [X]VMSK{LT,GE,NE}Z (#149442) (7fd16eecf81b)
- Timothy Herchen: [clang] Don’t warn on zero literals with -std=c2y (#149688) (25c1d7a3578c)
- Abinaya Saravanan: [HEXAGON] Add AssertSext in sign-extended mpy (#149061) (17658dbedd94)
- Sudharsan Veeravalli: [RISCV] Swap source register operands in QC_SHLADD ISEL patterns (#149697) (cb92bc511e39)
- Koakuma: [SPARC][Driver] Move feature mode selection to Arch/Sparc.cpp (#149652) (5c69f70244de)
- Brian Cain: [lld] [hexagon] guard allocateAux: only if idx nonzero (#149690) (51245ebda15e)
- Michał Górny: Revert “[libclc] Add prepare- targets (#146700)” (275fa26b0c5f)
- Michał Górny: Revert “[libclc] Make library output directories explicit (#146833)” (7814dca9a821)
- Michał Górny: Revert “[libclc] Fix target dependency” (b475893a1581)
- Michał Górny: Revert “[libclc] Change symlinks to copies on Windows (#147759)” (69ee6a0edd3b)
- Michał Górny: Revert “[libclc] Move CMake for prepare_builtins to a subdirectory (#148815)” (68cae1896557)
- quic-areg: [Hexagon][llvm-objdump] Improve disassembly of Hexagon bundles (#145807) (b5043a0940b9)
- Jannick Kremer: Revert “Move python binding tests to lit framework” (#149012) (0da291f8a6de)
- Aiden Grossman: [libcxx] Switch to release branch runners (cbe68e5140f8)
- clubby789: [DSE] Remove uninitialized from allockind when creating dummy zeroed variant function (#149336) (186df07d013b)
- Owen Pan: [clang-format] Fix a regression of annotating PointerOrReference (#149039) (607677c86185)
- Tomohiro Kashiwada: [Support/BLAKE3] quick fix for Cygwin build (#148635) (e36a7daae2d2)
- Tobias Hieta: Use Parallel xz for test-suite sources. (#149389) (f1846e747d03)
- Peter Collingbourne: compiler-rt: test: Use the host instead of the target to select %expect_crash. (728030a45280)
- Raphael Moreira Zinsly: [RISCV] Pass the MachineInstr flag as argument to allocateStack (#147531) (1abeeabd65e6)