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

KDE Git Services - Bulk Change <[email protected]> Tue, 4 Aug 2026 18:12:27 +0000 (UTC)
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/davidspickett/lldb-aarch64-simplify-part5'.
Changed from 0000000000000000000000000000000000000000 to 88d7023341d371c65534fbafaff76e21ad3d38dc
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 256f40dbe6b66dae8d08ddbe7d1ff7851c79764c by GitHub (on behalf of Jared Wyles) on 04/08/2026 at 11:19..
Cpu features cross platform (#205447)

Also adds the place holders for other OS's as well as the structure for
cross platform code going forward.

Prefer sys calls as we can't be sure what runtime we may end up linking
with
Some features can be controlled via the kernel so this makes it easier
than relying on __cpuid for now.

The triples are now more accurate and include the os version on darwin. 

All results are a string that are passed in the default map with the key are llvm subtarget features valid strings
orc-rt.Executor.SubtargetFeatures

Adds a new process regression test as well, with a best effort
guess that the triple returned is correct.
https://invent.kde.org/qt/clang/llvm/-/commit/256f40dbe6b66dae8d08ddbe7d1ff7851c79764c

Git commit 53f5999f0382624abdbae90df143e83c71cdb8ab by GitHub (on behalf of Keshav Vinayak Jha) on 04/08/2026 at 11:20..
[InstCombine] Rebuild type-changing PHIs in PointerReplacer (#212429)

PointerReplacer mutates PHI types when replacing an alloca with a
pointer in another address space. Mutating a value type in place can
invalidate existing users whose result types or operand constraints were
formed from the original pointer type.

For example:
```
%p = phi ptr addrspace(5) [ %a, %bb0 ], [ %b, %bb1 ]
%g = getelementptr i8, ptr addrspace(5) %p, i64 1
```

Changing `%p` to `ptr addrspace(4)` leaves the existing GEP result in
`AS5` while its pointer operand is now in `AS4`. (This is what exposed
the bug). This triggered:

https://github.com/llvm/llvm-project/blob/0bcff14b1740cf32f9e0983726238dcf353c6ac8/llvm/lib/IR/Operator.cpp#L129-L131

Create a new PHI when the replacement changes type so existing users
remain attached to the original well-typed graph while PointerReplacer
builds their replacements. Preserve in-place operand updates when the
PHI type is unchanged.

Assisted-by: Codex

---------

Signed-off-by: Keshav Vinayak Jha <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/53f5999f0382624abdbae90df143e83c71cdb8ab

Git commit 5156be95e21ca4ac6a0e26ddf1ea349e7199b7d9 by GitHub (on behalf of Harry Ramsey) on 04/08/2026 at 11:20..
[AArch64][ISel] Recover ADDHN from OR comparison masks (#210943)

InstCombine converts the high-half addition of vector comparison masks
into an OR. Recognise the resulting trunc(or(setcc, setcc)) DAG and
reconstruct the canonical ADDHN pattern for the supported NEON types.
https://invent.kde.org/qt/clang/llvm/-/commit/5156be95e21ca4ac6a0e26ddf1ea349e7199b7d9

Git commit ebd0cbfb372c42c499d021022975a60bbc6d0d27 by GitHub (on behalf of Dmitrii Makarenko) on 04/08/2026 at 11:29..
[mlir][tensor] Preserve encoding in more canonicalizers (pad, convertToStaticExpandShape) (#207241)

Fixes encoding drop in `tensor.*` canonicalizers.

Patterns that only refine a tensor's shape (never merge/combine data)
now propagate the encoding: `ConvertToStaticExpandShape`,
`PadOp::inferResultType` (and its callers `FoldSourceTensorCast`,
`FoldStaticPadding`). An encoding implementing
`VerifiableTensorEncoding` is re-verified against the refined shape and
dropped if invalid (e.g. sparse); an opaque encoding (no interface) is
propagated as-is.

Patterns that merge/combine tensors (`ConcatOp::inferResultType`,
`InferConcatOperandTypes`, `CollapseShapeOp::inferCollapsedType`) keep
the existing drop-encoding behavior - there's no static way to verify an
arbitrary encoding survives a merge or rank change when dynamic dims are
involved.

Documents this contract on `VerifiableTensorEncoding` in
`TensorEncoding.td`.

co-authored Claude Opus 4.7

Signed-off-by: Dmitrii Makarenko <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/ebd0cbfb372c42c499d021022975a60bbc6d0d27

Git commit 22508ac951966c321977cc2d51ab353b9e0ab453 by GitHub (on behalf of Simon Pilgrim) on 04/08/2026 at 11:55..
[X86] pr61923.ll - update IR to match middleend (#213908)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.and.v32i1 calls
https://invent.kde.org/qt/clang/llvm/-/commit/22508ac951966c321977cc2d51ab353b9e0ab453

Git commit 03435270d2662be52b360c929d19a2f666eb1af5 by GitHub (on behalf of Thibaut Goetghebuer-Planchon) on 04/08/2026 at 11:55..
[mlir][tosa] Fold reshape of dense resource constants (#213225)

Add support for `DenseResourceElementsAttr` in TOSA reshape folding.
https://invent.kde.org/qt/clang/llvm/-/commit/03435270d2662be52b360c929d19a2f666eb1af5

Git commit 4d349761f5bf7cc42ffbae5d7819bf87315dbafb by GitHub (on behalf of theRonShark) on 04/08/2026 at 12:05..
Reland "Revert "[OpenMP] target-fast implies teams/threads oversubscription"" (#213911)

Reverts llvm/llvm-project#213769
https://invent.kde.org/qt/clang/llvm/-/commit/4d349761f5bf7cc42ffbae5d7819bf87315dbafb

Git commit 61a8d42409f596def8befa1350f79609de08027c by GitHub (on behalf of Nikolas Klauser) on 04/08/2026 at 12:08..
[libc++] Optimize std::swap of locales (#209760)

Currently we copy construct `locale`s whenever we swap, which is quite
expensive for locales since that does atomic increments and decrements.
We can just swap the pointers instead.
https://invent.kde.org/qt/clang/llvm/-/commit/61a8d42409f596def8befa1350f79609de08027c

Git commit 2deffca50638d88b6df28316db2e6d3f617413da by GitHub (on behalf of Ramkumar Ramachandra) on 04/08/2026 at 12:21..
[LangRef] Fix language around strictfp semantics (#213879)

The LangRef wording changed in 15bb4a97a7 ([IR] Make semantics of
strictfp consistent v2, #211769) is unfortunately incorrect. There are
some open questions around its semantics, but a simple revert should do
for the moment.

Reported-by: Ömer Sinan Ağacan <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/2deffca50638d88b6df28316db2e6d3f617413da

Git commit 37f4eeee65940dcac53e816c4b324fb607328e0e by GitHub (on behalf of Tom Stellard) on 04/08/2026 at 12:38..
workflows/upload-release-artifact: Use new self-repository reference (#213366)

This is for composite actions.


https://github.blog/changelog/2026-07-30-reference-same-repository-actions-with-self-repository-syntax/
https://invent.kde.org/qt/clang/llvm/-/commit/37f4eeee65940dcac53e816c4b324fb607328e0e

Git commit 00bdfbfffd2760a3382dddd36c2b61e0e04fafb5 by GitHub (on behalf of Dmitrii Makarenko) on 04/08/2026 at 12:50..
[mlir][tensor] Preserve source encoding when folding insert_slice canonicalizers (#207239)

`InsertSliceOpConstantArgumentFolder` re-derives the refined source type
via `ExtractSliceOp::inferCanonicalRankReducedResultType`, which copies
the encoding of the passed-in "source template" - in this pattern,
`insertSliceOp.getDestType()`.
For a static, encoding-less destination this silently drops any encoding
the actual source carried, which downstream dialects can use for
mandatory metadata (upper bounds, layout, sparsity descriptors) lost
during `--canonicalize`.

Rebuild the refined source type carrying the original source's encoding.
If the encoding implements `VerifiableTensorEncoding`, re-verify it
against the refined shape and drop it if it no longer holds (e.g. a
rank-dependent sparse encoding); otherwise treat it as
opaque/shape-agnostic and propagate it unconditionally.
Shape refinement (the `?` -> static direction) is unchanged and still
satisfies `preservesStaticInformation`.

lit created with Claude Opus 4.7

Signed-off-by: Dmitrii Makarenko <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/00bdfbfffd2760a3382dddd36c2b61e0e04fafb5

Git commit ea14fa213e49b4879e77cf50d5a8bf56ae7546c5 by GitHub (on behalf of Louis Dionne) on 04/08/2026 at 12:52..
[libc++] Remove C++20 modules tests from the C++03 frozen test suite (#213730)

These tests are never executed since they require C++20, and the C++03
frozen headers only run in C++03 mode.
https://invent.kde.org/qt/clang/llvm/-/commit/ea14fa213e49b4879e77cf50d5a8bf56ae7546c5

Git commit df38ae1f5d3636eeb9938134c895509e32187a47 by GitHub (on behalf of Louis Dionne) on 04/08/2026 at 12:56..
[libc++] Fix the clang-tidy source filter to cover libcxx/src again (#213732)

The filter regex used `libcxx(abi?)`, which matches `libcxxab` and
`libcxxabi`, but never just `libcxx`.
https://invent.kde.org/qt/clang/llvm/-/commit/df38ae1f5d3636eeb9938134c895509e32187a47

Git commit c2ae9308090e26cc6e3e4ab64c06326061c9572c by GitHub (on behalf of Louis Dionne) on 04/08/2026 at 12:57..
[libc++] Trim down associative container benchmark sizes (#212252)

Based on local measurements, the associative containers are by far the
slowest benchmarks to run. While there is value in benchmarking small
and large sizes, we can significantly cut down benchmark times by
stripping down to only 2 sizes (from 4).

With this patch, the benchmarks go from 3124s to 1766s across the
associative container benchmarks, which is -43% of their execution time,
and corresponds to ~15% of the entire benchmark suite.

Towards #173032
https://invent.kde.org/qt/clang/llvm/-/commit/c2ae9308090e26cc6e3e4ab64c06326061c9572c

Git commit df538d6865a72b39a20f03407834594a8ddadc9a by GitHub (on behalf of Simon Pilgrim) on 04/08/2026 at 12:58..
[X86] vector-reduce-or-cmp.ll - update mask_v3i1 IR to match middleend (#213923)

InstCombine converts vXi1 logic reductions to bitcasted scalar integer
ops - we should be testing that, not llvm.vector.reduce.or.v3i1 calls

Exposes some really poor scalarization on pre-AVX512 targets
https://invent.kde.org/qt/clang/llvm/-/commit/df538d6865a72b39a20f03407834594a8ddadc9a

Git commit b5645e2eee73dafaa2e577ef42445149cbbf5d82 by GitHub (on behalf of Jan Trusiłło) on 04/08/2026 at 13:10..
[offload] allow h2h olMemcpy with a queue (#212757)

olMemcpy currently disallows host-to-host copies with a queue, even
though that is a desirable use case (e.g. to copy a buffer as a
dependency for another operation)

This PR adds support for asynchronous host-to-host copies by adding
`GenericDeviceTy::dataMemcpy` and the corresponding required
`dataMemcpyImpl` plugin operation. Unlike `dataSubmit`, `dataRetrieve`,
and `dataExchange`, this operation does not assign a device direction to
either pointer:
- CUDA: Uses `cuMemcpyAsync`, which by itself determines the pointer
types and preserves stream ordering. Dynamic CUDA symbol declarations
and `_v2` lookup support are included.
- Level Zero: Uses the existing queue `memoryCopy` operation (backed by
`zeCommandListAppendMemoryCopy`), which appends a memory-copy command to
the command list.
- AMDGPU: No "enqueue a host-to-host copy" operation exists directly in
that API, so we enqueue a `std::memcpy` callback through
`pushHostCallback`.
- Host: Call `memcpy` directly.

The `olMemcpy` API documentation now states that queued host-to-host
copies are ordered with other work in the queue. The public function
signature is unchanged.

A new unit test executes an `h2d -> d2h -> h2h -> h2d -> d2h` operation
chain, which should fail if the queue order isn't respected.

Assisted-by: Codex
https://invent.kde.org/qt/clang/llvm/-/commit/b5645e2eee73dafaa2e577ef42445149cbbf5d82

Git commit 73a693ff412cf447e5be35286ae244ea88409ac8 by David Spickett on 04/08/2026 at 13:10..
[lldb][AArch64][Linux] Add function to get regset dependencies

This function encodes relations between sets so that you
don't have to remember all the dependencies.

There are some places where we do:
if some condition:
  Invalidate(some set);

I've chosen not to put that logic in this new function so
that it can be a simple switch case.

The few places we need extra state to make the decision
are also all SVE/SME related. This code will likely remain
bespoke anyway.

Whereas the simple paths will all get collapsed into
a generic handler later.

I have kept Invalidate() variadic as there might be some
situations where explicitly invalidating many things
helps readers understand the code.
https://invent.kde.org/qt/clang/llvm/-/commit/73a693ff412cf447e5be35286ae244ea88409ac8

Git commit 0578f2b2dce6c677a8016560c02ccdfc4c5b532b by David Spickett on 04/08/2026 at 13:10..
convert multiple invalidates into single invalidates
https://invent.kde.org/qt/clang/llvm/-/commit/0578f2b2dce6c677a8016560c02ccdfc4c5b532b

Git commit 7d40243815f5a8009da70cc13fcb3d253a655f92 by David Spickett on 04/08/2026 at 13:10..
missing default
https://invent.kde.org/qt/clang/llvm/-/commit/7d40243815f5a8009da70cc13fcb3d253a655f92

Git commit 47f10321bb8683fd7d8a652d706d2ebb1dc825f3 by David Spickett on 04/08/2026 at 13:10..
will be caught by compiler anyway
https://invent.kde.org/qt/clang/llvm/-/commit/47f10321bb8683fd7d8a652d706d2ebb1dc825f3

Git commit 3c867adaf1052b21e902470b425931ecc03555d7 by David Spickett on 04/08/2026 at 13:40..
[lldb][AArch64][Linux] Add function to lookup ptrace set number

This will be part of a set of RegisterSetType -> thing lookup
functions later used to implement generic read and write functions.

This replaces GetSVERegSet and any other direct uses of ptrace
set numbers. Apart from a couple where we are trying to detect
SVE and SME regardless of what the current mode is.
https://invent.kde.org/qt/clang/llvm/-/commit/3c867adaf1052b21e902470b425931ecc03555d7

Git commit 6b23a57e1fac856e19eef079cef83ef5afda8541 by David Spickett on 04/08/2026 at 13:41..
remove GetSVERegSet
https://invent.kde.org/qt/clang/llvm/-/commit/6b23a57e1fac856e19eef079cef83ef5afda8541

Git commit 1b06e1058c47bf922446a41938fe0fb8405d331b by David Spickett on 04/08/2026 at 13:48..
convert uses of constants
https://invent.kde.org/qt/clang/llvm/-/commit/1b06e1058c47bf922446a41938fe0fb8405d331b

Git commit 7b5c62898a11a1b45b910970909e5c57ad4c0eee by David Spickett on 04/08/2026 at 14:05..
SVE -> SVE_HEADER
https://invent.kde.org/qt/clang/llvm/-/commit/7b5c62898a11a1b45b910970909e5c57ad4c0eee

Git commit f1a4b834752e73316553f18b34f6236a4909c4c8 by David Spickett on 04/08/2026 at 14:05..
[lldb][AArch64][Linux] Add function to get size of register set

Another one to be used in a generic read/write function later.
Replaces all the Get<thing>Size() methods.
https://invent.kde.org/qt/clang/llvm/-/commit/f1a4b834752e73316553f18b34f6236a4909c4c8

Git commit ecdb2dffd28e746eedca6e33b31d6864f610c799 by David Spickett on 04/08/2026 at 14:05..
replace za_header
https://invent.kde.org/qt/clang/llvm/-/commit/ecdb2dffd28e746eedca6e33b31d6864f610c799

Git commit 97f0aa854ec4bc20b38707a53ab6695efd66be76 by David Spickett on 04/08/2026 at 14:06..
replace sve header
https://invent.kde.org/qt/clang/llvm/-/commit/97f0aa854ec4bc20b38707a53ab6695efd66be76

Git commit effd5e4e03afd7c17561e849de21acd4656661ee by David Spickett on 04/08/2026 at 14:08..
replace PAC
https://invent.kde.org/qt/clang/llvm/-/commit/effd5e4e03afd7c17561e849de21acd4656661ee

Git commit 54f52364c3e33519da1392dba294b9253e853e27 by David Spickett on 04/08/2026 at 14:09..
remove sve buffer size
https://invent.kde.org/qt/clang/llvm/-/commit/54f52364c3e33519da1392dba294b9253e853e27

Git commit 52dabda3b85e3c708487544151ef9014902033e1 by David Spickett on 04/08/2026 at 14:10..
convert ZA buffer
https://invent.kde.org/qt/clang/llvm/-/commit/52dabda3b85e3c708487544151ef9014902033e1

Git commit d9ebe65ff032d4dd2f4b9fa79f3206d059be9542 by David Spickett on 04/08/2026 at 14:12..
convert MTE
https://invent.kde.org/qt/clang/llvm/-/commit/d9ebe65ff032d4dd2f4b9fa79f3206d059be9542

Git commit 8a810109085de132483077ccfb9046622614a5f7 by David Spickett on 04/08/2026 at 14:13..
convert TLS
https://invent.kde.org/qt/clang/llvm/-/commit/8a810109085de132483077ccfb9046622614a5f7

Git commit 7441268637e29e02cc270388139153ae97576c5e by David Spickett on 04/08/2026 at 14:14..
convert ZT
https://invent.kde.org/qt/clang/llvm/-/commit/7441268637e29e02cc270388139153ae97576c5e

Git commit fd2306b95034ef007303f2fe35505c71969a9d45 by David Spickett on 04/08/2026 at 14:15..
convert FPMR
https://invent.kde.org/qt/clang/llvm/-/commit/fd2306b95034ef007303f2fe35505c71969a9d45

Git commit 52e0e72d9a9309f4693a272e0da579b091711889 by David Spickett on 04/08/2026 at 14:15..
convert gcs
https://invent.kde.org/qt/clang/llvm/-/commit/52e0e72d9a9309f4693a272e0da579b091711889

Git commit 2043662c2c0a111dee658b5f1d66859f606ab340 by David Spickett on 04/08/2026 at 14:16..
convert POE
https://invent.kde.org/qt/clang/llvm/-/commit/2043662c2c0a111dee658b5f1d66859f606ab340

Git commit 05e87b47ca34f196eef7e388ce4654f75cb7b916 by David Spickett on 04/08/2026 at 14:49..
[lldb][AArch64][Linux] Add function to get register buffers

Replaces Get<set>Buffer methods.
https://invent.kde.org/qt/clang/llvm/-/commit/05e87b47ca34f196eef7e388ce4654f75cb7b916

Git commit 7c906315701022952a2935acc35ac09bcc5ac3cd by David Spickett on 04/08/2026 at 14:53..
convert ZA
https://invent.kde.org/qt/clang/llvm/-/commit/7c906315701022952a2935acc35ac09bcc5ac3cd

Git commit 765e595a82c560abdade8c7b15b71f48709e9d08 by David Spickett on 04/08/2026 at 14:54..
convert POE
https://invent.kde.org/qt/clang/llvm/-/commit/765e595a82c560abdade8c7b15b71f48709e9d08

Git commit a4cc79dca2c239913b7af3ff802094dcb85fb8b9 by David Spickett on 04/08/2026 at 14:55..
convert GCS
https://invent.kde.org/qt/clang/llvm/-/commit/a4cc79dca2c239913b7af3ff802094dcb85fb8b9

Git commit 1347bcf3061537c5484afacd78f745d2ad15e2a9 by David Spickett on 04/08/2026 at 14:56..
convert fpmr
https://invent.kde.org/qt/clang/llvm/-/commit/1347bcf3061537c5484afacd78f745d2ad15e2a9

Git commit 4cca95a19fb85a4a803ae0eb096a809efe3e68b7 by David Spickett on 04/08/2026 at 14:57..
convert SVE
https://invent.kde.org/qt/clang/llvm/-/commit/4cca95a19fb85a4a803ae0eb096a809efe3e68b7

Git commit c6ee2dd9a267ae6693941545d3225a2cc398afc2 by David Spickett on 04/08/2026 at 14:58..
convert ZT
https://invent.kde.org/qt/clang/llvm/-/commit/c6ee2dd9a267ae6693941545d3225a2cc398afc2

Git commit d12470eb457cfe5b8205c66135bbb1733fd5f655 by David Spickett on 04/08/2026 at 14:59..
convert TLS
https://invent.kde.org/qt/clang/llvm/-/commit/d12470eb457cfe5b8205c66135bbb1733fd5f655

Git commit 660ee62d2adf0f5fb5e2cb21652825751a76bd91 by David Spickett on 04/08/2026 at 14:59..
convert MTE
https://invent.kde.org/qt/clang/llvm/-/commit/660ee62d2adf0f5fb5e2cb21652825751a76bd91

Git commit fe624faabb0132d9d358120129d39159e8d5560e by David Spickett on 04/08/2026 at 15:00..
convert PAC
https://invent.kde.org/qt/clang/llvm/-/commit/fe624faabb0132d9d358120129d39159e8d5560e

Git commit a4f88fe9efe0fefee508276f08a9c2576c7202ce by David Spickett on 04/08/2026 at 15:01..
convert ZA header
https://invent.kde.org/qt/clang/llvm/-/commit/a4f88fe9efe0fefee508276f08a9c2576c7202ce

Git commit 88d7023341d371c65534fbafaff76e21ad3d38dc by David Spickett on 04/08/2026 at 15:02..
convert SVE header
https://invent.kde.org/qt/clang/llvm/-/commit/88d7023341d371c65534fbafaff76e21ad3d38dc