Hi!
Version 17.0.0-rc3 of LLVM and all it’s subprojects (clang, lld, mlir, libc++ and more) is now released!
Find the binaries and sources on the GitHub release page.
The diff for RC2->RC3 is massive, and I wrote some notes about the plan for final in the release testers forum, the TLDR of that is that if we continue to get this huge amount of fixes in the next two weeks it is safer to do an RC4 release instead of going directly to -final
.
Full ChangeLog below:
- Sean Fertile: Revert “[XCOFF][AIX] Peephole optimization for toc-data.” (5bd2c0c745d4)
- Sean Fertile: Revert “[PPC][AIX] Fix toc-data peephole bug and some related cleanup.” (28874feff022)
- Nikita Popov: [InstCombine] Fix select + cast fold with constant expression (PR64669) (60a88d4bab72)
- Koakuma: [SPARC][IAS] Add support for v9 DONE, RETRY, SAVED, & RESTORED (1991da9a837d)
- Simon Pilgrim: [DAG] replaceStoreOfInsertLoad - don’t fold if the inserted element is implicitly truncated (b4bb394ac4c2)
- Simon Pilgrim: [X86] Add test case for Issue #64655 (e1e460373aa8)
- wangpc: [RISCV] Support global address as inline asm memory operand of
m
(8918f6911b7c) - wangpc: [RISCV][NFC] Move tests of inline asm memory constraints to separate file (8890f0fafc61)
- Martin Storsjö: [AArch64] [GlobalISel] Fix clobbered callee saved registers with win64 varargs (96d150b34f1a)
- Aaron Ballman: Remove a release note that should not have snuck in (6a8234396322)
- Aaron Ballman: Remove a merge conflict marker that was missed; NFC (7fdfe24a39c3)
- Aaron Ballman: No longer hang on typeof of a function type (daced851f0a6)
- Eduard Zingerman: [BPF] Reset machine register kill mark in BPFMISimplifyPatchable (bceec8e801cf)
- XinWang10: [X86]Support options -mno-gather -mno-scatter (de0f8c265cef)
- Josh Stone: [SystemZ] Avoid type legalization on structs (7470d9a13088)
- Rainer Orth: [Driver][unittest] Unbreak ToolChainTest.cpp compilation with -Werror (efcacdb0f9c7)
- Rainer Orth: [Driver] Select newest GCC installation on Solaris (53e5a6392ab4)
- usama hameed: Add Requires x86 target to test due to failure in clang-armv8-quick bot (f1f9dd395b53)
- usama hameed: [CodeGen][UBSan] Handle sugared QualTypes correctly in getUBSanFunctionTypeHash. (729272fb0e17)
- Fangrui Song: [gcov] Ignore blocks from another file (cd119b354a93)
- Mark de Wever: [libc++][doc] Marks LLVM-17 release notes as final. (4ec6595d6e5b)
- Fangrui Song: LowLevelType: replace a reachable llvm_unreachable with assert (5fe16ba0266e)
- Fangrui Song: [ARM] Fix abs overflow when encoding instructions like strb r1, [r0], #-0 (0c756c590667)
- Fangrui Song: [llvm-readobj] Fix std::abs overflow after D156821 (3444abf2f34c)
- Craig Topper: [RISCV] Fix a UBSAN failure for passing INT64_MIN to std::abs. (910a73d3e97f)
- Paul Robinson: Reapply “[DebugInfo] Alternate (more efficient) MD5 fix” (9d0f5bf1bbc3)
- Jonas Hahnfeld: [CodeGen] Keep track of eagerly emitted globals (1f669d35fc1f)
- Jonas Hahnfeld: [CodeGen] Restrict addEmittedDeferredDecl to incremental extensions (0a3a9197247e)
- Jonas Hahnfeld: [CodeGen] Clean up access to EmittedDeferredDecls, NFCI. (3a38e93ee086)
- Jonas Hahnfeld: [CodeGen] Remove Constant arguments from linkage functions, NFCI. (c202e5c200b2)
- Jonas Hahnfeld: [clang-repl] Disambiguate global namespace identifiers (731c93ffe751)
- Stefan Gränitz: [lldb] Fix performance regression after adding GNUstep ObjC runtime (d6cd0577c108)
- Nathan Ridge: [clangd] Avoid passing -xobjective-c+±header to the system include extractor (038b489d6440)
- Paul Kirth: Revert “[clang] Preliminary fat-lto-object support” (4590c90b994c)
- Louis Dionne: [libc++] Fix a few incorrect CMake configuration options (271731ed7065)
- Piotr Fusik: [libc++] Work around dynamic linking of stringstream::str() on Windows (db0bf3b66442)
- Matt Arsenault: AMDGPU: Fix fast f32 exp2 (2129ee65d58a)
- Matt Arsenault: AMDGPU: Fix fast f32 log/log10 (216fdc890d0e)
- Matt Arsenault: AMDGPU: Fix fast math log2 f32 (1ba6abce1f55)
- Nikita Popov: [PreISelIntrinsicLowering] Use TLI for correct function (45d5dfbd1f76)
- Matt Arsenault: PreISelIntrinsicLowering: Check RuntimeLibcalls instead of TLI for memory functions (b89a2ac64f64)
- Konstantin Varlamov: [libc++][PSTL] Disable
-Wpass-failed
. (d489df7cfbfb) - Paul Walker: [SelectionDAG] Use TypeSize variant of ComputeValueVTs to compute correct offsets for scalable aggregate types. (242fe2d8d86e)
- Paul Walker: [NFC][SelectionDAGBuilder] Use getObjectPtrOffset in place of discrete nodes. (2ad55edf7181)
- Paul Walker: [SVE] Add test to show incorrect code generation for scalable vector struct loads and stores. (0f6af71af271)
- Fraser Cormack: [AArch64] Fix crash when neither Neon nor SVE are enabled (e3f4f8c1be4d)
- Derek Schuff: [WebAssembly][Objcopy] Write output section headers identically to inputs (847c5b81ec1f)
- Craig Topper: [RISCV] Stop performFP_TO_INTCombine from folding with ISD::FRINT. (477068f0e719)
- Nikita Popov: Reapply [CHR] Fix up phi nodes with unreachable predecessors (PR64594) (3216d98bc618)
- Zequan Wu: Revert “[Profile] Remove duplicate file locks when enabled continuous mode and online merging.” (f934d6b425ef)
- Ryan Burns: Fix truncated OPENMP_NVPTX preprocessor condition (f36309a39b28)
- Tulio Magno Quites Machado Filho: flang: Fix module-debug-file-loc-linux.f90 in standalone (9e87433217bd)
- Martin Storsjö: [clang] Skip stores in init for fields that are empty structs (4d502f14aca5)
- Anmol P. Paralkar: [RISCV] Add bounds check before use on returned iterator. (2f0fb9346d0b)
- Fangrui Song: [Driver] Default riscv*- triples to -fdebug-default-version=4 (3c0e8be5ba49)
- Piotr Zegar: [clang-tidy] Fix crash when diagnostic is emit with invalid location (53671fcffc9c)
- Kadir Cetinkaya: Revert “[Sema] Fix handling of functions that hide classes” (38908de2fb35)
- Valentin Clement: [flang] Add missing dependency on tablegen files (4985bd41bd7c)
- Nikita Popov: [SDAG] Don’t transfer !range metadata without !noundef to SDAG (PR64589) (f1249072f39e)
- Nikita Popov: [X86] Add test for PR64589 (NFC) (9b202cad8905)
- Paul Walker: [SelectionDAG] Fix problematic call to EVT::changeVectorElementType(). (2b20c3fe1963)
- Nikita Popov: Revert “[AggressiveInstCombine] Fold strcmp for short string literals” (04b49144ace0)
- Tobias Hieta: [CMake] Set version suffix to
rc
during the RC phase (c925b9b37923) - Julian Schmidt: [clang-tidy] fix None tmpdir when exporting fixes in run-clang-tidy (5a600592de19)
- Tamir Duberstein: [BPF] Don’t crash on missing line info (f3e3c5a922c7)
- Jay Foad: [AMDGPU] Do not release VGPRs at -O0 (2f49cd1a773d)
- wangpc: [RISCV] Fix wrong type prototype of RVVSlideOneBuiltinSet (8f4dd44097c9)
- Rainer Orth: [Driver] Allow for sparcv8plus subdir with Solaris/SPARC GCC (13be923dfb73)
- Corentin Jabot: [Clang] Backport static_assert messages fixes (82343aa9cf9c)
- Weining Lu: [lld][LoongArch] Support the R_LARCH_PCREL20_S2 relocation type (7fc3c153a878)
- Oliver Stannard: [AArch64][PtrAuth] Fix unwind state for tail calls (56f8c059f4d0)
- Anatoly Trosinenko: [AArch64] Refactor checks in sign-return-address.ll test (506f5b47a2fc)
- Sean Fertile: [PPC][AIX] Fix toc-data peephole bug and some related cleanup. (caa1a8b0d6b5)
- Craig Topper: [RISCV] Add back handling of X > -1 to ISD::SETCC lowering. (026e0ff58c1e)
- Amir Ayupov: BOLT Release Notes (4bf07e1365e1)
- Martin Storsjö: [llvm-rc] Resolve the executable path if not present in Argv[0] (649ab0727fb9)
- Mark de Wever: [libc++][doc] Updates format related release notes. (147b83573a62)
- Mehdi Amini: [MLIR] Make the
ConversionTarget
const ref in the DialectConversion (NFC) (3ac28602170b) - Mehdi Amini: Clarify the invariant of the MLIR pass pipeline around
Pass::initialize()
(600edc20b9dc) - Benjamin Maxwell: [mlir][VectorOps] Fix folding of vector.extract from stretch vector.broadcast (45ad84a74230)
- Tobias Gysi: [mlir] Store segment sizes in std::array (13a8302b2e78)
- Mehdi Amini: [MLIR][Bytecode] Add missing field initializer in constructor initializer list (6dc155bc91cc)
- Valentin Clement: [mlir] Reduce warnings for bad assertion in generated code (416411fde507)
- Mogball: [mlir][llvm] Fix export of 64-bit integer function attributes (6e2cf3856092)
- Nicolas Vasilache: [mlir][gpu] NFC - Fail gracefully when type conversion fails instead of crashing (2c5ed2da4fb4)
- Thomas Raoux: [mlir] Fix arith verifier for tensor with encoding (3e62997c4c0f)
- Alexis Engelke: [mlir][LLVMIR] Fix identified structs with same name (6664b6e980fd)
- River Riddle: [mlir-lsp] Guard writing output to JSONTransport with mutex (fc209e4158cc)
- River Riddle: [mlir:bytecode] Only visit the all regions path if the op has regions (685bcc1d732a)
- River Riddle: [mlir:bytecode] Support lazy loading dynamically isolated regions (99b39d7df623)
- River Riddle: [mlir:bytecode] Fix bytecode lazy loading for ops with multiple regions (45a4a1371b7e)
- Mehdi Amini: Add release notes for MLIR (6b3e6a9db7c3)
- Oleg Shyshkov: [mlir] Fix assembly format parser generator after 9ea6b30ac20f8223fb6aeae853e5c73691850a8d. (a50e3a66b991)
- Jakub Kuderski: [mlir][spirv] Do not introduce vector<1xT> in UnifyAliasedResource (f71f8c923ae9)
- Igor Kirillov: [CodeGen] Disable FP LD1RX instructions generation for Neoverse-V1 (7832b42073d6)
- Amy Huang: Reland "Try to implement lambdas with inalloca parameters by forwarding without use of inallocas."t (8fb604fcd360)
- Guillaume Chatelet: [llvm-exegesis] Don’t try to use SYS_rseq if it’s not defined. (e69c715c39f0)
- Igor Kirillov: [CodeGen] Fix incorrect pattern FMLA_* pseudo instructions (f9e9adf9b90d)
- Igor Kirillov: [CodeGen] Precommit tests for D157095 (9206f9ed9cd5)
- Igor Kirillov: [CodeGen] Pre-commit tests showing incorrect pattern FMLA_* pseudo instructions (67bb3ea8b817)
- David Spickett: [lldb][AArch64] Save/restore TLS registers around expressions (bc0a7de379e6)
- David Spickett: [lldb][AArch64] Add reading of TLS tpidr register from core files (010314325a14)
- Shivam Gupta: Revert “[Clang] Fix -Wconstant-logical-operand when LHS is a constant” (a93ca35a4494)
- Nikolas Klauser: [libc++][libunwind] Fixes to allow GCC 13 to compile libunwind/libc++abi/libc++ (6bff1eb9b099)
- DianQK: [TailCallElim] Remove the readonly attribute of byval. (3a2aea99a4ec)
- DianQK: [TailCallElim] Regenerate test checks with --function-signature (NFC) (ba26cc49672a)
- Weining Lu: [LoongArch] Support -march=native and -mtune= (2bc14f22b439)
- Steven Wu: Revert “Reland “[LoongArch] Support -march=native and -mtune=”” (d92613ec779f)
- Louis Dionne: [libc++] Deflake the Clang Modules CI job (d93ba81b5590)
- Tom Stellard: workflows/release-tasks: Add missing sudo (63e39e8d31d7)
- Brian Cain: [clang][hexagon] Handle library path arguments earlier (7e666e9d605f)
- Fangrui Song: [PPC32] Parse bl __tls_get_addr(x@tlsgd)@plt+32768 (25d8502b7802)
- Igor Kirillov: [CodeGen] Improve speed of ComplexDeinterleaving pass (700fa26ccd9d)
- Tobias Hieta: Bump version to 17.0.0-rc2 (f8468c316fbe)