We are happy to announce that LLVM 18.1.5 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Release Notes
- Fixed an incorrect type inference during RISC-V instruction selection, which causes an assertion failure when trying to fold selects into their operands.
- Fixes a X86 bug introduced during LLVM18, which crashes when compiling some bit vector with AVX512.
- Fixes a Clang assertion failure caused by emitting gap coverage mapping regions between statements with
<invalid sloc>
. - Fixed an issue with the counted_by attribute on a flexible array member in an inner struct.
- Fix an issue in previous dot releases, with a critical slowdown on analyzing code hashing or doing many array accesses. This bug did not affect previous major releases. See the details at issue #89045.
- Restores clang-format behavior that always breaks before a stream insertion operator (<<) when both operands are string literals.
- Fixes clang-format regressions in annotating initialization list braces and trailing return type arrow, and breaking after the block comment before a function argument.
- Fixed a crash in
security.cert.env.InvalidPtr
checker when accidentally
matched user-definedstrerror
and similar library functions.
(#88181 <https://github.com/llvm/llvm-project/issues/88181>
_)
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.6 on the 14th of May. 18.1.6 will likely be the last 18.1.x release. Please file issues you find in 18.1.5 in the 18.x milestone .
Full Changelog
- Eli Friedman: [clang codegen] Fix MS ABI detection of user-provided constructors. (#90151) (617a15a9eac9)
- Yingwei Zheng: [RISCV][ISel] Fix types in
tryFoldSelectIntoOp
(#90659) (20b9ed64ea07) - Amara Emerson: [GlobalISel] Fix store merging incorrectly classifying an unknown index expr as 0. (#90375) (ece9d35f1a70)
- Phoebe Wang: [X86] Enable EVEX512 when host CPU has AVX512 (#90479) (a7b8b890600a)
- Amara Emerson: [GlobalISel] Don’t form anyextending atomic loads. (4da5b1417493)
- David Green: [AArch64] Remove invalid uabdl patterns. (#89272) (a96b04442c9f)
- Wentao Zhang: [clang][CoverageMapping] do not emit a gap region when either end doesn’t have valid source locations (#89564) (aea091b70eda)
- Phoebe Wang: [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390) (58648f334d62)
- Yingwei Zheng: [CGP] Drop poison-generating flags after hoisting (#90382) (6350acdb134d)
- Bill Wendling: [Clang] Handle structs with inner structs and no fields (#89126) (f341c76b9461)
- Yingwei Zheng: [IRCE] Skip icmp ptr in
InductiveRangeCheck::parseRangeCheckICmp
(#89967) (abf6b13085fb) - Hugo Melder: Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671) (ee5bb0c95667)
- Owen Pan: [clang-format] Fix a regression in ContinuationIndenter (#88414) (6dbaa89433f7)
- Owen Pan: [clang-format] Fix a regression in annotating TrailingReturnArrow (#86624) (51ff7f38b633)
- Mirko Brkušanin: [AMDGPU] Fix setting nontemporal in memory legalizer (#83815) (b544217fb31f)
- Björn Pettersson: [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616) (78b99c73ee4b)
- Bjorn Pettersson: [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic (1aa91720cc4f)
- Owen Pan: release/18.x: [clang-format] Correctly annotate braces in macros (#87953) (35fea1032741)
- Martin Storsjö: [libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827) (b9b73814ad8a)
- Owen Pan: release/18.x: [clang-format] Revert breaking stream operators to previous default (#89016) (c0b48372d82a)
- NagyDonat: [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606) (3b4ba7277bd7)
- Owen Pan: release/18.x: [clang-format] Fix a regression in annotating BK_BracedInit (#87450) (7699b341b763)
- Dávid Ferenc Szabó: [GlobalISel] Fix fewerElementsVectorPhi to insert after G_PHIs (#87927) (fb865928c8e0)
- Rose: [X86] Fix miscompile in combineShiftRightArithmetic (111ae4509c96)
- Rose: [X86] Pre-commit tests (NFC) (76cbd417af50)
- Yingwei Zheng: [InstCombine] Fix unexpected overwriting in
foldSelectWithSRem
(#89539) (e7c816b3cd3e) - Fangrui Song: ReleaseNote: Mention SpecialCaseList change (#89141) (3685a599c866)
- Arthur Eubanks: [X86] Always use 64-bit relocations in no-PIC large code model (#89101) (a981a4f7653c)
- Balazs Benics: [analyzer] Fix a security.cert.env.InvalidPtr crash (4ddac856c55f)
- Tom Stellard: Bump version to 18.1.5 (#89291) (c6d63d4fc555)