We are happy to announce that LLVM 18.1.4 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Release Notes
- Fixes an issue with Arm64EC code generation where calls to some intrinsics implemented in compiler-rt used the wrong name mangling, eventually resulting in unresolved symbol errors during linking.
- Fixed an incorrect poison-generating flag preservation in InstSimplify. It will fix a miscompilation on RISCV, which turns the incorrect or disjoint into an add.
- Save/restore routines for RV32E/RV64E are added to compiler-rt.
- Fix regressions introduced in LLVM 18.1.3 in MIPS atomicrmw min/max codegen.
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.5 on the 30th of April. Please file issues you find in 18.1.4 in the 18.x milestone .
Full Changelog
- Tom Stellard: [CMake][Release] Disable PGO (#88465) (#89000) (e6c3289804a6)
- Cinhi Young: [MIPS] Fix the opcode of max.fmt and mina.fmt (#85609) (028e425f86cc)
- Giuliano Belinassi: Fix override keyword being print to the left side (e3c832b37b0a)
- Nikita Popov: Revert “[Mips] Fix missing sign extension in expansion of sub-word atomic max (#77072)” (1deeee3f5da4)
- Martin Storsjö: [LLD] [COFF] Don’t add pseudo relocs for dangling references (#88487) (995539ce05ba)
- Louis Dionne: [libc++] Fix -Wgnu-include-next in stddef.h (#88214) (db67e6fb9ad1)
- XChy: [SelectionDAG] Prevent combination on inconsistent type in
combineCarryDiamond
(#84888) (647fbc710840) - Cyrill Leutwiler: [RISCV] Support rv{32, 64}e in the compiler builtins (#88252) (eaae766a20fd)
- Tom Stellard: github-upload-release.py: Fix bug preventing release creation (#84571) (c24b41d71f2e)
- Alexandre Ganea: [Codegen][X86] Fix /HOTPATCH with clang-cl and inline asm (#87639) (c837970dd7e9)
- Yingwei Zheng: [InstSimplify] Make sure the simplified value doesn’t generate poison in threadBinOpOverSelect (#87075) (d0ddcce21d91)
- Daniel Paoliello: Prepend all library intrinsics with
#
when building for Arm64EC (#87542) (4056cc29dfd3) - Alexey Bataev: [SLP]Fix a crash if the argument of call was affected by minbitwidth analysis. (6e071cf30599)
- Brian Cain: [libcxx] coerce formatter precision to int (#87738) (d89da2ac8839)
- Koakuma: [SPARC] Implement L and H inline asm argument modifiers (#87259) (b6ebea7972cd)
- Louis Dionne: [libc++] Simplify the implementation of <stddef.h> (#86843) (bffecba7ce4c)
- Schuyler Eldridge: [lit][ci] Publish lit wheels (#88072) (9899a2d76c8f)
- Owen Pan: [clang-format] Correctly annotate braces of empty ctors/dtors (#82097) (3ceccbdb1995)
- Ian Anderson: [Headers] Don’t declare unreachable() from stddef.h in C++ (#86748) (429d62872525)
- Craig Topper: [ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041) (feba8727f805)
- Craig Topper: [Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC (e4259b583c92)
- Tom Stellard: Bump version to 18.1.4 (#87715) (daca56d8e162)