Skip to content

Releases: llvm/llvm-project

LLVM 18.1.7

06 Jun 01:01
llvmorg-18.1.7
Compare
Choose a tag to compare

LLVM 18.1.7 Release

Release Notes

  • Fix a regression from the 18.1.6 release, which could result in compiler crashes in the PPCMergeStringPool pass when compiling for PowerPC targets.
  • Fixes clang-format (since 18.1.1) regressions on breaking before a stream insertion operator (<<) when both operands are string literals.
  • Fixes a clang-format regression (since 17.0.6) on formatting goto labels in macro definitions.

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.6

18 May 14:29
llvmorg-18.1.6
Compare
Choose a tag to compare

LLVM 18.1.6 Release

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 a7b8b89 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.

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.5

02 May 04:37
llvmorg-18.1.5
Compare
Choose a tag to compare

LLVM 18.1.5 Release

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-defined strerror and similar library functions.
    (#88181 <https://github.com/llvm/llvm-project/issues/88181>_)

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.4

17 Apr 00:28
llvmorg-18.1.4
e6c3289
Compare
Choose a tag to compare

LLVM 18.1.4 Release

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.

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.3

04 Apr 03:56
llvmorg-18.1.3
Compare
Choose a tag to compare

LLVM 18.1.3 Release

Release Notes

  • DFixes 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

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.2

20 Mar 00:13
llvmorg-18.1.2
Compare
Choose a tag to compare

LLVM 18.1.2 Release

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.1

08 Mar 21:50
llvmorg-18.1.1
Compare
Choose a tag to compare

LLVM 18.1.1 Release

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.0

06 Mar 05:33
llvmorg-18.1.0
Compare
Choose a tag to compare

LLVM 18.1.0 Release

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.0-rc4

27 Feb 21:18
llvmorg-18.1.0-rc4
Compare
Choose a tag to compare
LLVM 18.1.0-rc4 Pre-release
Pre-release

LLVM 18.1.0-rc4 Release

A note on binaries

Volunteers make binaries for the LLVM project, which 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.

LLVM 18.1.0-rc3

21 Feb 06:11
llvmorg-18.1.0-rc3
Compare
Choose a tag to compare
LLVM 18.1.0-rc3 Pre-release
Pre-release

LLVM 18.1.0-rc3 Release

A note on binaries

Volunteers make binaries for the LLVM project, which 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.