[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/jerryyin/amdgpu-isreallyaclobber-aa'.
Changed from 5023ca18471337d8977604002db3d6acb385b2e2 to 2958d9f07c54726c5e2c8bfd5ca4f38e7de91499
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 8d933f7478435d35b6f3b6123318f1e353adea88 by GitHub (on behalf of Joshua Batista) on 23/07/2026 at 17:13..
Add InterlockedAdd resource methods (#208128)

This PR builds upon the work merged in
https://github.com/llvm/llvm-project/pull/195742, and completes the
implementation of the InterlockedAdd functions in HLSL, by adding these
methods to the existing resource types.
Fixes: https://github.com/llvm/llvm-project/issues/99122
Assisted by: Github Copilot
https://invent.kde.org/qt/clang/llvm/-/commit/8d933f7478435d35b6f3b6123318f1e353adea88

Git commit 710cca19f0d1d95174cc52bc41df56c26b9f19d2 by GitHub (on behalf of Florian Hahn) on 23/07/2026 at 17:15..
[LV] Use planner's TTI in executePlan instead of CM.TTI (NFC) (#211588)

LoopVectorizationPlanner already holds TTI, no need to go through CM.
https://invent.kde.org/qt/clang/llvm/-/commit/710cca19f0d1d95174cc52bc41df56c26b9f19d2

Git commit 89e637a8dca75d4a71e4a1ce669397d59ce77ab7 by GitHub (on behalf of Shilei Tian) on 23/07/2026 at 17:15..
[NFC][AMDGPU] Remove reundant run lines from two test cases (#211575)
https://invent.kde.org/qt/clang/llvm/-/commit/89e637a8dca75d4a71e4a1ce669397d59ce77ab7

Git commit 7f140055b724bfd0759807b79ee1b8544f023340 by GitHub (on behalf of Louis Dionne) on 23/07/2026 at 17:21..
[libc++] Pin down the compiler in the various benchmark scripts and jobs (#211563)

We have various scripts that build and test the library at pinpointed
commits: benchmark-historical, run-benchmarks, build-at-commit and
test-at-commit. They were handling the compiler in different ways: some
scripts would just run the libc++ build (or test suite configuration)
without specifying the compiler, which means the $CXX environment
variable was used if present. Other scripts (e.g. run-benchmarks) would
accept the compiler as an argument, but would fail to pass it down when
configuring the test suite, which led to issues.

This patch passes the compiler explicitly in all scripts: this removes
any potential confusion around how the compiler should be specified (env
var or argument). The only exception is build-at-commit, where the
compiler is still specified by passing the appropriate CMake arguments.
The reason for this exception is that passing arguments to CMake is
actually the way we want to configure aspects of the build (and the test
suite) in the long term, it's just that the test suite doesn't support
this cleanly due to the CMake/Lit split at the moment.

In the longer term, `test-at-commit` should also lose its `--compiler`
argument in favour of being able to pass CMake parameters to the test
suite configuration, but we are not there yet.
https://invent.kde.org/qt/clang/llvm/-/commit/7f140055b724bfd0759807b79ee1b8544f023340

Git commit 36916031c97477f8d865488185cfb7da89aa5d21 by GitHub (on behalf of Farzon Lotfi) on 23/07/2026 at 17:23..
[SPIRV][Matrix] Change Matrix Shader legalization to largest common divisor (#207768)

fixes #186864

New process for matrix legalization documented here:
https://github.com/llvm/wg-hlsl/pull/446

The current Matrix legalization strategy is to take a vector of and
expanded to a larger power of 2 vector and then split it into vectors of
size 4. For example a vector of size 6 is expanded to 8, and then split.

This creates uniform 4-lane chunks but requires padding. For example
`<12>`-->`<16>`, `<6>`-->`<8>`, `<9>`-->`<16>`. These forces an illegal
wide `G_BUILD_VECTOR` with undef lanes. This padding wastes lanes and
  adds undef bookkeeping the backend must then clean up.

Instead This PR splits both operands into `W`-lane chunks, where `W` is
the largest divisor of the element count in `[2, MaxVectorSize]` shared
by source and destination (`<12>`-->3×`<4>`, `<6>`-->2×`<3>`,
`<9>`-->3×`<3>`), and emit chained per-chunk `OpVectorShuffle`s. This
keeps every chunk a legal SPIR-V vector with no undef padding and
preserves vectorized `OpDot`/`OpSelect` downstream.

Assisted with Claude Opus 4.8 via Co-pilot
https://invent.kde.org/qt/clang/llvm/-/commit/36916031c97477f8d865488185cfb7da89aa5d21

Git commit c98ace924d8bd6ce357a993832c9dffde0806823 by GitHub (on behalf of Valery Pykhtin) on 23/07/2026 at 17:34..
[NFC][AMDGPU] Use SIInstrFlags predicates in AMDGPUAsmParser (#210998)
https://invent.kde.org/qt/clang/llvm/-/commit/c98ace924d8bd6ce357a993832c9dffde0806823

Git commit 04b71a38393a85db49047d547fd9d94aafa1857b by GitHub (on behalf of vangthao95) on 23/07/2026 at 17:48..
[AMDGPU] Regenerate failing packed-fp64.ll test (#211616)

Missed this one in https://github.com/llvm/llvm-project/pull/211598.
https://invent.kde.org/qt/clang/llvm/-/commit/04b71a38393a85db49047d547fd9d94aafa1857b

Git commit 8f64a4806ffbf577a91390750c2701de2c6496af by GitHub (on behalf of Ian.han) on 23/07/2026 at 17:50..
[sanitizer_common] Don't crash in fopen64 interceptor when path is NULL (#211468)

`fopen` was fixed to tolerate a NULL `path` in 2015 (1d1be3dd8822), and
`freopen`/`freopen64` carry the same `if (path)` guard. `fopen64` was
missed, so `fopen64(NULL, mode)` dereferences NULL inside the
interceptor and crashes under sanitizers, even though real `fopen64`
would just return NULL/EFAULT.

Add the missing `if (path)` guard, plus a regression test mirroring
`fopen_nullptr.c`. Since `fopen64` is only intercepted on glibc
(`SANITIZER_INTERCEPT_FOPEN64`), the test is placed under `Linux/` and
gated with `// REQUIRES: glibc`.
https://invent.kde.org/qt/clang/llvm/-/commit/8f64a4806ffbf577a91390750c2701de2c6496af

Git commit 88d17fa88fb58d8b2d64e923dc4dc7b043201b87 by GitHub (on behalf of Jessica Clarke) on 23/07/2026 at 18:00..
[NFC][test][ELF] Check DSO's ifunc2 is in .iplt in aarch64-ifunc-bti.s (#210618)

This mirror's the PIE's CHECK lines, which were already stricter.

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
https://invent.kde.org/qt/clang/llvm/-/commit/88d17fa88fb58d8b2d64e923dc4dc7b043201b87

Git commit 50ce5f724db70b9b520002fda1098dc19a87ff07 by GitHub (on behalf of Jessica Clarke) on 23/07/2026 at 18:00..
[NFC][test][ELF] Improve ppc32-ifunc-nonpreemptible-(no)pic.s (#210611)

Firstly, the nopic test had an unused HEX check line when it should have
been checking .got.plt, and the pic test was only checking .got2, also
ignoring .got.plt.

Secondly, the indentation for instructions was inconsistent within a
single file.

Thirdly, neither test was actually checking the code for func's IPLT
entry in .glink, only that the symbol existed as a normal function that
wasn't the same as the resolver, and the nopic test wasn't even testing
the full contents of the PLT call stub, which was inconsistent with the
pic test.

Fourthly, the pic test used the same output file for two different
links, which can be confusing when debugging.

Finally, the comment at the start of the pic test's PLT call stub had no
bearing on the immediate in use, instead being the same as the nopic's
one with the 4 subtracted from both sides (presumably trying to account
for the nopic test not having the extra .got2 entry, but neglecting the
fact that it's not using absolute addressing, and even if it were, the
addresses are entirely different).

---

<sub>Stack created with <a
href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a
href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub>
https://invent.kde.org/qt/clang/llvm/-/commit/50ce5f724db70b9b520002fda1098dc19a87ff07

Git commit 81820b5112017197045418813457dd6eb35aac08 by GitHub (on behalf of Jonas Devlieghere) on 23/07/2026 at 18:04..
[lldb] Skip the WebAssembly function header when setting a breakpoint (#211289)

A WebAssembly function begins with a local variable declaration header
that is part of the function but is not an executable instruction. A
breakpoint at a raw function start, such as one added by a scripted
resolver, landed on the header and could never be hit. Name and
file-and-line breakpoints already move past it, because that is handled
at the line-table level.

The disassembler already skipped this header inline. Move that logic
behind a new Architecture:: SkipFunctionHeader hook, implemented
by a new WebAssembly architecture plugin, and call it from both the
disassembler and Breakpoint::AddLocation so any breakpoint resolves to
the first instruction.
https://invent.kde.org/qt/clang/llvm/-/commit/81820b5112017197045418813457dd6eb35aac08

Git commit df68991c067e505233856f7399772d424f89478f by GitHub (on behalf of Vijay Kandiah) on 23/07/2026 at 18:05..
[flang][cuda] Fix CUFPredefinedVarToGPU for a shared builtin address_of (#211628)

`CUFPredefinedVarToGPU` rewrites references to the predefined CUDA
builtins (`threadidx`/`blockidx`/`blockdim`/`griddim`) into GPU special-register
reads. For each predefined-var `fir.declare` it also erased the declare's
backing `fir.address_of`. That assumed every declare owns a
private `address_of`, which is only true before CSE. Once a single
`fir.address_of` of a builtin is shared by several `fir.declare`s — e.g.
after a `device` routine is inlined into a `global` kernel and CSE coalesces the
duplicated `address_of` ops — the pass queued that one op for deletion
once per declare and erased it while another declare still used it, thus aborting
compilation with `'fir.address_of' op operation destroyed but still has uses` error.

With this PR, the backing ops are collected into a de-duplicated set and
erased after all predefined declares are gone, and only when `use_empty()`.
This makes the deletion safe regardless of how many declares share an
`address_of`, and leaves it untouched if any other user remains.
https://invent.kde.org/qt/clang/llvm/-/commit/df68991c067e505233856f7399772d424f89478f

Git commit 2f730a82cc6cb71d2b1a86dbb67927a72a54aec6 by GitHub (on behalf of Matt Arsenault) on 23/07/2026 at 18:10..
llvm-mca: Stop defaulting to "native" for the CPU (#211612)

This would warn whenever using a triple that isn't for the host
architecture. Other tools don't do this. Copy what llc does and
default to no cpu.
https://invent.kde.org/qt/clang/llvm/-/commit/2f730a82cc6cb71d2b1a86dbb67927a72a54aec6

Git commit ac61623826d858333039ff56ef60e91afd295c5f by GitHub (on behalf of Amr Hesham) on 23/07/2026 at 18:11..
[CIR] Implement convert to atomic intptr through temp alloca (#210794)

Implement the conversion to atomic int pointer through temp alloca
https://invent.kde.org/qt/clang/llvm/-/commit/ac61623826d858333039ff56ef60e91afd295c5f

Git commit aa00eae9f05129c05a39446a85746502b0f7bd9b by GitHub (on behalf of Alexey Bataev) on 23/07/2026 at 18:17..
[SLP][NFC]Add a test with the reassociative fma, NFC



Reviewers: 

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

Git commit 2958d9f07c54726c5e2c8bfd5ca4f38e7de91499 by jerryyin (on behalf of Jerry Yin) on 23/07/2026 at 18:23..
[AMDGPU] Consult AA for non-atomic clobbers in isReallyAClobber

isReallyAClobber (used by AMDGPUAnnotateUniformValues to decide whether a uniform
load may be marked !amdgpu.noclobber) only queried alias analysis for atomics;
every other memory-writing MemoryDef (plain stores, memory intrinsics, calls)
fell through to an unconditional "return true", declaring it a clobber without
asking AA.

As a result a uniform, read-only load is denied !amdgpu.noclobber whenever
MemorySSA's clobber walk surfaces such a def through a loop MemoryPhi, even when
AA can trivially prove NoAlias (e.g. an LDS/addrspace(3) write vs a
global/addrspace(1) load). Without noclobber the load is selected as a vector
GLOBAL_LOAD instead of a scalar s_load, adding a v_readfirstlane round-trip when
the value feeds a scalar operand.

Query AA generally via getModRefInfo for the fall-through case, while keeping the
fence/barrier whitelist and the pointer-level atomic special case (getModRefInfo
over-reports Mod for an atomic's ordering effects). The load's MemoryLocation is
threaded through so addressing/size precision applies.
https://invent.kde.org/qt/clang/llvm/-/commit/2958d9f07c54726c5e2c8bfd5ca4f38e7de91499
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.