[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/arsenm/amdgpu/migrate-misc-tests-subarch-triples'.
Changed from 0000000000000000000000000000000000000000 to 6a12e18df0a181573abacc44c8a6dc6e9fd95a37
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 de7cd6542afd53d66f730dfca5f4e47e5c35e16b by GitHub (on behalf of Balázs Benics) on 23/07/2026 at 11:15..
[analyzer][Z3] Fix z3-bitint-arithmetic.c test RUN line (#211515)
I used to get these errors on M4 with `LLVM_ENABLE_Z3_SOLVER`:
```
error: 'expected-error' diagnostics seen but not expected:
File clang/test/Analysis/z3/z3-bitint-arithmetic.c Line 26: unsigned _BitInt of bit sizes greater than 128 not supported
File clang/test/Analysis/z3/z3-bitint-arithmetic.c Line 29: unsigned _BitInt of bit sizes greater than 128 not supported
```
Fixes up #210525
Another nail in the coffin of #184695
https://invent.kde.org/qt/clang/llvm-project/-/commit/de7cd6542afd53d66f730dfca5f4e47e5c35e16b
Git commit ecf4c970ddbcda2c2c65e7e5f208ffc86ed7c654 by GitHub (on behalf of Balázs Benics) on 23/07/2026 at 11:21..
[analyzer][NFC] Remove leftover PreElideState stash in copy elision (#211518)
computeObjectUnderConstruction stashed the program state into
PreElideState "before trying to elide, as it'll get overwritten", but
never used it. That comment and stash are fossils of the old
prepareForObjectConstruction, which returned and threaded the state
(`std::tie(State, V) = ...`); the failure path then reverted it with
`State = PreElideState;`.
The refactor to the SVal-returning computeObjectUnderConstruction (State
is now passed by value and the state updates moved to
updateObjectsUnderConstruction) dropped that revert but left the stash
and comment behind. State is never overwritten here anymore, so remove
the dead PreElideState and reword the comment to describe only the
CallOpts stash, which is still needed (CallOpts is passed by reference
and genuinely overwritten by the elision attempt).
Found with a clang-query matcher over clang/lib/StaticAnalyzer.
Assisted-by: claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/ecf4c970ddbcda2c2c65e7e5f208ffc86ed7c654
Git commit ad1b24345203b059226d6a43a5bb4ae79ad22184 by GitHub (on behalf of Simon Pilgrim) on 23/07/2026 at 11:25..
[VectorCombine] foldShuffleToIdentity - ensure we push any created instructions to the WorkList (#211508)
generateNewInstTree is recursive - ensure all new instructions are
pushed to the WorkList (and in the correct order).
I also renamed the local Worklist variable -> Candidates to stop
shadowing VectorCombine::WorkList - there's more "WorkLists" in
VectorCombine that need fixing but this was causing a particular
annoyance to this patch.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ad1b24345203b059226d6a43a5bb4ae79ad22184
Git commit 48d5c3edb02a950c58a25711f729f3e6a7f3b624 by GitHub (on behalf of Balázs Benics) on 23/07/2026 at 11:26..
[analyzer][NFC] Remove unused ProgramStateRef local variables (#211517)
Several checkers and ExprEngine declare a ProgramStateRef local that is
never read (typically `State = C.getState();` immediately followed by
code that re-fetches the state directly). These are not flagged by
-Wunused-variable because ProgramStateRef has a non-trivial destructor.
Found with a clang-query matcher over clang/lib/StaticAnalyzer.
Assisted-by: claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/48d5c3edb02a950c58a25711f729f3e6a7f3b624
Git commit 38b7237069f2e51ee8562cbce2014ae29e6459b5 by GitHub (on behalf of Alex Duran) on 23/07/2026 at 11:30..
[OFFLOAD][L0] Add NUM_LANES info (#211526)
https://invent.kde.org/qt/clang/llvm-project/-/commit/38b7237069f2e51ee8562cbce2014ae29e6459b5
Git commit fd67f99275f586c48ae6432bca2623a29c82bf8c by GitHub (on behalf of Matt Arsenault) on 23/07/2026 at 11:39..
clang/AMDGPU: Fix handling of subarch triples with no -mcpu (#211467)
https://invent.kde.org/qt/clang/llvm-project/-/commit/fd67f99275f586c48ae6432bca2623a29c82bf8c
Git commit 7d566aa440eece854c4103cbada67a215e416ec8 by GitHub (on behalf of Alex Duran) on 23/07/2026 at 11:42..
[OFFLOAD][L0] Restore function pointer lookup. (#211520)
PR #201352 incorrectly removed the calls to zeModuleGetGlobalPointer
when looking up a symbol.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7d566aa440eece854c4103cbada67a215e416ec8
Git commit 5f31853af85c36ac16bc92972fd877e04b93831a by GitHub (on behalf of Ömer Sinan Ağacan) on 23/07/2026 at 11:51..
[AArch64] Fix volatile flags in mops tests (NFC) (#211511)
https://invent.kde.org/qt/clang/llvm-project/-/commit/5f31853af85c36ac16bc92972fd877e04b93831a
Git commit 144595f400eaa08691c8fda82b80e83329c779ed by GitHub (on behalf of guyfischman) on 23/07/2026 at 12:11..
[SelectionDAG][AArch64][X86] Don't scalarize vector smul.fix.sat/umul.fix.sat (#209351)
Vector SMULFIXSAT/UMULFIXSAT were not handled by expandFixedPointMul in
the vector legalizer (a FIXME) and were unrolled to per-lane scalar
code: a single <8 x i16> smul.fix.sat was ~100 instructions on both
AArch64 and x86.
Expand the saturating variants like the non-saturating ones, and build
the saturation clamp with SETCC + VSELECT for vector types so it stays
vectorized instead of being scalarized by SELECT_CC legalization. Scalar
lowering is unchanged: the clamp change is guarded on isVector(), so
scalar fixed-point codegen on every target is bit-identical.
Additionally custom-lower SMULFIXSAT on AArch64 for scale == eltbits-1,
which is exactly sqdmulh, to a single instruction.
To the FIXME note - results in a ~12x speedup over the unroll fallback.
AI was used in the making of this PR, and if its feedback is to be
believed, this PR is a masterpiece of engineering.
Fixes #209334
https://invent.kde.org/qt/clang/llvm-project/-/commit/144595f400eaa08691c8fda82b80e83329c779ed
Git commit b0b0a53e670bf15075c34514d82ce2a2c32c167a by GitHub (on behalf of Ariel-Burton) on 23/07/2026 at 12:13..
Write original source language when writing and reading AST (#209353)
FAIL: Clang :: Frontend/ast-main.c
FAIL: Clang :: Frontend/ast-main.cpp
were failing on z/OS; this change fixes these lit failures.
The issue here is that on z/OS the original source code language needs
to be passed through to the IR so that the backend can encode this
information in the PPA2 in the object file. That means that it needs to
be exported to the AST so that going from saved AST -> IR will carry the
language through.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b0b0a53e670bf15075c34514d82ce2a2c32c167a
Git commit a7d2602abf4f211e8027288f23629f8cc93ec30c by GitHub (on behalf of Louis Dionne) on 23/07/2026 at 12:13..
[libc++] Update release procedure for libc++ & friends (#210383)
The release procedure implied that some tasks were done by the release
manager, but in practice they are done by the libc++ developers.
Also, mention using the `llvm-premerge-libcxx-release-runners` runner
set on the release branch, which was overlooked in the previous notes.
Other than that, minor reformulations.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a7d2602abf4f211e8027288f23629f8cc93ec30c
Git commit 8fb7dfe629b94f57eead9b8fa3423606492fac31 by GitHub (on behalf of Arseniy Obolenskiy) on 23/07/2026 at 12:20..
[SPIR-V] Cache PartialOrderingVisitor in Splitter instead of rebuilding per call (#211198)
https://invent.kde.org/qt/clang/llvm-project/-/commit/8fb7dfe629b94f57eead9b8fa3423606492fac31
Git commit a65df8a1d42a34217bba1354c064b3fa40529507 by GitHub (on behalf of Karthika Devi C) on 23/07/2026 at 12:26..
[Polly] Fix memory leak in DependenceAnalysis::Result::abandonDepende… (#211514)
abandonDependences() uses unique_ptr::release() which releases
ownership without freeing the Dependences object, causing a memory
leak. Use unique_ptr::reset() instead to properly delete the object
before nullifying the pointer.
The issue was found when AddressSanitizer is enabled in the build.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a65df8a1d42a34217bba1354c064b3fa40529507
Git commit eb992b762c2e94d4671340f15f05e7fb8fb4215f by GitHub (on behalf of Paulius Velesko) on 23/07/2026 at 12:29..
[SPIRV] Lower llvm.ldexp via OpenCL/GLSL ldexp ext-inst (#195402)
## Summary
The SPIR-V backend handled only `G_STRICT_FLDEXP` (from
`llvm.experimental.constrained.ldexp`). Plain `Intrinsic::ldexp` lowers
to `G_FLDEXP` in `IRTranslator.cpp`, so device code that calls `ldexp()`
(or any libcall lowered to `llvm.ldexp.*`, including `scalbn`,
`scalbln`, integer-exponent `exp2`) failed legalization with `unable to
legalize instruction: G_FLDEXP`.
## Change
- `SPIRVLegalizerInfo.cpp`: extend the existing legalizer rule from
`{G_STRICT_FLDEXP}` to `{G_FLDEXP, G_STRICT_FLDEXP}`, sharing the same
`(allFloatScalarsAndVectors, allIntScalars)` cartesian product.
- `SPIRVInstructionSelector.cpp`: add a `case TargetOpcode::G_FLDEXP:`
next to the strict case, both selecting `selectExtInst(..., CL::ldexp,
GL::Ldexp)`. The `GL::Ldexp` opcode (53) was already declared in
`SPIRVBuiltins.td:447` but never referenced from a selector case -- this
also enables the GLSL.std.450 path for shader-mode targets.
- New lit test `test/CodeGen/SPIRV/llvm-intrinsics/ldexp.ll` covering
`f16`, `f32`, `f64` scalar and `<4 x f32>` vector forms under both
`spirv32` and `spirv64` triples. The pre-existing `transcoding/ldexp.ll`
only exercised the OpenCL-mangled-builtin path, which never reaches
`Intrinsic::ldexp`.
Originally observed compiling Kokkos device code through chipStar -- the
same gap exists in SPIRV-LLVM-Translator and is being fixed there in
parallel.
https://invent.kde.org/qt/clang/llvm-project/-/commit/eb992b762c2e94d4671340f15f05e7fb8fb4215f
Git commit cb383a37440d27238f8a01eee05228910d65d63e by GitHub (on behalf of Evgenii Kudriashov) on 23/07/2026 at 12:33..
[Clang][X86] Introduce Clang ABI Gate for MSVC alignment (#210305)
On x86_64-windows-msvc after 8ecec455183f, clang applies the MSVC
size-based global-alignment scheme (Microsoft64BitMinGlobalAlign) and
does not apply the Sys V "large array" alignment increase. Users may
want to preserve the earlier ABI for compatibility with objects produced
by older clang releases.
Gate this behavior on the Clang ABI compatibility level. When
`-fclang-abi-compat=22` (or lower) is in effect,
MicrosoftX86_64TargetInfo restores LargeArrayMinWidth/LargeArrayAlign to
128 and getMinGlobalAlign skips the Microsoft64BitMinGlobalAlign step,
matching the older alignment choices.
Assisted by Claude (Anthropic).
https://invent.kde.org/qt/clang/llvm-project/-/commit/cb383a37440d27238f8a01eee05228910d65d63e
Git commit d4427f75155f90238d997b3d4046bcc89f2de78c by GitHub (on behalf of Yingwei Zheng) on 23/07/2026 at 12:39..
[llubi][NFC] Use context-aware value printer (#211275)
As discussed in
https://github.com/llvm/llvm-project/pull/200672#discussion_r3624927046,
we need information from the global state to provide a better debugging
representation of byte SSA values.
This patch adds a wrapper to pass `Context&` into the actual printer.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d4427f75155f90238d997b3d4046bcc89f2de78c
Git commit e635f27b622a6c1256ea8c1bed21bec3b836c15a by GitHub (on behalf of Tõnu Samuel) on 23/07/2026 at 12:49..
[TLI] Add x86 libmvec mappings for GLIBC 2.35 vector functions (#206274)
## Summary
glibc 2.35 extended x86_64 libmvec with vector implementations of `erf`,
`erfc`,
`cbrt`, `expm1`, `log1p`, `asinh`, `acosh` and `atanh` (among others),
but LLVM's
`LIBMVEC_X86` table in `VecFuncs.def` was never updated past the
original glibc-2.22
set. As a result `clang -fveclib=libmvec` cannot vectorize loops over
these functions
on x86_64, even though the vector symbols are present in the linked
`libmvec.so`. The
AArch64 libmvec table already maps several of them.
This patch adds the x86 mappings for the 8 GLIBC-2.35 functions that
have **no
corresponding LLVM intrinsic** (pure named/TLI mappings). The
intrinsic-backed
additions (`sinh`, `cosh`, `tanh`, `asin`, `acos`, `atan`, `exp2`,
`exp10`, `log2`,
`log10`) are left for a follow-up. The mappings mirror the existing
`exp`/`log`
entries — only the SSE (`_ZGVbN…`) and AVX2 (`_ZGVdN…`) widths; the
**AVX-512
(`_ZGVeN…`) variants are intentionally omitted** until the
512-bit-call-on-narrower-
target miscompilation (#204930) is resolved. The symbols are verified
present in
glibc ≥ 2.35.
Tracks #206273.
## Test
Extends `llvm/test/Transforms/LoopVectorize/X86/libm-vector-calls.ll`
with a
vectorization check per added function. `add-TLI-mappings.ll` is
unaffected
(verified locally for both the x86 and AArch64 run lines).
## Motivation
These functions are currently unreachable via `-fveclib=libmvec` on x86,
so loops
over them stay scalar. best-of-20 timing of a 16M-element scalar libm
loop vs the
libmvec-vectorized loop (AVX2 / `ZGVdN` path — i.e. exactly what this
patch enables):
| function | Zen (AVX2) | Xeon W-2235 (AVX2) |
|---|---|---|
| erf | 13.4× | 15.7× |
| erfc | 8.8× | 12.4× |
| cbrt | 6.8× | 9.1× |
| expm1 | 7.5× | 12.0× |
| log1p | 6.7× | 10.8× |
| asinh | 1.9× | 3.9× |
| acosh | 1.6× | 4.1× |
| atanh | 4.2× | 8.5× |
gcc already emits these via libmvec; this brings clang
`-fveclib=libmvec` to parity.
---
Human, assisted by robot. The human reviews all the posts.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e635f27b622a6c1256ea8c1bed21bec3b836c15a
Git commit 728522b6644457367b7ce9056bb3d0577bf128a8 by GitHub (on behalf of Ebuka Ezike) on 23/07/2026 at 12:51..
[lldb-dap] Miragte the DAP step and stop hooks tests (#209936)
Migrated Tests:
- TestDAP_step.py
- TestDAP_stepInTargets.py
- TestDAP_stop_hooks.py
https://invent.kde.org/qt/clang/llvm-project/-/commit/728522b6644457367b7ce9056bb3d0577bf128a8
Git commit bd3546eaedaa0bc89f6706c619074d59ba00bafe by GitHub (on behalf of Ebuka Ezike) on 23/07/2026 at 12:52..
[lldb-dap] Migrate DAP attach tests. (#210814)
Address some issues with the previous tests.
- Always wait for the continued event after sending a continue request.
since the continue response is just an acknowlegement that we send a
continue packet.
- Retry reading stdin if it has an error when the debugger attaches.
- Update and enable the attachByPortNum test, this may now run on NetBSD
and Windows. will try to enable in a different PR.
https://invent.kde.org/qt/clang/llvm-project/-/commit/bd3546eaedaa0bc89f6706c619074d59ba00bafe
Git commit 94404723f0dff00d07bd13d2f420b953d57a6db4 by GitHub (on behalf of Yusuke MINATO) on 23/07/2026 at 12:55..
Revert "[NFC][clang][Driver] Add tests for --driver-mode=flang"
Reverts llvm/llvm-project#207658 due to buildbot failure
https://invent.kde.org/qt/clang/llvm-project/-/commit/94404723f0dff00d07bd13d2f420b953d57a6db4
Git commit 70b67433644e3b9cb206a7d2c3dbb062dc854e9a by GitHub (on behalf of David Green) on 23/07/2026 at 13:00..
[AArch64] Add a ctpop cost with CSSC (#211189)
FEAT_CSSC adds a CNT instruction that can perform ctpop. This adds a
specific cost for it to prevent us from using the neon cost.
https://invent.kde.org/qt/clang/llvm-project/-/commit/70b67433644e3b9cb206a7d2c3dbb062dc854e9a
Git commit 882a1381942c3bb4208136743ca7d743947a00a2 by GitHub (on behalf of Louis Dionne) on 23/07/2026 at 13:21..
[libc++] Remove workaround for Clang < 20 in clang-tidy plugin (#211314)
The clang-tidy plugin is now always built with Clang >= 20, so the
workaround can be removed.
https://invent.kde.org/qt/clang/llvm-project/-/commit/882a1381942c3bb4208136743ca7d743947a00a2
Git commit d1d3891077f6f803a8d2dc000f7a4cd11a66ac3c by GitHub (on behalf of Jon Roelofs) on 23/07/2026 at 13:27..
[libunwind] XFAIL the za unwind test on Apple targets older than OS 27.0 (#211379)
When linking against the system unwinder on macOS < 27, the test
fails on platforms that support SME.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d1d3891077f6f803a8d2dc000f7a4cd11a66ac3c
Git commit 624569002f06a27543ac964b2b338d677deb4e37 by GitHub (on behalf of zhijian lin) on 23/07/2026 at 13:32..
[PowerPC] improve performance on the isNan and !isNan function in case of -ffp-model=strict (#204170)
For the IR representation:
isnan(x) → %0 = tail call noundef i1 @llvm.is.fpclass.f64(double %x, i32
3)
!isnan(x) → %0 = tail call noundef i1 @llvm.is.fpclass.f64(double %x,
i32 1020)
Under `-ffp-model=strict`, the generic
TargetLowering::expandIS_FPCLASS() is used to lower these when
Subtarget.hasP9Vector() && Subtarget.useCRBits() is false. However,
PowerPC has more optimal assembly sequences for isnan(x) and !isnan(x)
on POWER7/8 and generic PPC targets.
We implement a custom lowering for isnan(x) and !isnan(x) under
`-ffp-model=strict`, using `fcmpu `for POWER7/8 and generic PPC targets,
and` xscmpudp` for targets where VSX is available.
https://invent.kde.org/qt/clang/llvm-project/-/commit/624569002f06a27543ac964b2b338d677deb4e37
Git commit b142e77672d2992640e4f31c54d771191a0b8610 by GitHub (on behalf of Syadus Sefat) on 23/07/2026 at 13:33..
[AMDGPU][GlobalISel] Don't combine uniform fmin/max into clamp/fmed3 (#211456)
Uniform fmin/fmax/fmed3 makes the reg-bank combiner produce a
clamp/fmed3 with an sgpr-banked destination. As these clamp/fmed3 only
have VALU selection patterns, the sgpr bank cannot be selected. Only
combine when the destination is vgpr-banked.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b142e77672d2992640e4f31c54d771191a0b8610
Git commit be86221af36d62be2e25a8b6e89ae8199d9dce0a by GitHub (on behalf of Louis Dionne) on 23/07/2026 at 13:38..
[libc++] Implement any_of in terms of find_if (#207274)
This way, any optimizations in find_if will be picked up by any_of.
Closes #129310
https://invent.kde.org/qt/clang/llvm-project/-/commit/be86221af36d62be2e25a8b6e89ae8199d9dce0a
Git commit aab7e0b08d30ddca5858069a4c14c1ea3da042e6 by GitHub (on behalf of Luke Hutton) on 23/07/2026 at 13:41..
[mlir][tosa] Combine unranked/ranked tensor types into single type (#209737)
This commit refactors the defined TOSA types to combine unranked and
ranked tensor types into a single type `TosaTensorOf`. This helps
simplify the type definitions and allows all tensor types to support
both unranked and ranked tensors.
https://invent.kde.org/qt/clang/llvm-project/-/commit/aab7e0b08d30ddca5858069a4c14c1ea3da042e6
Git commit ea99db7e4a0277eb0c327a72ac2f3cd9017315f1 by GitHub (on behalf of Alexey Bataev) on 23/07/2026 at 13:53..
[SLP]Combine fma and fmuladd into a single vector fma node
fmuladd permits the fused form and fma requires it, so a mixed bundle is
vectorized as one vector fma, with fma as the representative to avoid
weakening the fma lanes; an all-fmuladd bundle still stays fmuladd.
Reviewers: bababuck, RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/211291
https://invent.kde.org/qt/clang/llvm-project/-/commit/ea99db7e4a0277eb0c327a72ac2f3cd9017315f1
Git commit c2811362b9dd240583ffaa59fabd16d29c644931 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 13:59..
[WebAssembly] Port WebAssemblyMCLowerPrePass
Standard NewPM pass porting.
Reviewers: sbc100, dschuff, aheejin
Pull Request: https://github.com/llvm/llvm-project/pull/210440
https://invent.kde.org/qt/clang/llvm-project/-/commit/c2811362b9dd240583ffaa59fabd16d29c644931
Git commit b9f17dd9d7604129f35eb30124f713b819197972 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 14:03..
[WebAssembly] Port AsmPrinter
Lots of boilerplate, but this is standard and there's probably not much
we can do to improve the situation until we have deleted the LegacyPM.
Reviewers: dschuff, sbc100, aheejin
Pull Request: https://github.com/llvm/llvm-project/pull/210448
https://invent.kde.org/qt/clang/llvm-project/-/commit/b9f17dd9d7604129f35eb30124f713b819197972
Git commit 3cbb24bd5412a5ecea5a0e4d1603e0a38676432d by GitHub (on behalf of Andrzej Warzyński) on 23/07/2026 at 14:10..
[mlir][vector] Update CastAway{Extract|Insert}StridedSliceLeadingOneDim (#210902)
Update both:
* CastAwayExtractStridedSliceLeadingOneDim
* CastAwayInsertStridedSliceLeadingOneDim
to use vector.shape_cast, rather than vector.extract and
vector.broadcast, as the canonical form for stripping unit dimensions.
This change was originally implemented by @krzysz00 in #196206, but was
subsequently reverted in #199546. This PR intentionally restores only a
subset of #196206, making it easier to identify and triage any potential
regressions.
Co-authored-by: Krzysztof Drewniak <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/3cbb24bd5412a5ecea5a0e4d1603e0a38676432d
Git commit dcbf87542b26480c365b6388b5accf05d0507626 by GitHub (on behalf of Federico Bruzzone) on 23/07/2026 at 14:33..
[mlir][sparse] Avoid vectorizing non-contiguous COO coordinate loads (#211004)
`SparseVectorization` assumes direct loop accesses (`a[lo:hi]`) are
contiguous and vectorizes them with `vector.maskedload/maskedstore`.
This is false for `sparse_tensor.coordinates` of a level inside a
trailing AoS COO region, whose buffer is interleaved with other levels:
a silent miscompile.
The true stride is already known from the tensor's encoding, even though
the memref type is still dynamic at this point. Use it to fall back to a
scalar loop when the stride is provably non-unit.
---------
Signed-off-by: Federico Bruzzone <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/dcbf87542b26480c365b6388b5accf05d0507626
Git commit bb22aa8127450930eb27215eb9f2c70acdee69fc by GitHub (on behalf of Nikita Popov) on 23/07/2026 at 14:34..
[IR] Slightly optimize getElementAsInteger() (#211550)
This regressed with the introduction of the byte type, because
getElementPointer() calls getElementByteSize() calls
getPrimitiveSizeInBits(), but the switch used getScalarTypeInBits(),
which means we need to do two separate calls for the element size. Use
getElementByteSize() in both places so these can be CSEd.
https://invent.kde.org/qt/clang/llvm-project/-/commit/bb22aa8127450930eb27215eb9f2c70acdee69fc
Git commit 8b690a085406337f7a02ab466df494bce5f75f41 by GitHub (on behalf of Andrzej Warzyński) on 23/07/2026 at 14:40..
[mlir][vector] Make CompressstoreOp + ExpandloadOp support scalable vectors (#210288)
Extends `vector.compressstore` + `vector.expandload` to support scalable
vectors and updates relevant tests.
An e2e test for `vector.compressstore` is added. For
`vector.expandload`, we need to wait for QEMU support:
https://github.com/llvm/llvm-project/issues/210942.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8b690a085406337f7a02ab466df494bce5f75f41
Git commit 97a5889383220967c7ed4eb8d23470d875f8cbcc by GitHub (on behalf of Akash Agrawal) on 23/07/2026 at 15:06..
[Clang][Sema] Don't delay the access check when computing implicit deletion (#210254)
Sema::isMemberAccessibleForDeletion treats AR_delayed as unreachable,
but CheckAccess returns AR_delayed whenever it runs inside an enclosing
delayed-diagnostics scope. That happens when deletion checking runs
synchronously while parsing a later declaration -- e.g. while explaining
why a defaulted operator<=> is deleted for an expression in that
declaration's initializer. The caller cannot consume a delayed
diagnostic, so letting CheckAccess delay always hits
llvm_unreachable("cannot delay =delete computation") and crashes.
Force an immediate answer by wrapping the CheckAccess call in
DelayedDiagnostics.pushUndelayed()/popUndelayed() via llvm::scope_exit,
mirroring the existing Sema::CheckEnableIf pattern in SemaOverload.cpp.
Fixes https://github.com/llvm/llvm-project/issues/210692
Co-authored-by: Claude-Sonnet
https://invent.kde.org/qt/clang/llvm-project/-/commit/97a5889383220967c7ed4eb8d23470d875f8cbcc
Git commit 2697ad154734e49f15f787c180fde969433f2968 by GitHub (on behalf of Nico Weber) on 23/07/2026 at 15:10..
[gn build] Port e04cf35fc64c (#211576)
https://invent.kde.org/qt/clang/llvm-project/-/commit/2697ad154734e49f15f787c180fde969433f2968
Git commit 9b3cc3c1d466f698abb3f59353f9dc638b20ea38 by GitHub (on behalf of Ken Matsui) on 23/07/2026 at 15:11..
[LVI] Infer ranges from mul nuw square conditions (#173127)
A non-poison comparison involving `mul nuw X, X` implies that the
multiplication does not overflow. This bounds X by:
X <= floor(sqrt(2^bitwidth(X) - 1)) (e.g., i16: X <= 255)
An unsigned constant comparison can tighten the bound, e.g.,
`X * X <= 120` implies `X <= 10`.
Fixes https://github.com/llvm/llvm-project/issues/122412
https://invent.kde.org/qt/clang/llvm-project/-/commit/9b3cc3c1d466f698abb3f59353f9dc638b20ea38
Git commit 6690cd6f9f5f0c1ee5157f013b50dfcfcb665f2b by GitHub (on behalf of Dmitry Sidorov) on 23/07/2026 at 15:12..
[DOC] Update SPIR-V Support on HIPAMD ToolChain (#211542)
SPIR-V backend now is the default path.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6690cd6f9f5f0c1ee5157f013b50dfcfcb665f2b
Git commit 4d777c139fc23303e8fc5cc9a78069aef94ab0ab by GitHub (on behalf of Prem C) on 23/07/2026 at 15:17..
[mlir] Handle null region in LoopLikeOpInterface::isDefinedOutsideOfLoop (#204521)
Fixes #203860
In LoopLikeOpInterface::isDefinedOutsideOfLoop default implementation,
value.getParentRegion() can return null during signature conversion
rollbacks when blocks/ops are unlinked. Check for null region to avoid a
segmentation fault.
Also, add a regression test for convert-func-to-llvm with
index-bitwidth=32 on functions with affine.for loops.
https://invent.kde.org/qt/clang/llvm-project/-/commit/4d777c139fc23303e8fc5cc9a78069aef94ab0ab
Git commit 6a12e18df0a181573abacc44c8a6dc6e9fd95a37 by Matt Arsenault on 23/07/2026 at 15:33..
AMDGPU: Migrate misc. tests to subarch triples
https://invent.kde.org/qt/clang/llvm-project/-/commit/6a12e18df0a181573abacc44c8a6dc6e9fd95a37