[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/petar-avramovic/vopd-validate'.
Changed from b12b981b1cd4e7c0b6e667db7ea99c8c6ba87812 to 5e8646abc44c52c80847bd392bcdba1ddcf4fb8f
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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/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-project/-/commit/c30b1fa7a08e36346f80b1798ae587bc1d5e032b

Git commit 2cdd343022d4c5848281f4bb3670213f535884a2 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:12..
AMDGPU/GlobalISel: Fix legalizer lowering for G_EXTRACT/INSERT_VECTOR_ELT (#210094)

Use LLT::integer in bit twiddling lowering for extract/insert vector element.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2cdd343022d4c5848281f4bb3670213f535884a2

Git commit ca276b4822b1c748aaf9ef631d887143cb03a217 by GitHub (on behalf of Pengcheng Wang) on 20/07/2026 at 12:14..
[ExpandMemCmp][RISCV] Expand memcmp/bcmp for aligned pointers on strict-align targets (#209738)

`RISCVTTIImpl::enableMemCmpExpansion` previously disabled `memcmp`/`bcmp`
expansion whenever the target lacks unaligned scalar memory access. This is
too conservative: when both pointers are statically known to be
sufficiently aligned (e.g. `bcmp(ptr align 8, ptr align 8, 32)`), only
naturally aligned loads are needed, which are fine on strict-align
targets.

`ExpandMemCmp` now keeps a candidate load size only if, given the known
common alignment of the two pointers, the access is naturally aligned or
the target reports it via `allowsMisalignedMemoryAccesses`; otherwise it
falls back to the libcall. The query tests whether the access is
*allowed* (not *fast*), so it is a no-op for targets that already allow
unaligned access (X86, AArch64, ...).

The known alignment now also folds in the `align` attributes on the call
arguments (`CallBase::getParamAlign`), not just the pointer value.

RISCV drops the early return and only offers overlapping loads / tail
expansions when unaligned scalar access is supported.

Fixes #209511.

Assisted-by: TRAE CLI (DeepSeek V4 Pro)
https://invent.kde.org/qt/clang/llvm-project/-/commit/ca276b4822b1c748aaf9ef631d887143cb03a217

Git commit 0000fd1fc63dcc7f0fe87091fe2e5a0daf5ec727 by GitHub (on behalf of Simon Pilgrim) on 20/07/2026 at 12:19..
[VectorCombine] load-widening.ll - add test coverage for all 4 x86-64 cpu levels and aarch64 endian test coverage (#210690)

Removed x86 endianess tests which makes no sense (and are likely to misbehave) and add equivalent test coverage to aarch64

Noticed while reviewing #209775
https://invent.kde.org/qt/clang/llvm-project/-/commit/0000fd1fc63dcc7f0fe87091fe2e5a0daf5ec727

Git commit ac41c58f7b3b26a4bd4260d05afd7c3b2ccc3c72 by GitHub (on behalf of BohdanYehorov) on 20/07/2026 at 12:20..
[clang][docs] Fix include path in InternalsManual (#209458)

The paths `include/Basic/StmtNodes.td` and `include/AST/Expr*.h` in the
Clang Internals Manual are incorrect.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ac41c58f7b3b26a4bd4260d05afd7c3b2ccc3c72

Git commit a35bcaef8c1a0867af4c3b547422b4783c88fc96 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:24..
AMDGPU/GlobalISel: Explicitly widen scalar to i32 for load and store (#210095)

Affects f16 and bf16. Earlier, they were widened to f32 and s32 respectively.
The actual error was the artifact combiner creating a copy between f32/i32
which fails in the machine verifier. Maybe we could create a bitcast there.
However i32 is more efficient for us and matches well with how argument
lowering keeps f16 and bf16 in i32 copies to/from physical registers.
Also starting from f16 store, G_STORE %0(f16), %1(p1) :: (store (f16),
and doing widen scalar to 32 bit type, i32 makes more sense since store
will store 16 least significant bits G_STORE %0(i32), %1(p1) :: (store (f16)
compared to G_STORE %0(f32), %1(p1) :: (store (f16), which looks incorrect if
we assume input was really in f32 format.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a35bcaef8c1a0867af4c3b547422b4783c88fc96

Git commit 16e213f7dd3b8a2ec93b3015268efb8f59c9b52d by GitHub (on behalf of Arseniy Obolenskiy) on 20/07/2026 at 12:45..
[AMDGPU][GlobalISel] Fix wrong half selection in wave.shuffle lowering (#210661)

selectWaveShuffleIntrin XORed ThreadID with the shifted index instead of
the original index, picking the wrong lane half on wave64 targets
without wave wide bpermute (GFX10/GFX11)
https://invent.kde.org/qt/clang/llvm-project/-/commit/16e213f7dd3b8a2ec93b3015268efb8f59c9b52d

Git commit 75ee393652ca86f5d9b3670be5fa04d2bd8bb95a by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:46..
AMDGPU/GlobalISel: Use integer as MMO type for loads and stores lowering (#210096)

We could get away with just the type from MMO in most cases, but MMO splitting
creates MMO with LLT::scalar and we prefer integer.
https://invent.kde.org/qt/clang/llvm-project/-/commit/75ee393652ca86f5d9b3670be5fa04d2bd8bb95a

Git commit 112aac39131f7fdc8b4a50cb3fb13ef293e1c620 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:47..
AMDGPU/GlobalISel: Fix extending load narrow scalar (#210097)

isAnyScalar is explicit LLT::scalar check but we want to narrow scalar
integer types as well.
https://invent.kde.org/qt/clang/llvm-project/-/commit/112aac39131f7fdc8b4a50cb3fb13ef293e1c620

Git commit 88a19bdee051ef4ce15fc4e29f50a328b80b0166 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 12:47..
AMDGPU/GlobalISel: Use integers for read-any-lane split type (#210098)
https://invent.kde.org/qt/clang/llvm-project/-/commit/88a19bdee051ef4ce15fc4e29f50a328b80b0166

Git commit 92873559f90a35f89ebc5ac94a6d7e4c3a419ecb by GitHub (on behalf of Raphael Isemann) on 20/07/2026 at 12:48..
[lldb][test] Bump safety timeout in simulator tests to fix flakyness (#209180)

On really slow machines, the current 10 second timeout can expire and
cause the test to randomly fail. Bump the timeout to 10 minutes which 60
times the current value and should be unreachable even on the slowest of
machines.

To avoid making the tests run for 10 minutes, we now consistently kill
the test process on shutdown using the subprocess list in lldbtest which
gets killed on tearDown.
https://invent.kde.org/qt/clang/llvm-project/-/commit/92873559f90a35f89ebc5ac94a6d7e4c3a419ecb

Git commit 1e18a0f4d758ff796acbb3987c2d01c02bb223a1 by GitHub (on behalf of Antonio Frighetto) on 20/07/2026 at 12:58..
[MemCpyOpt] Precommit tests for PR210667 (NFC) (#210708)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1e18a0f4d758ff796acbb3987c2d01c02bb223a1

Git commit 92539cf3a83e22dd589fa97d223da06339dc304a by GitHub (on behalf of Antonio Frighetto) on 20/07/2026 at 13:01..
[MemCpyOpt] Ensure call slot optz does not lower destination alloca alignment (#210667)

A destination alloca's alignment could have been unconditionally
overwritten, letting a lower-aligned source incorrectly undo a
previous alignment increase. This issue has been addressed by
considering the maximum alignment between the new source target
and current destination, adhering to what the existing comment
already promises.

Fixes: https://github.com/llvm/llvm-project/issues/208092.
https://invent.kde.org/qt/clang/llvm-project/-/commit/92539cf3a83e22dd589fa97d223da06339dc304a

Git commit 4f939577de61ffdf85087499b99aa3686ed362cd by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:04..
GlobalISel: Use extended LLTs in f64 to f16 fptrunc lowering (#210099)
https://invent.kde.org/qt/clang/llvm-project/-/commit/4f939577de61ffdf85087499b99aa3686ed362cd

Git commit e3016ce1a9a14c690c90a343849d45837d9d95d7 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:04..
GlobalISel: Use extended LLTs in extract lowering (#210100)
https://invent.kde.org/qt/clang/llvm-project/-/commit/e3016ce1a9a14c690c90a343849d45837d9d95d7

Git commit e8969304fe0ca32088120702267772a622f5f746 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:05..
AMDGPU/GlobalISel: Use integers for clamp i64 to i16 prelegalizer combine (#210101)
https://invent.kde.org/qt/clang/llvm-project/-/commit/e8969304fe0ca32088120702267772a622f5f746

Git commit 066fba24b425211e80deb4486ba56ddf70472c37 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:06..
AMDGPU/GlobalISel: Use extended LLTs in AMDGPUCombinerHelper (#210102)

Here we also had to change comparisons to extended LLTs to avoid
matching bfloats. In the old scalar version, before the switch to extended
LLTs, s16 was treated as f16 and bf16 was combined as if it were f16.
https://invent.kde.org/qt/clang/llvm-project/-/commit/066fba24b425211e80deb4486ba56ddf70472c37

Git commit 499fd10534993eec4aefc8f06026fc4876bbd371 by GitHub (on behalf of Louis Dionne) on 20/07/2026 at 13:09..
[libc++] Run macOS CI on self-hosted runners instead of Github ones (#210124)

This should increase our capacity and allow better turn around times,
and potentially unblock additional test coverage.

Note that this change implies that the self-hosted runners provide a
version of Xcode that is supported by libc++ (the latest released one),
which is currently the case.
https://invent.kde.org/qt/clang/llvm-project/-/commit/499fd10534993eec4aefc8f06026fc4876bbd371

Git commit 03b780679bdb5152aef0182dfc8b2f1d182a94e0 by GitHub (on behalf of Thurston Dang) on 20/07/2026 at 13:13..
[libc++][test] Fix build failure from typo in #171785 (#210552)

If `__STDCPP_DEFAULT_NEW_ALIGNMENT__` is not defined, these tests will
fail to build due to a typo that was added in #171785.
https://invent.kde.org/qt/clang/llvm-project/-/commit/03b780679bdb5152aef0182dfc8b2f1d182a94e0

Git commit 8888665966f14abfac4f2c352846abfc1212d8e5 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:18..
AMDGPU/GlobalISel: Fix type mismatch in regbank combiner for applyD16Load (#210103)
https://invent.kde.org/qt/clang/llvm-project/-/commit/8888665966f14abfac4f2c352846abfc1212d8e5

Git commit 743813d10023a0616833062f5d448284022b8063 by GitHub (on behalf of Petar Avramovic) on 20/07/2026 at 13:18..
GlobalISel: Use extended LLTs in lshr narrow combine (#210298)
https://invent.kde.org/qt/clang/llvm-project/-/commit/743813d10023a0616833062f5d448284022b8063

Git commit a8617034c4a7cc733676a31b736d3118fec34259 by GitHub (on behalf of Hubert Tong) on 20/07/2026 at 13:36..
[libc++][utils] Fix LIT `%if` substitution support (#209358)

Update the applySubstitutions call in `libcxx/utils/libcxx/test/format.py` to match the
change to `llvm/utils/lit/lit/TestRunner.py` done in 1041a9642ba0.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a8617034c4a7cc733676a31b736d3118fec34259

Git commit 3fc6711ccaf60c15371402c3ee7776fde5f01b4f by GitHub (on behalf of zhijian lin) on 20/07/2026 at 13:37..
[PowerPC]optimize the epilogue for restore non volatile cr fields (#202339)

For AIX and ELFv2 ABI, 
1. When we only spill one non-volatile CR field , using one
mfocrf/mtocrf instruction.
2. when spill two or more non-volatile CR fields, using one mfcr/mtcr
instead of multi mfocrf/mtocrf instructions
https://invent.kde.org/qt/clang/llvm-project/-/commit/3fc6711ccaf60c15371402c3ee7776fde5f01b4f

Git commit faf7261308da236627ae8f813d17d6e1ef1e9d68 by GitHub (on behalf of Louis Dionne) on 20/07/2026 at 13:38..
[libc++] Bring std::{any,all,none}_of tests up to current standards (#209266)

The tests for these algorithms were minimal, didn't test all iterator
categories, and the constexpr coverage didn't follow our current
practice. This patch brings all three tests (which are very similar) up
to our current standards.

Assisted by Claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/faf7261308da236627ae8f813d17d6e1ef1e9d68

Git commit 44e37579d19c7d0965166808c77f9e7ebf407df9 by GitHub (on behalf of Kareem Ergawy) on 20/07/2026 at 13:43..
[flang][PFT-to-MLIR] reset Evaluation blocks between entry-point passes (#210681)

A subprogram with an alternate ENTRY is lowered by walking the shared
PFT once per entry. Evaluation::block is populated during each walk
(top-level createEmptyBlocks and inside wrapUnstructuredConstruct's own
createEmptyBlocks), but the second pass previously inherited stale
pointers into the first entry's function/wrap regions. For a wrappable
IfConstruct nested inside a structured container, the entry block that
genFIR(IfConstruct) starts before creating its scf.execute_region then
sent the builder into the previous entry's region, and the wrap plus its
inner load ended up in the wrong func:

    subroutine foo(a)
      integer a
    entry bar(a)
      if (a .eq. 1) then
        if (a .ne. 3) stop
      end if
    end subroutine

produced both scf.execute_region ops in _QPfoo, with an inner fir.load
referencing bar's %arg0 — 'fir.load' op using value defined outside the
region.

Fix: null every Evaluation::block in the shared PFT at the start of each
entry-point pass, so createEmptyBlocks fills a clean tree and later
reads (in particular the landing-pad reposition in genFIR(IfConstruct))
never see a pointer from a prior pass.

Co-authored-by: Claude Opus 4.7 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/44e37579d19c7d0965166808c77f9e7ebf407df9

Git commit 2a33792a2ec1a980259bd9388834e3c1fa53af3d by GitHub (on behalf of Matthias Wippich) on 20/07/2026 at 13:50..
[clang][NFC] move traits to tablegen (#201491)

This patch moves all traits to a tablegen file. 

The motivation for this change is a review comment in
https://github.com/llvm/llvm-project/pull/142341 - since then about a
year has passed and we've accumulated 9 standard names that are
maintained separately from their corresponding trait definitions. For
transform type traits we keep the standard names around as well. While
this is still a reasonably low number, it is definitely going to keep
increasing.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2a33792a2ec1a980259bd9388834e3c1fa53af3d

Git commit 0549fbe55ba4f9fc172591a61b04700d4ff5045e by GitHub (on behalf of Daemon) on 20/07/2026 at 13:54..
[GlobalISel] Synchronize GISelValueTrackingAnalysis behavior across Legacy and New PM paths (#207013)

This patch aligns the New Pass Manager (NPM) implementation of
`GISelValueTrackingAnalysis::run()` with the Legacy pass manager by
dynamically adjusting the maximum search depth based on the optimization
level. This eliminates behavioral discrepancies between the two code
paths, reducing migration risks and ensuring consistent compilation
performance and code generation quality across both code paths.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0549fbe55ba4f9fc172591a61b04700d4ff5045e

Git commit 97a105f8e681e8e9e5778b6f8bf95a8c365a05f6 by GitHub (on behalf of Sergio Afonso) on 20/07/2026 at 14:01..
[Flang][OpenMP] Allow `parallel loop` inside of `teams` (#210679)

A missing `parallel_loop` directive in the `nestedTeamsAllowedSet`
currently causes code like the following to report a semantics issue:
```f90
!$omp teams
  !$omp parallel loop
  do i=1, 10
  end do
!$omp end teams
```
This patch makes sure to accept it, since `parallel` is an allowed
construct to be immediately nested inside of `teams`, even when combined
with another construct.
https://invent.kde.org/qt/clang/llvm-project/-/commit/97a105f8e681e8e9e5778b6f8bf95a8c365a05f6

Git commit e16e6077cbc2b0ab6335dd4dc67e3a6318b1ad3a by GitHub (on behalf of Florian Hahn) on 20/07/2026 at 14:21..
[SCEV] Use m_scev_AffineAddRec in get{Zero,Sign}ExtendExprImpl (NFC) (#210082)

It's a small win in number of lines, and reduces the nesting level a
bit.

Suggested in https://github.com/llvm/llvm-project/pull/208805

PR: https://github.com/llvm/llvm-project/pull/210082
https://invent.kde.org/qt/clang/llvm-project/-/commit/e16e6077cbc2b0ab6335dd4dc67e3a6318b1ad3a

Git commit 35aa7b529ebeafc9767a4c5398047a92b86bd4a8 by GitHub (on behalf of Erich Keane) on 20/07/2026 at 14:32..
Ensure that we properly propagate template decl attributes to redecls (#209873)

Variable and class templates weren't forwarding their declaration
attributes that were attached directly to them (at the moment, the only
one I could find that had this issue is the no_specialization attr). The
result was that intermediate redeclarations would prevent the
diagnostics from happening.

This patch ensures we propagate them properly for variable and class
templates. It seems our function templates already do the right thing.

Fixes: #209812
https://invent.kde.org/qt/clang/llvm-project/-/commit/35aa7b529ebeafc9767a4c5398047a92b86bd4a8

Git commit b16c5f7cc88c9f41d904cc73d5618cc7453ac862 by GitHub (on behalf of yinghao) on 20/07/2026 at 14:33..
[NVPTX] Clear unsafe kill flags in NVPTXProxyRegErasure (#198143)

Fixes #198142

After replacing regsiter, stale `killed` flags my leave on non-terminal
uses, breaking liveness and triggering MachineVerifier errors.
    
Fix this by conservatively dropping the `killed` flag on `ToReg`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b16c5f7cc88c9f41d904cc73d5618cc7453ac862

Git commit bb5c8d5bea4817a2447d9acfdb7ef11c4323ddac by GitHub (on behalf of Ömer Sinan Ağacan) on 20/07/2026 at 14:33..
[LangRef] Add immarg attributes to memcpy, memset, memmove isvolatile args (#210669)
https://invent.kde.org/qt/clang/llvm-project/-/commit/bb5c8d5bea4817a2447d9acfdb7ef11c4323ddac

Git commit 1ed1ca59245bfa949919f31cef5fd5c87c20c6ec by GitHub (on behalf of Momchil Velikov) on 20/07/2026 at 14:35..
Re-commit: [GVN] Remove the "private" `llvm::gvn` namespace (NFC) (#210712)

Re-commit of https://github.com/llvm/llvm-project/pull/210323 after
adding
a forward declaration for GVNLegacyPass class to work around GCC
compilation
failure.

Move `AvailableValue` and `AvailableValueInBlock` into GVNPass, similar
to other helper types.
  
Retain `llvm::gvn::GVNLegacyPass` as just `llvm::GVNLegacyPass` -
"legacy" is already a sufficent hint and it is not going to become more
"private" by stacking "gvn" prefixes to the name.

Ideally, `GVNLegacyPass` should be defined in an anonymous namespace,
but
that is not possible because it is declared as a friend of GVNPass.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1ed1ca59245bfa949919f31cef5fd5c87c20c6ec

Git commit 6998fd59e16026a00fee8e83243c0ec91047fee3 by GitHub (on behalf of Yaxun (Sam) Liu) on 20/07/2026 at 14:37..
[AMDGPU] Print max-BB inline rejections
https://invent.kde.org/qt/clang/llvm-project/-/commit/6998fd59e16026a00fee8e83243c0ec91047fee3

Git commit 6f744fb04cf1cf30b45ff73883566eeebb7eeb7d by GitHub (on behalf of forking-google-bazel-bot[bot]) on 20/07/2026 at 14:45..
[Bazel] Fixes 2a33792 (#210726)

This fixes 2a33792a2ec1a980259bd9388834e3c1fa53af3d.

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

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

Git commit 4c5b4f40c4ac77f1b50a90451fd040356748ac6a by GitHub (on behalf of Sergey Semenov) on 20/07/2026 at 14:54..
[libsycl][E2E] Compile all E2E tests with -fsycl (#204115)
https://invent.kde.org/qt/clang/llvm-project/-/commit/4c5b4f40c4ac77f1b50a90451fd040356748ac6a

Git commit d47b11cb3d357e1a9e6291fc4826a5fc1d4818d3 by Petar Avramovic on 20/07/2026 at 14:57..
AMDGPU: Refactor checkVOPDRegConstraints
https://invent.kde.org/qt/clang/llvm-project/-/commit/d47b11cb3d357e1a9e6291fc4826a5fc1d4818d3

Git commit 5e8646abc44c52c80847bd392bcdba1ddcf4fb8f by Petar Avramovic on 20/07/2026 at 15:19..
AMDGPU: Validate VOPD/VOPD3 physical source registers against operand RC

Replace isVGPR checks with isValidVOPDSrc that validates physical source
registers against the actual combined VOPD/VOPD3 instruction's operand
register classes. Now we also validate operands for VOPD instructions.
https://invent.kde.org/qt/clang/llvm-project/-/commit/5e8646abc44c52c80847bd392bcdba1ddcf4fb8f
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.