We are happy to announce that LLVM 17.0.4 is now released!
This includes the main LLVM project, and its subprojects including clang, lld, libc++, and MLIR.
Changes
This was a smaller release and contains a bunch of fixes all over the source tree:
- Nikita Popov: [AArch64][GlobalISel] Fix incorrect ABI when tail call not supported (#70215) (309d55140c46)
- Nikita Popov: [AArch64] Add test for #70207 (NFC) (9477268e4247)
- Nikita Popov: [GVN] Fix use-after-free in load PRE with select available value (#69314) (c2eab59e622c)
- Piotr Zegar: [clang-tidy] Fix crash in modernize-use-trailing-return-type (#70709) (586481468a07)
- Brad Smith: [OpenMP] Fix building for 32-bit DragonFly, NetBSD, OpenBSD (#70527) (9d0ca259eed6)
- Konstantinos Parasyris: [OpenMP] record-replay use static-cast (#70516) (a8046f72bfb3)
- David Truby: [flang] Add comdats to functions with linkonce linkage (#66516) (12bbcd627f60)
- David Truby: [mlir] Add pass to add comdat to all linkonce functions (#65270) (bdb1553c7639)
- Takuya Shimizu: Update release note for the fix (3347c8441588)
- Takuya Shimizu: [clang][ExprConst] Fix crash on uninitialized array subobject (#67817) (f6fb6a996c7f)
- Craig Topper: [RISCV] Correct copyPhysReg for GPRPF64. (#70419) (8c8abe6b93c0)
- Paul Walker: [SVE] Fix incorrect offset calculation when rewriting an instruction’s frame index. (#70315) (615beaec04f9)
- DianQK: [MemCpyOpt] Combine alias metadatas when replacing byval arguments (#70580) (bb29e1ead22f)
- Brad Smith: [OpenMP] Use the more appropriate function to retrieve the thread id on OpenBSD (#65553) (2b82ec7947fe)
- Louis Dionne: [libc++] Encode additional ODR-affecting properties in the ABI tag (#69669) (8909a24d0af1)
- KAWASHIMA Takahiro: [AArch64] Prevent argument promotion of vector with size > 128 bits (#70034) (e9dcc15f514a)
- wanglei: [LoongArch] Implement COPY instruction between CFRs (#69300) (4b7f4152a8d1)
- Owen Pan: Revert “[clang-format] Fix align consecutive declarations over function pointers” (fb62a201a199)
- Aaron Ballman: Fix tests for c23 ↔ c2x (1f6d35b36681)
- Aaron Ballman: Fix a c23 → c2x think-o (030d68ef2cd7)
- Aaron Ballman: [C23] Use thread_local semantics (#70107) (2a41d978b4fa)
- kadir çetinkaya: [clangd] Disable crashy unchecked-optional-access tidy check (#69427) (afbe3549af4d)
- Nikita Popov: [ConstraintElim] Don’t decompose values wider than 64 bits (#68803) (7f790f9a39e3)
- Nikita Popov: [ConstraintElim] Add test for #68751 (NFC) (a1c67ffd0a1f)
- Brad Smith: [mlir] Avoid including <alloca.h> on DragonFly (ef50a367e3d5)
- DianQK: [LVI][CVP] Treat undef like a full range on abs(x, false) (#68711) (a7101379d75e)
- Martin Storsjö: [libcxx] [test] Add a test parameter for disabling memory intensive tests (#68214) (aa03fba83b17)
- Tom Stellard: workflows/release-tasks: Fix release note artifact upload (#69522) (71f408bc3623)
- Tobias Hieta: Bump version to 17.0.4 (9ab3ce1d7a06)
- Tom Stellard: workflows/release-lit: Pass correct build directory to pypa/gh-action-pypi-publish (#69438) (880a282a40e3)
- Tom Stellard: workflows/release-lit: Fix dev suffix removal (#69397) (8719ee0cb39a)
Download
Find sources and binaries on GitHub.
A note on binaries
Volunteers make binaries for the LLVM project 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
The next release will be 17.0.5, in two weeks 14th of November. Please file issues you find in 17.0.4 in the 17.x milestone.
I expect 17.0.5 to be the last or next-to-last release of the 17.x series. Please make sure to get the fixes in in time.