[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/main'. Changed from 85c730242e741f79bf7ca543bdf496dfb89a7f22 to 1ac19e41a0674925911e88cc5218dfd95a09a3ac 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 8557e5b4efde33d62b6b765f51a71606b47b72ee by GitHub (on behalf of Matt) on 06/08/2026 at 00:42.. [LoopInterchange] Reject interchange when a freeze would move or be cloned Loop interchange moves four blocks to a different loop depth: the outer loop header and latch, and the inner loop preheader and exit block. It also splits the inner loop latch and clones the instructions that compute the latch branch condition and induction variable updates into the new latch block. LangRef guarantees that all uses of the value returned by one execution of a `freeze` observe that same value. The guarantee does not extend across executions, so one `freeze` may yield a different value each time it runs. Different `freeze` instructions may also yield different values for the same `undef` or poison operand. Both steps above can therefore change which value a use observes. Moving a `freeze` to a different loop depth changes which loop iterations share one dynamic result. Uses that observed a single frozen value in the original nest can observe values from separate executions after interchange. Cloning a `freeze` creates a second, independent instruction, so the original and clone can yield different values for the same operand. Reject the interchange when a `freeze` appears in one of the four moved blocks or among the instructions cloned into the new latch. A `freeze` elsewhere still reaches the same uses from each execution, so it remains allowed. That includes a `freeze` in the outer loop preheader and one in the inner loop body outside the cloned computations. The check is conservative and does not try to prove that the operand of a `freeze` is never `undef` or poison. Assisted-by: Claude Opus 5, GPT-5.6 Sol. https://invent.kde.org/qt/clang/llvm/-/commit/8557e5b4efde33d62b6b765f51a71606b47b72ee Git commit b56b5068c5baa7c8528bb9a111fd14b87d6a458c by GitHub (on behalf of Justin Bogner) on 06/08/2026 at 00:48.. [HLSL] Consistently quote resource attribute args (#214106) The `hlsl::resource_class` and `hlsl::dimension` attributes both take a single argument from a set of choices, but resource_class expects an unevaluated identifier and dimension expects a string literal. Consistently require the literal for both, and fix up the AST printers to match. https://invent.kde.org/qt/clang/llvm/-/commit/b56b5068c5baa7c8528bb9a111fd14b87d6a458c Git commit c9655589fe0be65f81f9b43ae3e7e59aff9d90e9 by GitHub (on behalf of wanglei) on 06/08/2026 at 00:48.. [LoongArch][MC] Pre-mark align fragments as linker-relaxable (#213582) Extract `shouldRelaxAlign` from `relaxAlign` and call it during `emitCodeAlignment` to eagerly set the linker-relaxable flag on align fragments. This ensures `isRangeRelaxable` returns correct results before the layout phase. https://invent.kde.org/qt/clang/llvm/-/commit/c9655589fe0be65f81f9b43ae3e7e59aff9d90e9 Git commit 9d72ffd00f1e4b9a4e19a59e84d29a6939c140e0 by GitHub (on behalf of Igor Kudrin) on 06/08/2026 at 00:49.. [ELF][AArch64] Do not treat missing build attributes as defined (#213600) Even if an AArch64 build attributes section contains only private subsections and does not define feature flags or PAuth information, `lld` still checks the values defined in the GNU Program Properties section against the build attribute defaults, producing warnings and errors. The patch adjusts the handling of build attributes so that only the existing attributes are used. --- * https://github.com/ARM-software/abi-aa/blob/main/buildattr64/buildattr64.rst https://invent.kde.org/qt/clang/llvm/-/commit/9d72ffd00f1e4b9a4e19a59e84d29a6939c140e0 Git commit 219524b29ebe35ba94dc5f7a4640c8132078f052 by GitHub (on behalf of Aiden Grossman) on 06/08/2026 at 00:52.. [LLVM][Docs] Remove bugpoint references Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. Reviewers: rnk, arsenm Pull Request: https://github.com/llvm/llvm-project/pull/214251 https://invent.kde.org/qt/clang/llvm/-/commit/219524b29ebe35ba94dc5f7a4640c8132078f052 Git commit e063f1f48e82f0872bcfe391ea253ce6ad766e93 by GitHub (on behalf of Vikram Hegde) on 06/08/2026 at 01:01.. [NPM] Make few more passes required - 2 (#213608) as discussed in https://github.com/llvm/llvm-project/pull/203511, few of these should not really be required (such as sink) with O0/opt-none, yet we require this for consistency between legacy and NPM. We need to look at the passes separately and selectively make strictly optimizing passes optional. https://invent.kde.org/qt/clang/llvm/-/commit/e063f1f48e82f0872bcfe391ea253ce6ad766e93 Git commit 8ba3d8f5992656764f404998926bb9e6bb842851 by GitHub (on behalf of Konstantinos Parasyris) on 06/08/2026 at 01:16.. [CIR][SYCL] Support SYCL kernel call statement in host codegen (#213728) Add CIRGen support for lowering SYCLKernelCallStmt during host compilation, emitting the kernel launch statement in place of the `sycl_kernel_entry_point` function body (mirroring classic CodeGen). Device compilation, were the offload kernel caller entry point is emitted instead, is future work and thus marked as NIY. https://invent.kde.org/qt/clang/llvm/-/commit/8ba3d8f5992656764f404998926bb9e6bb842851 Git commit 3c8a11cb24f938f5c6c3c647a1c4d4500aa1002b by GitHub (on behalf of Petr Hosek) on 06/08/2026 at 01:28.. [Fuchsia] Disable per-target runtime directories for Darwin (#214382) This applies #214307 to the first stage as well. https://invent.kde.org/qt/clang/llvm/-/commit/3c8a11cb24f938f5c6c3c647a1c4d4500aa1002b Git commit a27b1d99f42df86bef5434ccc3d867e4d8f1a803 by GitHub (on behalf of Vicky Nguyen) on 06/08/2026 at 01:33.. [CIR][AArch64] Upstream saturating-addition NEON builtins (#213755) Related to https://github.com/llvm/llvm-project/issues/185382 CIR lowering for saturating-addition intrinsics (https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#saturating-addition) Port tests from `clang/test/CodeGen/AArch64/neon-intrinsics.c` to `clang/test/CodeGen/AArch64/neon/add.c` https://invent.kde.org/qt/clang/llvm/-/commit/a27b1d99f42df86bef5434ccc3d867e4d8f1a803 Git commit 239cbf5baf092fc738e59443d11948b26d8db386 by GitHub (on behalf of Zhen Wang) on 06/08/2026 at 01:34.. [flang][cuda] Delay box cuf.alloc past host association captures (#214347) CUFAllocDelay treated the store of a descriptor into a host association tuple as a use, so a device allocatable captured by an internal procedure kept its descriptor allocation in the prologue. That allocates managed memory before the program can call cudaSetDevice, binding a CUDA context to the wrong device. The store now sinks together with the allocation, constrained by the tuple's readers, and the group is placed at the nearest common dominator of all uses so it can sink into a later block. https://invent.kde.org/qt/clang/llvm/-/commit/239cbf5baf092fc738e59443d11948b26d8db386 Git commit c2f17bed409897752ba486b232a8422e8938e2d2 by GitHub (on behalf of Lang Hames) on 06/08/2026 at 01:44.. [ORC] Make ExecutionSession non-copyable / non-moveable. (#214231) Many ORC classes capture references to the ExecutionSession -- it is not intended to be moved or copied. https://invent.kde.org/qt/clang/llvm/-/commit/c2f17bed409897752ba486b232a8422e8938e2d2 Git commit 5dc3fcdfd2adf816d5d7f8c4ecbb5878032bf809 by GitHub (on behalf of Sam Elliott) on 06/08/2026 at 01:51.. [AsmPrinter] Emit STT_OBJECT type and size for jump tables (#214170) Before this change, jump tables placed in a separate section were emitted with no symbol type, leaving them STT_NOTYPE, and with no size in their ELF file. This change annotates the jump tables with object type and a size when the target supports type/size directives. Jump tables inlined into the function's own section are already covered by that function's symbol, so they are left as-is. This helps when disassembling a file, to understand that the jump table is a single complete object, rather than the symbol being purely a location. I think this reflects the ELF semantics better. https://invent.kde.org/qt/clang/llvm/-/commit/5dc3fcdfd2adf816d5d7f8c4ecbb5878032bf809 Git commit 32142187671ebd28d9e1e819cde0b80a17eac421 by GitHub (on behalf of Louis Dionne) on 06/08/2026 at 01:56.. [libc++] Add missing return 0 to main functions in tests (#214190) The libc++ test suite requires main() to explicitly return a value, since freestanding support requires it. https://invent.kde.org/qt/clang/llvm/-/commit/32142187671ebd28d9e1e819cde0b80a17eac421 Git commit 057cc9da32d232bf3c482be3d11f8159bb4f0de0 by GitHub (on behalf of Louis Dionne) on 06/08/2026 at 01:58.. [libc++] Refactor the conditions for enabling assertion tests (#213294) Every hardening assertion test used to repeat a hand-rolled set of Lit conditions like `has-unix-headers` and a bunch of others. Instead, define a single Lit feature to handle all of them. Assisted by Claude Fixes #213148 https://invent.kde.org/qt/clang/llvm/-/commit/057cc9da32d232bf3c482be3d11f8159bb4f0de0 Git commit 211456700cff55124923d6281fd0b4a156c9b3f4 by GitHub (on behalf of Louis Dionne) on 06/08/2026 at 01:59.. [libc++] Move lerp to its own header instead of <cmath> (#213111) This moves <cmath> towards an umbrella header. Co-authored-by: A. Jiang <[email protected]> https://invent.kde.org/qt/clang/llvm/-/commit/211456700cff55124923d6281fd0b4a156c9b3f4 Git commit 0b12400bd4f0d772ee013873e7a2180d6c6cc241 by GitHub (on behalf of A. Jiang) on 06/08/2026 at 02:08.. [libc++][test] Fix construction and comparison for testing allocators (#212702) Previously, there were several issues in the allocators provided by `min_allocator.h` and `test_allocator.h`. 1. Some allocators did not support heterogenous rebinding construction, and thus failed to meet the Cpp17Allocator named requirements. 2. Some allocators only had `operator==`. This was fine since C++20 but not in C++17 where there were no rewritten candidates of `!=`. 3. Many equality operators were non-template and homogeneous. This caused ambiguity since C++20 due to rewritten candidates. This patch fixes these issues by - adding missing constructors, - adding missing `operator!=` (in pre-C++20 modes), and - making `operator==` and some `operator!=` templates. Note that it is intended that `operator==`'s for `test_allocator` perform seemingly redundant constructions (via `static_cast<const test_allocator&>(y)`) to avoid behavioral change as possible because implicit conversion was performed before this patch. A regression test is added. https://invent.kde.org/qt/clang/llvm/-/commit/0b12400bd4f0d772ee013873e7a2180d6c6cc241 Git commit 23d73be555edc9ea265009ed7094444b15b6bc95 by GitHub (on behalf of Brad Smith) on 06/08/2026 at 03:34.. [Support/ELF] Add OpenBSD NT_OPENBSD_PACMASK core note type (#205411) Reference: https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h https://invent.kde.org/qt/clang/llvm/-/commit/23d73be555edc9ea265009ed7094444b15b6bc95 Git commit 8277177456936a77940ecda8e82ad571c66aab1f by GitHub (on behalf of Aiden Grossman) on 06/08/2026 at 03:51.. [Transforms] Delete loop-extract pass This was only used by bugpoint as far as I can tell, which was deleted in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. Given it is not used anywhere, remove it. I'm also not sure it's super useful for downstreams. When we were doing a research project during my undergrad that needed loop extraction, we ended up writing our own utilities to do this for reasons that I cannot remember exactly. Reviewers: artagnon, nikic Pull Request: https://github.com/llvm/llvm-project/pull/214252 https://invent.kde.org/qt/clang/llvm/-/commit/8277177456936a77940ecda8e82ad571c66aab1f Git commit f5fe9982129debf32e2814aee3180cf312d65843 by GitHub (on behalf of Aiden Grossman) on 06/08/2026 at 03:51.. [Transforms] Remove bugpoint references Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. Reviewers: rnk, arsenm Pull Request: https://github.com/llvm/llvm-project/pull/214253 https://invent.kde.org/qt/clang/llvm/-/commit/f5fe9982129debf32e2814aee3180cf312d65843 Git commit 13e1dd9dc297d740daff3e5c234d16f7f59eaf76 by GitHub (on behalf of Aiden Grossman) on 06/08/2026 at 03:52.. [llvm-reduce] Remove outdated bugpoint comment Bugpoint was removed in 9d5574dda60151dcd1eb6f315c20e4d9120596f9. The comment is also incorrect. llvm-reduce eventually subsumed bugpoint, not the other way around. Reviewers: arsenm Pull Request: https://github.com/llvm/llvm-project/pull/214254 https://invent.kde.org/qt/clang/llvm/-/commit/13e1dd9dc297d740daff3e5c234d16f7f59eaf76 Git commit e4cccd7b6313913f64b1790a049801e34c87a0a4 by GitHub (on behalf of Aiden Grossman) on 06/08/2026 at 03:54.. [DWARF] Update comment for useSplitDwarf (#214241) The comment was introduced originally in 55c51815250a25b78ed8ac3dee0a0a843ac636ed. Since that time, split DWARF is no longer a proposal and is officially a part of the standard, so update the comment. https://invent.kde.org/qt/clang/llvm/-/commit/e4cccd7b6313913f64b1790a049801e34c87a0a4 Git commit c3a0eb4b8f4f4b5c4b705c04bc3f16e4985ddbdf by GitHub (on behalf of Volodymyr Sapsai) on 06/08/2026 at 03:55.. [Modules] Don't merge attributes for namespace redeclarations. (#214361) Follow-up to #208348 which aimed to handle decl attributes on deserialization the same way as during parsing. Turned out during parsing we don't merge attributes for namespace redeclarations. https://invent.kde.org/qt/clang/llvm/-/commit/c3a0eb4b8f4f4b5c4b705c04bc3f16e4985ddbdf Git commit 1ac19e41a0674925911e88cc5218dfd95a09a3ac by GitHub (on behalf of Rajat Bajpai) on 06/08/2026 at 05:01.. [NVVM][NVPTX] Change TMA Tensor reduction ops to use flag for reduction ops (#213638) Currently, TMA S2G reduction intrinsics use reduction operation in the name. Now that we have pretty-printing and a range-based verifier (for ImmArgs) available, this PR migrates the reduction operation to an immediate flag argument. This simplifies adding Rubin architecture extensions to this family, while also reducing the number of intrinsics from 64 to 8. https://invent.kde.org/qt/clang/llvm/-/commit/1ac19e41a0674925911e88cc5218dfd95a09a3ac