18.1.6 Released!

We are happy to announce that LLVM 18.1.6 is now released!

This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.

Release Notes

  • Fixes issues where LLVM is either generating the incorrect thunk for a function with aligned parameters or didn’t correctly pass through the return value when StructRet was used.
  • -Xclang -target-feature -Xclang +unaligned-scalar-mem can be used to enable unaligned scalar memory accesses for CPUs that do not support unaligned vector accesses. -mno-strict-align will enable unaligned scalar and vector memory accesses.
  • Don’t replace an aliasee with an alias that has weak linkage. This avoids incorrect linkage that can lead to using the wrong symbols during linking time.
  • This patch fixes build failures when compiling AVX512 code using -march=native on machines without AVX512. The problem was introduced by [X86] Enable EVEX512 when host CPU has AVX512 (#90479) · llvm/llvm-project@a7b8b89 · GitHub which is included in LLVM 18.1.5 release.
  • Fixes crash in AArch64 backend when having true or false as operand for a fcmp instruction on IR level.
  • Fixes compiler crash when user specifies -mno-evex512 with AVX512 features but no AVX512VL.
  • Fixes a bug that tries to do VBROADCAST_LOAD for f16 without AVX2.

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

There are no more planned 18.1.x releases, but there could be one if a critical issue is found. The release/19.x branch will be created on July 23, 2024.

Full Changelog