[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/boomanaiden154/main.webassembly-port-webassemblyregnumberingpass'.
Changed from 344ace7464e35c94881c3a3b5fddfe31416b09fa to a1f0a03143600d0150186d7cbb88db18e4ce648b
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 9bdf7b60cfc6d02a943004729210b429630e3d26 by GitHub (on behalf of Stanislav Mekhanoshin) on 22/07/2026 at 23:22..
[AMDGPU] Fix legalization of V_PK_*64 SGPR to VGPR change (#211357)

Special case for V_PK_*64 instructions: these do not have OPSEL but SGPR
sources behave like OPSEL is set replicating low 64-bits into high. VGPR
sources in turn read actual 4 registers. To move operand from an SGPR to
a VGPR we need to replicate low half.
https://invent.kde.org/qt/clang/llvm/-/commit/9bdf7b60cfc6d02a943004729210b429630e3d26

Git commit 9521d0c03324fb5950727522cdf71d94fd3f68b1 by GitHub (on behalf of Jannick Kremer) on 22/07/2026 at 23:29..
[libclang/python] Unify CompletionChunkKind.__str__ representation (#210676)

This completes the first step of
https://github.com/llvm/llvm-project/issues/156680
This change is a follow-up to
https://github.com/llvm/llvm-project/pull/176631, following the release
branching, to ensure a one release-cycle deprecation period.
https://invent.kde.org/qt/clang/llvm/-/commit/9521d0c03324fb5950727522cdf71d94fd3f68b1

Git commit b66aac64ed3fdb50ce47dd7bbb0ded13c326a132 by GitHub (on behalf of Andres-Salamanca) on 22/07/2026 at 23:31..
[CIR][NFC] Remove unused LLVM lowering for cir.await (#211143)

`cir.await` is always eliminated by the FlattenCFG pass before the
DirectToLLVM conversion. Since the operation never reaches LLVM
lowering, remove the unused lowering implementation.
https://invent.kde.org/qt/clang/llvm/-/commit/b66aac64ed3fdb50ce47dd7bbb0ded13c326a132

Git commit f5f64f81f686b3af7a9ec103e995dffecb10b1bf by GitHub (on behalf of HighW4y2H3ll) on 22/07/2026 at 23:49..
[llvm-profgen] Fix isLBRSample check for 1-deep brstack (#211182)

`isLBRSample` in `checkPerfScriptType` currently don't differentiate the
LBR records in hybrid sample (LBR+Stack) or an LBR sample. It checks
"0x" and "/" for the second pair as a unified way to tell whether the
record is an LBR pair. However, this requires a minimal of 2 pairs of
hybrid LBR samples, otherwise, even a valid LBR record will fail the
`isLBRSample` check. This fix adds an initial check for "0x" and "/" for
the first LBR record so we can handle the case where only 1 pair of LBR
record exists in the hybrid sample.
https://invent.kde.org/qt/clang/llvm/-/commit/f5f64f81f686b3af7a9ec103e995dffecb10b1bf

Git commit 04f124f6151e8c8410e28aba28dc38e590e34c58 by GitHub (on behalf of Amir Ayupov) on 22/07/2026 at 23:52..
[github] Move BOLT reviewers to team (#211422)

Use https://github.com/orgs/llvm/teams/reviewers-bolt in place of
reviewers list, similar to runtimes.
https://invent.kde.org/qt/clang/llvm/-/commit/04f124f6151e8c8410e28aba28dc38e590e34c58

Git commit f90fca77facb3af3069216d9def535bdb3a08c83 by GitHub (on behalf of Alexis Perry-Holby) on 23/07/2026 at 00:55..
[flang] Add Flang Community Call Notes for July 1 (#207055)
https://invent.kde.org/qt/clang/llvm/-/commit/f90fca77facb3af3069216d9def535bdb3a08c83

Git commit 8eca60b49ada8d62e53a3c20dfd157adbe4e4e04 by GitHub (on behalf of Zeyi Xu) on 23/07/2026 at 01:02..
[clang-tidy] Generate Markdown documentation for new checks (#210574)

Update `add_new_check.py` to generate MyST Markdown documentation for
new checks.

Part of https://github.com/llvm/llvm-project/issues/201242
https://invent.kde.org/qt/clang/llvm/-/commit/8eca60b49ada8d62e53a3c20dfd157adbe4e4e04

Git commit d0ec2ec1f2f7f265d07026cefa73956ddce5e87f by GitHub (on behalf of hehuan) on 23/07/2026 at 01:07..
[clang-tidy] Ignore standard tag dispatch types in readability-named-parameter (#208730)

Parameters whose type is a standard tag type (e.g. std::in_place_t,
std::nothrow_t,
iterator tags, lock tags) are used purely for overload resolution and
don't need
a name. This patch skips them.

Added an IgnoredTypes option so users can customize the list. Default
covers 24
standard tag types.

Fixes #208448.

AI Usage: This commit is AI-assisted, reviewed and verified by me.
https://invent.kde.org/qt/clang/llvm/-/commit/d0ec2ec1f2f7f265d07026cefa73956ddce5e87f

Git commit 3b057c340fd148fed95df1cb56dc4c2ab45ab0e2 by GitHub (on behalf of Maksim Levental) on 23/07/2026 at 01:22..
[mlir-c] Add 1:N TypeConverter conversion and materialization bindings (#208935)

Builds on the source/target materialization C bindings (#208934) to
expose the 1:N dialect-conversion functionality through the MLIR C API.
Continues the buildout of the dialect-conversion C bindings (follows
#206146 and #206161).

Assisted by: Claude
https://invent.kde.org/qt/clang/llvm/-/commit/3b057c340fd148fed95df1cb56dc4c2ab45ab0e2

Git commit 21a38909729b5c117b3936eeed640f4054906443 by GitHub (on behalf of Sophia Herrmann) on 23/07/2026 at 01:32..
[Offload] Add numLanes device info to liboffload (#211380)

This adds `OL_DEVICE_INFO_NUM_LANES` to the Offload API device-info enum
and wires it through `olGetDeviceInfo`.
https://invent.kde.org/qt/clang/llvm/-/commit/21a38909729b5c117b3936eeed640f4054906443

Git commit 8bd1cdad89d8cf70928cf4b043177f484c40c469 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 01:39..
[WebAssembly] Port WebAssemblyOptimizeLiveIntervalsPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/209958
https://invent.kde.org/qt/clang/llvm/-/commit/8bd1cdad89d8cf70928cf4b043177f484c40c469

Git commit 70235228b16b9e4ed5d38ab0b733ec43c2c3ba71 by GitHub (on behalf of hulxv) on 23/07/2026 at 01:51..
[CI] Add precommit CIs to test compiler-rt + LLVM libc integration. (#200196)

Add Pre-commit CI to test compiler-rt builtins with libc to check it
works without issues

Split from #197950

Part of #197824

---------

Co-authored-by: Michael Jones <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/70235228b16b9e4ed5d38ab0b733ec43c2c3ba71

Git commit 5efe31fae4264659bd4ff5c071a68637e1ac1704 by GitHub (on behalf of Wenju He) on 23/07/2026 at 02:14..
[Analysis][NFC] Remove redundant include SCCIterator.h from BranchProbabilityInfo (#211259)

It becomes redundant after 35d69e3fe344.
https://invent.kde.org/qt/clang/llvm/-/commit/5efe31fae4264659bd4ff5c071a68637e1ac1704

Git commit 580604f1f3cbdd643a53e086265140a0b2805c5c by GitHub (on behalf of Nikita Taranov) on 23/07/2026 at 02:18..
[X86] Reuse already-materialized values when forming LEAs (#210739)

For code like

``` cpp
int f(int &a, const int &b) {
    a += b + 17;
    return a + b;
}
```

the x86 backend emitted three LEAs, rematerializing `a+b` instead of
reusing the value it had just computed and stored:

``` asm
leal    (%rdi,%rsi), %eax        # a+b   (recomputed)
leal    17(%rdi,%rsi), %ecx      # a+b+17  (stored)
movl    %ecx, (%rdx)
leal    17(%rsi,%rax), %eax      # (a+b)+b+17
```

Reason being that when selecting a LEA address for `add2 = add1 + b`
where `add1 = (a+b)+17` is multi-use (it feeds a store), `matchAdd`
looks through `add1` to sink its `+17` into the displacement,
decomposing an already-materialized value and forcing `a+b` to be
recomputed.

The proposed fix: when forming a LEA, if an operand is a value that the
matcher would decompose into several address components **and is already
materialized in a register** (so reusing it is free), use it directly as
a base/index register instead of splitting it.

``` asm
leal    17(%rdi,%rsi), %eax      # a+b+17
movl    %eax, (%rdx)
addl    %esi, %eax               # + b     — reuses the stored value
```

A value is treated as materialized when it has a use that puts it in a
register **as a value** — a stored value operand, or a `CopyToReg` (a
return value, call argument, or a value live out of the block) — as
opposed to address-only uses (a GEP index, or a load/store pointer)
which fold it for free. This reuses existing idioms: the
`CopyToReg`-means-liveout reasoning mirrors `hasOnlyLiveOutUses`, and
the stored value of a machine store is the operand at
`X86::AddrNumOperands` (as in `X86AvoidStoreForwardingBlocks`).

Identifying whether a value is already materialized is inherently a
heuristic; this PR uses the lightweight use-based check above. The
backend already does this differently for different Ops with varying
levels of sophistication (e.g. the `SUB` case carries a full cost
model). If expert opinion is that this warrants a proper cost model
rather than the boolean check — or a more thorough analysis step — I
will be happy to discuss it and implement if my help is wanted.

No regressions were found on the existing tests.

---

Test changes & MCA

Changed tests: new pr51707.ll; regenerated lea-recursion.ll,
lea-opt-cse1.ll, lea-opt-cse2.ll, lea-opt-cse4.ll. Whole test/CodeGen +
test/DebugInfo sweep: 0 net-new failures (32,757 tests).

`llvm-mca` `Block RThroughput` (cycles/iteration, lower = better),
master → patched, per -mcpu:

```
┌───────────────┬─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬───────────┬───────────┐
│  fn \ μarch   │  core2  │ nehalem │ sandyb  │ haswell │ skylake │ icelake │ alderlake │ sprrapids │
├───────────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ reduced       │ 1.5→1.0 │ 1.5→1.0 │ 1.5→1.0 │ 1.5→1.0 │ 1.0→1.0 │ 1.5→0.5 │ 2.0→1.0   │ 3.0→1.0   │
├───────────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ f             │ 1.5→1.5 │ 1.5→1.5 │ 2.0→1.5 │ 2.0→1.5 │ 1.3→1.0 │ 1.5→1.0 │ 1.5→1.2   │ 3.0→1.0   │
├───────────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ shl_reuse     │ 1.0→1.0 │ 1.0→1.0 │ 1.0→1.0 │ 1.0→1.0 │ 1.0→1.0 │ 1.0→0.7 │ 2.0→1.0   │ 2.0→1.0   │
├───────────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ lea-opt-cse1  │ 2.0→2.0 │ 2.0→2.0 │ 2.3→2.0 │ 2.3→2.0 │ 2.0→2.0 │ 1.5→1.0 │ 2.0→1.5   │ 3.0→1.3   │
├───────────────┼─────────┼─────────┼─────────┼─────────┼─────────┼─────────┼───────────┼───────────┤
│ lea-recursion │ 7.5→7.5 │ 7.5→7.5 │ 7.5→7.5 │ 7.5→7.0 │ 7.0→7.0 │ 6.5→4.0 │ 12.0→5.2  │ 12.0→7.0  │
└───────────────┴─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴───────────┴───────────┘
```

Improvement or neutral on every μarch, growing on newer cores (which
have fewer LEA ports and penalize the 3-source LEAs the patch removes).

Closes #51707.
https://invent.kde.org/qt/clang/llvm/-/commit/580604f1f3cbdd643a53e086265140a0b2805c5c

Git commit 647a5fcae7aa7c953495675fd40b94043888228e by GitHub (on behalf of Luke Lau) on 23/07/2026 at 02:21..
[CodeGen] Mark LIFETIME_START and LIFETIME_END as not safe to move (#211179)

PR #210028 added a run of EarlyMachineLICM before StackColoring removed
LIFETIME_START/LIFETIME_END markers, and it ended up hoisting them which
led to miscompiles. This marks them as not safe to move in
`MachineInstr::isSafeToMove`.

---------

Co-authored-by: Matt Arsenault <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/647a5fcae7aa7c953495675fd40b94043888228e

Git commit eb05d2657b0130a1db130b0cb0d7cfe1d354300e by GitHub (on behalf of Wijkqwe) on 23/07/2026 at 02:30..
[Offload][OpenMP] Skip RPC callback registration when plugin has no devices (#211447)

`__tgt_register_rpc_callback` unconditionally called
`Plugin::getRPCServer()` which asserts if the RPC server pointer is
null. When a plugin is initialized but its RPC server has not been
created (e.g., `NumDevices == 0` in `GenericPluginTy::init()`), this
triggers a crash.

Rather than introducing a nullable accessor, guard the call by also
checking that the plugin has at least one device. A zero-device plugin
has no RPC server to register callbacks with, so the extra check is both
correct and sufficient.

Suggested by @jhuber6 in the review of the previous attempt (#210215).
https://invent.kde.org/qt/clang/llvm/-/commit/eb05d2657b0130a1db130b0cb0d7cfe1d354300e

Git commit 48f1a20589b9b1da2ab211f8bf95e89ed5c10576 by GitHub (on behalf of Fangrui Song) on 23/07/2026 at 02:38..
[LoopInfo] Derive Loop::contains(BlockT*) from the block-to-loop map (#207613)

Each Loop stored its blocks twice: the Blocks vector and a DenseBlockSet
used only for O(1) contains(BlockT *). Block lists are inclusive, so building
LoopInfo inserted every block into that set once per enclosing loop --
an O(blocks * depth) cost.

Drop DenseBlockSet and answer contains(BlockT *) from the innermost loop
in LoopInfoBase's block-number-indexed map. This removes the per-build
set maintenance and shrinks sizeof(Loop) from 160 to 72 bytes. Each Loop
keeps a back-pointer to its LoopInfo for the lookup; contains() stays
total for a block from another function (e.g. a global's use).

Note: A pass restructuring the loop nest must not rely on
`contains(BlockT *)` while the block lists and the map are transiently
out of sync, and should scan getBlocks() instead (as FixIrreducible and
LoopSimplifyCFG do). LoopInfoBase::verify() checks the block lists
rather than contains() for the same reason.

Aided by Claude Opus 4.8
https://invent.kde.org/qt/clang/llvm/-/commit/48f1a20589b9b1da2ab211f8bf95e89ed5c10576

Git commit a812f33a20922c85f26f99bc7e46d0eb214d9277 by GitHub (on behalf of chandan singh) on 23/07/2026 at 02:51..
[LoopVersioningLICM] Do not let llvm.pseudoprobe block loop versioning (#209684)

`LoopVersioningLICM::instructionSafeForVersioning()` rejects any call
that is
not proven to not access memory. `llvm.pseudoprobe` is declared
`IntrInaccessibleMemOnly` (so the optimizer will not delete or sink it),
so
`AA->doesNotAccessMemory()` returns false and the probe is treated as an
unsafe
call site. This disables loop-versioning LICM for essentially every hot
loop
in a sample-based / CSSPGO profile-guided build (in the presence of
`-fpseudo-probe-for-profiling`), since a pseudo probe is inserted on
every basic block.

Pseudo probes are pure profiling placeholders with no observable effect
on the
loop's memory accesses, so skip them in the call-safety check.

RFC:
https://discourse.llvm.org/t/csspgo-unblocking-pseudo-probe-safe-optimizations/90946
https://invent.kde.org/qt/clang/llvm/-/commit/a812f33a20922c85f26f99bc7e46d0eb214d9277

Git commit 07456880699368e1f90ce5b5900a6fb6e96e14ae by GitHub (on behalf of Kazu Hirata) on 23/07/2026 at 02:51..
[SampleProfile] Support Eytzinger layout in SecNameTable (#211027)

This patch supports writing SecNameTable in Eytzinger layout for
ExtBinary MD5 sample profiles via a hidden command-line option,
-sample-profile-write-eytzinger-name-tables.

Specifically, this patch partitions function GUIDs in SecNameTable into
three mutually exclusive sets:

- CSKeys: Those GUIDs used as keys in context-sensitive SecLBRProfile.
- FlatKeys: Those GUIDs used as keys in flat SecLBRProfile.
- Inlinees: Those GUIDs mentioned in SecLBRProfile but not as keys.

Each set is constructed as an independent Eytzinger array using
llvm::EytzingerTable.  The section starts out with the three element
counts followed by the three successive spans.

A subsequent patch will add FuncOffsetTable as arrays parallel to
CSKeys and FlatKeys.  It will introduce binary search into the
Eytzinger name table, taking advantage of the cache-friendly layout.

RFC:
https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/8

Assisted-by: Antigravity
https://invent.kde.org/qt/clang/llvm/-/commit/07456880699368e1f90ce5b5900a6fb6e96e14ae

Git commit 2c8d11e8d46ce90e09d5e9b0deec210f03199bba by GitHub (on behalf of Eugene Epshteyn) on 23/07/2026 at 03:15..
[flang][NFC] Delete the legacy expression lowering (ConvertExpr.cpp) and its support files (#210873)

The legacy (non-HLFIR) lowering was removed in cc4922b27694 (#196205),
but ConvertExpr.cpp and its ComponentPath/IterationSpace support files
were left behind. Their last callers have since been migrated or removed
(#210385: OpenMP iterator subscripts via genExprValue; #210621: initial
values via ConvertConstant; #210639: unreachable FORALL/WHERE machinery
deleted from Bridge.cpp), so nothing outside these files references them
anymore.

- Delete ConvertExpr.{cpp,h}, ComponentPath.{cpp,h},
IterationSpace.{cpp,h}. (createArrayLoads/createArrayMergeStores are
declared in IterationSpace.h but were defined in ConvertExpr.cpp - they
die together; no external callers.)
- CMakeLists.txt: drop the three sources and the ConvertExpr.h /
IterationSpace.h PRECOMPILE_HEADERS entries.
- Remove stale includes (verified symbol-free): IO.cpp,
OpenMP/OpenMP.cpp, DirectivesCommon.h (ConvertExpr.h); Allocatable.cpp,
Support/Utils.cpp (IterationSpace.h).
- Support/Utils.{h,cpp}: remove the ExplicitSpaceArrayBases alias and
its getHashValue/isEqual overloads; the SomeExpr* and Component*
variants stay (live via ExprToValueMap and HLFIR lowering).
This also deletes six small Optimizer/Builder helpers whose last callers
were in ConvertExpr.cpp — fir::factory::genLenOfCharacter,
getNonDeferredLenParams, getExtentFromTriplet (FIRBuilder),
getExtentAtDimension (BoxValue), fir::factory::getRealloc
(LowLevelIntrinsics), and the genCharacterCopy template (Factory.h).
Their removal orphans nothing further; Factory.h and LowLevelIntrinsics
retain their live content.
- Docs: drop the ConvertExpr.cpp section from fstack-arrays.md and the
stale ConvertExpr.cpp TODO inventories from ParameterizedDerivedTypes.md
and ProcedurePointer.md.
No functional change: everything removed is unreachable. Downstream
forks using the deleted entry points will break at compile time; this is
intended (precedent: cc4922b27694).

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm/-/commit/2c8d11e8d46ce90e09d5e9b0deec210f03199bba

Git commit 192d8800e186ce0f4f80fb685e27b5327bb8c4ee by GitHub (on behalf of Lang Hames) on 23/07/2026 at 03:25..
[orc-rt] Add comment to clarify intended control flow. NFC. (#211454)
https://invent.kde.org/qt/clang/llvm/-/commit/192d8800e186ce0f4f80fb685e27b5327bb8c4ee

Git commit 116dd2b7c81fc04685842cd1dbe65ae57d9bc861 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:28..
[WebAssembly] Port WebAssemblyMemIntrinsicResultsPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/209959
https://invent.kde.org/qt/clang/llvm/-/commit/116dd2b7c81fc04685842cd1dbe65ae57d9bc861

Git commit 244d48473501cb00124d3315bd938dc1ed734cdf by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:34..
[WebAssembly] Port WebAssemblyRegStackifyPass

Standard NewPM pass porting.

Reviewers: aheejin, sbc100, dschuff

Pull Request: https://github.com/llvm/llvm-project/pull/210224
https://invent.kde.org/qt/clang/llvm/-/commit/244d48473501cb00124d3315bd938dc1ed734cdf

Git commit 0f2b9a12943dfde66c1bc5720bba95a07a27c027 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:37..
[WebAssembly] Port WebAssemblyRegColoringPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210225
https://invent.kde.org/qt/clang/llvm/-/commit/0f2b9a12943dfde66c1bc5720bba95a07a27c027

Git commit 45ea33c65ed3c01a3f08584ffc36c53720a1bc68 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:38..
[WebAssembly] Refactor WebAssemblyExceptionInfo into Wrapper Pass

This is to match the standard style adopted by generic CodeGen analyses
like MachineBlockFrequencyInfo. This makes WebAssemblyExceptionInfo its
own class that we then get through the wrapper pass.

The primary aim of this patch is to add enough modularity such that we
can also provide this analysis through the NewPM in a follow up patch.

Reviewers: dschuff, sbc100, aheejin

Reviewed By: dschuff, aheejin

Pull Request: https://github.com/llvm/llvm-project/pull/210245
https://invent.kde.org/qt/clang/llvm/-/commit/45ea33c65ed3c01a3f08584ffc36c53720a1bc68

Git commit 8a7cedc6b30d8adb1928f5306660ed9f412f04b6 by GitHub (on behalf of Luke Lau) on 23/07/2026 at 03:38..
Reapply "[RISCV] Run EarlyMachineLICM before VLOptimizer to hoist constant splats" (#210937) (#211452)

This reverts commit acfaabebcfd10d4dbabeb54cf0c60509648fb82f.

The miscompile with LIFETIME_START/END markers should be fixed now
after #211179
https://invent.kde.org/qt/clang/llvm/-/commit/8a7cedc6b30d8adb1928f5306660ed9f412f04b6

Git commit c974ee99b34b034c8b7d233f50b07f2b77324224 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:39..
[WebAssembly] Port WebAssemblyExceptionAnalysis

Similar to the LegacyPM version, but we need to add a move constructor
to WebAssemblyExceptionInfo and set up some invalidation for the NewPM
given we don't need to invalidate if the CFG doesn't change.

Reviewers: sbc100, aheejin, dschuff

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

Git commit 45b30651cf94ddb32676550cca7ddd3f6a5e66e0 by GitHub (on behalf of Phoebe Wang) on 23/07/2026 at 03:43..
[X86][CCMP] Fix invalid CCMP emission (#211161)

This patch ports AArch64's negation-aware conjunction algorithm to fix
invalid CCMP emission when OR nested inside an AND.

Example: https://godbolt.org/z/ave7f61hK

Before the change, the above case returns 5 rather the 9 when CCMP
enabled.

Assisted-by: Claude Opus 4.8
https://invent.kde.org/qt/clang/llvm/-/commit/45b30651cf94ddb32676550cca7ddd3f6a5e66e0

Git commit 389762329d50abc2d4997460ed2b4d7e7fc8ecfb by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:48..
[WebAssembly] Port WebAssemblyCFGSortPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210247
https://invent.kde.org/qt/clang/llvm/-/commit/389762329d50abc2d4997460ed2b4d7e7fc8ecfb

Git commit e14b11b74dcafea1e2a71b9788b85b34ab4cf1e6 by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:51..
[WebAssembly] Port WebAssemblyCFGStackifyPass

Standard NewPM pass porting.

Reviewers: dschuff, sbc100, aheejin

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

Git commit bdddd134c1af6b0c5196ea944edf4c5c76019306 by GitHub (on behalf of Jonas Devlieghere) on 23/07/2026 at 03:52..
[DebugInfo] Don't assert on missing template parameter names (#211412)

The DWARF verifier reconstructs simplified template names through
DWARFTypePrinter to compare them against the original DW_AT_name. On
malformed input, a template parameter can have no recoverable name,
which tripped assert(RawName) and aborted instead of letting the
verifier report the problem.

Assisted-by: Claude

rdar://182715403
https://invent.kde.org/qt/clang/llvm/-/commit/bdddd134c1af6b0c5196ea944edf4c5c76019306

Git commit 90bed5073e12836f8511c6d8dd7c553345b87f7a by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:53..
[WebAssembly] Port WebAssemblyExplicitLocalsPass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210256
https://invent.kde.org/qt/clang/llvm/-/commit/90bed5073e12836f8511c6d8dd7c553345b87f7a

Git commit 8bae4dc36e063dadb13dc883eaad4270430b1f9c by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:54..
[WebAssembly] Port WebAssemblyLowerBrUnlessPass

Standard NewPM pass porting.

Reviewers: dschuff, sbc100, aheejin

Pull Request: https://github.com/llvm/llvm-project/pull/210257
https://invent.kde.org/qt/clang/llvm/-/commit/8bae4dc36e063dadb13dc883eaad4270430b1f9c

Git commit 131a742a3a4325866ed8ab1aa0088e665cfe463b by GitHub (on behalf of Aiden Grossman) on 23/07/2026 at 03:56..
[WebAssembly] Port WebAssemblyPeepholePass

Standard NewPM pass porting.

Reviewers: dschuff, aheejin, sbc100

Pull Request: https://github.com/llvm/llvm-project/pull/210436
https://invent.kde.org/qt/clang/llvm/-/commit/131a742a3a4325866ed8ab1aa0088e665cfe463b

Git commit a1f0a03143600d0150186d7cbb88db18e4ce648b by Aiden Grossman on 23/07/2026 at 03:57..
[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
https://invent.kde.org/qt/clang/llvm/-/commit/a1f0a03143600d0150186d7cbb88db18e4ce648b
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.