[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/jtstogel/realpath/follow-symlinks'. Changed from 0000000000000000000000000000000000000000 to 091bc586dab0c655aeed973c220e7ed943bc9e8f 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 a67eac3e141e1044dd98524a010e719b42f51f5e by GitHub (on behalf of Anshil Gandhi) on 17/07/2026 at 17:13.. [NFC][AMDGPU] Cleanup in SOPInstructions.td (#210367) - Eliminate code which was accidentally merged during a merge-conflict (https://github.com/llvm/llvm-project/pull/203155/changes#r3560059941) - Remove comments as they are specific to usubsat. https://invent.kde.org/qt/clang/llvm-project/-/commit/a67eac3e141e1044dd98524a010e719b42f51f5e Git commit db1f902cd6a95c9b80136dfcbe8beb7a58290641 by GitHub (on behalf of Mishal Shah) on 17/07/2026 at 17:22.. Add macOS premerge check workflow (#207435) Added a premerge check workflow for macOS self-hosted runners to build and test projects. https://invent.kde.org/qt/clang/llvm-project/-/commit/db1f902cd6a95c9b80136dfcbe8beb7a58290641 Git commit f04bf4791ae6d56b822f9bca6eb82ce4adccb989 by GitHub (on behalf of Mikhail R. Gadelha) on 17/07/2026 at 17:23.. [libc][NFC] Port raw syscall users to existing syscall_wrappers (#208039) Several call sites still invoked syscall_impl directly (or carried their own SYS_* fallback ladders) for syscalls that already have a wrapper in src/__support/OSUtil/linux/syscall_wrappers. This PR removes these syscalls in favor of the syscall_wrappers. https://invent.kde.org/qt/clang/llvm-project/-/commit/f04bf4791ae6d56b822f9bca6eb82ce4adccb989 Git commit 246c752ef1b6098a7aa222f02ca09db76e17cabe by GitHub (on behalf of Jordan Rupprecht) on 17/07/2026 at 17:37.. [bazel][libc] Add layering deps (#210380) Not sure why CI didn't catch it, but c5837b469c6d6f35eb0822cd9ebd7c2aa7e2ab75 adds some targets that are broken when layering checks are enabled. https://invent.kde.org/qt/clang/llvm-project/-/commit/246c752ef1b6098a7aa222f02ca09db76e17cabe Git commit c42ce32264f94a8800f4250d7b716cca55f77df6 by GitHub (on behalf of Reid Kleckner) on 17/07/2026 at 17:48.. [docs] Rename misc rst docs to md (#210208) Tracking issue: #201242 See the [migration guide] for more information. [migration guide]: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines This is the initial straight rename commit. Many of these miscellaneous .rst files are not actually part of a real docs build, since docs/conf.py does not exist for many of them. https://invent.kde.org/qt/clang/llvm-project/-/commit/c42ce32264f94a8800f4250d7b716cca55f77df6 Git commit 9b096bb7abf7b57182ae8556451aa34dacd535ec by GitHub (on behalf of Jonas Devlieghere) on 17/07/2026 at 18:06.. [lldb] Add SBProtocolServer to start protocol servers programmatically (#209923) Starting a protocol server (such as MCP, and in the future potentially DAP) is only possible from the command line today, via `protocol-server start`. Add an SB API so an embedder can start one in its own process and learn where to connect. SBProtocolServer wraps ProtocolServer::GetOrCreate/Start/Stop and exposes the listening connection URI. This lets a tool host the engine's protocol server in-process and talk to it as a normal client, reusing the server's tools rather than reimplementing them. Assisted-by: Claude https://invent.kde.org/qt/clang/llvm-project/-/commit/9b096bb7abf7b57182ae8556451aa34dacd535ec Git commit 2b6e9d261433f5ec8c49502f91d63dd7d07346c3 by GitHub (on behalf of Artem Belevich) on 17/07/2026 at 18:12.. [NVPTX] Set default value of nvptx-allow-ftz-atomics to true (#206154) This is a follow-up to https://github.com/llvm/llvm-project/pull/200732. Setting the default value of nvptx-allow-ftz-atomics to true preserves the status quo. It allows the NVPTX backend to emit native floating-point atomic add instructions by default, rather than falling back to the CAS loop required for strict FTZ compliance. Correct FTZ handling forces a lot of existing code to emit CAS loops. This introduces thread divergence, breaking code that relies on atomic operations being non-divergent (for example, warp-wide atomic additions followed by a load of the reduced value without explicit synchronization). While FTZ-correct atomic behavior is desirable as a long-term default, introducing thread divergence into a common operation that previously "happened to work" without synchronization is highly disruptive. Defaulting to true makes the FTZ-correct behavior opt-in for now, allowing users time to audit and adapt their code. Test cases are updated to verify both enabled and disabled states of the option, alongside the new default behavior. https://invent.kde.org/qt/clang/llvm-project/-/commit/2b6e9d261433f5ec8c49502f91d63dd7d07346c3 Git commit 50c8f07e3eebf1ff5a1d9378d77aef5df9583293 by GitHub (on behalf of Endre Fülöp) on 17/07/2026 at 18:39.. [clang][analyzer] Fix assertion failure in StdLibraryFunctionsChecker with non-integral ssize_t (#209655) In StdLibraryFunctionsCheckers' `RangeConstraint::checkSpecificValidity` asserted that the constrained argument type is integral. When user code typedefs `ssize_t` to a non-integral type (e.g. `float`) even though this violates POSIX.1-2017, which requires `ssize_t` to be a signed integer type, the signature still matches (same canonical type) and the assertion fires during constraint validation. Remove it and let `validateByConstraints` gracefully reject the summary by returning false. Fixes #209436 https://invent.kde.org/qt/clang/llvm-project/-/commit/50c8f07e3eebf1ff5a1d9378d77aef5df9583293 Git commit 40c4fea67f49b841bd064624219efceab91b65e0 by GitHub (on behalf of Krisitan Erik Olsen) on 17/07/2026 at 18:44.. [SROA] Fix assertion failure when promoting self-referential load/store (#208826) When LoadAndStorePromoter::run processes a block where a store's value operand is defined by the load being promoted (a self-referential cycle in unreachable code), it sets StoredValue to the load instruction. When it then calls replaceAllUsesWith, the doRAUW assertion fires because the replacement value contains the value being replaced. The single-block promotion paths in promoteSingleBlockAlloca already guard against this with a check for ReplVal == LI, replacing with poison instead. This patch adds the same guard to the in-block load path in LoadAndStorePromoter::run, which was missing it. Substituting poison is correct here since this situation only arises in unreachable code. The regression was introduced in #135609, which added the propagateStoredValuesToLoads path in SROA that routes through LoadAndStorePromoter::run. LoadStoreRewriter handles aggregates and is unrelated to this path. Fixes #204799 https://invent.kde.org/qt/clang/llvm-project/-/commit/40c4fea67f49b841bd064624219efceab91b65e0 Git commit 714d124d0aaf3effa3e83d01783fe0ed2cd3eea9 by GitHub (on behalf of Hongyu Chen) on 17/07/2026 at 18:47.. Revert "[RISCV][P-ext][NFC] Add cross-project tests for packed zip/unzip intrinsics" (#210401) Reverts llvm/llvm-project#209575 https://invent.kde.org/qt/clang/llvm-project/-/commit/714d124d0aaf3effa3e83d01783fe0ed2cd3eea9 Git commit 93b1240309309d5c2f8f94527ff7c7bd5df359af by GitHub (on behalf of Reid Kleckner) on 17/07/2026 at 18:56.. [docs] Finish misc MyST migration (#210209) Tracking issue: #201242 See the [migration guide] for more information. [migration guide]: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines This is a stacked PR based on #210208, which is the standalone rename commit for this miscellaneous Markdown migration batch. This was prepared with rst2myst plus LLM-assisted cleanup. LLDB man pages are intentionally left as reStructuredText because LLDB man-page building should not take on Markdown parser dependencies. Unfortunately, many of these miscellaneous docs do not have working standalone doc build targets, so I was not able to render HTML for all of them. I think the scope is small enough that this is reviewable by hand. https://invent.kde.org/qt/clang/llvm-project/-/commit/93b1240309309d5c2f8f94527ff7c7bd5df359af Git commit 91bb8f4ee8452d3e2bda7544556fa66dba462414 by GitHub (on behalf of Ramkumar Ramachandra) on 17/07/2026 at 19:07.. [VPlan] Introduce vputils::doesGeneratePerAllLanes (#199047) Introduce a query for recipes that produce scalar values for all VF lanes, returning true for non-single-scalar replicates, non-first-lane SIVSteps, and a couple of VPInstructions. https://invent.kde.org/qt/clang/llvm-project/-/commit/91bb8f4ee8452d3e2bda7544556fa66dba462414 Git commit 93bce300db95e4fbb82b1a6ef69fe125c71b77f3 by GitHub (on behalf of Ayokunle Amodu) on 17/07/2026 at 19:09.. [CIR][AMDGPU] Add support for AMDGCN log builtins (#198032) Adds codegen support for the following AMDGCN log builtins: - __builtin_amdgcn_logf (float) - __builtin_amdgcn_log_bf16 (bfloat16) These are lowered to the corresponding `llvm.amdgcn.log` intrinsic. https://invent.kde.org/qt/clang/llvm-project/-/commit/93bce300db95e4fbb82b1a6ef69fe125c71b77f3 Git commit 3e55f3c56e8706fa12792b5a4de05f636bf798d0 by GitHub (on behalf of Jackson Stogel) on 17/07/2026 at 19:12.. [libc][realpath][test] Create test files/directories (#209369) Follow-up PRs will add path validation etc to `realpath`, which will require paths to exist in the filesystem. This PR bumps the memory limit in `HermeticTestUtils.cpp`. The realpath unit tests allocate quite a few strings, and since memory in hermetic tests is never freed, the unit test quickly reaches the limit. https://invent.kde.org/qt/clang/llvm-project/-/commit/3e55f3c56e8706fa12792b5a4de05f636bf798d0 Git commit 4070621c866fb4156f7c7d15039d12a4295f46c2 by GitHub (on behalf of Slava Zakharin) on 17/07/2026 at 19:13.. [flang][OpenACC] Discover type descriptors referenced by fir.create_box (#210393) Register the IndirectGlobalAccess interface for fir.create_box so acc-implicit-declare finds the derived-type type-descriptor global a create_box of a record array needs on the device, as it already does for fir.embox and fir.rebox. Assisted-by: Cursor https://invent.kde.org/qt/clang/llvm-project/-/commit/4070621c866fb4156f7c7d15039d12a4295f46c2 Git commit 5c719eeb715632b1afef6508bd6c5ac09369fc91 by GitHub (on behalf of Amr Hesham) on 17/07/2026 at 19:31.. [CIR] Implement support for builtin FMA (#210365) Implement support for the _builtin_fma https://invent.kde.org/qt/clang/llvm-project/-/commit/5c719eeb715632b1afef6508bd6c5ac09369fc91 Git commit 95cc83d45b1b8e4a560efb729bd7e1e16f0b8703 by GitHub (on behalf of Reid Kleckner) on 17/07/2026 at 19:39.. [docs] Rename AdminTasks to markdown to preserve history (#210415) Tracking issue: #201242 Migrating this before I make changes to it. A follow-up PR will do the migration. https://invent.kde.org/qt/clang/llvm-project/-/commit/95cc83d45b1b8e4a560efb729bd7e1e16f0b8703 Git commit fb0547315ecf3f09fb6fc9122e40ff096a643eaa by GitHub (on behalf of Reid Kleckner) on 17/07/2026 at 19:44.. [docs] Rewrite AdminTasks.md as markdown (#210416) Tracking issue: #201242 This is a stacked PR based on #210415 , which does a rename for history preservation purposes. See the [migration guide] for more information. [migration guide]: https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines This was prepared with rst2myst. https://invent.kde.org/qt/clang/llvm-project/-/commit/fb0547315ecf3f09fb6fc9122e40ff096a643eaa Git commit d982e0499b7f780279c435403b8249d7c3812cae by GitHub (on behalf of Diego Novillo) on 17/07/2026 at 19:56.. [HLSL] Enable frontend IR generation for SPIR-V in TypedBuffers-constructor.hlsl (#207421) I found a stale `FIXME` marker while poking at SPIR-V resource lowering. The test stated that SPIR-V codegen of `llvm.spv.resource.handlefrombinding` and resource types was not implemented. That codegen now exists in `CommonSPIRTargetCodeGenInfo::getHLSLType`. This change enables the test on SPIR-V and splits the tests to distinguish DXIL and SPIRV expected IR patterns. https://invent.kde.org/qt/clang/llvm-project/-/commit/d982e0499b7f780279c435403b8249d7c3812cae Git commit 9bae0aab8098f99dff47578546eb5bd382f919d0 by GitHub (on behalf of LU-JOHN) on 17/07/2026 at 20:17.. [AMDGPU] Remove unnecessary and broken sign/zero extension in fastdiv (#210348) Remove unnecessary and broken sign/zero-extension when using float-point reciprocal to implement division/remainder. This change is analogous to the change done in https://github.com/llvm/llvm-project/pull/203436 but in AMDGPUISelLowering.cpp. Signed-off-by: John Lu <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/9bae0aab8098f99dff47578546eb5bd382f919d0 Git commit dc3b1ed3ccd10995b26fa5278cb80c45419f9457 by GitHub (on behalf of Matt Arsenault) on 17/07/2026 at 20:21.. TableGen: Deterministically order predicate groups by calling convention (#210409) https://invent.kde.org/qt/clang/llvm-project/-/commit/dc3b1ed3ccd10995b26fa5278cb80c45419f9457 Git commit 6ff0ebea015e3ed984dfff941e7d8a48e4810784 by GitHub (on behalf of Jonas Devlieghere) on 17/07/2026 at 20:25.. [lldb] Collect the executable, symbol file, and core in diagnostics (#210391) The diagnostics bundle already gathers logs, statistics, and a snapshot of the first triage commands, but sometimes the binaries are required to reproduce an issue. Collect the main executable, its symbol file, and the core file into the bundle. Gate this on a new global setting, diagnostics.collect-binaries, which defaults to false: these files can be large and privacy sensitive, so including them is opt-in. Assisted-by: Claude https://invent.kde.org/qt/clang/llvm-project/-/commit/6ff0ebea015e3ed984dfff941e7d8a48e4810784 Git commit 977eced054d9de031423dee9493addd4e1fd5eaf by GitHub (on behalf of Jonas Devlieghere) on 17/07/2026 at 20:25.. [lldb] Truncate an over-wide symbol address in the IR interpreter (#210372) IRInterpreter::ResolveConstantValue built a pointer-width APInt directly from the address returned by FindSymbol. That address can be wider than a target pointer, because lldb records extra information in the high bits on some targets, such as the code/memory address-space tag on WebAssembly. A 32-bit pointer then cannot hold the tagged address and the APInt constructor asserts, aborting the debugger when a function-valued expression is evaluated (for example `expr main`). Truncate to the pointer width instead of asserting, matching the idiom already used in DWARFExpression. On targets whose addresses fit in a pointer this is a no-op. https://invent.kde.org/qt/clang/llvm-project/-/commit/977eced054d9de031423dee9493addd4e1fd5eaf Git commit 4e0dbfe489dcc0b057303047608cd2a909602a14 by GitHub (on behalf of Aleksandr Popov) on 17/07/2026 at 20:35.. [SCEV][NFC] Precommit test for MatchRangeCheckIdiom tightening (#210386) https://invent.kde.org/qt/clang/llvm-project/-/commit/4e0dbfe489dcc0b057303047608cd2a909602a14 Git commit 0e3852f73ab75639b76bad2c8a735d46241768f3 by GitHub (on behalf of Patryk Stefanski) on 17/07/2026 at 20:39.. [clang][sema] Fix crash on decomposition decl missing initializer (#210151) ActOnUninitializedDecl dereferenced the std::optional<Token> from Lexer::findNextToken() unconditionally when diagnosing a structured binding with no initializer. Guard the optional and fall back to the declaration's location. https://invent.kde.org/qt/clang/llvm-project/-/commit/0e3852f73ab75639b76bad2c8a735d46241768f3 Git commit 82134c708f7ec224d86e2096d9b53c76640a490f by GitHub (on behalf of Akshay K) on 17/07/2026 at 20:51.. [CIR] Terminate conditional regions after creation; fix glvalue conditional with a throw arm (#210384) Follow-up to #208850: @andykaylor's comments about `CIRGenFunction::emitConditionalBlocks` also have a similar insertion-point problem. The PR addresses the two related problems found while looking into the conditional branch emission path: **1. Terminate conditional regions after creation instead of patching yields** `CIRGenFunction::emitConditionalBlocks` still had the save-and-patch insertion-point machinery removed from the scalar path in #208850. The path is unreachable, and its guard is saved only after `cir.unreachable`, where a patched yield would generate the dead code. The machinery is removed; regions are closed with `terminateStructuredRegionBody` after creation. The aggregate emitter had the reverse problem: an unconditional cir.yield after each arm lands in the dead block a throw leaves behind and keeps it in the final CIR: ``` struct test_s { int x; int y; }; void test_throw(bool flag) { test_s a = flag ? throw 0 : test_s{1, 2}; } mlir cir.if %2 { ... cir.throw %3 : !cir.ptr<!s32i>, @_ZTIi cir.unreachable ^bb1: // no predecessors <-- dead block kept alive by the yield cir.yield } else { ... } ``` The explicit yields are removed; `emitIfOnBoolExpr` already terminates each region, adding a yield only where one is missing. Tests pin the dead block's absence with CIR-NEXT after `cir.unreachable`. **2. Fix glvalue conditionals with a throw arm using a region-local pointer** ``` int &ref_cond(bool c, int &x) { return c ? x : throw 0; } // error: operand #0 does not dominate this use // fatal error: CIR module verification error ``` With one arm throwing, `emitConditionalOperatorLValue` returned the surviving arm's LValue directly, valid in OG CodeGen's flat CFG, invalid in CIR where the pointer is materialized inside the ternary's region: ``` %4 = cir.ternary(%3, true { %8 = cir.load %1 ... // pointer loaded inside the region cir.yield %8 : !cir.ptr<!s32i> }, false { ... cir.unreachable }) cir.store %8, %2 ... // region-local %8 used outside the region ``` Existing tests missed it because a local's pointer is a function-entry `alloca`, so dominance held by accident. The fix addresses the result through the ternary's result value, which the yield carries out. New tests cover a reference parameter, assignment via the conditional, and member access, all of which previously failed verification. Assisted-by: Cursor/Codex https://invent.kde.org/qt/clang/llvm-project/-/commit/82134c708f7ec224d86e2096d9b53c76640a490f Git commit ea863cb2dec8e0f040dfe22a52d3b537e4a25c29 by GitHub (on behalf of Arthur Eubanks) on 17/07/2026 at 20:54.. [DAGCombiner] Fix APInt truncation assertion (#209914) getConstant() would create an APInt with ImplicitTrunc = false, but the constant here can really be anything. Fixes #209884. https://invent.kde.org/qt/clang/llvm-project/-/commit/ea863cb2dec8e0f040dfe22a52d3b537e4a25c29 Git commit 1e37b629fbd06d922ac1216cf20114ea4ce1c88d by GitHub (on behalf of Aiden Grossman) on 17/07/2026 at 20:55.. [lit] Delete the external shell (#209571) This was deprecated in LLVM 23 and slated for removal in LLVM 24. Now that we have branched and everything has been updated to not set execute_external, we can remove it. https://invent.kde.org/qt/clang/llvm-project/-/commit/1e37b629fbd06d922ac1216cf20114ea4ce1c88d Git commit 466503dcf2ae2e43126c1a6d8a5b204883d5b0c1 by GitHub (on behalf of Logan) on 17/07/2026 at 21:07.. X86: Add pattern for optimized BLSIC IR form (#209814) Add DAG pattern to recognize the optimized IR form of BLSIC: (xor (and x, -x), -1) Fixes #209718 - matches the IR form produced after InstCombine optimizations Added tests for both 32-bit and 64-bit BLSIC patterns Assisted by: Claude Code, helped me understand pattern-matching/intrinsics, and some file structure. As well as how testing for LLVM works. https://invent.kde.org/qt/clang/llvm-project/-/commit/466503dcf2ae2e43126c1a6d8a5b204883d5b0c1 Git commit f97dcd05eb4be690dcfd39de9f6de937d5acfa46 by GitHub (on behalf of stephenduong1004) on 17/07/2026 at 21:11.. [llvm-libtool-darwin] Ensure filelist buffer is null-terminated (#205115) [llvm-libtool-darwin] Ensure filelist buffer is null-terminated In llvm-libtool-darwin.cpp, `MemoryBuffer::getFileOrSTDIN` was previously called to load the filelist with `RequiresNullTerminator` set to `false`. However, the retrieved buffer is subsequently passed to `llvm::line_iterator`. Since `llvm::line_iterator` explicitly requires its underlying buffer to be null-terminated, omitting this requirement can result in an out-of-bounds read/buffer overrun when parsing the file list. This change fixes the issue by requesting a null-terminated buffer (`RequiresNullTerminator=true`). Co-authored-by: Alexander Shaposhnikov <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/f97dcd05eb4be690dcfd39de9f6de937d5acfa46 Git commit 986cdd8618e3e105bde1d52e7d8888325a7c87b1 by GitHub (on behalf of Florian Hahn) on 17/07/2026 at 21:12.. [VPlan] Move EVL-based transforms to VPlanEVLTransforms.cpp (NFC) (#209883) VPlanTransforms.cpp has become quite big and is one of the top 20 most expensive files in terms of compile-time. https://llvm-compile-time-tracker.com/compare_clang.php?from=b8ba3c2b72cb53268129bbecfeb4ba7ec5b8d831&to=96a722a0ace661626d071166635728def97f6820&stat=instructions%3Au Split off the mostly self-contained EVL related transforms and move them to a new VPlanEVLTransforms.cpp. This moves simplifyKnownEVL, optimizeEVLMasks, addExplicitVectorLength, convertToVariableLengthStep and convertEVLExitCond together with their EVL-specific static helpers. Shared helpers used by the moved code (isDeadRecipe, collectUsersRecursively, recursivelyDeleteDeadRecipes, getOpcodeOrIntrinsicID and tryToFoldLiveIns, pullOutPermutations) are promoted to vputils. PR: https://github.com/llvm/llvm-project/pull/209883 https://invent.kde.org/qt/clang/llvm-project/-/commit/986cdd8618e3e105bde1d52e7d8888325a7c87b1 Git commit a12cbbcc94a80f54714aaa253f8838fcc9ab4aae by GitHub (on behalf of Jan Korous) on 17/07/2026 at 21:14.. [SSAF] Add EntitySourceLocationExtractor (#210201) Walks every entity-producing decl in the TU and emits SourceLocationRecord(s) per entity-kind anchor: * Identifier-bearing decls (FunctionDecl/VarDecl/FieldDecl/ RecordDecl): Decl::getLocation(). * Synthetic function return-slot entity: FD->getReturnTypeSourceRange().getBegin(). * ParmVarDecl (named or unnamed): P->getTypeSpecStartLoc(). Skips compiler-synthesized implicits and builtins via the getEntityName gate, system-header decls via SourceManager, and silently drops records whose location is invalid or whose file path cannot be canonicalized via real_path. Assisted-By: Claude Opus 4.7 https://invent.kde.org/qt/clang/llvm-project/-/commit/a12cbbcc94a80f54714aaa253f8838fcc9ab4aae Git commit 284c1a166af4c7deab55c7de2ee1bd480d44e9ff by GitHub (on behalf of David Mentler) on 17/07/2026 at 21:17.. [LLDB] Enable SBTypeSynthetic manipulation for SBValue instances (#209056) Allow manipulating the scripted synthetic children frontend selection process for individual `SBValue` instances. The motivating use-case is supporting custom data structures, type erasure systems, and facilitating debugging handle based C APIs. Below is an example of such a use-case of an anonymized 3rd party C library: ```C using ErrorCode = int; using Handle = void*; using FooHandle = Handle; using BarHandle = Handle; struct ArrayOfHandles { int size; Handle* data; }; struct AllHandles { ArrayOfHandles foos; ArrayOfHandles bars; }; ErrorCode GetAllHandles(AllHandles* into); ``` The current LLDB feature-set allows attaching a synthetic children provider to `AllHandles`, but the scripted frontend has no chance to select an appropriate alternative frontend implementation class for `foos` and `bars` based on type information it is aware of. https://invent.kde.org/qt/clang/llvm-project/-/commit/284c1a166af4c7deab55c7de2ee1bd480d44e9ff Git commit 9eb2dc0930ac75494e71b16739c859fe338a3f0f by GitHub (on behalf of Aiden Grossman) on 17/07/2026 at 21:18.. Revert "[lit] Delete the external shell" (#210433) Reverts llvm/llvm-project#209571 Breaks some buildbots: 1. https://lab.llvm.org/buildbot/#/builders/232/builds/3690/steps/11/logs/stdio 2. https://lab.llvm.org/buildbot/#/builders/222/builds/11180 https://invent.kde.org/qt/clang/llvm-project/-/commit/9eb2dc0930ac75494e71b16739c859fe338a3f0f Git commit 965fa410dad7294cc1c1a9632ff94558de6dfa40 by GitHub (on behalf of Sharjeel Khan) on 17/07/2026 at 21:19.. [LFI][AArch64] Fix Segfault due to infinite recursion in LFI rewriter (#210267) When emitting a deferred LR guard, if debug info is enabled, the emission of the guard instruction can trigger temporary labels (e.g. for DWARF line entries), which recursively calls onLabel. Since DeferredLRGuard was only set to false after emission, the nested call would re-emit the guard, causing infinite recursion which leads to a SegFault due to stack overflow. This was detected compiling ubsan_minimal_handlers.cpp in compiler-rt. I fixed it by using the existing recursion guard (Guard). https://invent.kde.org/qt/clang/llvm-project/-/commit/965fa410dad7294cc1c1a9632ff94558de6dfa40 Git commit 2120490a54645f9a4390605adec5509243641d29 by GitHub (on behalf of Jonas Devlieghere) on 17/07/2026 at 21:19.. [lldb] Add an artifact provider mechanism to Diagnostics (#210417) Add a hook that lets a subsystem contribute a file to the diagnostics bundle, without breaking layering and making Core depend on it. A plugin registers an ArtifactProvider callback and a file name via AddArtifactProvider. Providers run when a bundle is collected, and each one that yields content is written into the bundle and recorded in the report's attachments. This restores, in a simpler form, the collection point that the removed Diagnostics callback mechanism offered. The motivating consumer is the downstream Swift health check, which registers a provider to write its "swift-healthcheck.log" into the bundle. Unlike the old callback, a provider does not open or write its own file: it just returns the contents as a string and Diagnostics handles the rest. https://invent.kde.org/qt/clang/llvm-project/-/commit/2120490a54645f9a4390605adec5509243641d29 Git commit d592aa5a10f44164cd403257270802eb2a4b123a by GitHub (on behalf of Tony Guillot) on 17/07/2026 at 21:23.. [Clang] Fixed auto parsing regression with brace initialization (#210347) The PR #208552 has introduced a regression where brace initialization was not taken into account `auto foo{12}`. It was also breaking `dcl.type.general` p2 rules, which is also now tested. https://invent.kde.org/qt/clang/llvm-project/-/commit/d592aa5a10f44164cd403257270802eb2a4b123a Git commit 32221d9ff8f4772972193ebf7b8ba4974cd8458f by GitHub (on behalf of David Green) on 17/07/2026 at 21:26.. [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. https://invent.kde.org/qt/clang/llvm-project/-/commit/32221d9ff8f4772972193ebf7b8ba4974cd8458f Git commit b4a444ad635af70fe32f58d46fe0c08221fbcf5a by GitHub (on behalf of Jackson Stogel) on 17/07/2026 at 21:51.. [libc][realpath] Support relative paths (#209374) Updates realpath to call the `getcwd` linux syscall wrapper to resolve cwd-relative queries. https://invent.kde.org/qt/clang/llvm-project/-/commit/b4a444ad635af70fe32f58d46fe0c08221fbcf5a Git commit 850d1fde46d1363e1fa0e16665239edfe2d1b9e3 by jtstogel on 17/07/2026 at 21:54.. [libc][realpath] Validate path components. This PR updates `realpath` to validate paths and return `ENOTDIR` or `ENOENT` according to https://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html. This PR also bumps the memory limit in `HermeticTestUtils.cpp`. The realpath unit tests allocate quite a few strings. Since memory in hermetic tests is never free'd, the unit test quickly reaches the limit. https://invent.kde.org/qt/clang/llvm-project/-/commit/850d1fde46d1363e1fa0e16665239edfe2d1b9e3 Git commit 091bc586dab0c655aeed973c220e7ed943bc9e8f by jtstogel on 17/07/2026 at 21:55.. [libc][realpath] Follow symlinks https://invent.kde.org/qt/clang/llvm-project/-/commit/091bc586dab0c655aeed973c220e7ed943bc9e8f