[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/c8ef/generator'.
Changed from 0b062c588aa75fa002ffe2d020da342947f80caf to 3e76eaccfc277fffdfbe26383769987f5596c444
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 334708eb100204edc677a546bfa77ef10df71ec9 by GitHub (on behalf of Nico Weber) on 20/07/2026 at 11:23..
[gn build] Port 03b5c5285eaf (#210688)
https://invent.kde.org/qt/clang/llvm/-/commit/334708eb100204edc677a546bfa77ef10df71ec9

Git commit 41d76f2763a53517f273c87a1a703f00cb965f09 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:26..
AMDGPU/GlobalISel: Fix G_UNMERGE_VALUES lowering for extended LLTs (#209201)

Use integer type for bit twiddling instead of scalar.
https://invent.kde.org/qt/clang/llvm/-/commit/41d76f2763a53517f273c87a1a703f00cb965f09

Git commit b21fb937f165898c727030760f0a8ab685ef08eb by GitHub (on behalf of Benedek Kaibas) on 20/07/2026 at 11:26..
[analyzer][NFC] Correct the DanglingPtrDeref checker's filename (#209862)

The alpha `DanglingPtrDeref` checker got implemented in #209278. Since
it is under heavy development and subject to change significantly in the
near future it is in alpha stage. During the development of the
`DanglingPtrDeref` checker its name got changed from
`ReportDanglingPtrDeref` to `DanglingPtrDeref` based on the conversation
here:
https://github.com/llvm/llvm-project/pull/209278#discussion_r3578604913

While the checker's registration got updated in `Checkers.td` the same
change did not get applied to the `
clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt` and the checker's
filename. This PR addresses this issue.
https://invent.kde.org/qt/clang/llvm/-/commit/b21fb937f165898c727030760f0a8ab685ef08eb

Git commit 2ec66d76fde71265be83c216d0be3d16bb131fc7 by GitHub (on behalf of Lang Hames) on 20/07/2026 at 11:27..
[orc-rt] Fix wrapper-call managed-code token lifetime (#210686)

d199b284c7d established that ManagedCodeTaskGroup tokens must bracket a
single span of execution on a stack, not a chain of asynchronous
operations (see orc-rt/docs/Design.md's "Managed code execution and
shutdown" section). Session::handleWrapperCall and sendWrapperResult
predated that policy and didn't conform to it: the token was acquired in
handleWrapperCall but only released in sendWrapperResult, holding it for
the whole call/response chain. If Fn deferred sending its result
asynchronously, Session shutdown would incorrectly wait on that deferred
completion instead of proceeding as soon as Fn's stack unwound.

Acquire the token as a TaskGroup::Token scoped to the dispatched call,
and let it release when Fn returns rather than when its result is sent.
https://invent.kde.org/qt/clang/llvm/-/commit/2ec66d76fde71265be83c216d0be3d16bb131fc7

Git commit d90634dc185da79a8eb6a993c28614f4788e368e by GitHub (on behalf of 311Volt) on 20/07/2026 at 11:28..
[offload] support arbitrary memoryFill pattern sizes in L0 plugin (#209724)

Even though L0, CUDA and HSA do not directly support filling memory
regions with non-power-of-two-sized patterns, plugins explicitly allow
for such fills by falling back to a slow path whenever a direct API call
is not possible.

The Level Zero plugin is the odd one out, forwarding directly to
`zeCommandListAppendMemoryFill`. This fails for non-power-of-two
patterns, causing unit tests for `olMemFill` to fail when run on L0.

This PR adds fallbacks in L0 plugin's `memoryFill` implementation to
support arbitrary pattern sizes:
- if all pattern bytes are the same, substitute `1` for `patternSize`
and proceed with the native fill
- if memory is host-accessible (host or shared alloc), then simply
`std::copy_n` the pattern
- if memory is device-only, upload a seed to the device, and
`memoryCopy` O(log n) times, doubling the pattern each time, until the
entire region is filled. The seed is the input pattern, but extended on
the host to 1-2KiB to potentially eliminate several small `memoryCopy`
calls that would otherwise be almost pure overhead.

Conceptually, this approach has better worst-case overhead than the one
found in the CUDA plugin (decompose the pattern to then run multiple
strided memsets) and the AMDGPU one (call `pushMemoryCopyH2DAsync` with
the pattern, setting `NumTimes`). Aligning the fallback fill approaches
is outside the scope of this PR, however - the main intent is to fix the
unit test failures.
https://invent.kde.org/qt/clang/llvm/-/commit/d90634dc185da79a8eb6a993c28614f4788e368e

Git commit a8ffce42477c909908d6f45511a48fd01a24837d by GitHub (on behalf of Younan Zhang) on 20/07/2026 at 11:32..
[Clang] Fix evaluation of fold expanded constraints for NTTP (#210005)

This is a rework of #200185 and also reflects what we did for TTP in
C++26 fold expression constraints (adc64c6e1745)

Fixes https://github.com/llvm/llvm-project/issues/199569
https://invent.kde.org/qt/clang/llvm/-/commit/a8ffce42477c909908d6f45511a48fd01a24837d

Git commit 14f6b9f0a3976f85d3ef509c8361991ae3702002 by GitHub (on behalf of Deepak Shirke) on 20/07/2026 at 11:35..
[VectorCombine] Fold bitcast(bitreverse.v8i8(bitcast(IntTy))) into bswap+bitreverse (#209037)

Add reverse direction to `foldBitOrderReverseAndSwap`:
`bitcast(bitreverse(<N x i8>)(bitcast(IntTy X)))` -->
`bitreverse(bswap(X))`

This avoids GPR<=>vector register crossings when integer ops are
cheaper. On AArch64 for example:

Before:
```asm
  fmov    d0, x0        ; GPR → vector crossing
  rbit    v0.8b, v0.8b
  fmov    x0, d0        ; vector → GPR crossing
```
After:
```asm
  rev     x8, x0        ; stays in integer registers
  rbit    x0, x8
```
The fold is cost-model driven and only fires when the integer version is
cheaper, so targets like X86+GFNI that prefer the vector form (single
`vgf2p8affineqb` instruction) are unaffected.

A new call site for `BitCast` instructions is added alongside the
existing `Call` instruction call site in the dispatch loop.

Fixes #201760
https://invent.kde.org/qt/clang/llvm/-/commit/14f6b9f0a3976f85d3ef509c8361991ae3702002

Git commit 06e3180cd141d9a8efdb9e9867b4a32300679038 by GitHub (on behalf of Barbara Mitic) on 20/07/2026 at 11:37..
[AMDGPU] Accept extractelement of a widening cast when folding image ops to a16 (#208207)

canSafelyConvertTo16Bit() recognizes a scalar coordinate that is a
direct sext/zext/fpext from a 16-bit value (sext gated on AllowI16SExt).
Per-dimension coordinates can instead arrive as an extractelement of a
widening vector cast (extractelement((s|z|fp)ext <N x i16/half> Vec),
Idx). When the cast has more than one use, the extractelement(cast) ->
cast(extractelement) canonicalization does not fire, so the cast is left
in place and the coordinate is not recognized.

Strip a leading extractelement before the cast check so the same logic
handles scalar and per-lane coordinates, and mirror this in
convertTo16Bit() by re-extracting from the narrow vector, allowing the
widening cast to be removed once it has no other uses.
https://invent.kde.org/qt/clang/llvm/-/commit/06e3180cd141d9a8efdb9e9867b4a32300679038

Git commit bd38dd0ace19c3b9512da2b37bb9690ee6c9e97f by GitHub (on behalf of AntonyCJ30) on 20/07/2026 at 11:39..
[X86] Fix swapped VPTERNLOG231_imm8/VPTERNLOG312_imm8 SDNodeXForm bodies (#209782)

Fixes #157929

VPTERNLOG231_imm8 and VPTERNLOG312_imm8 had their bodies swapped,
causing ISel to emit the wrong truth-table immediate whenever operand
reordering was needed (-O1+, not -O0).

Test changes:
- **avx512-vpternlog-commute.ll: regenerated with
update_llc_test_checks.py**
  (accounts for the large diff)
- Added 4 new cases: vpternlog231_rmik, vpternlog312_rmik,
  vpternlog231_rmbik, vpternlog312_rmbik

Tested: llvm-lit on llvm/test/CodeGen/X86 (no regressions), original
repro verified correct at -O0 through -O3, -Os, -Oz.
https://invent.kde.org/qt/clang/llvm/-/commit/bd38dd0ace19c3b9512da2b37bb9690ee6c9e97f

Git commit 60f8b4624badab6bec5e2600d82cf98b6a4e303b by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:40..
AMDGPU/GlobalISel: Fix G_MERGE_VALUES lowering for extended LLTs (#209202)

Use integer type for bit twiddling instead of scalar.
https://invent.kde.org/qt/clang/llvm/-/commit/60f8b4624badab6bec5e2600d82cf98b6a4e303b

Git commit 648aec12e5e5242c93aa73a21714553c6341ddc3 by GitHub (on behalf of Sander de Smalen) on 20/07/2026 at 11:50..
[AArch64] NFC: Factor out code from FP_TO_INT (SVE). (#207200)

This just moves out some of the SVE lowering code from
LowerVectorFP_TO_INT into a separate function, so that we can reuse that
in LowerVectorFP_TO_INT_SAT.
https://invent.kde.org/qt/clang/llvm/-/commit/648aec12e5e5242c93aa73a21714553c6341ddc3

Git commit 25b75a1e41c5fe71ed1f832c36c8bfb1bca1ab35 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 11:51..
AMDGPU/GlobalISel: Stop using changeTo in legalizer actions (#209203)

Use changeElementSizeTo or changeElementCountTo to preserve extended LLT.
https://invent.kde.org/qt/clang/llvm/-/commit/25b75a1e41c5fe71ed1f832c36c8bfb1bca1ab35

Git commit 8abc26930cf9ee0f059228acdbd1d22cd1c325e3 by GitHub (on behalf of Simon Pilgrim) on 20/07/2026 at 12:04..
[X86] combineShiftRightLogical - fold srl(vecreduce_umax(x),bw-1) as MOVMSK signbit reduction (#210281)

VectorCombine may have folded:
  icmp_eq(vecreduce_or(splatsign(x)),0) --> icmp_sgt(vecreduce_umax(x),-1)

which DAG folds to:
  srl(vecreduce_umax(x),bw-1).

This match attempts to lower:
  srl(vecreduce_umax(x),bw-1) --> icmp_ne(movmsk(x),0) "any_of negative"
  srl(not(vecreduce_umax(x)),bw-1) --> icmp_eq(movmsk(x),0) "none_of negative"

The correct fix would be to improve vecreduce_or costs to prevent
VectorCombine doing this, but that change is far too big to be merged
into 23.x - so I've created the narrow backend fix.

Fixes #209714
https://invent.kde.org/qt/clang/llvm/-/commit/8abc26930cf9ee0f059228acdbd1d22cd1c325e3

Git commit d9c88062ecf9dc8ece4bb1482b0f1789979e3da5 by GitHub (on behalf of rdevshp) on 20/07/2026 at 12:05..
[analyzer] Fix _BitInt support & casting behavior for Z3 symbolic execution (#210525)

Forces symbolic cast to be enabled for z3 symbolic execution, and
switches away from Ctx.getTypeSize for getting the bit width of integral
types.

The current patch might be a bit problematic for z3 cross-check, as this
relies on symbolic integer cast to be always on. I am not sure if
turning on ShouldSupportSymbolicIntegerCasts would cause issues for the
supported range-based solver, so I only kept it turned on when
AnalysisConstraintsOpt == Z3ConstraintsModel.

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

Git commit 27fe16dcf920c92bcb7050e5abf4164ed3b496d1 by GitHub (on behalf of Dan Blackwell) on 20/07/2026 at 12:06..
[Darwin][ASan] Strip MTE-tags for inlined shadow translations (#204827)

https://github.com/llvm/llvm-project/pull/166453 stripped these tags
when the runtime performed the mem-to-shadow translation, but did not
account for ASan's inline translations. When an MTE-tagged address gets
translated, the tag bits are right-shifted too, resulting in a very high
address that faults when accessed.

This patch strips the MTE-tag bits before applying the translation on
Apple platforms.

rdar://180032780
https://invent.kde.org/qt/clang/llvm/-/commit/27fe16dcf920c92bcb7050e5abf4164ed3b496d1

Git commit 1caf9e1ef68ef85f1976e82bfc33befe1edc6eff by GitHub (on behalf of Federico Bruzzone) on 20/07/2026 at 12:09..
[mlir][ArmSVE] Fix comment inconsistency for `pack_lhs` in `ArmSVE/pack-unpack-mmt4d.mlir` (NFC) (#210502)

This PR simply fix a comment inconsistency for `pack_lhs` in
[ArmSVE/pack-unpack-mmt4d.mlir](https://github.com/llvm/llvm-project/compare/main...FedericoBruzzone:nfc-armsve?expand=1#diff-7be071860c440806b8dad954ed61946e7e9f27e032ed6044a704f0c0f70e4407)
as identified in #208226.

Signed-off-by: Federico Bruzzone <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/1caf9e1ef68ef85f1976e82bfc33befe1edc6eff

Git commit c30b1fa7a08e36346f80b1798ae587bc1d5e032b by GitHub (on behalf of Nico Weber) on 20/07/2026 at 12:09..
[gn build] Port b21fb937f165 (#210698)
https://invent.kde.org/qt/clang/llvm/-/commit/c30b1fa7a08e36346f80b1798ae587bc1d5e032b

Git commit 1a52064e9253752ddbbe2ff115aca2521495b78e by c8ef on 20/07/2026 at 12:17..
Merge branch 'main' into users/c8ef/generator
https://invent.kde.org/qt/clang/llvm/-/commit/1a52064e9253752ddbbe2ff115aca2521495b78e

Git commit 90c7db75736b52393c458af97b92a6dc4617ca7f by c8ef on 20/07/2026 at 12:18..
release notes 23 -> 24
https://invent.kde.org/qt/clang/llvm/-/commit/90c7db75736b52393c458af97b92a6dc4617ca7f

Git commit 8fc0b82aeb2c202c5710c5e21a519d3ddf9003c4 by c8ef on 20/07/2026 at 12:22..
release notes 23 -> 24
https://invent.kde.org/qt/clang/llvm/-/commit/8fc0b82aeb2c202c5710c5e21a519d3ddf9003c4

Git commit 3e76eaccfc277fffdfbe26383769987f5596c444 by c8ef on 20/07/2026 at 14:04..
fix new warnings
https://invent.kde.org/qt/clang/llvm/-/commit/3e76eaccfc277fffdfbe26383769987f5596c444
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.