[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/alexey-bataev/spr/slp-gather-operands-of-associative-binary-chains-into-one-node'. Changed from 08a034bcf97e98530a39d6274bd35e4ede5d54e0 to 6da37b1d918fb99b0ba48337bb661ac54ccfa407 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 f27602f77d2bccdd1ab17e6afc4b48fc0a32b993 by GitHub (on behalf of Aiden Grossman) on 28/07/2026 at 17:27.. Revert "[SimplifyCFG] Fix branch-weight overflow when folding switch case into default" (#212540) https://invent.kde.org/qt/clang/llvm-project/-/commit/f27602f77d2bccdd1ab17e6afc4b48fc0a32b993 Git commit 98568f6567999d03e15a611b3fed1abcfab2f123 by GitHub (on behalf of adams381) on 28/07/2026 at 17:29.. [CIR] Accept __int128 in x86_64 calling-convention lowering (#211142) The x86_64 calling-convention bridge rejected every integer wider than 64 bits, so a function taking or returning `__int128` hit `errorNYI` even though its ABI treatment is simple. On x86_64 `__int128` is Direct and passes in a pair of integer registers, matching an i128 argument or return in classic CodeGen. `isSupportedType` now accepts non-bitint integers of width 128 alongside the register-sized widths. A struct holding a single `__int128` is exactly two eightbytes, so it reaches the aggregate path and is Direct-coerced to i128; a struct spanning more than two eightbytes stays Indirect (byval/sret). `_BitInt` stays rejected pending its register-pair coercion and padding handling, including `_BitInt(128)`. Non-C intermediate widths (65..127) stay rejected too: the scalar Direct branch would pass them through unchanged, without the register-pair coercion they would need. https://invent.kde.org/qt/clang/llvm-project/-/commit/98568f6567999d03e15a611b3fed1abcfab2f123 Git commit 7ac6b9ff31dbd3a028585ccd18d8a7a290303d58 by GitHub (on behalf of Jonas Devlieghere) on 28/07/2026 at 17:49.. [lldb] Report the unwound PC for WebAssembly caller frames (#212326) RegisterContextWasm delegated the PC register read to GDBRemoteRegisterContext, which reports the live innermost PC for every frame. Resolving a variable whose DWARF location is a location list in a caller frame therefore chose the entry using the innermost frame's PC instead of the caller's, so the variable read back as unavailable even though its location covered the caller's PC. Return the program counter the WebAssembly unwinder recorded for the frame (from qWasmCallStack) when reading a caller frame's PC, so the location list entry uses the correct frame. https://invent.kde.org/qt/clang/llvm-project/-/commit/7ac6b9ff31dbd3a028585ccd18d8a7a290303d58 Git commit d4d007b581bef93d6b7cee4bf9d621804826a9d6 by GitHub (on behalf of Jinseok Kim) on 28/07/2026 at 17:52.. [asan][NFC] Fix comments in asan_poisoning.cpp (#212449) Remove duplicated wording and fix typos in comments. Signed-off-by: Jinseok Kim <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/d4d007b581bef93d6b7cee4bf9d621804826a9d6 Git commit 488ba8b8d28fbab361a56111591acb1bf8c33371 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 17:52.. AMDGPU: Split R600 feature bitmask into separate enum from amdgcn (#212484) https://invent.kde.org/qt/clang/llvm-project/-/commit/488ba8b8d28fbab361a56111591acb1bf8c33371 Git commit a4a9b6864c6f185500f08a5a037d93b5e67657dc by GitHub (on behalf of Yingwei Zheng) on 28/07/2026 at 17:58.. [SimplifyCFG] Handle degenerate conditional branch (#212552) IR before entering the function: ``` define void @func(i1 %cond) { entry: br i1 %cond, label %exit, label %exit exit: ; preds = %entry, %entry %phi = phi i1 [ false, %entry ], [ false, %entry ] tail call void @llvm.assume(i1 %phi) ret void } ``` The original code only removes one edge. There is still an edge from entry to exit, triggering the `Deleted edge still exists in the CFG` assertion. Closes https://github.com/llvm/llvm-project/issues/212542 https://invent.kde.org/qt/clang/llvm-project/-/commit/a4a9b6864c6f185500f08a5a037d93b5e67657dc Git commit ee25d3ec23a8b612ae3fa3eed8f8b88b00f582df by GitHub (on behalf of Faijul Amin) on 28/07/2026 at 18:02.. [SPIRV] Preserve sign-sensitive width record across G_TRUNC replacement (#211626) **Summary** Follow-up to #203661. When the `G_TRUNC` handler in `SPIRVPreLegalizer` collapses source and destination to the same widened width, it calls `MRI.replaceRegWith(DstReg, MaskedReg)` and drops the original `G_TRUNC`. The `SignSensitiveInfo.OrigWidth` map, however, was still keyed on `DstReg`, so `widenSignSensitiveOps` no longer found the narrow original width and skipped the `shl/ashr` sign extension for signed users of the truncated value. Rekey `OrigWidth` from `DstReg` to `MaskedReg` before the `replaceRegWith` so signed ops fed by the truncated value still receive `G_SEXT_INREG` on the widened type. **Test plan** New test case is added to `llvm/test/CodeGen/SPIRV/legalization/signed-narrow-int.ll`: `trunc i8 → i4` feeding `icmp slt` — src and dst both widen to `i8`, exercising the same-width `replaceRegWith` path. Checks that the widened `i8` compare is preceded by matching `OpShiftLeftLogical / OpShiftRightArithmetic` pairs on both operands. https://invent.kde.org/qt/clang/llvm-project/-/commit/ee25d3ec23a8b612ae3fa3eed8f8b88b00f582df Git commit b0960bd33024c6e22b680df5d4fb675f61b64ad0 by GitHub (on behalf of Fangrui Song) on 28/07/2026 at 18:04.. [CodeGen] Stop requiring analyses that no pass reads (#212430) Remove analysis requirements whose pass never calls getAnalysis for them, and MachineSchedContext::MDT, which no scheduler reads. Also remove addPreserved calls subsumed by setPreservesCFG (MachineDominatorTree and MachineLoopInfo are CFG-only analyses) and a now-unpaired INITIALIZE_PASS_DEPENDENCY. The PowerPC, Hexagon and R600 pipelines each drop a MachineDominatorTree construction. Aided by Claude Opus 5 https://invent.kde.org/qt/clang/llvm-project/-/commit/b0960bd33024c6e22b680df5d4fb675f61b64ad0 Git commit 0db95253f93987e4c37594883208a42d3ebee563 by GitHub (on behalf of Taimuraz Kaitmazov) on 28/07/2026 at 18:06.. [clang][ClangScanDeps] Relax logging-two-threads for duplicate module validation (#210587) `ClangScanDeps/logging-two-threads.c` is flaky. It asserts each module's timestamp is written exactly once, but under `-fmodules-validate-once-per-build-session` two workers scanning different TUs can both notice the shared module is unvalidated this session and each validate and record it before the other's write lands, so its timestamp is written once or twice depending on the interleaving. The double write is harmless: the timestamp field is atomic and both workers store the same session time. Only the exact-count assertion was wrong. Relax the test to the real invariant: the shared module A is written once or twice and the single-TU module B exactly once. Module compile and pcm write stay exactly once (the in-memory cache builds each module once) and the per-module event ordering is still checked by the sequence blocks. The redundant validation itself (two workers validating the same module) is a separate, pre-existing issue noted by the validation-lock TODO in `ModuleCache.h`; I plan to look at that separately. AI assistance: drafted with AI help; reviewed and validated by me. https://invent.kde.org/qt/clang/llvm-project/-/commit/0db95253f93987e4c37594883208a42d3ebee563 Git commit 6d59a24272b7d0ffbf5c04b8878dfcc08c0bc0d9 by GitHub (on behalf of Changpeng Fang) on 28/07/2026 at 18:07.. [AMDGPU] Generate literal32 operand for packed fp32 instructions (#212530) Literal32 operand is supported for gfx1250+ for v_pk_*_f32 https://invent.kde.org/qt/clang/llvm-project/-/commit/6d59a24272b7d0ffbf5c04b8878dfcc08c0bc0d9 Git commit 9d4eb0a855242a37a7541682934a6dd811474d11 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 18:10.. PowerPC: Rename "float-abi" module flag to "long-double-type" (#210817) PPC was emitting a "float-abi" module flag for indicating the type of long double. The "float ABI" naming is already widely taken by soft vs. hard float controls (e.g., the clang flag is called -mfloat-abi), so this shouldn't have taken it. This should also not be PPC specific; x86 has the same problem. Rename the flag to the more specific long-double-type, and add appropriate verification and documentation (which was also missing). Also changes the value names to match the IR type names. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/9d4eb0a855242a37a7541682934a6dd811474d11 Git commit 3919897e1b1b2c4f4327e9a8a9eebfb91bc75616 by GitHub (on behalf of Srividya Sundaram) on 28/07/2026 at 18:11.. Revert "[Driver][SYCL] Add compile-time device library linking for SPIR-V targets" (#212550) Reverts llvm/llvm-project#196656 The CI does not yet build compiler-rt with SPIR-V support, so libclang_rt.builtins.bc is absent on that bot. This change made the missing file a hard error, breaking all libsycl functional tests that compile with -fsycl. Re-landing after CI is updated to build compiler-rt for SPIR-V. https://invent.kde.org/qt/clang/llvm-project/-/commit/3919897e1b1b2c4f4327e9a8a9eebfb91bc75616 Git commit 1a2691c3d3ff24dc5dc52a80b3e1ed3f8ee1706a by GitHub (on behalf of Abhinav Gaba) on 28/07/2026 at 18:27.. [NFC][OpenMP] Add mapper-specific tests exercising pointee section mapping. (#204269) * Add a few tests for when a mapper does something like `map(s.p[0:10])` where `p` is a pointer. * Add a few tests that require propagation of bits like `present/always` into a mapper. * Fix a few tests that were expecting `p` to be mapped when the mapper only said `map(s.p[0:10])`. The output of a few tests is different from what we expect. They have been annotated with FIXMEs, and the expected output for when the follow-up changes in this stack to propagate the map-type-modifier bits and using attach-style mapping for mappers get merged. --------- Co-authored-by: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/1a2691c3d3ff24dc5dc52a80b3e1ed3f8ee1706a Git commit 16f45b7f184c776b40a6893c8d6f6f02d5185c47 by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 28/07/2026 at 18:28.. [flang][cuda] Add option to set priority to the CUDA Fortran constructor (#212561) https://invent.kde.org/qt/clang/llvm-project/-/commit/16f45b7f184c776b40a6893c8d6f6f02d5185c47 Git commit 8aceb2f64b33f3c70b712ccd464774fa7d620d19 by GitHub (on behalf of Alexander Johnston) on 28/07/2026 at 18:30.. [HLSL] Implement HLSL InterlockedXor (#209254) Follows existing HLSL InterlockedOp implementations to provide InterlockedXor in HLSL, with DirectX and SPIRV support. https://github.com/llvm/llvm-project/issues/99127 https://invent.kde.org/qt/clang/llvm-project/-/commit/8aceb2f64b33f3c70b712ccd464774fa7d620d19 Git commit 6bf2f466c1a77c1e97175dc14a11564133a0638b by GitHub (on behalf of Petr Kurapov) on 28/07/2026 at 18:32.. [MIR2Vec] Handle machine functions with no basic blocks (#212294) depth_first() asserts on an empty MachineFunction, since getEntryNode() dereferences the block list sentinel via front(). Return the zero vector instead, as IR2Vec does for declarations. https://invent.kde.org/qt/clang/llvm-project/-/commit/6bf2f466c1a77c1e97175dc14a11564133a0638b Git commit 26643a89ddf98e48e986d25ceb10f673735bc7d7 by GitHub (on behalf of Anatoly Trosinenko) on 28/07/2026 at 18:35.. [PAC][Headers] Fix incorrect comment in ptrauth.h (#207265) The discriminator which is used to sign pointers to v-tables is not always zero. https://invent.kde.org/qt/clang/llvm-project/-/commit/26643a89ddf98e48e986d25ceb10f673735bc7d7 Git commit 85305ba2b67ea806e1e04b61dcc8743b19f51fc8 by GitHub (on behalf of Arseniy Obolenskiy) on 28/07/2026 at 18:49.. [AMDGPU] Fix llvm.amdgcn.ballot with return width != wavefront size (#211493) Before wave mask was emitted directly in the requested return type, which failed to select for i32 ballots on wave64 (and vice versa) Compute the mask at the wavefront width and then zext or trunc it to the result type https://invent.kde.org/qt/clang/llvm-project/-/commit/85305ba2b67ea806e1e04b61dcc8743b19f51fc8 Git commit e146c04973fc3faf6dbf74bacdf8d62553f6fed5 by GitHub (on behalf of Chinmay Deshpande) on 28/07/2026 at 19:00.. [AMDGPU] Add SRAMECC to feature list for gfx12-5-generic (#212573) https://invent.kde.org/qt/clang/llvm-project/-/commit/e146c04973fc3faf6dbf74bacdf8d62553f6fed5 Git commit 34e04039fd7c5341b964443659c2e1677d97c55e by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 19:18.. IR: Accept x86_fp80 and float as a long-double-type value (#210818) Prepare to emit long-double-type for all targets. x86 obviously needs x87, and AVR uses float. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/34e04039fd7c5341b964443659c2e1677d97c55e Git commit ed591cc9d78a73eef2fffa93510bd99c3a7170df by GitHub (on behalf of Shoaib Meenai) on 28/07/2026 at 19:22.. [lit] Switch tests to using path function (#212381) All the other test suites use the PATHS option to configure_lit_site_cfg and the path() function in lit.site.cfg to make the site configs relocatable. Apply the same pattern to lit's own suite as well. https://invent.kde.org/qt/clang/llvm-project/-/commit/ed591cc9d78a73eef2fffa93510bd99c3a7170df Git commit 7ae83531cb7cfcfb266ba6aa927caf77745995bf by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 19:23.. AMDGPU: Add dedicated features for wavesize support (#212581) Previously we had features for which wavesize is active, and unstructured checks for which targets support which wavesize. One assembler test changes because it was artificially forcing wave64 on gfx1250 for test simplification, and the supportsWave32 helper function was buggy. Co-authored-by: Claude (Claude-Opus-4.8) https://invent.kde.org/qt/clang/llvm-project/-/commit/7ae83531cb7cfcfb266ba6aa927caf77745995bf Git commit 531445c572936b72864f377b02b96001fa0fa799 by GitHub (on behalf of Arseniy Obolenskiy) on 28/07/2026 at 19:26.. [mlir][SPIR-V] Add SPIRVToLLVM conversions for IAddCarry and ISubBorrow (#203605) https://invent.kde.org/qt/clang/llvm-project/-/commit/531445c572936b72864f377b02b96001fa0fa799 Git commit ab5f244f0f043c138d4d9ee7e0bbdea2309d2010 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 19:31.. Triple: Add query for the default long double format (#211239) The long double format changes the library call info, which needs to be computed independently of codegen. Implement this based on the clang target code. --------- Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/ab5f244f0f043c138d4d9ee7e0bbdea2309d2010 Git commit 617dd98854c1f436a90e457f38f8d90643c0b641 by GitHub (on behalf of Yi Zhang) on 28/07/2026 at 19:39.. [bazel] fix #212406 (#212585) https://invent.kde.org/qt/clang/llvm-project/-/commit/617dd98854c1f436a90e457f38f8d90643c0b641 Git commit bd69a84b5618922f776d14710221b8ca7bf58758 by GitHub (on behalf of earnol) on 28/07/2026 at 19:39.. [clang-format] Fix OverEmptyLines aligning trailing comments across block boundaries (#208324) Fix `AlignTrailingComments` with `OverEmptyLines` aligning trailing comments across block boundaries (e.g., between two functions or structs). The alignment sequence now breaks at block-type braces (`BK_Block`). This is an `OverEmptyLines` bug exposed by bae9ddca423145baf0c35e31898b723aa273f85c (#206393). Fixes https://github.com/llvm/llvm-project/issues/208266 (https://github.com/llvm/llvm-project/issues/208266). Commit created with the help of kiro-cli. Co-authored-by: Vladislav Aranov <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/bd69a84b5618922f776d14710221b8ca7bf58758 Git commit 592b344b377db4a81ac6930ae6c0131730b0432c by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 19:54.. AMDGPU: Migrate target ID diagnostic tests to subarch triples (#212588) https://invent.kde.org/qt/clang/llvm-project/-/commit/592b344b377db4a81ac6930ae6c0131730b0432c Git commit 255162ae0ebe805df151c5c4b48e1a47a5dd74f0 by GitHub (on behalf of Nemanja Ivanovic) on 28/07/2026 at 19:59.. [RISC-V] Do not emit cm.popret[z] with zicfiss (#196267) When emitting shadow call stack protection instructions, the push/pop optimization needs to be turned off because an sspopchk before a cm.popret[z] is guaranteed to fail in a non-leaf function. In addition, the sspopchk must be emitted after a cm.pop so that the ra has the correct value when the check is performed. Fixes: https://github.com/llvm/llvm-project/issues/196261 Co-authored-by: Nemanja Ivanovic <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/255162ae0ebe805df151c5c4b48e1a47a5dd74f0 Git commit 810062e9771d8b47c25a89311139c621c13bbf9f by GitHub (on behalf of Louis Dionne) on 28/07/2026 at 20:03.. [libc++] Require selecting a machine when dispatching the benchmark workflow (#212591) This resolves a TODO to allow selecting which machine we're running on. As I am working on automation to dispatch these benchmarking jobs, it turns out that we always want to specify the machine, and we always want to specify a single machine to run per workflow, since this is the only way we can track which commits have been attempted (or are still in flight) on a given machine. Therefore, the ability to run benchmarks on all machines at once is removed from this workflow (but not from the related PR A/B benchmarking workflow). This patch also includes the machine name and the commit being benchmarked into the runs's name, which is necessary for automation to know what the workflow was benchmarking. https://invent.kde.org/qt/clang/llvm-project/-/commit/810062e9771d8b47c25a89311139c621c13bbf9f Git commit 83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db by GitHub (on behalf of Jeff Bailey) on 28/07/2026 at 20:03.. [libc] Implement cpp::unique_ptr utility (#206701) [libc] Implement cpp::unique_ptr utility Implemented cpp::unique_ptr and cpp::default_delete in libc/src/__support/CPP/unique_ptr.h for internal use within LLVM-libc. * Added cpp::default_delete and its array specialization. * Implemented cpp::unique_ptr with support for custom deleters and array specialization. * Applied LIBC_TRIVIAL_ABI to unique_ptr and LIBC_NO_UNIQUE_ADDRESS to the deleter to enable empty member optimization and register-passing ABI. * Defined portable LIBC_NO_UNIQUE_ADDRESS and LIBC_TRIVIAL_ABI macros in attributes.h. * Included is_assignable.h in type_traits.h to support conversion assignment constraints. * Modernized template constraints using enable_if_t and is_convertible_v. * Added comprehensive unit tests in libc/test/src/__support/CPP/unique_ptr_test.cpp, including coverage for reset sequencing, custom deleters, and conversion constructors. This is a simplified implementation with the following limitations: * No support for custom pointer types (hardcoded to T*). * No support for reference deleter types or array conversion. Adding this to LLVM libc because some things (like regex) require dynamic memory allocation, and this will help with correct memory management. Assisted-by: Automated tooling, human reviewed. https://invent.kde.org/qt/clang/llvm-project/-/commit/83dfacdbda1a8b87c1f170ec6ce4e240e1fa79db Git commit 6084459105d2d022122508cfbcae990d7516488b by GitHub (on behalf of Pankaj Gode) on 28/07/2026 at 20:06.. [RISCV] Add macro fusion support for the Xqci extension instructions (#209542) Add macro fusion definitions for the Qualcomm Xqci extension covering movimm-alu, movimm-mul, movimm-ldst, movimm-jump, movimm-longlogical, movimm-mov, mov-mov, mov-longlogical fusions. The fusion definitions live in a new RISCVMacroFusionXQCI.td which is included from RISCVMacroFusion.td. A MIR test and the feature list test are updated accordingly. To accomodate additional features, increased MAX_SUBTARGET_FEATURES to 448 (from 384). Signed-off-by: Pankaj Gode <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/6084459105d2d022122508cfbcae990d7516488b Git commit d814f55809820baee51a23eab92c24df8f5824ce by GitHub (on behalf of Md Abdullah Shahneous Bari) on 28/07/2026 at 20:21.. [mlir][MathToXeVM] Convert fastmath math ops on size-1 vectors (#211921) SPIR-V has no size-1 vector type, so `convert-math-to-xevm` previously rejected `math.exp fastmath<fast> : vector<1xf32>` (and the other native OCL patterns), leaving them as unconverted `math.exp`. These degenerate size-1 vectors are the result of the XeGPU pipeline distributing and linearizing larger vectors down to a single element per lane, so in practice fastmath exps in e.g. flash-attention softmax were never lowered to `__spirv_ocl_native_exp`, hurting performance. Handle size-1 vectors by unwrapping them to the scalar element type: `vector.extract [0]` -> scalar native intrinsic -> `vector.broadcast` back. `vector::ExtractOp`/`BroadcastOp` are marked legal in the conversion target so the partial conversion does not roll back, and the pass now depends on the Vector dialect. --------- Co-authored-by: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/d814f55809820baee51a23eab92c24df8f5824ce Git commit f5c5aee722763817448fcd0f7951853ea456be04 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 20:29.. AMDGPU: Remove some assembler tests using dummy target (#212595) In the future it will be illegal to do anything with a binary without a specific subarch. Most of these were redundant with an existing run line. https://invent.kde.org/qt/clang/llvm-project/-/commit/f5c5aee722763817448fcd0f7951853ea456be04 Git commit e5ac0f33554dbeca8b809a38b0aa228e4655bd18 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 28/07/2026 at 20:32.. [Bazel] Fixes d814f55 (#212610) This fixes d814f55809820baee51a23eab92c24df8f5824ce (#211921). Buildkite error link: https://buildkite.com/llvm-project/upstream-bazel/builds?commit=d814f55809820baee51a23eab92c24df8f5824ce Co-authored-by: Google Bazel Bot <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/e5ac0f33554dbeca8b809a38b0aa228e4655bd18 Git commit 3b26f265c9608750c9f912b41e038a27fd595860 by GitHub (on behalf of Wooseok Lee) on 28/07/2026 at 20:33.. [AMDGPU][NFC] Document flat-to-global promotion assumption in AMDGPUP… (#212590) …romoteKernelArguments AMDGPUPromoteKernelArguments promotes flat pointer kernel arguments to global by inserting a round-trip addrspacecast (flat -> global -> flat) as a hint to InferAddressSpaces. Add a comment explaining why this is valid: in the HSA offload model, the host populates kernarg slots at dispatch time and can only supply global-aperture addresses, so any flat pointer reachable from a kernel argument can be assumed to be in the global aperture. This mirrors the same assumption made by getAssumedAddrSpace in AMDGPUTargetMachine.cpp, which independently promotes flat kernel arguments to global via InferAddressSpaces. https://invent.kde.org/qt/clang/llvm-project/-/commit/3b26f265c9608750c9f912b41e038a27fd595860 Git commit 93d45dce2fc704e28bacb1eea399fb9900385418 by GitHub (on behalf of Moazin K.) on 28/07/2026 at 20:34.. [OpenACC] Do not clean up nohost routines in `ACCRoutineLowering`. (#212534) The design of the ACC routine lowering supports multiple device side specializations of an ACC routine function. Earlier in the pipeline, all calls to the function are expected to refer the original host function and not their device side specialized versions. Once there is enough parallelism context, the calls can be changed to point to the appropriate specialized routine. The nohost handling in `ACCRoutineLowering` goes against this design. This change removes the special handling of nohost routines and this clean up should be done in later passes. Assisted-by: Codex https://invent.kde.org/qt/clang/llvm-project/-/commit/93d45dce2fc704e28bacb1eea399fb9900385418 Git commit 2031237267b8fa2f7e3840de33fdb305963d7adf by GitHub (on behalf of Alex Langford) on 28/07/2026 at 20:49.. [lldb] Stop creating ConstStrings for ObjC framework type names (#211679) For a given ObjC framework type (e.g. NSArray from Foundation), LLDB may need to do something different to format the type correctly depending on its backing implementation type. Many of these types have well known variants that LLDB knows how to handle, but they need to be identified on a case-by-case basis. These type names were stored into ConstStrings but don't need to be. Instead we can statically create a StringLiteral to avoid repeated StringRef creation for these type names. https://invent.kde.org/qt/clang/llvm-project/-/commit/2031237267b8fa2f7e3840de33fdb305963d7adf Git commit 7a3aa7da4c0254483ae32c6fa7f65d756026d56c by GitHub (on behalf of Abhay Kanhere) on 28/07/2026 at 20:52.. [ConstraintElim] decompose subtract with guard as precondition (#209615) ConstraintElimination's unsigned constraint system already decomposes `sub nuw a, b` into `a − b` (nuw guarantees b ≤ a), The fix decomposes 'sub nsw a, b' or 'sub a , b' into 'a − b' with precondition b u≤ a provided by dominating guard. Motivating example is a bound check of the form that reaches CE. ``` int f(const int *a, int len, int k, unsigned n) { if ((unsigned)k <= (unsigned)len && (unsigned)len <= n) { int off = len - k; // sub nsw i32 if ((unsigned)off <= n) // survives instcombine; CE folds via off<=len<=n return a[off]; } return -1; } ``` https://alive2.llvm.org/ce/z/e8vka7 https://invent.kde.org/qt/clang/llvm-project/-/commit/7a3aa7da4c0254483ae32c6fa7f65d756026d56c Git commit 96d7cb506f1df1fb3e1f0fa3fa40610c62bc1d88 by GitHub (on behalf of Florian Hahn) on 28/07/2026 at 20:55.. [LV] Add cost tests for store scalarization (NFC). (#212592) Extra test coverage for tests where legacy cost model incorrectly assumes predication. https://invent.kde.org/qt/clang/llvm-project/-/commit/96d7cb506f1df1fb3e1f0fa3fa40610c62bc1d88 Git commit 8dc4bb72970097b5cb9013d67537f0647707b179 by GitHub (on behalf of Sunil Shrestha) on 28/07/2026 at 20:57.. [Flang][OpenMP] Fix interop-var handling and diagnostics (#203959) (#211693) This change builds on top of the work done in PR #203959 - Diagnose interop destroy without an interop variable - Lower array-element / derived-component interop-vars via their designator - Require interop-var to be a scalar integer of omp_interop_kind - Remove "hsa" prefer_type (no omp_ifr_hsa in the runtime) - Fix a latent bug in Parser/OpenMP/interop-construct.f90 https://invent.kde.org/qt/clang/llvm-project/-/commit/8dc4bb72970097b5cb9013d67537f0647707b179 Git commit 1cfa9292e38de7e66f5d6d1ef40eab1c8e02dca2 by GitHub (on behalf of Florian Hahn) on 28/07/2026 at 21:01.. [VPlan] Prepare replaceSymbolicStrides to handle plain CFG (NFC). (#212609) Update replaceSymbolicStrides to use general getPlainCFGHeaderAndLatch helper to make it more robust w.r.t. to pipeline changes. Also tighten check for phis to skip replacement if loop executes unconditionally. https://invent.kde.org/qt/clang/llvm-project/-/commit/1cfa9292e38de7e66f5d6d1ef40eab1c8e02dca2 Git commit c7c4ecea10bedd55d3ef8c8b9136f5d592d87c9e by GitHub (on behalf of Florian Hahn) on 28/07/2026 at 21:01.. [VPlan] Prepare replaceSymbolicStrides to handle plain CFG (NFC). (#212609) Update replaceSymbolicStrides to use general getPlainCFGHeaderAndLatch helper to make it more robust w.r.t. to pipeline changes. Also tighten check for phis to skip replacement if loop executes unconditionally. https://invent.kde.org/qt/clang/llvm-project/-/commit/c7c4ecea10bedd55d3ef8c8b9136f5d592d87c9e Git commit 74a90e28db0878a01583cd32de4269014c8ecb78 by GitHub (on behalf of dmaclach) on 28/07/2026 at 21:19.. [include-cleaner] Support ObjC interface and protocol declarations in LocateSymbol (#212617) Treats forward declarations of Objective-C interfaces (ObjCInterfaceDecl) and protocols (ObjCProtocolDecl) as incomplete, allowing the symbol locator to prefer their definitions. Also updates the unit tests to support Objective-C and adds test cases for these declarations. Also update the unit tests for forward declarations of enums and enum classes. https://invent.kde.org/qt/clang/llvm-project/-/commit/74a90e28db0878a01583cd32de4269014c8ecb78 Git commit 9b9dc9d501d9bff70208056439490f9987e2b38b by GitHub (on behalf of dmaclach) on 28/07/2026 at 21:23.. [include-cleaner]Support #import directives in HeaderIncludes (#212582) This change updates HeaderIncludes to recognize #import directives in addition to #include when parsing existing headers. It also fixes up an existing issue parsing include/import statements that may have contained tabs. https://invent.kde.org/qt/clang/llvm-project/-/commit/9b9dc9d501d9bff70208056439490f9987e2b38b Git commit 8adefe858549981181c4fae81d77277047696f2e by GitHub (on behalf of dmaclach) on 28/07/2026 at 21:23.. [include-cleaner] Cleanup Headers and Warnings (#212570) Add missing headers and get rid of warning about param name mismatch. https://invent.kde.org/qt/clang/llvm-project/-/commit/8adefe858549981181c4fae81d77277047696f2e Git commit d8fb9ea73bb68e3d86a3fb7fffd2e038449af2c2 by GitHub (on behalf of Razvan Lupusoru) on 28/07/2026 at 21:41.. [mlir][acc] Add pass to emit remarks for openacc data mapping (#212623) This pass emits MLIR remarks for all OpenACC data mapping actions. Intended to be used when all the data actions are committed (typically right before codegen to call runtime). https://invent.kde.org/qt/clang/llvm-project/-/commit/d8fb9ea73bb68e3d86a3fb7fffd2e038449af2c2 Git commit 575898b60d805e6a7259a5db0a2d0ee9913f6790 by GitHub (on behalf of satyanarayana reddy janga) on 28/07/2026 at 21:48.. [lldb][Minidump] Fix wrong variable in getModuleFileSize loop (#188363) Use next_sect_sp instead of sect_sp when getting the byte size inside the section-walking loop. Using the original sect_sp meant sect_size never changed between iterations, producing an incorrect SizeOfImage and risking an infinite loop when sections have different sizes. https://invent.kde.org/qt/clang/llvm-project/-/commit/575898b60d805e6a7259a5db0a2d0ee9913f6790 Git commit 0eee6132fcccedd0ac9be9e445f74c62af537fbe by GitHub (on behalf of Alexey Bataev) on 28/07/2026 at 21:54.. [SLP][NFC]Add extra test for operand reassociation, NFC Reviewers: Pull Request: https://github.com/llvm/llvm-project/pull/212631 https://invent.kde.org/qt/clang/llvm-project/-/commit/0eee6132fcccedd0ac9be9e445f74c62af537fbe Git commit 6da37b1d918fb99b0ba48337bb661ac54ccfa407 by Alexey Bataev on 28/07/2026 at 22:28.. Rebase, address comments, cleanups Created using spr 1.3.7 https://invent.kde.org/qt/clang/llvm-project/-/commit/6da37b1d918fb99b0ba48337bb661ac54ccfa407