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

KDE Git Services - Bulk Change <[email protected]> Tue, 4 Aug 2026 18:14:49 +0000 (UTC)
Newsgroups gmane.comp.kde.cvs
Message-ID <[email protected]>
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/petar-avramovic/scmp'.
Changed from 2f568f4a01af5aa7bc5d9dee879b385b129910fe to 4625108d5347ce40e2abe7d84000c8d2ac5e69c7
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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/commit/b5645e2eee73dafaa2e577ef42445149cbbf5d82

Git commit 04c9cf4743fc62ca555f270f3621b324e2472767 by GitHub (on behalf of Aurore Poirier) on 04/08/2026 at 13:26..
[LLDB] Serve unknown type symbols through `qSymbol` for non-MachO targets (#200134)

I am working with a binary where some symbols are generated from linker
scripts. They end up identified as `eSymbolInvalid` when loaded in LLDB.
OpenOCD can try to fetch them.

Some might even be hard-coded data, not going through an address in the
binary (explaining the presence of the check and raw value
return).

Testing it showed that **GDB returns them despite them not being proper
addresses**.
These can also be generated by C++ static constexpr, such values could
be accessed by a qSymbol query.

358cf1ea302eb introduced a divergence between GDB and LLDB where LLDB
does not serve symbols of unknown type through GDB protocol command
`qSymbol`. Per commit description, this is an expected behavior on
MachO-based platforms, but it is not on ELF-based platforms, where LLDB
should follow GDB. The changes introduced by said commit are now gated
behind an architecture check.
https://invent.kde.org/qt/clang/llvm-project/-/commit/04c9cf4743fc62ca555f270f3621b324e2472767

Git commit 07a53be7d3cd68b7b4c397eb3ec5b30bc84acbf9 by GitHub (on behalf of Madhur Kumar) on 04/08/2026 at 13:26..
[GlobalISel] Combine merge-unmerge with mixed scalar and vector types (#213086)

fixes: https://github.com/llvm/llvm-project/issues/177416
https://invent.kde.org/qt/clang/llvm-project/-/commit/07a53be7d3cd68b7b4c397eb3ec5b30bc84acbf9

Git commit e3d847f07723f8f6ef62a540452344ae4d155007 by GitHub (on behalf of Alexey Bataev) on 04/08/2026 at 13:27..
[SLP]Fix scheduling of absorbed copyable fmuls, modeled as fmuladd(a, b, -0.0)

A copyable fmul absorbed into fmuladd(a, b, -0.0) does not appear in
the operand columns of its own node, so the operand scan never
released the schedule data of the copyable instruction itself and
scheduling ended with unscheduled bundles. Release it explicitly when
the copyable element shows up in no operand column.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213937
https://invent.kde.org/qt/clang/llvm-project/-/commit/e3d847f07723f8f6ef62a540452344ae4d155007

Git commit 9f4047e46e6be19672f7635a174b5cd7b0bd9f1d by GitHub (on behalf of npanchen) on 04/08/2026 at 13:27..
[ASan] Handle allocas in non-default address spaces (#213764)

Do addrspace cast for allocas that live in address space different from
the datalayout's alloca address space, otherwise ASan will crash during
use replacement
https://invent.kde.org/qt/clang/llvm-project/-/commit/9f4047e46e6be19672f7635a174b5cd7b0bd9f1d

Git commit d4c991d34c8c8568c6f81402b88c3fd37722c1db by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:30..
[clang-tidy][NFC] Apply const-correctness for auto 1/N (#213839)
https://invent.kde.org/qt/clang/llvm-project/-/commit/d4c991d34c8c8568c6f81402b88c3fd37722c1db

Git commit e36b2acea0811d08965e9690b1f3c4b16e6484ff by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:30..
[clang-tidy][NFC] Apply const-correctness for auto 2/N (#213840)
https://invent.kde.org/qt/clang/llvm-project/-/commit/e36b2acea0811d08965e9690b1f3c4b16e6484ff

Git commit f5346a5a341d09f279063e239f4215478e0f5af3 by GitHub (on behalf of Paul Walker) on 04/08/2026 at 13:32..
[LLVM][CodeGen][SVE] Add isel patterns for abs-diff partial reductions. (#212800)

For SVE2 we can use top/bottom [S/U]ABAL[T/B] instruction. SVE2p3 can
use just [S/U]ABAL.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f5346a5a341d09f279063e239f4215478e0f5af3

Git commit ddc8e4bb252f31ca433295facbead45f932413ba by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:33..
[clang-tidy][NFC] Apply const-correctness for auto 3/N (#213841)
https://invent.kde.org/qt/clang/llvm-project/-/commit/ddc8e4bb252f31ca433295facbead45f932413ba

Git commit 0bbee28fd45f1ca5780d5db842261262f201e7d1 by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:34..
[clang-tidy][NFC] Apply const-correctness for auto 4/N (#213842)
https://invent.kde.org/qt/clang/llvm-project/-/commit/0bbee28fd45f1ca5780d5db842261262f201e7d1

Git commit 0b71b1a4e51276043c7417a82ad87381f76cd4d6 by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:35..
[clang-tidy][NFC] Apply const-correctness for auto 5/N (#213843)
https://invent.kde.org/qt/clang/llvm-project/-/commit/0b71b1a4e51276043c7417a82ad87381f76cd4d6

Git commit 61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59 by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:36..
[clang-tidy][NFC] Apply const-correctness for auto 6/N (#213844)
https://invent.kde.org/qt/clang/llvm-project/-/commit/61ccfbfca52d078e1aa92f0d53ea6b3eee7dee59

Git commit 7e15ae5cef9aef89b7a09a7c6f203f4a8ca6c77d by GitHub (on behalf of Baranov Victor) on 04/08/2026 at 13:37..
[clang-tidy][NFC] Apply readability-redundant-parentheses (#213848)
https://invent.kde.org/qt/clang/llvm-project/-/commit/7e15ae5cef9aef89b7a09a7c6f203f4a8ca6c77d

Git commit adba9da44faf9c8a4b8695623023c265ffe59301 by GitHub (on behalf of Alexey Bataev) on 04/08/2026 at 13:43..
[SLP]Support copyable fadds in fmuladd, modeled as fmuladd(1.0, a, b)

A copyable single-use fadd a, b is modeled as fmuladd(1.0, a, b), which
equals fadd a, b (the multiply by 1.0 is exact and preserves signed
zeros), so the add dies instead of being computed and gathered. The
addend/multiplicand assignment per lane matches the majority operand
kinds of the non-copyable lanes. Same all-or-nothing and tie-break
rules as for absorbed fmuls.

Reviewers: hiraditya, bababuck, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/213786
https://invent.kde.org/qt/clang/llvm-project/-/commit/adba9da44faf9c8a4b8695623023c265ffe59301

Git commit ab8b037ef7b398aa864959a69f328fa69b567f74 by GitHub (on behalf of Nikolas Klauser) on 04/08/2026 at 13:45..
[libc++] Diagnose unused variables of container types (#203084)

This adds `[[gnu::warn_unused]]` to all container types currently
implemented. In the future new containers should be added to the list,
as well as other value types in the library.

Clang has `-Wunused`, which is a suite of warnings about unused
variables. However, that doesn't warn for a lot of class types,
especially non-trivial ones. That is done to avoid false-positives for
RAII-style types like `lock_guard`. `[[gnu::warn_unused]]` exists to
tell Clang that a given class is a value type.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ab8b037ef7b398aa864959a69f328fa69b567f74

Git commit 330dfca3e3bc879be77d4188f1789743961fbe3e by GitHub (on behalf of Louis Dionne) on 04/08/2026 at 13:46..
[runtimes] Drop reviewers-libcxx from reviews touching runtimes/ (#213736)

Since runtimes/ has been picked up by other subprojects, it doesn't make
sense anymore for reviewers-libcxx to watch all changes to it.
https://invent.kde.org/qt/clang/llvm-project/-/commit/330dfca3e3bc879be77d4188f1789743961fbe3e

Git commit 55b38aeec8cf7de86c9c4500f59c35fc47264833 by GitHub (on behalf of Marcos Maronas) on 04/08/2026 at 13:48..
[SPIRV] Emit FPFastMathMode for Call (#211879)

`SPV_KHR_float_controls2` makes `FPFastMathMode` valid for all core
instructions, so this patch enables translation of fast math flags for
`OpFunctionCall`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/55b38aeec8cf7de86c9c4500f59c35fc47264833

Git commit d28193fa1ff64027cc5547355e9d70785268aec8 by GitHub (on behalf of A. Jiang) on 04/08/2026 at 13:59..
[libc++][test] Add `void` cast to a discarded call to `remquo` (#213849)

For calls to `remquo`, the return values are generally expected to be
used, while it is rare to only use the value written via the pointer
parameter. Moreover, some implementors already planned to apply
`[[nodiscard]]` to `remquo`, see also https://llvm.org/PR171763. As a
result, it is perhaps better to add `void` cast to the discarded call to
`remquo` in the test file.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d28193fa1ff64027cc5547355e9d70785268aec8

Git commit 962d16fd97793d22c42227e7fab397f62475c18b by GitHub (on behalf of DylanFleming-arm) on 04/08/2026 at 14:03..
[libc][mathvec] Vectorise exp2f and exp10f (#211365)

Replaces exp2f and exp10f with fully vectorised implementations.

Includes refactoring of expf polynomial evalulation into expf_utils.h
https://invent.kde.org/qt/clang/llvm-project/-/commit/962d16fd97793d22c42227e7fab397f62475c18b

Git commit 62c5ede9fd14083aa57d62302df06a44062d8bfc by GitHub (on behalf of Marc Auberer) on 04/08/2026 at 14:05..
[IR] Remove deprecated BasicBlock::getFirstNonPHI (#213926)

All in-tree callers already migrated to getFirstNonPHIIt(), which
preserves debug-info placement. No remaining users of the deprecated
overloads exist in the codebase.

Co-authored-by: Claude <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/62c5ede9fd14083aa57d62302df06a44062d8bfc

Git commit 50f1e69560a15ebe8493202c63859fc074c8541a by GitHub (on behalf of Simon Tatham) on 04/08/2026 at 14:06..
[AArch64][CodeGen] Don't try to compute stack addresses in xzr (#213009)

Conditional branch tuning can replace an ADD + CBZ with an ADDS + Bcc.
This patch disables that transformation in the case where the ADD
instruction has a frame offset operand, because in that situation, it
can later be expanded into multiple instructions.

Fixes #212528, which had a case of this in which the destination
register of the ADDS was rewritten to XZR, because the value was
calculated _only_ to compare against zero. When the ADDS was expanded
into multiple instructions, the output instructions were not even
legal with XZR as the destination.

However we disable this transformation even when not rewriting the
destination register, because some of the instructions involved in
computing a frame offset have no flag-setting variant. (E.g. ADDVL, if
there are SVE variable-sized vectors on the stack.)
https://invent.kde.org/qt/clang/llvm-project/-/commit/50f1e69560a15ebe8493202c63859fc074c8541a

Git commit 0eefd513c29e88d90cf55d16a002bc09fe1f8eac by GitHub (on behalf of LU-JOHN) on 04/08/2026 at 14:23..
[AMDGPU] Canonicalize scalar bf16 more efficiently (#213789)

Canonicalize bf16 more efficiently. Use `v_pk_mul_vf16 <DST>, 1.0, ...`
rather than converting to/from f32 and using v_max.

---------

Signed-off-by: John Lu <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/0eefd513c29e88d90cf55d16a002bc09fe1f8eac

Git commit 3217105056c59500981c1d00b60ac4d474b37b03 by GitHub (on behalf of Shilei Tian) on 04/08/2026 at 14:27..
[NFC][AMDGPU] Rename some variable names to follow convention better (#213827)

This is a follow-up of #213491.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3217105056c59500981c1d00b60ac4d474b37b03

Git commit 91ccd1b10ce82fa4e79e62b0b6e575c6c0ee41eb by GitHub (on behalf of Jan Patrick Lehr) on 04/08/2026 at 14:34..
[Clang] Make exact dynamic_cast optimization AS aware (#213927)

PR https://github.com/llvm/llvm-project/pull/213253 exposed a problem in
AMDGPU where exact dynamic_cast optimization would generate compare
operands for the compare instruction that live in different address
spaces.
The culprit appears to have been the introduction of the `final` keyword
in the derived struct definition.

This patch uses CGF.GetVTablePtr and uses CGM.GlobalsInt8PtrTy in the
code for emitExactDynamicCast, following the pattern that is used in
EmitTypeid.

A test case that was reduced from the above PR is added as test.
AI-assisted
https://invent.kde.org/qt/clang/llvm-project/-/commit/91ccd1b10ce82fa4e79e62b0b6e575c6c0ee41eb

Git commit 4625108d5347ce40e2abe7d84000c8d2ac5e69c7 by Petar Avramovic on 04/08/2026 at 15:07..
AMDGPU/GlobalISel: Legalize G_SCMP and G_UCMP
https://invent.kde.org/qt/clang/llvm-project/-/commit/4625108d5347ce40e2abe7d84000c8d2ac5e69c7