[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm-project Pushed by mirror-service into branch 'upstream/release/23.x'. Changed from 561093d94eb7156dea780c1c71a779824ef90e5b to 9d3cf1dff4dd8b3ef857f85cbdf7584fb901c7ce Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository. This change contains the following new commits: Git commit 0a20806cf2356fd3404fc150eea680865fd131e5 by llvmbot (on behalf of Tom Stellard) on 29/07/2026 at 00:27.. workflows/release-sources: Make sure to checkout all the composite actions (#212544) (cherry picked from commit dc7e9df5d2d43db18bfccadb0e1bcc05a0ac8b84) https://invent.kde.org/qt/clang/llvm-project/-/commit/0a20806cf2356fd3404fc150eea680865fd131e5 Git commit 471d32fa96ebaf3d4768135f53a8301c70e36af7 by Tobias Hieta (on behalf of Anatoly Trosinenko) on 29/07/2026 at 06:27.. [PAC][Headers] Fix incorrect comment in ptrauth.h (#207265) The discriminator which is used to sign pointers to v-tables is not always zero. (cherry picked from commit 26643a89ddf98e48e986d25ceb10f673735bc7d7) https://invent.kde.org/qt/clang/llvm-project/-/commit/471d32fa96ebaf3d4768135f53a8301c70e36af7 Git commit fc8295ffaaf1b026877a3b1c113d4d52d5b7ebb8 by Tobias Hieta (on behalf of Nerixyz) on 29/07/2026 at 06:28.. [lldb][Windows] Add missing release notes https://invent.kde.org/qt/clang/llvm-project/-/commit/fc8295ffaaf1b026877a3b1c113d4d52d5b7ebb8 Git commit 0bb4a649970777b8dbd66cd2aae3f66f6b8f1359 by Tobias Hieta (on behalf of Pengcheng Wang) on 29/07/2026 at 06:29.. [RISCV] Don't move memory instructions across calls in isSafeToMove (#212236) RISCVInstrInfo::isSafeToMove scans the instructions between From and To to decide whether a memory instruction can be moved, but it only treated mayStore() instructions as barriers. Calls on RISC-V are modeled with isCall() and a register mask rather than mayStore(), so a load could be moved across a call even though the callee may clobber the loaded memory. RISCVVectorPeephole::foldVMergeToMask uses this helper via ensureDominates() to sink a load into a masked load when folding it into a vmerge, which produced wrong code when the load was sunk past a call. Instead of hand-rolling the barrier check, call MachineInstr::isSafeToMove on each intervening instruction to populate SawStore. That is the same helper used on From below, and it already treats calls (as well as PHIs and ordered memory references) as stores. This fixes #212226. Assisted-by: TRAE CLI (DeepSeek V4 Pro) (cherry picked from commit 840060f2f85c2d3f8ebe1c9304770d682e4141f6) https://invent.kde.org/qt/clang/llvm-project/-/commit/0bb4a649970777b8dbd66cd2aae3f66f6b8f1359 Git commit 4d9c1306b9f7d120c3e0a72c8c2b27ab17a43087 by Tobias Hieta (on behalf of Brian Cain) on 29/07/2026 at 06:31.. [Hexagon] Fix compiler-rt install dir type, scope sanitizers (#209375) COMPILER_RT_INSTALL_LIBRARY_DIR must be CACHE STRING, not CACHE PATH: a relative PATH-typed cache entry resolves against the runtimes sub-build directory instead of CMAKE_INSTALL_PREFIX, misplacing sanitizer libs. Replace the explicit COMPILER_RT_BUILD_* ON list with COMPILER_RT_SANITIZERS_TO_BUILD=all, since those options already default ON upstream and infeasible sanitizers self-exclude via their own ALL_<X>_SUPPORTED_ARCH lists. Add FORCE to the dylib overrides so they take effect after hexagon-unknown-linux-musl-clang-dist.cmake has already cached them OFF. (cherry picked from commit 34aefe9744fa83fa222d7f28e073c693c2c4ff5b) https://invent.kde.org/qt/clang/llvm-project/-/commit/4d9c1306b9f7d120c3e0a72c8c2b27ab17a43087 Git commit 02a26cbf32e4786ae772f7811ec4bb01300c035d by Tobias Hieta (on behalf of Brian Cain) on 29/07/2026 at 06:34.. [Hexagon] Link static PIE executables against rcrt1.o (#210125) We always selected crt1.o as the CRT start file, regardless of link mode. Select rcrt1.o - the self-relocating static-PIE start file when -static and PIE are active (cherry picked from commit c45b4e4d00bed488d6ece5608560561732ae5b9e) https://invent.kde.org/qt/clang/llvm-project/-/commit/02a26cbf32e4786ae772f7811ec4bb01300c035d Git commit ef9887b0f225b22123ad8caa748baf3fe53e2949 by Tobias Hieta (on behalf of Osama Abdelkader) on 29/07/2026 at 06:35.. [Clang] Avoid querying tag definitions for invalid DeclSpecs (#210085) Guard hasTagDefinition() against invalid type-specifier state so recovery from invalid auto/tag combinations does not assert. Fixes #210014 --------- Signed-off-by: Osama Abdelkader <[email protected]> (cherry picked from commit de4b1f5572f8ff5a38a17655584ae200774551c6) https://invent.kde.org/qt/clang/llvm-project/-/commit/ef9887b0f225b22123ad8caa748baf3fe53e2949 Git commit e1f270365a92cfd72b845fd7cc0d3337e9a65df5 by Tobias Hieta (on behalf of Adrian Prantl) on 29/07/2026 at 06:36.. [LLDB] Hide unresolvable children from ObjC tagged pointers (#211936) Foundation's small value inline representations have valid summaries and sometimed synthetic children, but LLDB cannot access any ivars from their base classes (such as [NSObject isa]). Use a synthetic child provider to hide them. rdar://182434208 Assisted-by: claude (cherry picked from commit 4f02e1e45c2711a94dae0eac2051ad7c2e5ca8c2) https://invent.kde.org/qt/clang/llvm-project/-/commit/e1f270365a92cfd72b845fd7cc0d3337e9a65df5 Git commit faa811cdef92040abe2e31e4cfd3ff60e1c14e10 by Tobias Hieta (on behalf of Luke Lau) on 29/07/2026 at 06:37.. [VPlan] zext canonical IV in convertToStridedAccesses (#212291) Currently we sext it which isn't correct at TCs > UINT32_MAX. Makes https://invent.kde.org/qt/clang/llvm-project/-/commit/faa811cdef92040abe2e31e4cfd3ff60e1c14e10 Git commit b67c5a8413227dde13122e941f95beb3fc210e8a by Tobias Hieta (on behalf of Matthew Blewitt) on 29/07/2026 at 06:38.. [AArch64][SVE] Fix v16i8 -> v2i64 partial_reduce for VL > 128 (#204938) A fixed-length `llvm.vector.partial.reduce.add` reducing `<16 x i8>` into `<2 x i64>` is lowered on `+sve` by converting the reduction to a scalable one and finishing with `convertFromScalableVector`. The i8 -> i64 fold splits the `(nx)v4i32` dot before converting it back to fixed length, but splitting a scalable container is not equivalent to splitting the fixed vector it holds: at vscale=2 an `nxv4i32` container splits into two `nxv2i32`, each holding four i32s, not the two-lane halves of the underlying `v4i32`. The high partial sums land in lanes that `convertFromScalableVector` then discards, so any runtime VL > 128 silently drops them — on a 256-bit machine (e.g. Neoverse V1) exactly half the result is lost (#204939; downstream miscompile rust-lang/rust#158144). Convert the dot back to a fixed-length i32 vector before splitting, so the split, widen and accumulate all happen in fixed length and no lanes are dropped. The fixed dot width is derived from the result (two i32 lanes per i64 result lane) so the wider, VL-pinned `<4 x i64> <- <32 x i8>` reduction — which also reaches this fold on plain SVE — lowers correctly. This is the i64 sibling of the `v16i8 -> v2i32` case fixed in #177119 (issue #176954); the fixed-length support was introduced in #142032. (cherry picked from commit bad9ad339743d262793c15fddfab90bd976e531b) https://invent.kde.org/qt/clang/llvm-project/-/commit/b67c5a8413227dde13122e941f95beb3fc210e8a Git commit fe1201cfd7404c673094a440a0b822abca9d0fe1 by Tobias Hieta (on behalf of David Green) on 29/07/2026 at 06:44.. [AArch64] Add lowering for fixed-vector bf16 masked gather/scatter. (#210273) Similar to #208744, this makes sure that bf16 masked gather and scatter work with fixed-length sve enabled. Without +bf16 the operations are currently expanded pre-isel, but that will not be fixed in this patch as it is a larger change and this patch is intended to be ported to the branch. (cherry picked from commit 32221d9ff8f4772972193ebf7b8ba4974cd8458f) https://invent.kde.org/qt/clang/llvm-project/-/commit/fe1201cfd7404c673094a440a0b822abca9d0fe1 Git commit 21eaea440cb8489bce1fe45fb66ed5076211ea41 by Tobias Hieta (on behalf of Shanzhi Chen) on 29/07/2026 at 06:55.. [AArch64][SVE] Support lowering masked loads/stores of <4 x bf16> and <8 x bf16> (#208744) Add support for lowering masked loads/stores of <4 x bf16> and <8 x bf16> when target features contain "+sve" and "+bf16". Fixes: #201149 (cherry picked from commit b9869c8c920a7dfa983e215bc30729b13d8b353b) https://invent.kde.org/qt/clang/llvm-project/-/commit/21eaea440cb8489bce1fe45fb66ed5076211ea41 Git commit 5bc047b38a1e29d2374c3b696465c97cc36bc1a5 by Tobias Hieta (on behalf of Jack Styles) on 29/07/2026 at 06:55.. Revert "[AArch64] Enable Spillage Copy Elimination by default" (#211572) Reverts llvm/llvm-project#186093 Issue https://github.com/llvm/llvm-project/issues/206839 shows that EliminateSpillageCopies is not currently ready to be enabled by default on AArch64. https://github.com/llvm/llvm-project/pull/207169 was raised to fix the issue, but concerns were raised around complexity of the function and change. Until a suitable solution can be found, EliminateSpillageCopy will be disabled on AArch64 by default. For those who wish to still use the pass, `-enable-spill-copy-elim=true` will ensure the pass is run. (cherry picked from commit debd8a7f889b29551dff7897f807e17f90eeee1d) https://invent.kde.org/qt/clang/llvm-project/-/commit/5bc047b38a1e29d2374c3b696465c97cc36bc1a5 Git commit 9d3cf1dff4dd8b3ef857f85cbdf7584fb901c7ce by Tobias Hieta (on behalf of Evgenii Kudriashov) on 29/07/2026 at 06:57.. [Clang][X86] Introduce Clang ABI Gate for MSVC alignment (#210305) On x86_64-windows-msvc after 8ecec455183f, clang applies the MSVC size-based global-alignment scheme (Microsoft64BitMinGlobalAlign) and does not apply the Sys V "large array" alignment increase. Users may want to preserve the earlier ABI for compatibility with objects produced by older clang releases. Gate this behavior on the Clang ABI compatibility level. When `-fclang-abi-compat=22` (or lower) is in effect, MicrosoftX86_64TargetInfo restores LargeArrayMinWidth/LargeArrayAlign to 128 and getMinGlobalAlign skips the Microsoft64BitMinGlobalAlign step, matching the older alignment choices. Assisted by Claude (Anthropic). (cherry picked from commit cb383a37440d27238f8a01eee05228910d65d63e) https://invent.kde.org/qt/clang/llvm-project/-/commit/9d3cf1dff4dd8b3ef857f85cbdf7584fb901c7ce