We are happy to announce that LLVM 18.1.3 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Release Notes
- Fixes tsan failures for glibc’s LoongArch and certain RISC-V ports when
fstat
is used. transform.structured.convert_to_loops
now properly deletes its target op.- Fix a
llvm.usub.with.overflow.i128
wrong code generation regression that was introduced with LLVM 18.1.0. - “MemorySanitizer on Linux can now run even when maximum-entropy address-space layout randomization is configured globally (as is becoming increasingly common); MSan can automatically re-exec ASLR-off for the process if needed, instead of aborting.”
- Fixed a Clang 18.x regression which increased binary size and stack usage with
-ftrivial-auto-var-init
. Fixes #GH84178. - Fix for CVE-2024-31852
Download
Find sources and binaries on GitHub .
A note on binaries
Binaries for the LLVM project are made by volunteers and will be uploaded when they have had time to test and build these binaries. They might not be available directly or not at all for each release. We suggest you use the binaries from your distribution or build your own if you rely on a specific platform or configuration.
Next release
Next release will be 18.1.4 on the 16th of April. Please file issues you find in 18.1.3 in the 18.x milestone .
Full Changelog
- Mariya Podchishchaeva: [clang] Avoid -Wshadow warning when init-capture named same as class field (#74512) (c13b7485b879)
- Fangrui Song: [tsan] Refine fstat{,64} interceptors (#86625) (f249092ef26d)
- Younan Zhang: [clang][Sema] Fix a CTAD regression after 42239d2e9 (#86914) (76c721994a11)
- Congcong Cai: [mlir][transform] replace original op to loop ops (#83537) (e0f0c463b539)
- Xing Xue: [OpenMP][AIX] Affinity implementation for AIX (#84984) (47aac495c895)
- Andrew Ng: [Support] Fix color handling in formatted_raw_ostream (#86700) (a385a917da93)
- Martin Storsjö: Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020) (0cd4babe0342)
- Ulrich Weigand: release/18.x: [SystemZ] Fix overflow flag for i128 USUBO (#86491) (cfaeee6a8994)
- Arthur Eubanks: [lld/ELF][X86] Respect outSecOff when checking if GOTPCREL can be relaxed (#86334) (767b61c159b3)
- Andrei Golubev: [ODS][NFC] Cast range.size() to int32_t in accumulation (#85629) (7c7c3d4a3a27)
- yingopq: [Mips] Restore wrong deletion of instruction ‘and’ in unsigned min/max processing. (#85902) (0e501dbd932e)
- yingopq: [Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072) (fbb27d16fa12)
- George Koehler: [PowerPC] provide CFI for ELF32 to unwind cr2, cr3, cr4 (#83098) (e74c1678231a)
- Chen Zheng: [NFC][PowerPC] use script to regenerate the CHECK lines (1c7c16e58240)
- Thurston Dang: [msan] Re-exec with no ASLR if memory layout is incompatible on Linux (#85142) (c2a57034eff0)
- Thurston Dang: [msan] Add ‘MappingDesc::ALLOCATOR’ type and check it is available (#85153) (b74f6158460c)
- Antonio Frighetto: [clang][CodeGen] Allow
memcpy
replace with trivial auto var init (98a15dd2d728) - hev: [LoongArch] Assume no-op addrspacecasts by default (#82332) (2498e3a07f3d)
- Jeffrey Byrnes: [SROA]: Only defer trying partial sized ptr or ptr vector types (368dc8553c5a)
- ostannard: [ARM] Update IsRestored for LR based on all returns (#82745) (0e16af8e4cf3)
- Oliver Stannard: Pre-commit test showing bug #80287 (6f8016fda7d5)
- Tom Stellard: Bump version to 18.1.3 (#86168) (ef6d1ec07c69)