We are happy to announce that LLVM 23.1.0 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!
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 23.1.1 in two weeks time on Tuesday the 8th of September. The full release schedule can be found on https://llvm.org and the LLVM calendar https://calendar.google.com/calendar/u/0/embed?src=calendar@llvm.org.
File bugs and backports to the LLVM 23.x Release Milestone.
Changes
The full list of changes since 23.1.0-rc3 can be viewed here:
Changes
- Douglas Yung: Bump version to 23.1.0 (ea7d852a70e8)
- Tom Stellard: workflows/release-binaries: Fix setting Wix PATH for ARM64 Windows (#218680) (6bf1091aafe7)
- Nerixyz: [cmake] Fix DIA SDK detection from VSINSTALLDIR (#218499) (2437c980548d)
- Emery Conrad: [clang-repl] Unlink the withdrawn partial translation unit on Undo (#213235) (ea5cc83854d6)
- Yanzuo Liu: release/23.x: [clang] Add release notes for #212122 (9147c9a290cf)
- Rainer Orth: [flang] Fix POSIX.1/XPG checks in intrinsics-library.cpp (#201072) (831b44235fe2)
- Nikita Popov: [MemCpyOpt] Don’t perform stack-move opt for out-of-bounds copy (#217607) (b93a9d0a873e)
- Koakuma: [SPARC][IAS] Adjust bounds check in %rX name parsing (#218301) (d38b72ec51c3)
- Rainer Orth: [clang][Driver] Fix libc++ include path on FreeBSD (#212725) (14140e859572)
- Ahmed Bougacha: [AArch64][FastISel] Avoid TBZ with SLH more thoroughly. (#217329) (4b5c875ffe73)
- Tom Eccles: Revert “workflows/release-binaries: Disable flang on Darwin (#164667)” (#216667) (f919c6db2ac7)
- David Green: [AArch64] Do not allow anyext load in isEquivalentMaskless (#216288) (f54c0c47aa71)
- Dan Liew: [NFC][BoundsSafety] Give
counted_by_or_null,sized_by, andsized_by_or_nulltheir own documentation (#212877) (4e7f3f4e073d) - Tom Stellard: workflows/release-binaries: Install Wix on Windows ARM64 (#217707) (8b6fd979c96b)
- Vipul Cariappa: [clang-repl] Don’t double-remove extern “C” decls from the IdResolver (#218129) (fb7dcc270e13)
- Tom Stellard: workflows: Merge release-doxygen into release-documenation (#214366) (996c97fd9acb)
- Björn Schäpers: [clang-format] Honor new lines before // clang-format on (#218022) (66a285ca58cb)
- Zeyi Xu: [clang-tidy] Fix crashes when analyzing unknown exceptions in bugprone-exception-escape (#218067) (9a30d9b392ed)
- Craig Topper: [RISCV] Use correct type for (u)int64_t in RVV intrinsics on OpenBSD (#217211) (fcfc91b9dc95)
- Daniel Paoliello: [clang][win] Fix __global_delete breaking attribute((used)) (#217753) (190c84f9d1d5)
- yingopq: [Mips] Legalize vector UNDEF instead of expanding to zero BUILD_VECTOR (#211503) (692fdd97958b)
- Nikita Popov: [PeepholeOpt] Erase optimized compare from LocalMIs earlier (#217848) (4d842cceec7b)
- Daniel Lehmann: [MIPS] Don’t mark SLL64_64 as isMoveReg (#214060) (443af67afb8b)
- Simon Pilgrim: [X86] isTargetShuffleEquivalent - only use “known zero” element if its known never poison/undef as well (#217030) (5048f1ae9cbb)
- Daniel Chen: [Support][test] Fix OpenDirectoryAsFileForRead test on AIX and z/OS (#216241) (18daae2e3af1)
- Amy Kwan: Add PowerPC-related release notes for LLVM 23.1.0 (6f2969e4f199)
- Jonas Devlieghere: [DWARFLinker] Keep address-independent block attributes in the type unit (#215932) (5bf6f4cd28bb)
- Igor Kudrin: [lldb] Avoid returning a stale AddressOf (#212915) (fa4a3a18db4c)
- yingopq: [Mips] Fix getInstSizeInBytes for instructions with delay slots (#216665) (895aa2c896ad)
- Simon Pilgrim: [X86] lowerFPToIntToFP - handle signedness for fp->int and int->fp independently (#217404) (28fc8c424543)
- Simon Pilgrim: [X86] Add regression test coverage for #217355 (#217387) (1013bc46cfa5)
- Sam Clegg: [lld][WebAssembly] Update incorrect assertion in global relocation code (#215929) (60db88762f0b)
- Maryam Moghadas: [LegalizeTypes] Allow v1i128 as a valid SETCC result type during vector operand scalarization (#216136) (f2dc211627b2)
- Jacob Young: [SystemZ] Fix assertion failures during DAG combine (#215027) (7a1499f14ea0)
- Guy David: [ARM] Allow tTAILJMPd on v8-M Baseline (#216747) (4f138bfdcd2e)
- Benji Smith: [SDAG] Fix invalid sign bit condition for abs(sub) → abdu fold (#215548) (fb14f7f142d9)
- Alex Crichton: [WebAssembly] Fix __init_tls_base global in coop threading (#208597) (13bd2f0ea203)
- Alex Crichton: [WebAssembly] Fix issues combining coop threads and PIC (#208332) (6c24753d2c4f)
- Bailey Hayes: [lld][WebAssembly] Follow relocations of TLS-base accessors during GC (#206831) (2c70d35e9b3f)
- Alex Crichton: [WebAssembly] Default export tables with
--cooperative-threading(#208263) (34319ed2579f) - Florian Hahn: [ObjcARCContract] Do not replace llvm.lifetime argument. (#216991) (e47fcdd63792)
- Yao Qi: [lldb] Serve MemoryCache::ReadRanges from the L2 cache as well as L1 (#216318) (80e68c79c60d)
- Chennes: [InstCombine] Fix miscompile when folding a select into a masked load (#216730) (907f6abbd801)
- Ebuka Ezike: [lldb] Fix SBValue.format property (#216802) (a1b7c09ca1d0)
- Nikita Kornev: [SSAF] Fix Expected return type in TypeConstrainedPointers deserialization (gcc 7.5.0) (#211331) (508bc71b64b2)
- Brian Cain: [clang][KCFI] Skip the KCFIPass on Hexagon (#211716) (baf1cb68d5a0)
- Yao Qi: [lldb][debugserver] Expedite the stopped frame’s stack memory in jThreadsInfo (#212706) (dd615938518e)
- Tom Eccles: Diagnose privatized array element reductions (75415b1b1802)
- Tom Eccles: [flang][OpenMP] Revert array element reduction lowering (2162da3e360f)
- Nuri Amari: [Clang][Frontend] Fix fix-it size overflow in emitted .dia (#216075) (55feb0a3b6b7)
- Rainer Orth: [sanitizer] Skip hanging tests on NetBSD (#216712) (fc5861d308aa)
- Gauarv Chaudhary: [clang-format] Fix short functions with nested braced-init (#213550) (81f7f19a1faa)
- Matt Arsenault: RISCV: Fix optimizeCondBranch crash on an undef register (#216633) (d353d7b3a4f8)
- Yao Qi: [lldb] Fix stale L1 memory cache read after memory write (#208347) (bbb622ba9353)
- Jan Svoboda: [clang][lex] Cache stat failures in
-Wshadow-header(#215962) (3cc48bac4b73) - hev: [clang][LoongArch] Match GCC ABI handling of integer complex types (#215222) (c2347d525237)
- David Tenty: [llvm][object][GOFF] refine Global flag conditions (#211632) (53c64aa519aa)
- Hassnaa Hamdi: [AArch64] Fix cost of vector shifts with non-uniform constant amounts (#214206) (7e107983c5f3)
- Adam Scott: [DAGCombiner][AArch64] Fix the multiplier when folding a partial reduction of a mask (#215187) (211d021e1f7d)
- Brian Cain: [Hexagon] Fix KCFI check truncating type id (#211854) (4e60bd7a63b0)
- Eli Friedman: [DAGCombine] Fix alignment of store in replaceStoreOfInsertLoad. (#215895) (0380caa08342)
- Ebuka Ezike: [lldb] Fix crash when adding a python ParsedCommand (#215807) (ee9bfe9b77e6)
- Daniel Chen: [flang] To fix LIT test that AIX does not emit comdat. (#214950) (cb42065d334a)
- Kane Wang: [RISCV] Fix prefetch ADDI-adjustment range upper bound (#215985) (c3bbd061100b)
- Jonas Devlieghere: [DWARFLinker] Consider module units when creating the type unit (#215731) (8c94eaedf6e9)
- Sudharsan Veeravalli: [RISCV] Avoid pre-RA Zilsd pairs with same src/dst registers (#215575) (4a94b37026f5)
- Jonas Devlieghere: [DWARFLinker] Keep module type definitions in the parallel linker (#215435) (d43346200dda)
- Tony Guillot: [Clang] Revert “Reject auto combined with type specifiers in C++ (#208552)” and follow-ups commits (#215320) (0fc9903bd551)
- Ebuka Ezike: [lldb] Fix incorrect Python property bindings in SBExtensions. (#215283) (cf723481e162)
- Brian Cain: [Hexagon] Fix unusable SCS reg, make it selectable (#213820) (5aeb89c435bc)
- Hubert Tong: [Release Notes] Clang UBSan changes to aggregate copy/move operand checks (9e445a61719e)
- Alexey Gerenkov: [Xtensa] Add fp16 conversion support (#208206) (ca31b6cade94)
- Florian Hahn: [Matrix] De-duplicate reshaped matrixes used as incoming values for phi. (#211210) (de7b2d25a5c7)
- David Spickett: [llvm][utils] Correct release package links for Windows (#215770) (e113a459e0e9)