[qt/clang/llvm]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]>
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm
Pushed by mirror-service into branch 'upstream/users/jeanPerier/merge_memory_passes_1'.
Changed from e9a17d03184d4389987a55e3eb6a306b71c74918 to 3859e7842073efecb4c3e38b1457b23d3d133e40
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 1333e0a05d822b96e76d9edf55f1af66e2cbb0b3 by GitHub (on behalf of Nikolas Klauser) on 27/07/2026 at 11:21..
[libc++] Remove locale::id::__next_id from the ABI (#210360)

`__next_id` is only ever used inside the dylib, so we can avoid making it public.
https://invent.kde.org/qt/clang/llvm/-/commit/1333e0a05d822b96e76d9edf55f1af66e2cbb0b3

Git commit e10674378de70647d666499c6fd7f11a7ee03f6e by GitHub (on behalf of Tim Besard) on 27/07/2026 at 11:22..
[SPIR-V] Fix direct return of aggregate extractvalue (#209762)

SPIRVPrepareFunctions rewrites aggregate function returns to i32 value
IDs, but an aggregate extractvalue used directly by ret kept its
original type, leaving invalid IR for the verifier. Mutate the lowered
spv_extractv result when it feeds a rewritten return so the LLVM type
matches while the registry preserves the aggregate SPIR-V type.

Closes https://github.com/llvm/llvm-project/issues/208899.
Replaces https://github.com/llvm/llvm-project/pull/209027 (that PR seems
spam? although the diagnosis was largely correct)

Co-authored-by: Claude Fable 5 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/e10674378de70647d666499c6fd7f11a7ee03f6e

Git commit 187d096d44bfabc0a392d0abf1d87123e67f5efb by GitHub (on behalf of Hardik Kumar) on 27/07/2026 at 11:28..
[clang] Fix the StringRef assertion failure for non-narrow strings. (#212108)

StringRef assertion fires up when passing wide literals to
`__builtin_nanf()`.

The patch updates the `TryEvaluateBuiltinNan` method to reject
non-narrow string literals preventing the downstream assertion failure
caused by `getString()` in cases where the user might pass a non-narrow
/ non 1 byte literal."

Fix #205306
https://invent.kde.org/qt/clang/llvm/-/commit/187d096d44bfabc0a392d0abf1d87123e67f5efb

Git commit c84136af3d15893fe3f2bc608280ccaa71e18db1 by GitHub (on behalf of William Tran-Viet) on 27/07/2026 at 11:32..
[libc++] Inline `text_encoding` alias offset table std::count to 884 (#207471)

- Add count test to verify the exact number of aliases our table
contains
- Should reduce compile time cost of gathering that count
https://invent.kde.org/qt/clang/llvm/-/commit/c84136af3d15893fe3f2bc608280ccaa71e18db1

Git commit 42b4ee6383e340c4c3ab4cfddd17f864ab331e0d by GitHub (on behalf of Konrad Kleine) on 27/07/2026 at 11:42..
docs: Adjust HowToReleaseLLVM to include man page signing (#210092)

This adds documentation on how to sign man pages.
https://invent.kde.org/qt/clang/llvm/-/commit/42b4ee6383e340c4c3ab4cfddd17f864ab331e0d

Git commit f92e977a8e76a0e40e3af255f13c30b6710fd871 by GitHub (on behalf of Chibuoyim (Wilson) Ogbonna) on 27/07/2026 at 12:02..
[MLIR][Linalg] Fix crash on duplicate dimensions in linalg.broadcast (#211203)

per
[#210738](https://github.com/llvm/llvm-project/pull/210738#discussion_r3622744153)

Currently, the following crashes on verification with a segfault:
```
func.func @broadcast_rank0_tensor(%arg0: tensor<i32>, %arg1: tensor<32x2xi32>) -> tensor<32x2xi32> {
  %0 = linalg.broadcast ins(%arg0 : tensor<i32>) outs(%arg1 : tensor<32x2xi32>) dimensions = [0, 0]
  return %0 : tensor<32x2xi32>
}
```

The verifier should reject cases like this where we have a duplicate
dimension. I've also added a couple of tests covering `linalg.broadcast`
on various input scenarios to confirm they are being handled properly.
https://invent.kde.org/qt/clang/llvm/-/commit/f92e977a8e76a0e40e3af255f13c30b6710fd871

Git commit 08c7b4203815b3502c04ecb9cd8b6dae21fc5661 by GitHub (on behalf of Łukasz Plewa) on 27/07/2026 at 12:08..
[offload] update llvm-gpu-loader the new liboffload allocation API (#212225)

PR #209196 split host memory allocations into a dedicated API. Update
llvm-gpu-loader to use the new host allocation function introduced by
that change.
https://invent.kde.org/qt/clang/llvm/-/commit/08c7b4203815b3502c04ecb9cd8b6dae21fc5661

Git commit dcfadf69caf127b021c3f7de0c8abc0e45bb3b64 by GitHub (on behalf of Lang Hames) on 27/07/2026 at 12:12..
[orc-rt] Make ThreadPoolRunner a generic task runner. (#212229)

Commit 01683dbe7e207 generalized the Session's dispatch mechanism to
hand each runner an opaque Task (move_only_function<void()>), and
simplified QueueingRunner accordingly, but failed to update
ThreadPoolRunner.

Update ThreadPoolRunner to conform to Session's dispatch requirements
and update its unit test to dispatch plain tasks rather than
wrapper-function calls.
https://invent.kde.org/qt/clang/llvm/-/commit/dcfadf69caf127b021c3f7de0c8abc0e45bb3b64

Git commit 2f60c93e01321a0434f8a3ad4f88afed9f35a583 by GitHub (on behalf of Łukasz Plewa) on 27/07/2026 at 12:14..
[SYCL] Update SYCL to use the new liboffload allocation API (#212223)

PR #209196 split host memory allocations into a dedicated API. Update
SYCL to use the new host allocation function introduced by that change.
https://invent.kde.org/qt/clang/llvm/-/commit/2f60c93e01321a0434f8a3ad4f88afed9f35a583

Git commit a48aefd6ea9404916b0efa53942cbeae2d9781ff by GitHub (on behalf of Arseniy Obolenskiy) on 27/07/2026 at 12:21..
[SPIR-V] Guard against infinite loop in decorateUsesAsNonUniform (#208224)

Add a visited set so an SSA cycle through a loop-carried phi does not
hang the worklist walk
https://invent.kde.org/qt/clang/llvm/-/commit/a48aefd6ea9404916b0efa53942cbeae2d9781ff

Git commit d7acf8cb4c00560d7f31eabd869a0a8d8fc7e313 by GitHub (on behalf of Lukas Sommer) on 27/07/2026 at 12:24..
[InlineSpiller] Avoid spill hoisting interference (#211809)

When hoisting spills and the source is a PHI, the "hoisted" spill may be
inserted only after the basic block prologue. This may require extending
this segment of the source value's live interval.

Abort the hoisting if this extension of the segment would interfere with
another live interval assigned to the same physical register.

Signed-off-by: Lukas Sommer <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/d7acf8cb4c00560d7f31eabd869a0a8d8fc7e313

Git commit 225e988b3d9e3bd05a0a79e071f07d22f1f1e0ad by GitHub (on behalf of Romanov Vlad) on 27/07/2026 at 12:29..
[AMDGPU] Add per-class register stress options (#210907)

Add options -amdgpu-stress-vgpr=N, -amdgpu-stress-agpr=N, and
-amdgpu-stress-sgpr=N to limit each register class independently by
reserving registers beyond N.
https://invent.kde.org/qt/clang/llvm/-/commit/225e988b3d9e3bd05a0a79e071f07d22f1f1e0ad

Git commit 3ca666f496681600f5528f4346c0303dd1171230 by GitHub (on behalf of Jonas Paulsson) on 27/07/2026 at 12:31..
[SystemZ] Improve handling of memmoves. (#196285)

Handle memmoves of constant lengths up to 256 bytes with target
instructions instead of libcall.
https://invent.kde.org/qt/clang/llvm/-/commit/3ca666f496681600f5528f4346c0303dd1171230

Git commit aa50eb69d6eba1bcdfe6d3a15f0b9b8e278e828b by GitHub (on behalf of Vladislav Dzhidzhoev) on 27/07/2026 at 12:50..
[DebugInfo][DwarfDebug] Move emission of types from beginModule() to endModule() (7/7) (#211536)

RFC
https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544

This patch proposes to move the emission of types and type-like entities
from `DwarfDebug::beginModule()` to `DwarfDebug::endModule()`.
Effectively, this changes nothing but the order of debug entities in the
resulting DWARF.

This is needed to simplify DWARF emission in a context of proper support
of function-local types, making all the types handled in a single place,
together with other global and local entities.

This change has already been reviewed and approved in
https://reviews.llvm.org/D144008, but I’m opening a new PR for
visibility.

Co-authored-by: Kristina Bessonova <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/aa50eb69d6eba1bcdfe6d3a15f0b9b8e278e828b

Git commit 0695ea8d442c3271634892a7bec78b3b3a4368b9 by GitHub (on behalf of Kevin Bravo) on 27/07/2026 at 12:53..
[TableGen] Check for EOF in prepSkipRegion to avoid preprocessor crash. (#208961)

Part of #151476 

prepSkipRegion currently scans a line until it finds a newline before
advancing to the next line. It crashes if it finds an EOF first. This
change checks for EOF to prevent a segmentation fault.
https://invent.kde.org/qt/clang/llvm/-/commit/0695ea8d442c3271634892a7bec78b3b3a4368b9

Git commit 6bb73fd3e418d1bade9050776ddb6a8f84a8bfb3 by GitHub (on behalf of Lang Hames) on 27/07/2026 at 12:55..
[orc-rt] Fix maybe_unused attribute. (#212237)
https://invent.kde.org/qt/clang/llvm/-/commit/6bb73fd3e418d1bade9050776ddb6a8f84a8bfb3

Git commit 98d41d2f75395ab1f91198f2493cff62a33b80c1 by GitHub (on behalf of Nerixyz) on 27/07/2026 at 12:58..
[lldb][Windows] Disable debug heap by default (#212126)

This disables Windows' default debug heap when launching a process.

The motivation is similar to what Microsoft wrote on their [blog post
for Visual Studio
2015](https://devblogs.microsoft.com/cppblog/c-debugging-improvements-in-visual-studio-14/)
where they disabled it: The debug heap comes with a performance cost and
the [C runtime already does some heap
checking](https://learn.microsoft.com/en-us/cpp/c-runtime-library/crt-debug-heap-details?view=msvc-170).

Towards #201690. Notably, lldb-dap won't set this when launching in a
terminal. I think we'd want an option similar to `disableASLR` for
lldb-dap.
https://invent.kde.org/qt/clang/llvm/-/commit/98d41d2f75395ab1f91198f2493cff62a33b80c1

Git commit 456e73ff83e0ea352509d9fb687660bd3c2eb390 by GitHub (on behalf of Yingwei Zheng) on 27/07/2026 at 13:03..
[SimplifyCFG] Fix DomTree update in `simplifySwitchWhenUMin` (#212008)

In the test `switch_remove_dead_cases`, both case 4 and case 5 jump into
bb `%case_ret`. Thus, the edge will be removed twice, triggering an
assertion failure. This patch only removes the edge in DT when we remove
the last edge to `DeadCaseBB`.
https://invent.kde.org/qt/clang/llvm/-/commit/456e73ff83e0ea352509d9fb687660bd3c2eb390

Git commit e2b23dbda6551c81377ae712749c58c27eefb857 by GitHub (on behalf of David Green) on 27/07/2026 at 13:20..
[AArch64] Test all cost kinds in clmul tests. NFC (#212246)
https://invent.kde.org/qt/clang/llvm/-/commit/e2b23dbda6551c81377ae712749c58c27eefb857

Git commit b10d4473a01e77ef0c973d29610ebc81c5a20c1a by GitHub (on behalf of Arseniy Obolenskiy) on 27/07/2026 at 13:20..
[SPIR-V] Fix vloada_halfn builtin number (#212218)

vloada_halfn was incorrectly mapped to vload_half builtin number (174)
instead of its own (179), causing it to demangle to the wrong OpenCL
builtin
https://invent.kde.org/qt/clang/llvm/-/commit/b10d4473a01e77ef0c973d29610ebc81c5a20c1a

Git commit c18296f5db60be977366a42f044a623b557f5dd2 by GitHub (on behalf of Matt Arsenault) on 27/07/2026 at 13:21..
DAG: Canonicalize undef shuffle operands and results to poison (#212102)
https://invent.kde.org/qt/clang/llvm/-/commit/c18296f5db60be977366a42f044a623b557f5dd2

Git commit 8c835ee87def288eca2587293499008dce54c4e7 by GitHub (on behalf of Timur Golubovich) on 27/07/2026 at 13:25..
[VectorCombine] Align shrinkLoadForShuffles to register boundaries (#209775)

Round up the shrunk load element count to the next full vector register
boundary to avoid scalar remainders that prevent shuffle lowering.

For example, on X86 AVX-512 a <16 x double> load with shuffle indices
1-8 was shrunk to <9 x double>. This legalizes to v8f64 + scalar f64,
and the scalar operand in BUILD_VECTOR prevents DAGCombiner from folding
it into a VECTOR_SHUFFLE, producing ~15 instructions instead of 2
(VMOVDQA64 + VALIGNQ).
https://invent.kde.org/qt/clang/llvm/-/commit/8c835ee87def288eca2587293499008dce54c4e7

Git commit bd9e922d448ce6a492b1b323c359b7c8a4030ad9 by GitHub (on behalf of Simon Tatham) on 27/07/2026 at 13:31..
[libc][AArch64] Avoid -Wshadow warnings about uint128_t etc (#212227)

`aarch64/inline_memset.h` defines type aliases `uint128_t`, `uint256_t`
and `uint512_t` at file scope. `aarch64/inline_memmove.h`, alongside it,
defines the same aliases at function scope. If both headers are included
by the same source file, this can lead to a warning about the
function-scope aliases shadowing the file-scope ones, which turns into a
compile error if you build with `clang -Werror -Wshadow`.

Commit a81db64570f94c2 (PR #210895) exposed this latent compile failure,
by making `CPP/string.h` include both files. But there's nothing wrong
with that, so the right fix is to make it _safe_ to include both files,
not to stop doing it.

This commit moves the function-scope aliases in memmove up to file
scope. That makes them duplicate definitions in the _same_ scope, which
doesn't cause the same error.

Other options would be to move the memset aliases down into function
scope (duplicating them in two functions), or to move them into a tiny
AArch64-specific header file with an include guard. Both of those are
more intrusive than this fix.
https://invent.kde.org/qt/clang/llvm/-/commit/bd9e922d448ce6a492b1b323c359b7c8a4030ad9

Git commit acf113c195682ec3eceafd9a0023f1e8401e71c9 by GitHub (on behalf of Charles Zablit) on 27/07/2026 at 13:34..
[lldb][Windows] Preserve breakpoint locations across process exit (#212219)

`ProcessWindows::OnExitProcess` unloads the executable module with
`delete_locations=true`, which deletes the target's breakpoint locations
when the debuggee exits. Other platforms keep them, so inspecting a
breakpoint after the process died returns no location on Windows.

Pass `delete_locations=false` to match the other platforms.
https://invent.kde.org/qt/clang/llvm/-/commit/acf113c195682ec3eceafd9a0023f1e8401e71c9

Git commit 0a75f1f77fe54e9e366e48f78c9865aee8839809 by GitHub (on behalf of Serafean) on 27/07/2026 at 13:38..
[libclang]Visit lambda init-capture as VarDeclaration (#174116)

```
int foo(){
    int i = 42;
    int j = 43;

    auto l1 = [x = i, &j ](){};
}
```

in the lambda capture:
- `x` is visited as VariableRef (referencing an unvisited VarDecl at the
same location)
- `i` is visited as DelcRefExpr (fair enough, same as in an assignment)
- `j` is visited as VariableRef

Visit `x` as a `VarDecl`, and stop visiting it as a `VariableRef`, as it
makes no sense (referencing itself at an unvisited cursor).

---------

Co-authored-by: Serafean <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/0a75f1f77fe54e9e366e48f78c9865aee8839809

Git commit 26480c7d1678fbea8e7b1cd064775d0f48649f91 by GitHub (on behalf of Petar Avramovic) on 27/07/2026 at 13:45..
AMDGPU/GlobalISel: Test for cs_chain argument from G_EXTRACT_VECTOR_ELT (#212247)

This is a bug since G_EXTRACT_VECTOR_ELT will end up with a register
class on the dst operand. The combiner will crash because of it.
https://invent.kde.org/qt/clang/llvm/-/commit/26480c7d1678fbea8e7b1cd064775d0f48649f91

Git commit be2e6bc89a8a9f421bbc50c72425a2c7436c604d by GitHub (on behalf of Romanov Vlad) on 27/07/2026 at 13:54..
[AMDGPU] RewriteMFMAFormStage: single exit copy for same-block uses (#209179)

When multiple VGPR-requiring uses of an MFMA dst are in the
same block as the MFMA, share a single AGPR->VGPR copy placed
before the earliest use, instead of creating one per use.
https://invent.kde.org/qt/clang/llvm/-/commit/be2e6bc89a8a9f421bbc50c72425a2c7436c604d

Git commit 4fbefd6025ca1a9e12683a766dbbbeadd2861136 by GitHub (on behalf of Florian Hahn) on 27/07/2026 at 14:00..
[ConstraintElim] Skip decomposition if precondition does not hold. (#212140)

Currently we fully decompose expressions, collect all preconditions and
then bail out if any precondition is false. This means we miss out on
simplifications in cases where the precondition does not hold, but we could 
still reason about the un-decomposed sub-expression.

This patch updates `decompose` to take the constraint system as argument
instead and eagerly check preconditions. If the precondition does not hold, 
we don't decompose the sub-expression and don't further recurse, but simply
treat the sub-expression as variable.

This improves results in some cases
(https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/794)
and is also slightly cheaper (or neutral) in most cases compile-time
wise, as we cut off decomposition before recursing further. The number of queries
for preconditions overall should stay the same

PR: https://github.com/llvm/llvm-project/pull/212140
https://invent.kde.org/qt/clang/llvm/-/commit/4fbefd6025ca1a9e12683a766dbbbeadd2861136

Git commit 8a3d15b952636489a14e1244fdfe871b730d67d7 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 27/07/2026 at 14:04..
[Bazel] Fixes 98d41d2 (#212244)

This fixes 98d41d2f75395ab1f91198f2493cff62a33b80c1 (#212126).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=98d41d2f75395ab1f91198f2493cff62a33b80c1

Co-authored-by: Google Bazel Bot <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/8a3d15b952636489a14e1244fdfe871b730d67d7

Git commit 919919c80a834405a2908525372c754c03f47606 by GitHub (on behalf of Nico Weber) on 27/07/2026 at 14:06..
[gn] port 98d41d2f75395a (PlatformWindowsProperties.td) (#212257)
https://invent.kde.org/qt/clang/llvm/-/commit/919919c80a834405a2908525372c754c03f47606

Git commit f029030cadcd84be1499c42a5e306fd30e348c6b by Jean Perier (on behalf of root) on 27/07/2026 at 14:22..
[flang][NFC] Extract StackArrays analysis and rewrite into a header

Move InsertionPoint, StackArraysAnalysisWrapper, and AllocMemConversion
out of the anonymous namespace in StackArrays.cpp into a new
StackArrays.h header (in namespace fir), so the "which fir.allocmem can
be safely moved to the stack, and where" analysis and the heap-to-stack
rewrite pattern can be reused by other passes.

The dataflow internals (AllocationState, LatticePoint, AllocationAnalysis),
the command-line options, and all method definitions remain in the .cpp.
No functional change intended.
https://invent.kde.org/qt/clang/llvm/-/commit/f029030cadcd84be1499c42a5e306fd30e348c6b

Git commit 3859e7842073efecb4c3e38b1457b23d3d133e40 by Jean Perier on 27/07/2026 at 14:22..
add note about pointer invalidation
https://invent.kde.org/qt/clang/llvm/-/commit/3859e7842073efecb4c3e38b1457b23d3d133e40
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.