[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/users/petar-avramovic/extendedLLT-mmo-type'. Changed from 57a45e950fb8197c4fab55cbc5a978a97d0a471f to db8938d17a69061ecc65dd5b7ae0bc5c474760a4 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 32819927e0c02662a5c8aae252997748cdc94962 by GitHub (on behalf of Florian Hahn) on 19/07/2026 at 17:46.. [VPlan] Retire LVP::hasTailFolded (NFC). (#210598) LVP::hasTailFolded incldued an assert that hasTailFOlded matches the VPlan version. No divergences surfaced, so remove the assert as planned. https://invent.kde.org/qt/clang/llvm-project/-/commit/32819927e0c02662a5c8aae252997748cdc94962 Git commit dae991a55eacb4f3c3382f3cba2897ceb43e1725 by GitHub (on behalf of Justin Lebar) on 19/07/2026 at 18:19.. [AA] Use the cmpxchg merged ordering in getModRefInfo (#210545) When a cmpxchg's address is NoAlias with the queried location, getModRefInfo still reports sync effects if the cmpxchg is stronger than monotonic, since an ordered operation constrains code motion around locations it never accesses. But a cmpxchg op has two atomic orderings, and getModRefInfo looked only at one of them. Change it so we check the merged ordering, i.e. the stronger of the two. https://invent.kde.org/qt/clang/llvm-project/-/commit/dae991a55eacb4f3c3382f3cba2897ceb43e1725 Git commit ae023494fba615bb1c75292f93e4521cfe7068b5 by GitHub (on behalf of Alexey Bataev) on 19/07/2026 at 19:00.. [SLP]Add umax/umin/smax/smin as main opcodes for copyables Added umax/umin/smax/smin intrinsics in for copyables support. Reviewers: hiraditya, bababuck, RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/209326 https://invent.kde.org/qt/clang/llvm-project/-/commit/ae023494fba615bb1c75292f93e4521cfe7068b5 Git commit 6bcdcb39c57ea926d3082ec3ecae74bf59b4658e by GitHub (on behalf of Jonas Devlieghere) on 19/07/2026 at 20:58.. [DWARFLinker] Make synthetic type names deterministic under threading (#209553) https://invent.kde.org/qt/clang/llvm-project/-/commit/6bcdcb39c57ea926d3082ec3ecae74bf59b4658e Git commit 598f15297528855682dcf381575a9c14a7faabc3 by GitHub (on behalf of Florian Hahn) on 19/07/2026 at 21:51.. [ConstraintElim] Fix integer overflow when negating constraint (#210627) Negating a coefficient (e.g. INT64_MIN) can overflow; skip adding the inverted constraint if it wraps. Fixes an UBSan failure for the added test. https://invent.kde.org/qt/clang/llvm-project/-/commit/598f15297528855682dcf381575a9c14a7faabc3 Git commit 01683dbe7e2071e8cc3aa2874e623259079aa1ae by GitHub (on behalf of Lang Hames) on 19/07/2026 at 23:41.. [orc-rt] Replace RunWrapperCall with generalized Dispatch (#210591) RunWrapperCall dispatched wrapper-function calls, but the Session also needs to dispatch continuations for results returned by the controller. Replace it with a generalized Dispatch mechanism (DispatchFn) that is handed an opaque Task for each unit of work, covering both. QueueingRunner is correspondingly simplified: it no longer knows anything about wrapper functions and just enqueues the Task it is given. Tests and the noDispatch helper are updated to the new interface. https://invent.kde.org/qt/clang/llvm-project/-/commit/01683dbe7e2071e8cc3aa2874e623259079aa1ae Git commit 16ffd27e3737c01cbabad6eed77b919dc977ad6c by GitHub (on behalf of Petr Hosek) on 20/07/2026 at 00:47.. [libcxx][NFC] Address -Wmicrosoft-cast in MSVC's exception_ptr (#210570) This was introduced as part of #94977. Rather than suppressing the warning with `#pragma clang diagnostic ignored`, we use `reinterpret_cast` to avoid the implicit conversion. https://invent.kde.org/qt/clang/llvm-project/-/commit/16ffd27e3737c01cbabad6eed77b919dc977ad6c Git commit c6672a6fdf1469d818d0ac8aaa2c31a0f18e729a by GitHub (on behalf of Benji Smith) on 20/07/2026 at 01:26.. [InstCombine] Fix invalid fshl -> lshr fold when shift is vector with constant zero lane (#210606) For vectors, this is not valid if a subset of the lanes are constant zero. Doing this fold introduces poison in those lanes. A similar fix was done for fshr in 46957a138dea339799059ea5bf032e40042ff185 however the same issue seems to apply to fshl Fixes https://github.com/llvm/llvm-project/issues/210605 https://invent.kde.org/qt/clang/llvm-project/-/commit/c6672a6fdf1469d818d0ac8aaa2c31a0f18e729a Git commit 5497f466e4fc634f91de043fc80a9cd8cc0f32a1 by GitHub (on behalf of TelGome) on 20/07/2026 at 02:35.. [RISCV][P-ext] Support Packed Narrowing Zip (#210040) https://invent.kde.org/qt/clang/llvm-project/-/commit/5497f466e4fc634f91de043fc80a9cd8cc0f32a1 Git commit 53c6ce165aef58e1885d574c1ec597d091c3c8fc by GitHub (on behalf of Hristo Hristov) on 20/07/2026 at 02:47.. [libc++][cmp][NFC] Fix: Empty namespaces should be avoided (#210624) Context: Including `<__utility/cmp.h>` causes: > cmp.h:25:1: error: Empty namespaces should be avoided. Move any checks around the namespace instead. [libcpp-avoid-empty-namespaces,-warnings-as-errors] https://invent.kde.org/qt/clang/llvm-project/-/commit/53c6ce165aef58e1885d574c1ec597d091c3c8fc Git commit 8a119310dae2fd67497c8611fc3208d16a36a2c3 by GitHub (on behalf of Tony Varghese) on 20/07/2026 at 03:34.. [clang][NFC] Bump the maximum number of Frontend diagnostics (#210345) The number of Frontend diagnostics in DiagnosticFrontendKinds.td is close to the DIAG_SIZE_FRONTEND limit of 200 (195 in use), and in-flight PRs adding frontend diagnostics (e.g. #187986) run into the static assert in DiagnosticIDs.cpp. Increase the limit to 300, following the precedent of #200948 which did the same for Sema diagnostics. Co-authored-by: Tony Varghese <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/8a119310dae2fd67497c8611fc3208d16a36a2c3 Git commit a64f7412551ae63a49dd8617f93ab89878288879 by GitHub (on behalf of Arseniy Obolenskiy) on 20/07/2026 at 05:22.. [SPIR-V][NewPM] Register SPIRVStructurizer with the new pass manager (#209965) https://invent.kde.org/qt/clang/llvm-project/-/commit/a64f7412551ae63a49dd8617f93ab89878288879 Git commit 9d2e7e6836beadbe63380f64c716df2c086ff2ea by GitHub (on behalf of Lukas) on 20/07/2026 at 06:39.. [FixIrreducible][UnifyLoopExits] Support switch statements (#206567) This builds on #149308, which implemented `callbr` support. The same approach of splitting multi-branch edges entering irreducible loops can be used for switches. It does not introduce any new switch statements, but alleviates the requirement of having to run the `LowerSwitch` pass first. This makes the pass usable for users other than AMDGPU, which can handle switch statements (e.g., WebAssembly, see [here](https://github.com/llvm/llvm-project/pull/181755#issuecomment-3936316307)). I'm also implementing a flag into the `ControlFlowHub` to support switches as well, for which I will open a separate PR. Currently the `ControlFlowHub` creates a branch-sled, mimicking a `switch` (a series of blocks consisting only of conditional branches, selectively entering an irreducible loop at a certain point or continuing to the next potential entry point). If the target can support switches, that should be the clear goal here, as shown in the image below. This PR implements the step from (a) to (b), whereas extending the `ControlFlowHub` represents the step from (b) to (c). ((c) to (d) already exists through `SwitchToLookup` and `SwitchToArithmetic`). <img width="1055" height="432" alt="image" src="https://github.com/user-attachments/assets/780b7894-1895-4137-8148-b2bbc7f73a8f" /> The test cases in `switch.ll` were adapted from the `callbr.ll` tests using an LLM to ensure equivalent coverage. I've manually reviewed the control flow and conditions for every case, and the final assertions were generated using `update_test_checks.py`. https://invent.kde.org/qt/clang/llvm-project/-/commit/9d2e7e6836beadbe63380f64c716df2c086ff2ea Git commit c34d2c30e86358bfe308558b5e0719e9f5305153 by GitHub (on behalf of Aayush Shrivastava) on 20/07/2026 at 06:52.. [mlir] Fix mem2reg crash on scalable vector store/load with matching type (#209426) Fixes #209065 `createInsertAndCast/createExtractAndCast` in `LLVMMemorySlot.cpp` queried the bit size of the source/target types before checking whether they were already identical. For scalable vector types (e.g. `vector<[4]xi1>`), this size query implicitly converts a scalable TypeSize to a scalar, which aborts. `mem2reg` hits this path for any store or load whose value type exactly matches the slot's element type, since `getStored/removeBlockingUses` run even when no cast is needed. This fix adds an early return when the types are already equal, skipping the size query, consistent with the existing short-circuit in `areConversionCompatible/castSameSizedTypes`. https://invent.kde.org/qt/clang/llvm-project/-/commit/c34d2c30e86358bfe308558b5e0719e9f5305153 Git commit e2572b883f0b2bc7a7a3808e484039f9382aa898 by GitHub (on behalf of Ming-Yi Lai) on 20/07/2026 at 07:12.. [LLD][RISCV][Zicfilp] Generate unlabeled landing pad-style PLT (#145461) To support dynamic linking when Zicfilp is enabled, lpad insns are inserted into PLTs. This patch generates the unlabeled landing pad-style PLT, in which all the lpads have label `0`, when ZICFILP-unlabeled is enabled: --- PLT Header: ``` 1: auipc t3, %pcrel_hi(.got.plt) sub t1, t1, t2 l[w|d] t2, %pcrel_lo(1b)(t3) addi t1, t1, -(hdr size + 16) addi t0, t3, %pcrel_lo(1b) srli t1, t1, log2(16/PTRSIZE) l[w|d] t0, PTRSIZE(t0) jr t2 ``` --- PLT Entry: ``` lpad 0 1: auipc t2, %pcrel_hi([email protected]) l[w|d] t2, %pcrel_lo(1b)(t2) jalr t1, t2 ``` (The PLT format is specified in the psABI draft at <https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/417>) --------- Co-authored-by: Piyou Chen <[email protected]> Co-authored-by: Kito Cheng <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/e2572b883f0b2bc7a7a3808e484039f9382aa898 Git commit 21d537e48677c6c9f3fe679694bba7bcaece90ce by GitHub (on behalf of Mel Chen) on 20/07/2026 at 07:28.. [LV][Test] Rename conflicting IR values to avoid FileCheck conflicts. nfc (#210293) https://invent.kde.org/qt/clang/llvm-project/-/commit/21d537e48677c6c9f3fe679694bba7bcaece90ce Git commit 99789ca18a7982a0b8d63e681d957590f67455c4 by GitHub (on behalf of A. Jiang) on 20/07/2026 at 07:32.. [libc++] Add tests for LWG3798 and mark it as Complete (#210640) https://invent.kde.org/qt/clang/llvm-project/-/commit/99789ca18a7982a0b8d63e681d957590f67455c4 Git commit 9e2e9b33e14808541c0470b92ade34bee6608bf6 by GitHub (on behalf of Pavel Labath) on 20/07/2026 at 07:46.. [libc] Port process utilities to hermetic mode and enable some tests (#209999) This is achieved by calling internal libc functions in hermetic mode. In the overlay mode I keep calling the system functions so that the tests work even on systems which don't have these implemented. I also needed to implement the delete operators as both the libc proper and the test framework uses them nowadays. This is sufficient to enable all stdlib tests in hermetic mode, except for one, which actually exposes a bug in the implementation. I'll deal with that in a separate patch. https://invent.kde.org/qt/clang/llvm-project/-/commit/9e2e9b33e14808541c0470b92ade34bee6608bf6 Git commit ba9a115e3ba30699cafe7815d851f89f02f821ea by GitHub (on behalf of Adam Scott) on 20/07/2026 at 07:51.. [AArch64] Fold vector shifts guarded against oversized amounts into USHL (#207628) `select(icmp ult(amt, EltSize), shl(x, amt), 0)`, where EltSize is the {8, 16, 32, 64} lane size, is the usual way to guard a variable vector shift against shl poison. On AArch64 the guard is unnecessary because USHL already returns zero once the shift amount reaches the lane size. For v4i32: Before: ``` movi v2.4s, #63 movi v3.4s, #32 and v1.16b, v1.16b, v2.16b ushl v0.4s, v0.4s, v1.4s cmhi v1.4s, v3.4s, v1.4s and v0.16b, v1.16b, v0.16b ``` After: ``` movi v2.4s, #63 and v1.16b, v1.16b, v2.16b ushl v0.4s, v0.4s, v1.4s ``` USHL reads each lane's shift amount as a signed value from its low byte so amounts above 127 would be misread. The fold applies directly when known bits can prove the amounts are at most 127 and otherwise the amounts are clamped to EltSize with umin first, which is still one instruction cheaper than the select. NEON has no umin for 64-bit lanes so unbounded v2i64 amounts use the SVE umin when available and otherwise keep the select. lshr gets the same fold since it already lowers to ushl with a negated amount. This is the AArch64 counterpart of #86922, which added the same folds for AVX2's variable shifts. This does the select(shift) half; the shift(select) form will be a follow-up. Closes #200698. https://invent.kde.org/qt/clang/llvm-project/-/commit/ba9a115e3ba30699cafe7815d851f89f02f821ea Git commit 92aded9ac802ed85971627bfa651697f960eefbf by GitHub (on behalf of Kareem Ergawy) on 20/07/2026 at 07:54.. [flang][PFT-to-MLIR] Wrap unstructured Fortran constructs in scf.execute_region (#208635) Extend the PFT-to-MLIR (HLFIR/FIR) lowering so unstructured DO and IF constructs are emitted inside scf.execute_region, hiding their multi-block CFG behind a single op. OpenACC lowerings that reject multi-block content (e.g. the "unstructured do loop in combined acc construct" TODO in OpenACC.cpp) now see a structured op instead. The main goal is to prevent propagating the "unstructured" property up the evaluation tree just because one nested evaluation is unstructured; which is the current behavior. Flag: -mmlir --wrap-unstructured-constructs-in-execute-region (default on). An evaluation is wrappable iff all of the following hold: * wrap flag on * eval is parser::DoConstruct or parser::IfConstruct * eval.isUnstructured * branchesAreInternal(eval) -- every controlSuccessor in the subtree targets a nested eval or the constructExit * !hasIncomingBranch(eval) -- no outside eval branches into the body (PFT's synthetic IfConstruct around `if(c) goto X` absorbs label targets between the IF and X; the incoming-branch check excludes such wrappers when an outer GOTO names one of those labels) * does not contain a ReturnStmt -- its lowering creates the function's final block in the current region, which would mis-parent func.return * not an infinite DO and does not contain one (no LoopControl in any nested DO): the wrap's yield is unreachable and the body has no write-shaped side effects, so RegionDCE treats the wrap as trivially dead and drops it. Excluding the whole enclosing construct keeps such infinite loops visible in the parent CFG. * not the body DO of an enclosing OpenACCLoopConstruct or OpenACCCombinedConstruct -- nor one of the N collapsed iterator DOs reached by walking down through `collapse(N)`. Such DOs are driven directly into acc.loop by the OpenACC lowering, so wrapping them would hide the iteration from the acc.loop op. Diagnostics ----------- Emit per-wrap and per-function diagnostics on stderr so the wrapping is observable from a single compile invocation: [wrap-unstructured] wrapped DO at <loc> [wrap-unstructured] wrapped IF at <loc> [wrap-unstructured] summary: N execute_region(s) wrapping unstructured constructs at <loc> The counter is reset per function and the summary is suppressed when no wraps fire. Co-authored-by: Claude Opus 4.7 <[email protected]> --------- Co-authored-by: Claude Opus 4.7 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/92aded9ac802ed85971627bfa651697f960eefbf Git commit 751fca6c06e4d29b8d2a62c307afce8ba6a0a101 by GitHub (on behalf of Fangrui Song) on 20/07/2026 at 08:06.. [Driver][test] Unwrap freebsd-mips-as.c RUN lines (#210658) Collapse 3-line RUN blocks to 2 lines and move -### immediately after %clang, matching the prevailing style for new tests. https://invent.kde.org/qt/clang/llvm-project/-/commit/751fca6c06e4d29b8d2a62c307afce8ba6a0a101 Git commit a4ca7f3a670c84196cad4c739114b316fed6d8f1 by GitHub (on behalf of Pavel Labath) on 20/07/2026 at 08:09.. [libc][cmake] Remove proxy header XXX_macros -> XXX.h deps (#210008) In the full build mode, these headers do not include the main XXX.h header, which makes sense, because they exist to allow us only to expose a part of it. They do include it in the overlay mode, but in this case, they are referring to the header from the libc being overlaid, which exists outside of the build system. Also fix float_macros by moving libc.include.llvm-libc-macros.float_macros from DEPENDS to FULL_BUILD_DEPENDS, as llvm-libc-macros/float-macros.h is only included under LIBC_FULL_BUILD. https://invent.kde.org/qt/clang/llvm-project/-/commit/a4ca7f3a670c84196cad4c739114b316fed6d8f1 Git commit f214ce6b0a9a6af9b1d899895e29cbba68ee2726 by GitHub (on behalf of Pavel Labath) on 20/07/2026 at 08:10.. [libc][bazel] Add missing arpa/inet functions and tests (#210310) Add bazel build targets for the remaining arpa/inet functions (inet_addr, inet_aton, inet_ntoa, and inet_ntop) along with their unit tests and supporting targets (__support_net_address, headers, and proxy types). Assisted by Gemini. https://invent.kde.org/qt/clang/llvm-project/-/commit/f214ce6b0a9a6af9b1d899895e29cbba68ee2726 Git commit 72e0b55f9b1fd69030d7e9853a708bfd2fba36ec by GitHub (on behalf of Florian Hahn) on 20/07/2026 at 08:29.. [ConstraintSys] Solve sub-system with variables needed for query (#210432) Update ConstraintSystem to only solve the sub-system containing all variables relevant to a given query. The sub-system contains the transitive closure of all variables in rows involving the variables in the constraint to prove. The iterative collection loop only needs very few iterations to complete. The pruned system can significantly speed up Fourier–Motzkin elimination and reduce the cost of copying the system. This helps to notably decrease compile-time in cases when there are larger numbers of variables & rows (especially during (Thin)LTO). Highlights include * stage1-ReleaseThinLTO: -0.16% * stage1-ReleaseLTO-g: -0.19% * stage1-aarch64-O3: -0.04% https://llvm-compile-time-tracker.com/compare.php?from=1f2772f8e26beb909c2a559f1fb08697e3e06909&to=77fbe7926609da96a193254e44efd1d6f8a097de&stat=instructions%3Au Note that we will now stop to simplify conditions in code we proved dead/unreachable earlier; previously, unrelated constraints in the system that form contradictions would allow proving any unrelated fact. After pruning, unrelated facts will no longer contribute. https://invent.kde.org/qt/clang/llvm-project/-/commit/72e0b55f9b1fd69030d7e9853a708bfd2fba36ec Git commit 4234ff65326237102157875f6ddf098355864178 by GitHub (on behalf of Nikolas Klauser) on 20/07/2026 at 08:35.. Reapply "[libc++][NFC] Inline std::function members into the class body" (#209555) (#210260) This caused LLDB to fail, which has been fixed now. This reverts commit 7618426138aae95561da676a1d1e10ee0392bf78. https://invent.kde.org/qt/clang/llvm-project/-/commit/4234ff65326237102157875f6ddf098355864178 Git commit 1ad0e6989597f550e1a5b53abd889366b65aa6c7 by GitHub (on behalf of Fangrui Song) on 20/07/2026 at 08:37.. [Driver,FreeBSD] Fix -pie for -r and -no-pie links (#210663) Port Gnu.cpp changes ae623d16d50c and cac82e26c642 to FreeBSD and Serenity: -r should suppress -pie. -nopie, OpenBSD specific, should not be used by other OSes. Group the options selecting the link mode and place them after -m, as gnutools::Linker does, so that -r suppresses -export-dynamic and --hash-style as well, and -no-pie overrides the -fsanitize PIE default. Drop --enable-new-dtags: default in modern linkers. Change -Bstatic to -static to follow Gnu.cpp (identical in lld and older GNU ld). https://invent.kde.org/qt/clang/llvm-project/-/commit/1ad0e6989597f550e1a5b53abd889366b65aa6c7 Git commit 37a2803740cc9df3d605431b2410c9d9c0bc5731 by GitHub (on behalf of Kamlesh Kumar) on 20/07/2026 at 08:39.. [AArch64] Add combine for interleave deinterleave (#208414) These combines now can emit ldN/stN without interleaved access pass. https://invent.kde.org/qt/clang/llvm-project/-/commit/37a2803740cc9df3d605431b2410c9d9c0bc5731 Git commit 6fb8d5fd507d976cb8072a7aa245c225c25ee08a by GitHub (on behalf of David Spickett) on 20/07/2026 at 08:42.. [lldb][docs] Remove image links from trace doc (#210664) The document was first added in https://reviews.llvm.org/D105741 but that did not include the images (they were not in the RFC or discussions either). https://invent.kde.org/qt/clang/llvm-project/-/commit/6fb8d5fd507d976cb8072a7aa245c225c25ee08a Git commit 03b5c5285eaf0acdc1dc30c5be6e0a7cefeab16f by GitHub (on behalf of Nathan Gauër) on 20/07/2026 at 08:42.. [LSROA] Add logical SROA pass (#192058) This commit adds a logical-pointer compatible SROA pass. As-is, the pass does not optimizes nested structs, arrays, or usages of structured alloca with non-structured GEP instructions. Adding support for both is not complex, but increase the size of the PR, hence we can start with this. Next step will be to allow mem2reg to apply on logical alloca/ptr, and to add support for nesting/arrays. --------- Co-authored-by: Nikita Popov <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/03b5c5285eaf0acdc1dc30c5be6e0a7cefeab16f Git commit b8300a76659d65fd9738de1c1e4bf5b71e9ef72b by GitHub (on behalf of Momchil Velikov) on 20/07/2026 at 08:44.. [GVN] Remove the "private" `llvm::gvn` namespace (NFC) (#210323) Move `AvailableValue` and `AvailableValueInBlock` into GVNPass, similar to other helper types. Retain `llvm::gvn::GVNLegacyPass` as just `llvm::GVNLegacyPass` - "legacy" is already a sufficent hint and it is not going to become more "private" by stacking "gvn" prefixes to the name. Ideally, `GVNLegacyPass` should be defined in an anonymous namespace, but that is not possible because it is declared as a friend of GVNPass. https://invent.kde.org/qt/clang/llvm-project/-/commit/b8300a76659d65fd9738de1c1e4bf5b71e9ef72b Git commit b9b454166eaa92d2e6e129f6c21ad59639d8364e by GitHub (on behalf of Hongyu Chen) on 20/07/2026 at 08:51.. [RISCV][P-ext] Generalize lowerVECTOR_SHUFFLEAsRV32PNarrowingShift (#210522) The previous implementation only matches `shuffle(extract_subvector(src), extract_subvector(src), mask)`. This patch generalizes it to `shuffle(a, b, mask)`, so we can now lower it to `PNSRL(concat(a,b), element_bits)` if it is a deinterleave shuffle. And we use `foldConcatVector` to handle the original pattern with `extract_subvector`. https://invent.kde.org/qt/clang/llvm-project/-/commit/b9b454166eaa92d2e6e129f6c21ad59639d8364e Git commit 023361f8ef6aa47d10cd839515c58322890367c3 by GitHub (on behalf of David Spickett) on 20/07/2026 at 08:52.. [lldb][AArch64][Linux][NFC] Move RegisterSetType enum into header (#207145) I will be using this later to replace all the register specific functions this class has (WriteSVE/ReadSVE and so on) with single functions that use RegisterSetType to decide what to do. While I'm here, I've made some sizeof and casts use RegisterSetType in case the underlying type changes later. https://invent.kde.org/qt/clang/llvm-project/-/commit/023361f8ef6aa47d10cd839515c58322890367c3 Git commit 975c8f5a7b25f84a257ddfaf9605c62147a0913d by GitHub (on behalf of Raphael Isemann) on 20/07/2026 at 09:16.. [lldb][NFC] Remove various Stream::Printf calls with constants (#210294) `Stream::Printf` needs to call various other (variadic) functions, needs to parse the input string and potentially handle too-long format outputs. Calling in with a constant string is wasting a lot of instruction on doing nothing. assisted-by: claude https://invent.kde.org/qt/clang/llvm-project/-/commit/975c8f5a7b25f84a257ddfaf9605c62147a0913d Git commit 1c1c0657f990b92d23067cb7367772f4c91ea32b by GitHub (on behalf of Abhay Kanhere) on 20/07/2026 at 09:20.. [ConstraintElim] LSHR x, n <= x when n< bitwidth (#209583) A logical right shift never increases an unsigned value: for %r = lshr %x, %n, add the fact %r u<= %x when LSHR is not poison. This extends the existing udiv/urem fact modeling to lshr. https://alive2.llvm.org/ce/z/RUTMwe proof shown with constant value < bit size https://invent.kde.org/qt/clang/llvm-project/-/commit/1c1c0657f990b92d23067cb7367772f4c91ea32b Git commit ead8fd8e29fbf3774b7a08bf7b991c2ada30112b by GitHub (on behalf of Hristo Hristov) on 20/07/2026 at 09:23.. [libc++][ranges][NFC] Format `lazy_split_view` (#210644) Pre-requisite for: https://github.com/llvm/llvm-project/pull/193891 https://invent.kde.org/qt/clang/llvm-project/-/commit/ead8fd8e29fbf3774b7a08bf7b991c2ada30112b Git commit eec2f0916d44c33beac52f4396c7a9c98b0c9cf6 by GitHub (on behalf of Hristo Hristov) on 20/07/2026 at 09:23.. [libc++][NFC] Removed duplicated `_LIBCPP_INTRODUCED_IN_LLVM_23` macros (#210602) Removed the redundant macros, which apparently were added by two different patches. https://invent.kde.org/qt/clang/llvm-project/-/commit/eec2f0916d44c33beac52f4396c7a9c98b0c9cf6 Git commit 39a2c6a695f9d045b05fd5798a7cb99f3c7425a7 by GitHub (on behalf of Hristo Hristov) on 20/07/2026 at 09:23.. [libc++][test][NFC] Removed unsupported compilers from tests (#210413) https://invent.kde.org/qt/clang/llvm-project/-/commit/39a2c6a695f9d045b05fd5798a7cb99f3c7425a7 Git commit 9cb6db4e3814fba503389aa0af16960847295fd2 by GitHub (on behalf of Momchil Velikov) on 20/07/2026 at 09:26.. Revert "[GVN] Remove the "private" `llvm::gvn` namespace (NFC)" (#210666) Reverts llvm/llvm-project#210323 FAILED: lib/Transforms/Scalar/CMakeFiles/LLVMScalarOpts.dir/GVN.cpp.o /var/llvm-compile-time-tracker/llvm-project/llvm/lib/Transforms/Scalar/GVN.cpp:4001:27: error: qualified name does not name a class before ‘:’ token 4001 | class llvm::GVNLegacyPass : public FunctionPass { https://invent.kde.org/qt/clang/llvm-project/-/commit/9cb6db4e3814fba503389aa0af16960847295fd2 Git commit ded79d9ddea47eb3a42da740353c16d21e890354 by GitHub (on behalf of Arseniy Obolenskiy) on 20/07/2026 at 09:49.. [SPIR-V] Reject fp128 and ppc_fp128 types with a diagnostic (#208397) Introduced as a part of discussion in https://github.com/llvm/llvm-project/pull/208219 https://invent.kde.org/qt/clang/llvm-project/-/commit/ded79d9ddea47eb3a42da740353c16d21e890354 Git commit 4caba63c698121203eea9280a392159dc6328e68 by GitHub (on behalf of David Spickett) on 20/07/2026 at 09:52.. [lldb][test] Double the timeout for TestGuiSpawnThreads.py (#210043) If the host machine is overloaded, spawning threads may be delayed due to lack of resources. I'm pretty sure this is the cause of failures in GitHub CI reported in https://github.com/llvm/llvm-project/issues/209874. For what the test is doing, we unfortunately cannot get around needing to wait on the test program. We could perhaps come up with a lit mode that runs some tests in serial, but this is a larger project than I want to get into now. For now, let's try doubling the timeout. This test is unlikely to fail for real, so if it's taking a long time, it'll be due to system resources. In 99% of cases, it'll pass in a few seconds still. https://invent.kde.org/qt/clang/llvm-project/-/commit/4caba63c698121203eea9280a392159dc6328e68 Git commit 35c8e920cdd5b53dccfd669ebd92f3e06f534aae by GitHub (on behalf of Valery Pykhtin) on 20/07/2026 at 10:02.. [NFC][AMDGPU] Use SIInstrFlags predicates in SIMemoryLegalizer and AMDGPUBaseInfo. (#209821) Part of a series following the introduction of SIInstrFlags predicates. https://invent.kde.org/qt/clang/llvm-project/-/commit/35c8e920cdd5b53dccfd669ebd92f3e06f534aae Git commit 195df3d4654b43ecf35927e574a8061bfaecbb78 by GitHub (on behalf of Matsu) on 20/07/2026 at 10:14.. [mlir][OpenACC] Privatize worker reduction accumulators per worker (#210456) Example: ```fortran !$acc parallel !$acc loop gang reduction(+:sum) do k = 1, p !$acc loop worker reduction(+:sum) do j = 1, n !$acc loop vector reduction(+:sum) do i = 1, m sum = sum + a(i,j,k) end do end do end do ``` In this code, the worker accumulator is both gang- and worker-scoped. Shared memory allocated only one copy, so workers raced while updating the same value. Fix: allocate one shared-memory accumulator per worker whenever worker parallelism is present. https://invent.kde.org/qt/clang/llvm-project/-/commit/195df3d4654b43ecf35927e574a8061bfaecbb78 Git commit 91ad9f0ce9655eb3715c937f7d64d329bac63817 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 10:48.. AMDGPU/GlobalISel: Handle G_BITCAST for 16 bit extendedLLTs (#208750) Handle bitcast between i16 and f16/bf16. For true16 this was already legal, make it legal in regbanklegalize as well. For non-true16 widen it using G_ANYEXT to i32 and G_TRUNC to dst. The "i32 G_ANYEXT f16/bf16" and "f16/bf16 G_TRUNC i32" are already legal, for example these are generated by common CallLowering argument lowering. https://invent.kde.org/qt/clang/llvm-project/-/commit/91ad9f0ce9655eb3715c937f7d64d329bac63817 Git commit 7aa5b246f173dca6b326b49bd65f53f1a072fdf1 by Petar Avramovic on 20/07/2026 at 10:52.. AMDGPU/GlobalISel: Switch legalizer intrinsic lowering to extended LLTs Affects various buffer intrinsics. https://invent.kde.org/qt/clang/llvm-project/-/commit/7aa5b246f173dca6b326b49bd65f53f1a072fdf1 Git commit 98995d244b81f1603faee8928d06f435b8109f25 by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Fix G_UNMERGE_VALUES lowering for extended LLTs Use integer type for bit twiddling instead of scalar. https://invent.kde.org/qt/clang/llvm-project/-/commit/98995d244b81f1603faee8928d06f435b8109f25 Git commit 67b1e4a76cf128f7e38a1ba89944d7f5e3991ae6 by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Fix G_MERGE_VALUES lowering for extended LLTs Use integer type for bit twiddling instead of scalar. https://invent.kde.org/qt/clang/llvm-project/-/commit/67b1e4a76cf128f7e38a1ba89944d7f5e3991ae6 Git commit 44b48862f4865c3d7d79bd49dd8835b026fddd52 by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Stop using changeTo in legaizer actions Use changeElementSizeTo or changeElementCountTo to preserve extended LLT. https://invent.kde.org/qt/clang/llvm-project/-/commit/44b48862f4865c3d7d79bd49dd8835b026fddd52 Git commit 42b927145a905dd66dd0135c9ed1b98eae51e0a2 by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Fix legalizer lowering for G_EXTRACT/INSERT_VECTOR_ELT Use LLT::integer in bit twiddling lowering for extract/insert vector element. https://invent.kde.org/qt/clang/llvm-project/-/commit/42b927145a905dd66dd0135c9ed1b98eae51e0a2 Git commit fb0046e216202e132f67b3dbff2844f546554dfa by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Explicitly widen scalar to i32 for load and store Affects f16 and bf16. Earlier, they were widened to f32 and s32 respectively. The actual error was the artifact combiner creating a copy between f32/i32 which fails in the machine verifier. Maybe we could create a bitcast there. However i32 is more efficient for us and matches well with how argument lowering keeps f16 and bf16 in i32 copies to/from physical registers. Also starting from f16 store, G_STORE %0(f16), %1(p1) :: (store (f16), and doing widen scalar to 32 bit type, i32 makes more sense since store will store 16 least significant bits G_STORE %0(i32), %1(p1) :: (store (f16) compared to G_STORE %0(f32), %1(p1) :: (store (f16), which looks incorrect if we assume input was really in f32 format. https://invent.kde.org/qt/clang/llvm-project/-/commit/fb0046e216202e132f67b3dbff2844f546554dfa Git commit db8938d17a69061ecc65dd5b7ae0bc5c474760a4 by Petar Avramovic on 20/07/2026 at 10:57.. AMDGPU/GlobalISel: Use integer as MMO type for loads and stores lowering We could get away with just the type from MMO in most cases, but MMO splitting creates MMO with LLT::scalar and we prefer integer. https://invent.kde.org/qt/clang/llvm-project/-/commit/db8938d17a69061ecc65dd5b7ae0bc5c474760a4