[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/main'.
Changed from 6a55a52cabb5760902af7aa970dd37a323e255ad to 6bb30c03650c9ebc816d089ea78b36a246116f07
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 776971a11fdce76b243bd94b1fe7d2b1957da969 by GitHub (on behalf of Pengcheng Wang) on 28/07/2026 at 05:25..
Revert "[RISCV] Add TuneNoDefaultUnroll to generic CPUs (#135318)" (#212400)

This reverts commit 9c5858eb699390c2cac5f7f032279be275fa6aef which
causes some regressions.
https://invent.kde.org/qt/clang/llvm/-/commit/776971a11fdce76b243bd94b1fe7d2b1957da969

Git commit 2f6ec89938aa12ba5190477032b974524c956b54 by GitHub (on behalf of Corentin Jabot) on 28/07/2026 at 05:46..
[Clang] Implement P3658R1 (#212131)

As a DR in all C++ language modes.
Because we already supported the feature this is only modifying the
extensions warnings.
https://invent.kde.org/qt/clang/llvm/-/commit/2f6ec89938aa12ba5190477032b974524c956b54

Git commit 0a30b0c8909dca8764d994a748bd7d53c68d94f7 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 06:03..
AMDGPU: Declare FeatureDPP with AMDGPUSubtargetFeature (#212408)

All other features were defined using the AMDGPUSubtargetFeature
subclass of SubtargetFeature, so fix the odd one out.
https://invent.kde.org/qt/clang/llvm/-/commit/0a30b0c8909dca8764d994a748bd7d53c68d94f7

Git commit de962dda125154abb64446c198b5349cf05311cb by GitHub (on behalf of Hui) on 28/07/2026 at 06:15..
[libc++] Implement P0528R3 `std::atomic` CAS for types with padding (#76180)

Fixes #99984

Implement P0528R3 The Curious Case of Padding Bits, Featuring Atomic
Compare-and-Exchange


The unit test padding.pass.cpp is assisted by Cursor. However, all tests
have been modified to test what I wanted to test

---------

Co-authored-by: Louis Dionne <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/de962dda125154abb64446c198b5349cf05311cb

Git commit ed4090047fb6c40d8d014559da16cee934f124c0 by GitHub (on behalf of Kazu Hirata) on 28/07/2026 at 06:17..
[SampleProfile] Fix symbol partitioning in Eytzinger name table (#211906)

This patch fixes the symbol partitioning between context-sensitive
and flat profiles in writeEytzingerNameTableSection.

In split-layout profiles, top-level symbols in the Eytzinger name
table are partitioned into two bins -- context-sensitive and flat keys
-- so that they form parallel arrays with function offsets.

Without this patch, writeEytzingerNameTableSection uses:

  if (Ctx.hasContext())

to decide which bin to use even though splitProfileMapToTwo uses:

  if (!I.second.getCallsiteSamples().empty())

to partition the profile.  This difference causes certain symbols to
be classified into FlatKeys in the name table but into
ContextProfileMap in the LBR profile.

The patch fixes the problem by using the same condition to partition
keys.

This misclassification happens to top-level symbols (like main or
un-inlined root callers) that lack context delimiters in their
function names (hasContext() == false) but still contain inlined
callees in their profile hierarchies.

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

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

Git commit d1ce5f95fb661999bcc99a3a816cc72c1220a36d by GitHub (on behalf of Alexis Engelke) on 28/07/2026 at 06:18..
[ASan] Instrument ptrtoaddr as pointer difference (#211988)

We want to emit ptrtoaddr instead of ptrtoint for pointer differences to
not expose the provenance. Adjust ASan instrumentation to handle this
case as well.
https://invent.kde.org/qt/clang/llvm/-/commit/d1ce5f95fb661999bcc99a3a816cc72c1220a36d

Git commit f2c7e2bcd57ef2a9db23e5071618d3e02ee9c33d by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 06:20..
[libc] Fix atexit_test in hermetic mode (#210656)

We never unlocked the ThreadAtExit mutex, which meant the second call to
exit deadlocked. This was detected in the unit tests as they were
calling __cxa_thread_atexit from the system C library.
https://invent.kde.org/qt/clang/llvm/-/commit/f2c7e2bcd57ef2a9db23e5071618d3e02ee9c33d

Git commit ee8bf569630bd45559227434f6cdf7aa67eb6a77 by GitHub (on behalf of Heejin Ahn) on 28/07/2026 at 06:37..
[lld][WebAssembly] Fix SharedTagKind in toString (#212385)
https://invent.kde.org/qt/clang/llvm/-/commit/ee8bf569630bd45559227434f6cdf7aa67eb6a77

Git commit d81bb91dfe1a32bdb9621d483c7a059ddd56970b by GitHub (on behalf of Yuyang Zhang) on 28/07/2026 at 06:37..
[DAGCombiner] Fold insert_vector_elt into a shared BUILD_VECTOR (#210905)

The `insert_vector_elt -> build_vector` fold requires the source
`BUILD_VECTOR` to have a single use, to avoid duplicating it. Allow it
for a multi-use base when the target sets
`aggressivelyPreferBuildVectorSources`: a `BUILD_VECTOR` is just glue
there (e.g. `REG_SEQUENCE` on AMDGPU), so rebuilding re-references the
base's existing scalar operands and adds no real work. This un-shares a
CSE-shared base produced by `insertelement` on a poison vector, so each
derived vector is built from scalars independently, as GlobalISel
already does.

The gate mirrors the sibling `extract_vector_elt` fold: `hasOneUse() ||
TLI.aggressivelyPreferBuildVectorSources(VT)`.

Split out from #199631 per review. Opted-in targets are AMDGPU, NVPTX,
and AArch64: AMDGPU and NVPTX improve, AArch64 is unchanged; non-opted
targets are unaffected. Affected AMDGPU and NVPTX tests are regenerated.

The undef-deprecator flag on `splitkit-getsubrangeformask.ll` is a false
positive — those are MIR subregister-def flags (`undef %reg.sub`), not
IR `undef` values.
https://invent.kde.org/qt/clang/llvm/-/commit/d81bb91dfe1a32bdb9621d483c7a059ddd56970b

Git commit 9a5434468bf5a5aa77f46de98d17ec2eccdce39d by GitHub (on behalf of jeanPerier) on 28/07/2026 at 06:39..
[flang][NFC] Extract StackArrays analysis and rewrite into a header - memory passes unification [1/5] (#210721)

Move InsertionPoint, StackArraysAnalysisWrapper, and AllocMemConversion
out of the anonymous namespace in StackArrays.cpp into a new
StackArrays.h header (in namespace fir), so the "which fir.allocmem can
be safely moved to the stack, and where" analysis and the heap-to-stack
rewrite pattern can be reused by other passes.

The dataflow internals (AllocationState, LatticePoint,
AllocationAnalysis), the command-line options, and all method
definitions remain in the .cpp. No functional change intended.

RFC:
https://discourse.llvm.org/t/rfc-flang-improving-temporary-and-local-array-allocations-unify-stackarray-memoryallocation/91353

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm/-/commit/9a5434468bf5a5aa77f46de98d17ec2eccdce39d

Git commit 4b60d133e3f80bac153bef496f56ee85936dfea1 by GitHub (on behalf of Sean Clarke) on 28/07/2026 at 06:51..
[RISCV] Add custom lowering for fixed-vector `CLMUL`/`CLMULH` (#210429)

`CLMUL` and `CLMULH` currently expand for fixed vector types on RISC-V,
even if `Zvbc` and/or `Zvbc32e` are available. Add custom lowering to
convert to scalable vector operations according to extension
availability.

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

Git commit b59d69d79e547a432485c18611efd2ec8d9540ca by GitHub (on behalf of Craig Topper) on 28/07/2026 at 06:51..
[RISCV][P-Ext] Unify pncvt(h) intrinsics between RV32 and RV64. (#210996)

Use __builtin_convertvector for pncvt and __builtin_shufflevector for
pncvth.

Alternatively we could use shift+__builtin_convertvector for pncvth but
that requires combining psrl+unzip(8/16)p to unzip(8/16)hp. I'm not sure
which is better right now.
https://invent.kde.org/qt/clang/llvm/-/commit/b59d69d79e547a432485c18611efd2ec8d9540ca

Git commit ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 06:57..
[libc] Add aligned_alloc and delete[] to hermetic tests (#210693)

This lets us run (at least) <search.h> tests in hermetic mode.
https://invent.kde.org/qt/clang/llvm/-/commit/ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0

Git commit f75eef2acb00eb8ff99cf9d7abb0d1649d0cbc90 by GitHub (on behalf of Alexis Engelke) on 28/07/2026 at 07:07..
[InstCombine] Handle icmp+ptrtoint/addr folds for non-int ptrs (#212101)

Followup of #211991. icmp ptrtoint, ptrtoint cannot be folded away for
non-integral pointers, this is only possible with ptrtoaddr.

For consistency, this also restricts the inttoptr direction, which
causes the change in the phase ordering test. (Note that in this
particular case, not doing the folding is actualle beneficial, as it
keeps the inttoptr-inttoptr comparison outside the loop avoiding one
comparison inside the loop. I wouldn't expect any practical impact,
though.)
https://invent.kde.org/qt/clang/llvm/-/commit/f75eef2acb00eb8ff99cf9d7abb0d1649d0cbc90

Git commit 022bf7ba97fa1897bf52cf3db2e3fa42cd19b29f by GitHub (on behalf of Fangrui Song) on 28/07/2026 at 07:08..
[LoopInfo] Take no dominator tree in verify(). NFC (#212414)

Similar to the recent change that makes analyze() lazy in building
DomTree.
https://invent.kde.org/qt/clang/llvm/-/commit/022bf7ba97fa1897bf52cf3db2e3fa42cd19b29f

Git commit 9ccf2a81a1b86c6b4d953259bbbdc678cc791493 by GitHub (on behalf of Akimasa Watanuki) on 28/07/2026 at 07:09..
[MLIR][LLVM] Preserve default function attributes on invokes (#212263)

Represent `default_func_attrs` on `LLVM::InvokeOp` and translate the
collection onto the generated LLVM invoke instruction. Preserve default
call-site attributes when throwing calls are lowered through the LLVM
dialect, including CIR `try_call` operations.
https://invent.kde.org/qt/clang/llvm/-/commit/9ccf2a81a1b86c6b4d953259bbbdc678cc791493

Git commit 4df68548fcfd82ddfdfe5ae52e691966065cf2e1 by GitHub (on behalf of Lang Hames) on 28/07/2026 at 07:14..
[orc-rt] Reorder wrapper-fn args to trailing-callback style. (#212243)

Bring the wrapper-function call and return prototypes into line with the
convention adopted for orc_rt_Session_callController: the session handle
comes first, then the payload buffer, then the completion callback
immediately followed by its threaded token, with the token last.

  orc_rt_WrapperFunctionReturn: (S, CallId, ResultBytes)
                             -> (S, ResultBytes, CallId)
  orc_rt_WrapperFunction:       (S, CallId, Return, ArgBytes)
                             -> (S, ArgBytes, Return, CallId)

The C++ adapters that mirror these signatures are updated to match --
WrapperFunction::handle, SPSWrapperFunction::handle, the
ORC_RT_SPS_WRAPPER macro, and StructuredYield -- along with the Session
dispatch path and the affected unit tests. No functional change beyond
argument order.
https://invent.kde.org/qt/clang/llvm/-/commit/4df68548fcfd82ddfdfe5ae52e691966065cf2e1

Git commit 7bc2770064d3afbb4ce49c159d99c69a9e4b5c5b by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 07:25..
[libc] Make assert_test hermetic (#210700)

Call our own close() instead of the system one.
https://invent.kde.org/qt/clang/llvm/-/commit/7bc2770064d3afbb4ce49c159d99c69a9e4b5c5b

Git commit f5437c4d4f2e9920614d856158d9683d650acffa by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 07:31..
[clang][NFC] Refactor flag enum caching (#210632)

Extracts cache insertion logic from `IsValueInFlagEnum`. This allows us
to drop `mutable` on `FlagBitsCache` while making it reusable as work
list for additional flag_enum diagnostics.
https://invent.kde.org/qt/clang/llvm/-/commit/f5437c4d4f2e9920614d856158d9683d650acffa

Git commit b53f2d57b086d93dc8421c74c17913951122e9d9 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 28/07/2026 at 07:39..
[Bazel] Fixes 1e1274b (#212405)

This fixes 1e1274b2ddfe4643eefdd1c6c83d6c2d61dace1d (#212318).

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

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

Git commit 39549cd7c62e9a2db44d186e0fe5d99e1473cb24 by GitHub (on behalf of StefanPaulet) on 28/07/2026 at 07:44..
[clang] Fixed predefined expressions after lambda parameters (#211811)

After the parameter declaration of a lambda expression, `Sema` enters
the declaration context of the lambda call operator (in
`ActOnLambdaClosureParameters`), so the lambda specifiers and the
trailing return type are analyzed within that context. Because of this,
predefined expressions such as `__func__` resolve to the lambda call
operator, and not to the possibly enclosing function. (issue #122657)

Added a member to `LambdaScopeInfo` to mark whether or not the compound
statement of the lambda expression has been entered, to be used when
resolving a `PredefinedExpr`
https://invent.kde.org/qt/clang/llvm/-/commit/39549cd7c62e9a2db44d186e0fe5d99e1473cb24

Git commit 0bcff14b1740cf32f9e0983726238dcf353c6ac8 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 07:58..
[libc] Make <sys/mman.h> tests hermetic (#210697)

The only issue was in pkey_test, which uses function-local static to do
lazy initialization. This requires the c++ runtime
(__cxa_guard_acquire/release).

There are no threads in this test, so we can just use the
(non-thread-safe) hand-rolled version of that. This is currently our
only test with such a pattern.

This would be something that in gtest would go into a SetUpTestSuite
method, but our test framework currently doesn't have an equivalent.
https://invent.kde.org/qt/clang/llvm/-/commit/0bcff14b1740cf32f9e0983726238dcf353c6ac8

Git commit 7c58d4de4af550ba3d54bf217f27a1e6b3736dbc by GitHub (on behalf of Igor Kudrin) on 28/07/2026 at 08:16..
[lldb][AArch64] Fix launching Arm32 applications on AArch64 Linux (#211692)

When LLDB runs on an AArch64 Linux, it adds both 64- and 32-bit
architectures as supported; see `PlatformLinux` ctor. The triple for the
32-bit variant is computed by replacing the architecture while keeping
all other fields; i.e., for the main host triple
`aarch64-unknown-linux-gnu`, the generated 32-bit triple is
`arm-unknown-linux-gnu`.

When a 32-bit target is created, its triple would be something like
`arm--linux-eabihf`. This triple is incompatible with the one added to
the supported architectures per condition in `ArchSpec::IsMatch()`,
which checks for compatibility between environments. As a result, LLDB
fails to launch this target:

```
> arm-linux-gnueabihf-g++ -g test.cpp -o test.out
> lldb
(lldb) file test.out
Current executable set to '/tmp/test.out' (arm).
(lldb) run
error: failed to launch or debug process
```

Clearing the environment of the computed triple for Arm32 allows the
compatibility check to pass.

---------

Co-authored-by: David Spickett <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/7c58d4de4af550ba3d54bf217f27a1e6b3736dbc

Git commit 162cdf496003e9bed7e7c7d0cbbd507365443b85 by GitHub (on behalf of Florian Hahn) on 28/07/2026 at 08:20..
[SCEV] Rewrite more SCEVAddExpr when applying guards. (#159942)

When re-writing SCEVAddExprs to apply information from guards, check if
we have information for the expression itself. If so, apply it.

When we have an expression of the form (Const + A),  check if we have
have guard info for (Const + 1 + A) and use it. This is needed to avoid
regressions in a few cases, where we have BTCs with a subtracted
constant.

Rewriting expressions could cause regressions, e.g. when comparing 2
SCEV expressions where we are only able to rewrite one side, but I could
not find any cases where this happens more with this patch in practice.

Depends on https://github.com/llvm/llvm-project/pull/160012.

Proofs for some of the test changes: https://alive2.llvm.org/ce/z/RPX6t_


This comes with a slight compile-time increase, mostly due to changes in
downstream optimizations (like extra unrolling).

    stage1-O3: +0.03%
    stage1-ReleaseThinLTO: +0.02%
    stage1-ReleaseLTO-g: +0.04%
    stage1-aarch64-O3: +0.04%
    stage2-O3: +0.03%

https://llvm-compile-time-tracker.com/compare.php?from=42b4ee6383e340c4c3ab4cfddd17f864ab331e0d&to=7b5221e21c2c18152dcb72a82122730690153aed&stat=instructions%3Au

Improves optimizations end-to-end in a number of cases on real-world workloads
(dtcxzyw/llvm-opt-benchmark-nightly#802).

PR: https://github.com/llvm/llvm-project/pull/159942
https://invent.kde.org/qt/clang/llvm/-/commit/162cdf496003e9bed7e7c7d0cbbd507365443b85

Git commit 8e9802b45829d473bce51197ce95f3ab40d94426 by GitHub (on behalf of David Spickett) on 28/07/2026 at 08:24..
[lldb][test] Do not return a PID in TestGdbClientModuleLoad (#212256)

This test has been flaky on x86 Github CI. It expects: 
[  0] {{.*}} 0x0000000000ee0000 {{.*}}module_load
[  1] {{.*}} 0x0000000000ef0000 {{.*}}[vdso]

However in one run it got:
[ 0] 98FC07B8 0x0000000000ef0000 [vdso] (0xef0000)
[ 1] 75B11BBB-EF8B-5645-B9B1-A7261EC8ABCF-05413284 0x0000000000ed8ed0
/home/gha/actions-runner/bin/Runner.Worker

This happened because the responder says it's debugging PID 0x47, which
is usually some root process that we cannot read the /proc/pid/exe link
for. However when it is readable, we will assume that is the program
file and it replaces the "module_load" entry (this never happened on
AArch64 because an AArch64 program file is never compatible with an x86
triple).

In the failing case, 0x47 happened to be a github runner process that
lldb could get the exe for. I was able to reproduce this by putting a
long sleep in the background and replacing 0x47 with that sleep's PID.

To fix this I am returning the value of `PID_MAX_LIMIT` which is the
limit of what `pid_max` can be set to. This should be parsed by lldb
into an invalid PID and cause it to give up looking at the host.

I tried returning 0, this found a process somehow, returning no PID at
all, again it found a process. The only other way is to make this test
connect to a fake remote linux platform first, but this would take much
more code to set up.
https://invent.kde.org/qt/clang/llvm/-/commit/8e9802b45829d473bce51197ce95f3ab40d94426

Git commit 697f9892bef88f22f630e7e78541dd29d3cd716b by GitHub (on behalf of David Green) on 28/07/2026 at 08:29..
[AArch64][GlobalISel] Update regbank tests with concrete types. NFC (#212367)
https://invent.kde.org/qt/clang/llvm/-/commit/697f9892bef88f22f630e7e78541dd29d3cd716b

Git commit 6aeeec83ec1d979ea2a2e3f4629ac361b5cdb70e by GitHub (on behalf of David Spickett) on 28/07/2026 at 08:40..
[lldb][test] Skip TestGuiSpawnThreads.py on Linux (#212431)

See https://github.com/llvm/llvm-project/issues/209874.

We are still hitting the larger timeout.
https://invent.kde.org/qt/clang/llvm/-/commit/6aeeec83ec1d979ea2a2e3f4629ac361b5cdb70e

Git commit c6603cce864078da43741e36fb9586a6c72782fe by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 08:52..
[clang][NFC] generate TokenKey from tablegen (#210857)

Currently the enumerator constants of `TokenKey` are duplicated between
TokenKinds.h and Traits.td. This patch generates the `TokenKey` enum
from tablegen.

This is a followup patch for
https://github.com/llvm/llvm-project/pull/201491#discussion_r3567423553
https://invent.kde.org/qt/clang/llvm/-/commit/c6603cce864078da43741e36fb9586a6c72782fe

Git commit 564be89eaee5227ec21980ca2054f00d595044c7 by GitHub (on behalf of Matt Arsenault) on 28/07/2026 at 08:53..
clang: Fix subarchless amdgpu triples in offload bundler tests (#212424)
https://invent.kde.org/qt/clang/llvm/-/commit/564be89eaee5227ec21980ca2054f00d595044c7

Git commit 10d1b41f8cd9aa327fb15f698a0b564a3d5c4118 by GitHub (on behalf of Lang Hames) on 28/07/2026 at 08:56..
[ORC] Fix buildSimpleReexportsAliasMap signature. (#212420)

The header declared a `const SymbolNameSet&` argument, but the
implementation took a `SymbolNameSet` by value. Update the
implementation to also take a `const SymbolNameSet&`.

No testcase. The corrected implementation will be used in an upcoming
commit.
https://invent.kde.org/qt/clang/llvm/-/commit/10d1b41f8cd9aa327fb15f698a0b564a3d5c4118

Git commit 437b42f23250660f9a3f262ca6626324cd32a094 by GitHub (on behalf of Kevin Bravo) on 28/07/2026 at 09:01..
[TableGen] don't print redundant diagnostic when parser sees Error token at end of file. (#212410)

Fixes #151476. 

Currently TableGen parser emits `error: Unexpected token at top level`
when it sees `tgtok::Error` token after failing to parse the object
list, even though that token's corresponding diagnostics were already
emitted during lexing. This change makes `ParseFile` return true when it
sees `tgtok::Error` at end of file, thereby avoiding the redundant
diagnostic.
https://invent.kde.org/qt/clang/llvm/-/commit/437b42f23250660f9a3f262ca6626324cd32a094

Git commit b349bef025f294ef100d02ac8c928836cd979f3f by GitHub (on behalf of David Green) on 28/07/2026 at 09:02..
[AArch64][GlobalISel] Use integer type for cttz icmp type. (#212327)
https://invent.kde.org/qt/clang/llvm/-/commit/b349bef025f294ef100d02ac8c928836cd979f3f

Git commit 6520ac73f22d53e93e5ae8da6351a1714723497c by GitHub (on behalf of David Spickett) on 28/07/2026 at 09:03..
[lldb][test][AArch64] Add test for AArch32 compatibility execution (#211793)

This should catch obvious problems like the one in #211692 in
future.

To run AArch32 programs on AArch64 you need a few things:
* Hardware that has AArch32 mode at EL0.
* A kernel built with CONFIG_COMPAT on.
* (usually) A bunch of 32-bit libraries installed.

We are dodging the 3rd one by compiling a standalone assembly
program that doesn't use any other libraries.

With clang being a cross-compiler and lld a cross-linker,
we should be able to do this without any 32-bit compatibility
libraries being installed.

To check for the first 2, we run that program normally.
If it fails to run, we don't have them. If it does run,
we have to double check that it's not being emulated. If
it is not being emulated, finally we can run it with lldb to
check that lldb works correctly.

Inside of lldb we place a breakpoint and read some
registers. GPRs are set to their own register number,
and FPR to their register number plus 1. So if we mixed
up the set order, we would know about it.

Tested on a Graviton 3 which allowed AArch32 execution and a Graviton 5
which did not. For the latter, the error without an emulator is:
```
$ ~/test.o
-bash: /home/davspi01/test.o: cannot execute binary file: Exec format error
```
This we detect when `Popen` fails. If you install qemu and setup
binfmt_misc, we detect that via. the exe path:
```
$ ~/test.o &
[2] 433187
$ ls -la /proc/433187/exe
lrwxrwxrwx 1 davspi01 davspi01 0 Jul 27 11:47 /proc/433187/exe -> /usr/bin/qemu-arm
```
https://invent.kde.org/qt/clang/llvm/-/commit/6520ac73f22d53e93e5ae8da6351a1714723497c

Git commit 2d7aaf670d704bbb4bfb3ef023f18ba0b85b58c7 by GitHub (on behalf of Pavel Labath) on 28/07/2026 at 09:04..
[libc] Fix path collisions between unit and hermetic tests (#212425)

Use the APPEND_LIBC_TEST macro to ensure each test gets a unique path to
operate on. Enable the affected tests in hermetic mode.
https://invent.kde.org/qt/clang/llvm/-/commit/2d7aaf670d704bbb4bfb3ef023f18ba0b85b58c7

Git commit 636d8a253e71651ffa75f3bb515a14de0f20341d by GitHub (on behalf of David Spickett) on 28/07/2026 at 09:05..
[lldb][AArch64][Linux] Track all register cache validity in one place (#197113)

In this change I've expanded the existing RegisterSetType enum
to be used as part of a singular cache tracking object which replaces
all the separate booleans. These booleans were hard to track and 
set/reset in the right places.

This new validity object can be reset by default constructing,
and uses a member initialiser so everything starts out as invalid.

RegisterSetType is now a bitmask enum for easier storage.
It's 32-bit now which is enough for now. Just in case we expand it. 
(and I previously updated all sizeof calls to use RegisterSetType
instead of the raw type)

The SME and SME 2 entries have been renamed to ZA and ZT
as this is what ptrace calls them. Note that SME's pseudo registers
are still managed in their own unique way, I hope to address that
later.

Over time, RegisterSetType will become the key for all the 
operations in the register context. You can see a preview of
that "vision" in #193174.

For instance getting the buffer location and size, looking up
the ptrace set number, finding out what a set write invalidates,
and so on.

I did consider using optional for the register storage. I think this
could work if we had done it from the beginning but starting from
this point it has too many issues with it.

* We cannot assume that sizeof(buffer) == sizeof(buffer_type). Which
leads to some places where you have to write sizeof(some_generic_type).
Which is not ideal. Being able to use the member variable name is
clearer.
* We have to make the buffer "valid" before trying to read, then make it
invalid if it fails. Rather than read and if it succeeds mark it valid.
3 steps vs. 2.
* Some things like SVE resize the buffer when we get the new vector
length, then at some point later assume the buffer can hold the result
of a read. We'd have to track the expected size separately, and use that
to resize it just before read. Which is not difficult, but it's a
different strategy and I don't want to disturb all the SVE/SME handling
at this stage.
* Though our buffer + bool is in theory an optional, the way the class
is designed where one thing fills the buffer and another reads from it
later, the flexibility of when to set the bool does help us. Versus the
automatic handling optional does.

Once this whole class has been simplified and I can see the "unusual"
code paths more easily, I might revisit the optional idea.
https://invent.kde.org/qt/clang/llvm/-/commit/636d8a253e71651ffa75f3bb515a14de0f20341d

Git commit a1194be1baefa99d20a09bd04b16056be0ab7225 by GitHub (on behalf of Arseniy Obolenskiy) on 28/07/2026 at 09:05..
[SPIR-V] Fix hex float exponent for f64 Inf/NaN literals (#212295)

The asm printer hardcoded the f32 exponent (+128) when printing Inf/NaN
as hex floats, so f64 Inf/NaN literals were misencoded and silently
reassembled as finite values by consumers

Derive the exponent from the operand actual semantic instead
https://invent.kde.org/qt/clang/llvm/-/commit/a1194be1baefa99d20a09bd04b16056be0ab7225

Git commit 7e1719546578ed523f5deb4ac499cdc833280d9c by GitHub (on behalf of Wenju He) on 28/07/2026 at 09:27..
[LoopUnroll] Allow vector types for minmax reductions (#207630)

Our downstream patched RecurrenceDescriptor in IVDescriptors.cpp to
recognize min/max reductions on vector-typed phis. After ffa02793,
vector min/max intrinsic reductions now flow into getReductionIdentity()
with vector type and then runtime-unroll-reductions-min-max.ll test
crashed.
This PR upstreams our RecurrenceDescriptor change to avoid further
downstream change to LoopUtils.cpp (in this PR) that fixes the crash.

LIT change in runtime-unroll-reductions-min-max.ll shows a long serial
reduction chain now breaks into two independent ones, which is the
purpose of unroll-add-parallel-reductions.

---------

Co-authored-by: skozhukh <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/7e1719546578ed523f5deb4ac499cdc833280d9c

Git commit b626ec036e8551c4aa7d548e718bc5aa91562be0 by GitHub (on behalf of Peng Sun) on 28/07/2026 at 09:42..
[mlir][tosa] Add FP8 and MXFP support to RESIZE (#212276)

- Added FP8 and all six MXFP extension/type combinations
- Updated RESIZE availability and enforced NEAREST_NEIGHBOR for MXFP
- Added positive, negative, version, extension, mixed-type, and verifier
tests.

Signed-off-by: Peng Sun <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/b626ec036e8551c4aa7d548e718bc5aa91562be0

Git commit 74aae4e43edbf1843b886516893fd2b880d70dfa by GitHub (on behalf of Ramkumar Ramachandra) on 28/07/2026 at 09:53..
[VPlan] Eta-reduce fn in pullOutPermutations (NFC) (#212439)

fun x => f x can be eta-reduced to just f.
https://invent.kde.org/qt/clang/llvm/-/commit/74aae4e43edbf1843b886516893fd2b880d70dfa

Git commit b443896c13aded8b40d7bae4a5a9adbc96fd0d31 by GitHub (on behalf of Ramkumar Ramachandra) on 28/07/2026 at 10:18..
[VPlan] Use pointee-range in blocksOnly (NFC) (#212441)

The map_range can be replaced by make_pointee_range.
https://invent.kde.org/qt/clang/llvm/-/commit/b443896c13aded8b40d7bae4a5a9adbc96fd0d31

Git commit 6bb30c03650c9ebc816d089ea78b36a246116f07 by GitHub (on behalf of Matthias Wippich) on 28/07/2026 at 10:45..
[clang][NFC] fold ExpressionTraits and TypeTraits helpers into BuiltinTraits (#210838)

ExpressionTraits.h defines utilities such as `getTraitName`,
`getTraitSpelling` and an enumeration for expression traits. All other
overloads of these utilities can be found in TypeTraits.h - this patch
combines them to BuiltinTraits.h/cpp.

This is a followup patch for
https://github.com/llvm/llvm-project/pull/201491#discussion_r3460883247
https://invent.kde.org/qt/clang/llvm/-/commit/6bb30c03650c9ebc816d089ea78b36a246116f07
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.