[qt/clang/llvm]: 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 Pushed by mirror-service into branch 'upstream/users/wangpc-pp/spr/tri-remove-reserved-registers-in-getregpressuresetlimit-1'. Changed from 85d1da113b2529d98185aadb3d88a27130171509 to 9234ec841b87c8232f7f57ab1f47d930cbdf0e7f 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 4d10131304d90d997868f2417b086ad1cd116ebc by GitHub (on behalf of Fangrui Song) on 10/08/2026 at 05:34.. [BFI] Index iterative inference by block number (#215179) `applyIterativeInference` builds a DenseMap assigning each participating block a position in a dense vector. Block numbers already provide that index, and BFI uses them elsewhere. https://invent.kde.org/qt/clang/llvm/-/commit/4d10131304d90d997868f2417b086ad1cd116ebc Git commit 52d63830c519ed2d51c43fc418f0ae3232ac65e9 by GitHub (on behalf of Fangrui Song) on 10/08/2026 at 05:49.. [Support] Optimize ScaledNumbers::multiply64 (#215172) The 128-bit product is assembled from four 32x32 cross products. (4 imul on x86-64). Use `__uint128_t` where available. https://invent.kde.org/qt/clang/llvm/-/commit/52d63830c519ed2d51c43fc418f0ae3232ac65e9 Git commit a4f740f144ddccb30bd3b26c69740914518a642b by GitHub (on behalf of Bagodiya) on 10/08/2026 at 06:17.. [InstCombine] Fold X + ((-X) & (C - 1)) to (X + C - 1) & -C (#215122) `X + ((-X) & (C - 1)) --> (X + C - 1) & -C` for power-of-two `C`. This is the align-up idiom as allocators usually write it. `-C == ~(C - 1)`, so the mask is just the inverted low-bit mask. No wrapping flags needed - it verifies without nsw/nuw on either side. Flags on the original add are dropped. The other fold in the issue, `X + (X | -X) --> X & (X - 1)`, already exists in visitAdd, so this only adds the second one. One case that doesn't hit this: `C = 2`. InstCombine turns `(-X) & 1` into `X & 1` first, so the neg is already gone. https://alive2.llvm.org/ce/z/sCCJzq C = 2: https://alive2.llvm.org/ce/z/xeQqkz Fixes #214675 https://invent.kde.org/qt/clang/llvm/-/commit/a4f740f144ddccb30bd3b26c69740914518a642b Git commit 3eb121cd9f7d2069493b19f83434570caad11e70 by GitHub (on behalf of Bryth) on 10/08/2026 at 06:18.. [mlir][complex] Make AddOp commutative (#212199) Complex AddOp should have the `Commutative` trait to follow Arith's AddOp semantics. https://invent.kde.org/qt/clang/llvm/-/commit/3eb121cd9f7d2069493b19f83434570caad11e70 Git commit 93c0911a74433395155ceee38dfe8842f0fc639d by GitHub (on behalf of Bryth) on 10/08/2026 at 06:19.. [mlir][complex] Fix signed zero miscompile with complex.add fold (#212751) The pattern `a + complex.constant<0.0, 0.0>` currently gets folded to `a`. This is incorrect when e.g. `a=(-0.0, 1.0)` since as per the IEEE spec and what's done in the arith dialect `0.0 + (-0.0) = 0.0 != (-0.0)`. This PR changes the pattern to `a + complex<-0.0, -0.0> -> a` and updates the associated test. https://invent.kde.org/qt/clang/llvm/-/commit/93c0911a74433395155ceee38dfe8842f0fc639d Git commit 129267e8fcfca0bc68509817f944eea6b6910ac5 by GitHub (on behalf of Kaviya Rajendiran) on 10/08/2026 at 06:40.. [Flang][OpenMP] Add nsw flags to OMPIRBuilder loop IV arithmetic (#214165) - Extended the support of `-fno-wrapv` flag setting from frontend to the OMPIRBuilder via `omp.integer_wrap_around` module attribute. - When this attribute `omp.integer_wrap_around` is false (-fno-wrapv), the OMPIRBuilder attaches `nsw` to all loop IV arithmetic. - This enables SCEV to form proper `AddRec` expressions for the loop IV, allowing `IndVarSimplify pass` to widen it from i32 to i64 and eliminate the in-loop sext instruction which helps some backend optimizations and also producing IR similar to Clang. Fixes https://github.com/llvm/llvm-project/issues/213718 https://invent.kde.org/qt/clang/llvm/-/commit/129267e8fcfca0bc68509817f944eea6b6910ac5 Git commit b595a746983b828c40140df53fe01eb76c6044f4 by GitHub (on behalf of MiaoMing Chen) on 10/08/2026 at 06:49.. [clang][ASTMatchers] Fix `hasArraySize` crash without a size expression (#215082) CXXNewExpr::getArraySize() returns std::nullopt even when isArray() is true, e.g. when there is no array size expression, as in 'new int[]()'. The hasArraySize matcher dereferenced the optional unconditionally, triggering undefined behavior (an assertion failure in assert-enabled builds). Check the optional for engagement before matching. Since getArraySize() already returns std::nullopt when isArray() is false, the redundant isArray() check can be dropped. Add a clang-tidy regression test that runs clang-tidy on a translation unit containing 'new int[]()', which emits a compiler diagnostic but must not crash the tool, and document the fix in the release notes. Fixes #214281 https://invent.kde.org/qt/clang/llvm/-/commit/b595a746983b828c40140df53fe01eb76c6044f4 Git commit 1f85e810c9ae0e8f9f44a7373c5409d8e586ed06 by GitHub (on behalf of Pranav Kant) on 10/08/2026 at 06:51.. [LoopInfo] Do not enqueue unreachable nodes; fix infinite loop (#214832) Before this patch, we were enqueing unreachable nodes reaching into the latch nodes. Since unreachable nodes haven't been visited in the original DFS algorithm, we end up in an infinite loop within enqueue This patch restores isReachableFromEntry() check from now removed discoverAndMapSubloop(). This should avoid infinite loop. It's a regression from #212000 (5d582e4003b1cab59900d16fa3db9c3a9d16b462) --------- Co-authored-by: Alexander Kornienko <[email protected]> Co-authored-by: Alexis Engelke <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/1f85e810c9ae0e8f9f44a7373c5409d8e586ed06 Git commit 0f985af790f8d542b126de8c3d219fc591df9652 by GitHub (on behalf of William Tran-Viet) on 10/08/2026 at 06:53.. [libc++] Refactor `optional<T>` and `optional<T&>` base classes (#215012) - Remove the shared `__optional_storage_base` base class and associated partial specializations to handle the `T&` case in `optional<T>` - As a consequence, the `static_assert`s that check for reference types in `optional<T>` need to be moved up to the base class as the `is_object_v` check is tripped, otherwise. - Directly inline base class functions for both that used to exist to accommodate a "dual-mode" (`T` and `T&`) `optional`. https://invent.kde.org/qt/clang/llvm/-/commit/0f985af790f8d542b126de8c3d219fc591df9652 Git commit 98d5b27f79fc897cfc8b72a91a20890fb7443156 by GitHub (on behalf of LU-JOHN) on 10/08/2026 at 06:58.. [AMDGPU] Fold constants in 2-elt vector canonicalization (#214384) For 2-element vectors convert: `fcanonicalize (build_vector x, k)` -> `build_vector (fcanonicalize x), (fcanonicalize k)` `fcanonicalize (build_vector x, undef)` -> `build_vector (fcanonicalize x), 0` if fcanonicalize is Legal for a single element. Previously only v2f16 was transformed. Now v2f32 and v2f64 are also transformed, but v2f16 is naturally excluded. --------- Signed-off-by: John Lu <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/98d5b27f79fc897cfc8b72a91a20890fb7443156 Git commit df555425e7023fb1783525a6feee57f82d82b0fb by GitHub (on behalf of Hristo Hristov) on 10/08/2026 at 07:06.. [libc++][memory] LWG4148: `unique_ptr::operator*` should not allow dangling references (#214971) Implements https://wg21.link/LWG4148 Closes #118362 --------- Co-authored-by: Mohamed Atef <[email protected]> Co-authored-by: Hristo Hristov <[email protected]> Co-authored-by: A. Jiang <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/df555425e7023fb1783525a6feee57f82d82b0fb Git commit 54d02da71ecee5569e515a43dc9e5429917078f6 by GitHub (on behalf of Chuanqi Xu) on 10/08/2026 at 07:26.. [C++20] [Modules] Don't set clang module as named module for module duplication check (#215184) Close https://github.com/llvm/llvm-project/issues/204632 Note that the error message is already diagnosed. So we don't need to do additional thing here. https://invent.kde.org/qt/clang/llvm/-/commit/54d02da71ecee5569e515a43dc9e5429917078f6 Git commit 0800c78fe5784e38b170f79f2ce0567816c63ef1 by Pengcheng Wang on 10/08/2026 at 07:29.. Fix PPC VFRC missing registers in allocation order Created using spr 1.3.6-beta.1 https://invent.kde.org/qt/clang/llvm/-/commit/0800c78fe5784e38b170f79f2ce0567816c63ef1 Git commit 413f81b8303c052c4bc03054dd76e8d7bbd14969 by Pengcheng Wang (on behalf of Chuanqi Xu) on 10/08/2026 at 07:50.. [𝘀𝗽𝗿] changes introduced through rebase Created using spr 1.3.6-beta.1 [skip ci] https://invent.kde.org/qt/clang/llvm/-/commit/413f81b8303c052c4bc03054dd76e8d7bbd14969 Git commit 9234ec841b87c8232f7f57ab1f47d930cbdf0e7f by Pengcheng Wang on 10/08/2026 at 07:50.. Rebase Created using spr 1.3.6-beta.1 https://invent.kde.org/qt/clang/llvm/-/commit/9234ec841b87c8232f7f57ab1f47d930cbdf0e7f