We are happy to announce that LLVM 23.1.3 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 and official binaries on GitHub.
A note on binaries
Official binaries for Linux (x86_64, Arm64), macOS (Apple Silicon) and Windows (x64, Arm64) are available on the release page.
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 23.1.4 in 2 weeks time on Tuesday the 20th of October. 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 23.x Release Milestone.
Changes
The full list of changes since 23.1.2 can be viewed here:
Changes
- AZero13: [NFC][clang][Serialization] Fix std::set_difference sorting mismatch in ASTReader (#219053) (0d261d1ca552)
- Folkert de Vries: [ARM] fix
r14aliasinglronthumb-1(#225746) (65d339f61025) - Jiaxun Yang: [Mips][MSA] Fix commutability of unordered comparisons (#228567) (c23967f24eeb)
- Simon Pilgrim: [X86] combineConcatVectorOps - ensure all suboperand concatenation types are simple (#228522) (c06551266dbf)
- ykiko: [libc++][format] Don’t leave the output buffer full after a bulk write (#226791) (31c414240aa7)
- Ben Shi: [AVR] Implement selection of ‘ISD::RETURNADDR’ and ‘ISD::FRAMEADDR’ (#222909) (2bf6af3d8c93)
- Keith Smiley: [cmake] Build libxml from source in release (#221365) (76a44e46d47b)
- Mikołaj Piróg: [X86] Don’t skip frame setup/destroy on SEH pseudos and regenerate tests (#225445) (c2cf51f7320a)
- hev: [lld][LoongArch] Prevent relaxation oscillation for LA.PCRel and CALL (#226713) (d54ecc1aecae)
- Folkert de Vries: [Loongarch] fix int to float conversion on non-MVT vector types (#228896) (6459dc471c97)
- Jiaxun Yang: [Mips][MSA] Lower vector fabs to BCLRI (#228532) (fb050e696e7c)
- Keith Smiley: [llvm-objcopy][MachO] Fix use-after-free when stripping (#228607) (fb2a21b4f875)
- argothiel: [clangd] Fix header-name completion replace ranges (#225473) (d9eddcfb4748)
- Alex Bradbury: [RISCV] Consider truncate semantics in performINSERT_VECTOR_ELTCombine (#228243) (0da1d6ee125d)
- Andreas Jonson: [InstCombine] Fix miscompilation in sinkNotIntoOtherHandOfLogicalOp (#226783) (6e2bb08c5682)
- Daniel Paoliello: [clang][AArch64] Fix range check for _Read/_WriteStatusReg (#227052) (d8965120316b)
- ZERICO2005: [KnownFPClass] Do not propagate non-NaN through
asinandacos(#213812) (21ef2ddb8060) - Jonathan Cohen: [AArch64] Fix accumulator chain opcode for SABAv2i32 (#226062) (1f2d65a9e7d7)
- Ying Huang: [Mips] Restrict rdhwr+synci to Linux on MIPS R6 (#222566) (9669f0a31161)
- lntue: [libc][math] Fix fast path with small inputs for double precision sin/cos. (#221012) (d3b23d8b0c19)
- Chuanqi Xu: [C++20] [Modules] Load friends for classes in ADL (#219094) (dfb1297f7c3f)
- Vipul Cariappa: [clang-repl] Keep earlier declarations alive when an input fails (#218149) (6abb6e738b33)
- Keith Smiley: Avoid abi break (ee66426152f9)
- Nico Weber: [lldb] Attempt to unbreak building lldb with the 27 SDK (#223090) (8f747d63ffb2)
- Nico Weber: [ld64.lld, llvm-otool] Minimal arm64e.x1 support (#222721) (532fa5afbe2b)
- Ryan VanderMeulen: [Windows] Don’t export clang::interp symbols for plugins (#221295) (9efc50ac8a20)
- Demetrios Chiuratto Agourakis: [SelectionDAG] Fix result index and vector width in unrollExpandedOp (#225886) (c0f43c82604c)
- Aiden Grossman: [CI] Bump python dependencies (b3aebbf2de7b)
- Nemanja Ivanovic: [RISC-V] Fix assert after 255162a (#212791) (c9376624635f)
- Nemanja Ivanovic: [RISC-V] Do not emit cm.popret[z] with zicfiss (#196267) (4db63eeac73f)
- David Tellenbach: [AArch64] Don’t emit stack restore for SME ZA non-sibling tail calls (#224721) (6b34061eb9d4)
- David Green: [GlobalISel][AArch64] Do not remove dst type predicates from pattern children nodes. (#221576) (3273cdaa5ea1)
- Nerixyz: [lldb][Windows] Remove use of unstable ABI and fix SB API visibility (#222665) (5f2881edaf60)
- Nerixyz: [lldb][Windows] Translate file descriptors between CRT instances (#217126) (28a01b03e11f)
- David Green: [AArch64] Guard against large types in performOrXorChainCombine (#222146) (e24fcb694410)
- yingopq: [Mips] Strip \x01 no-mangle prefix from R_MIPS_JALR symbol name (#219427) (ff3d38593e6d)
- David Spickett: [lldb] Fix switch case for i386 in COFF GetModuleSpecifications (#222030) (5d31c0334b03)
- Eli Friedman: [AArch64][GISel][FastISel] Fix Windows “sret inreg”. (#225190) (898bafa6c855)
- Craig Topper: [DAGCombiner] Restrict combineOrOfSetCCToUSUBOCarry to ZeroOrOneBooleanContent. (#224759) (8646466e3a4f)
- Paweł Bylica: [DAGCombiner] Require a 0/1 carry-in when rebuilding a borrow chain (#223396) (557e1d658863)
- Tom Stellard: github-upload-release: Create draft releases (#209876) (615ef6c76842)
- Arthur Eubanks: [lld] Don’t drop RELR relocations for late-added GOT entries (#211911) (243739128971)
- Douglas Yung: Bump version to 23.1.3 (67f4a076a097)