[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/tblah/expression-rewrite-generalisation-2'.
Changed from 0000000000000000000000000000000000000000 to cfb50688baf16ffb3681a1facaea2c675e0acc04
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 9c756612c7a0231ba40982ab2c7f8b6cf8fb895b by GitHub (on behalf of Florian Hahn) on 24/07/2026 at 11:20..
[LV] Simplify VPCostContext ctor by using VFSelectionContext (NFC). (#211765)

VFSelectionContext provides most fields needed. Pass it directly and
access its fields.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9c756612c7a0231ba40982ab2c7f8b6cf8fb895b

Git commit 98195e0458dd5ec037785a6f861c6402bec778b3 by GitHub (on behalf of Twice) on 24/07/2026 at 11:34..
[MLIR][Python] Make Python-defined dialect loading context-aware (#210501)

Python-defined dialect loading currently relies on
`Dialect._mlir_module` to infer whether a dialect has already been
loaded. This state belongs to the Python dialect class rather than an
MLIR context.

Consequently, loading the same dialect after switching contexts requires
`reload=True`, while reloading it in a context where it is already
present can hit the operation registration assertion reported in
#210053.

This patch adds `mlirContextGetLoadedDialect` (following
https://github.com/llvm/lighthouse/pull/228#discussion_r3589792891) to
the C API and exposes it as `Context.is_dialect_loaded`.
`Dialect.load()` now queries the active context:
- loading a dialect more than once in the same context raises a
`RuntimeError`;
- loading the same Python-defined dialect in another context succeeds
without a `reload` flag.

The `reload` parameter is semantically wrong (mentioned in
https://github.com/llvm/lighthouse/pull/228#discussion_r3586672116) thus
removed from the API as a small breaking change. Usually, users who are
using `reload` can just remove it and everything will work fine.

Fixes #210053.
Assisted by GPT 5.6 Sol (for writing test cases).
https://invent.kde.org/qt/clang/llvm-project/-/commit/98195e0458dd5ec037785a6f861c6402bec778b3

Git commit b82563ac9ace38a1f4217c573fd63fa2d94eccd0 by GitHub (on behalf of Krzysztof Parzyszek) on 24/07/2026 at 11:51..
[OpenMP] Fix build error after 19857baa71 (#211771)

Some builders using older versions of gcc encounter this issue:

```
llvm/include/llvm/Frontend/OpenMP/OMP.h:138:14: error: ‘Base’ has not been declared
  138 |   assert(Set.Base::test(At));
      |              ^~~~
```

E.g. https://lab.llvm.org/buildbot/#/builders/10/builds/32524
https://invent.kde.org/qt/clang/llvm-project/-/commit/b82563ac9ace38a1f4217c573fd63fa2d94eccd0

Git commit 81cedf1e2060dbc2c5be43a6be0c86d6ba76df8d by GitHub (on behalf of Krisitan Erik Olsen) on 24/07/2026 at 11:53..
[VPlan] Fix sentinel assertion when broadcasting invoke results (#210464)

VPTransformState::get broadcasts a scalar value by inserting after the
last scalarized instruction using
std::next(BasicBlock::iterator(LastInst)). When LastInst is a terminator
like invoke, std::next advances past the end of the block, hitting the
!isKnownSentinel() assertion.

Use Instruction::getInsertionPointAfterDef which correctly handles PHIs,
invokes, and regular instructions, matching the pattern already used in
VectorCombine.cpp.

Fixes #210342
https://invent.kde.org/qt/clang/llvm-project/-/commit/81cedf1e2060dbc2c5be43a6be0c86d6ba76df8d

Git commit 82488f0e7119dd05cd63329458733e8c295f0338 by GitHub (on behalf of Jinjie Huang) on 24/07/2026 at 11:55..
[BOLT] Fix pwrite assertion failure via a new safePWrite wrapper (#198569)

Background: Currently, BOLT seems to implicitly assume that the .dynsym
section is located at a low offset within the binary, calling pwrite()
directly to update it.

Issue: In scenarios where the binary has been modified by tools like
patchelf, sections like .dynsym may be moved to a high offset area. This
can lead to a violation of the Offset + Size <= Pos assertion in
pwrite(). A typical scenario is when the previous eh_frame_header update
moves the stream cursor (pos) back to a low
offset([code](https://github.com/llvm/llvm-project/blob/llvmorg-23-init/bolt/lib/Rewrite/RewriteInstance.cpp#L6387)).

Fix: This patch resolves the pwrite assertion failure via a new
safePWrite wrapper, which introduces a defensive check that verifies and
conditionally adjusts the stream position. A corresponding test case has
also been added.
https://invent.kde.org/qt/clang/llvm-project/-/commit/82488f0e7119dd05cd63329458733e8c295f0338

Git commit 62b809a37aac6cf2f64e99e9efba89dd8731920d by GitHub (on behalf of Louis Dionne) on 24/07/2026 at 12:18..
[libc++] Consistently install Python and dependencies across macOS CI jobs (#211659)

On the macOS self-hosted runners, we need to install dependencies via
Homebrew and pinning the Xcode version is good for reproducibility. This
applies the guidelines documented in #211622 to libc++'s CI jobs.
https://invent.kde.org/qt/clang/llvm-project/-/commit/62b809a37aac6cf2f64e99e9efba89dd8731920d

Git commit 697f0f3b20d371d9e417891d9cdfb6a3613d7828 by GitHub (on behalf of Kerry McLaughlin) on 24/07/2026 at 12:37..
[NFC] Regenerate CHECK lines in scalable-strict-fadd.ll (#211573)
https://invent.kde.org/qt/clang/llvm-project/-/commit/697f0f3b20d371d9e417891d9cdfb6a3613d7828

Git commit dd1f97501758ccf5952f862f46f0ba15cbd23dcf by GitHub (on behalf of Jinsong Ji) on 24/07/2026 at 13:08..
[VectorCombine] Fix infinite loop in foldShuffleToIdentity (#211717)

PR #211508 ("foldShuffleToIdentity - ensure we push any created
instructions to the WorkList") started re-queueing every instruction
created by generateNewInstTree onto the VectorCombine worklist. When the
regenerated tree contains a bitcast, re-queueing the bitcast's operand
lets foldBitcastShuffle sink the bitcast back into a shuffle(bitcast),
which foldShuffleToIdentity then re-matches as the same superfluous
identity. On a widen/concat shuffle chain feeding a bitcast the two
folds
ping-pong and the pass never reaches a fixed point (observed as an opt
-O3 hang/timeout).

Keep the WorkList threading from PR #211508 (it enables further folds,
e.g. the improved intrinsics_minmax and two_concats cases) but don't
re-queue the operand of a regenerated bitcast, which is the only push
that feeds the foldBitcastShuffle <-> foldShuffleToIdentity loop.

Add an X86 regression test that previously looped and now terminates.

Co-Authored-By: Claude Opus 4.8 <[email protected]>

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

Git commit fdbbcba77d625a5c403aea78b5b7fc64547fa558 by GitHub (on behalf of Hocky Yudhiono) on 24/07/2026 at 13:22..
[mlir][affine] Add affine.for verifier and move arguments check earlier (#206685)

Fixes #206628 crash by adding an earlier body argument verifier for
`affine.for`. This crash is caused because `LoopLikeOpInterface`
verifier would call `getRegionIterArgs()` and assumed induction var of
`affine.for` exists.
https://invent.kde.org/qt/clang/llvm-project/-/commit/fdbbcba77d625a5c403aea78b5b7fc64547fa558

Git commit 42176da77a4653a2fb55a0bbead0296fe6873c7d by GitHub (on behalf of Jon Roelofs) on 24/07/2026 at 13:33..
[llvm][AArch64] Fix the location of PAuth_LR AUT CFI (#211702)

Unlike PAC CFI, we do not have the same unwinder constraint on PAuth_LR
CFI occurring before the PAC instruction. For AUT CFI, like other CFI
opcodes, these should always occur after the instruciton that they
reference.
https://invent.kde.org/qt/clang/llvm-project/-/commit/42176da77a4653a2fb55a0bbead0296fe6873c7d

Git commit 1ada3044291aa3215b9deb2aeec3e952c13c2813 by GitHub (on behalf of Matsu) on 24/07/2026 at 13:37..
[mlir][OpenACC] Keep ThreadY active for inner-combine-fed worker reductions (#211696)

Example:
```fortran
res = 0
!$cuf kernel do(2) <<< *, (32,8) >>> reduce(+:res)
do j2 = 1, n2
  do j1 = 1, n1
    res = res + a(j1, j2)
  end do
end do
```
In this code the reduction accumulator is per-(block_y, thread_y): each
worker row's shared slot is filled by an inner block-scoped combine, so
the rows hold distinct partials. The final combine into the result was
classified as not "worker-private" (block_y+thread_y into a global
dest), so it fell back to the ThreadY row-zero path and dropped every
worker but row 0 — a 2D SUM returned -1 instead of -4.
Fix: keep ThreadY active for a block_y+thread_y accumulator that is fed
by an inner block-scoped combine (distinct per-worker partials). A plain
worker accumulate still lowers to a worker-wide all_reduce that
broadcasts the total, so it correctly stays row-zero and is not
multiplied by the worker count.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1ada3044291aa3215b9deb2aeec3e952c13c2813

Git commit ba42905dfdb184fe054591bb81384efbb8a6fd46 by GitHub (on behalf of Jon Roelofs) on 24/07/2026 at 13:43..
[llvm][AArch64] Add a test for -aarch64-cfi-llvm-set-ra-sign-state='s default (#211791)
https://invent.kde.org/qt/clang/llvm-project/-/commit/ba42905dfdb184fe054591bb81384efbb8a6fd46

Git commit af795ffee92313af4a439919264737d4d9d7886c by GitHub (on behalf of Dragan Mladjenovic) on 24/07/2026 at 13:47..
[AMDGPU] Fix pre-GFX11 llvm.fptosi.sat.i16.f32 lowering (#211703)
https://invent.kde.org/qt/clang/llvm-project/-/commit/af795ffee92313af4a439919264737d4d9d7886c

Git commit 3cf44478fcf54c8996c88c1214d2170c69d4a01f by GitHub (on behalf of Alexey Bataev) on 24/07/2026 at 14:04..
[ConstantFolding]Fold llvm.powi via square-and-multiply (#210771)

Compute constant-folded powi using APFloat multiplies in the operand's
own semantics (square-and-multiply), matching the expansion
ExpandPowI generates in SelectionDAGBuilder, instead of routing
through std::pow via double/float conversion.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3cf44478fcf54c8996c88c1214d2170c69d4a01f

Git commit eeeaad979cc68b19bdd3ed27db579d2f8974f3a8 by GitHub (on behalf of Orlando Cazalet-Hyams) on 24/07/2026 at 14:07..
Add !metadata_section_kind global variable metadata (#211524)

Similar to !exclude in that this attempts to guide section + flag
choices in a generic/abstract way.

`!exclude` tells LLVM to use the generic `SectionKind::Exclude` for the
globals. Likewise, `!metadata_section_kind` tells LLVM to use
`SectionKind::Metadata`.

The added docs go into a little more detail.

This is needed for the dynamic debugging feature, otherwise there's no
way to avoid `SHF_EXCLUDE` or `SHF_ALLOC` flags being added to the
section without special handling based on its name. We've moved to using
a new section type for dynamic debugging and we don't want to rely on
the name, which may be omitted.
https://invent.kde.org/qt/clang/llvm-project/-/commit/eeeaad979cc68b19bdd3ed27db579d2f8974f3a8

Git commit cfb50688baf16ffb3681a1facaea2c675e0acc04 by Tom Eccles on 24/07/2026 at 15:20..
[Flang][Lower] Flatten signed real sum terms

Second part of generalisations requested in #207377.

Extend real sum reassociation to flatten unparenthesized addition and
subtraction into signed terms. Rebuild split groups with addition and
subtraction while preserving parenthesized subtrees as opaque values.

I did not observe any benchmark result changes as a result of this
patch.

Assisted-by: Codex
https://invent.kde.org/qt/clang/llvm-project/-/commit/cfb50688baf16ffb3681a1facaea2c675e0acc04
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.