Releases: llvm/llvm-project
LLVM 18.1.6
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
orfalse
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
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-definedstrerror
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
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
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
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
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
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
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
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.
LLVM 18.1.0-rc2
LLVM 18.1.0-rc2 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.