[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/main'.
Changed from 5e67107334216e076073817f4f7b96b5ec57d1d0 to 362d72f6381c0279a068eae143def6c4bd1e5f0f
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 69685bb9ce2dc1976b9f4f852caaebdfd98485d1 by GitHub (on behalf of Louis Dionne) on 31/07/2026 at 17:20..
[libc++] Actually partially populate the container in a benchmark (#213146)

The "partially populated" variant of assignment was a copy-paste of the
"into cleared container" assignment.
https://invent.kde.org/qt/clang/llvm-project/-/commit/69685bb9ce2dc1976b9f4f852caaebdfd98485d1

Git commit dac66ca4776b18304249bb3a37f08915e5ad1bf4 by GitHub (on behalf of Louis Dionne) on 31/07/2026 at 17:21..
[libc++] Fix dangling reference in the associative container benchmarks (#213139)

Two insert benchmarks were registered with lambdas capturing insert_iter_iter_bench
by reference, unlike every other registration in this file, which captures by value.

RegisterBenchmark() stores the lambda by value and only invokes it from
RunSpecifiedBenchmarks(), which happens long after associative_container_benchmarks()
has returned, creating a dangling reference.
https://invent.kde.org/qt/clang/llvm-project/-/commit/dac66ca4776b18304249bb3a37f08915e5ad1bf4

Git commit 194d7d819f3ccf15c836323bc0efa34920045c0d by GitHub (on behalf of Timm Baeder) on 31/07/2026 at 17:21..
[llvm] Include ArrayRef.h in GenericCycleInfo.h (#213267)

Try to fix the llvm-x86_64-debian-dylib builder, which has been broken
for a while with:

```
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -std=c++17 -MD -MT lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o -MF lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o.d -o lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/CodeGenPrepare.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp
In file included from /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/CodeGen/CodeGenPrepare.cpp:53:
In file included from /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/IR/CycleInfo.h:18:
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include/llvm/ADT/GenericCycleInfo.h:231:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(BlockLayout).slice(Cyc.EntryBegin, Cyc.EntrySize);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~
```

see e.g.
https://lab.llvm.org/buildbot/#/builders/60/builds/5422/steps/5/logs/stdio


I'm not sure if this will help or not, I can't reproduce this locally
and nobody else seems to have the same problem(?).
https://invent.kde.org/qt/clang/llvm-project/-/commit/194d7d819f3ccf15c836323bc0efa34920045c0d

Git commit 9bc2dd1a7015b58c9c68e8174e5d2756d955c0ca by GitHub (on behalf of Louis Dionne) on 31/07/2026 at 17:21..
[libc++] Add an assertion for monotonic_buffer_resource's initial_size (#213136)

[mem.res.monotonic.buffer.ctor] requires initial_size to be greater than
zero for the two constructors that take one, but we silently accepted
zero. Add a hardening assertion for that precondition.

Fixes #213059
https://invent.kde.org/qt/clang/llvm-project/-/commit/9bc2dd1a7015b58c9c68e8174e5d2756d955c0ca

Git commit c433135c99fc3306ae93fa8cff9e5c00ad0ece3c by GitHub (on behalf of Louis Dionne) on 31/07/2026 at 17:25..
[libc++] Remove unused headers from <cmath> (#213114)

I believe these headers were relevant when we actually implemented
functions in `<cmath>`, but they are not anymore. Note that ::hypot in
particular is obtained from <math.h> like all the other math functions.

Co-authored-by: A. Jiang <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/c433135c99fc3306ae93fa8cff9e5c00ad0ece3c

Git commit 93da16b5edbd9b6b3e66199ec05012be22e3d306 by GitHub (on behalf of Vicky Nguyen) on 31/07/2026 at 17:27..
[CIR][AArch64] Upstream store (vstrq_p128) NEON builtins (#212677)

Related to https://github.com/llvm/llvm-project/issues/185382

CIR lowering for store intrinsics (`vstrq_p128`)
(https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#store)

Port test from `clang/test/CodeGen/AArch64/poly128.c` to
`clang/test/CodeGen/AArch64/neon/store.c`
https://invent.kde.org/qt/clang/llvm-project/-/commit/93da16b5edbd9b6b3e66199ec05012be22e3d306

Git commit 0aa3c9e671fd54083c8c6484fbcfa4c4e36619b6 by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 17:29..
AMDGPU: Add missing smem-prefetch-insts to gfx12.5/gfx13 feature map (#213297)

fillAMDGCNFeatureMap omitted smem-prefetch-insts for gfx125x and gfx13,
so clang wrongly rejected __builtin_amdgcn_s_prefetch_data / _inst /
s_buffer_prefetch_data.

Co-authored-by: Claude (Claude-Opus-4.8)
https://invent.kde.org/qt/clang/llvm-project/-/commit/0aa3c9e671fd54083c8c6484fbcfa4c4e36619b6

Git commit bfc237a5154199383ce21d42f5ca55141a909c33 by GitHub (on behalf of Marc Auberer) on 31/07/2026 at 18:01..
[IR] Remove deprecated typed-pointer creation APIs (#212812)

Removes `PointerType::get(Type*, unsigned)`,
`PointerType::getUnqual(Type*)`, and `Type::getPointerTo(unsigned)`, the
last typed-pointer-creation leftovers from the opaque pointers
migration. All three have been marked deprecated for a while and have no
remaining in-tree callers; every caller already uses the
LLVMContext-taking overloads.

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

Git commit 7afc89970fc3675d77e92aa091b65c078cacdcff by GitHub (on behalf of Koakuma) on 31/07/2026 at 18:02..
[SPARC] Add patterns for i64->i32 and i64->i16 BSWAP-STOREs (#210483)

The lack of those is causing instruction selection to fail.

Also, for completeness, add variants of extending/truncating ops for
LOAD-BSWAP pairs too.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7afc89970fc3675d77e92aa091b65c078cacdcff

Git commit 71e5cb7526151701f2e2c4e37eaa20d1763c7cd4 by GitHub (on behalf of Razvan Lupusoru) on 31/07/2026 at 18:04..
[mlir][acc] Introduce ACCToLLVM and executable directive codegen (#213165)

Adds initial infrastructure for converting the acc dialect to LLVM,
specifically around generating libacctarget runtime calls. The current
libacctarget APIs are not yet finalized, but the draft proposal can be
found at https://github.com/llvm/llvm-project/pull/197894. This PR adds
codegen for acc init, shutdown, set, and wait.
https://invent.kde.org/qt/clang/llvm-project/-/commit/71e5cb7526151701f2e2c4e37eaa20d1763c7cd4

Git commit 5d4cd81d0e55c5fd30bda6e31950a04cae87b966 by GitHub (on behalf of Nick Sarnie) on 31/07/2026 at 18:07..
[offload][lit] Re-enable olCreateProgram JIT test on AMDGPU (#213321)

Should be passing now.

Context: https://github.com/llvm/llvm-project/pull/213149

Signed-off-by: Nick Sarnie <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/5d4cd81d0e55c5fd30bda6e31950a04cae87b966

Git commit e4de0dd15feff58299e5f2951ec1965b34bdec8f by GitHub (on behalf of vangthao95) on 31/07/2026 at 18:09..
AMDGPU/GlobalISel: Switch more FP opcodes to extended LLTs (part 3) (#213135)

Migrate trigonometric, division, remainder, multiply-add, and min/max
opcodes to extended floating-point LLTs.

Remove redundant scalar clamps that request unsupported f128-to-f64
narrowing, while retaining required f16-to-f32 widening.

Also update the relevant MIR tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e4de0dd15feff58299e5f2951ec1965b34bdec8f

Git commit 8225c81dbfbd69986c17123cf806aa9b7fe03699 by GitHub (on behalf of Tim) on 31/07/2026 at 18:10..
[flang][debug] Add compressed DWARF support in Flang (#212584)

Re-use most of the clang implementation for compressed DWARF support in
flang.

AI attribution: Co-developed with Claude Opus 4.6
https://invent.kde.org/qt/clang/llvm-project/-/commit/8225c81dbfbd69986c17123cf806aa9b7fe03699

Git commit 1969f153000bbe1df620476ff99c3753a447728e by GitHub (on behalf of jimingham) on 31/07/2026 at 18:13..
Reapply "Make result variables obey their dynamic values in subsequent expressions" (#211321) (#213308)

This adds back the patch that makes result variables retain their
dynamic type when you use them in subsequent expressions or fetch their
SBValues.

This reverts commit e1af868257eb4a49db9149cc239ca9b9338d6419.

The first time I submitted this I had some flakey tests, but when I
fixed the accounting for synthetic children those went away. But the
patch was still failing in a set of ObjC tests on x86_64. Those failures
weren't caused by this patch, but rather uncovered a bug in Tagged
Pointer detection, which I fixed in:

https://github.com/llvm/llvm-project/pull/213163
https://invent.kde.org/qt/clang/llvm-project/-/commit/1969f153000bbe1df620476ff99c3753a447728e

Git commit 3b852e3b020d46046be8419ed476e63f26dd026a by GitHub (on behalf of Manasij Mukherjee) on 31/07/2026 at 18:15..
[TableGen] Use DenseMap in getValueType instead of StringSwitch (#213229)

StringSwitch is linear.
getValueType gets called often, identified by callgrind to be
responsible for 11% of the executed instructions for NVPTX
-gen-dag-isel.

With DenseMap or StringMap, NVPTX and RISCV -gen-dag-isel runs 20% and
15% faster respectively.

Modest 2-6% improvement for others.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3b852e3b020d46046be8419ed476e63f26dd026a

Git commit 998ba43d7447a7c6244b2d58c731b8e582f0649f by GitHub (on behalf of Andy Kaylor) on 31/07/2026 at 18:21..
[CIR] Implement fenv lowering to constrained intrinsic calls (#213105)

This change adds support for lowering floating-point operations with the
fenv attribute set to a call to the corresponding constrained intrinsic
when the operation is lowered to the LLVM dialect.

Generation of operations with the Fenv attribute set will be implemented
in a later change. This only adds support for lowering.

Assisted-by: Cursor / claude-opus-4.8
https://invent.kde.org/qt/clang/llvm-project/-/commit/998ba43d7447a7c6244b2d58c731b8e582f0649f

Git commit 2f8eb5b4be3eba5c7f58470d6538d00df53a55fc by GitHub (on behalf of Daniil Kovalev) on 31/07/2026 at 18:22..
[clang][llvm][AArch64] Set hardening fn attrs on synthetic functions (#211013)

Compiler-synthesized functions such as `__llvm_gcov_writeout`,
`__llvm_gcov_reset` and `__llvm_gcov_init` were previously never
receiving the AArch64 hardening function attributes (ptrauth-returns,
ptrauth-auth-traps, ptrauth-indirect-gotos and
aarch64-jump-table-hardening) since the attributes were only emitted by
Clang and gated by `PointerAuthOptions` structure's corresponding
fields. See `setPointerAuthFnAttributes` and
`initPointerAuthFnAttributes` member functions of `TargetCodeGenInfo`.

This patch resolves this in the same manner as #83153 does for several
other attributes. Particularly, Clang now emits corresponding 4 module
flags (conditionally on whether the related feature is enabled) with Max
behavior, and LLVM's `Function::createWithDefaultAttr` derives the
matching function attributes from them. Max behavior with conditional
emission is safe because none of these features affect ABI, so promoting
an absent flag on module merge cannot break compatibility.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2f8eb5b4be3eba5c7f58470d6538d00df53a55fc

Git commit 34de4392d0b102ba9d1393678fe5e6ace92359ef by GitHub (on behalf of Hristo Hristov) on 31/07/2026 at 18:23..
[libc++][ranges][test-suite][NFC] Consistency improvements after P3050 merge (#213062)

Consistency improvements and other small tweaks.

A follow-up to https://github.com/llvm/llvm-project/pull/193891 - the
changes were deferred to reduce the size of an already large and
approved PR.
https://invent.kde.org/qt/clang/llvm-project/-/commit/34de4392d0b102ba9d1393678fe5e6ace92359ef

Git commit 56b45895fae25aad001931b7a44e6a5f4359d2fd by GitHub (on behalf of Alexey Bataev) on 31/07/2026 at 18:24..
[SLP][NFC]Add a test for fmul copyables to fmuladd, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213328
https://invent.kde.org/qt/clang/llvm-project/-/commit/56b45895fae25aad001931b7a44e6a5f4359d2fd

Git commit f8d6aaf8cacbd63dd94f094de1e2eab6490838f4 by GitHub (on behalf of Scott Manley) on 31/07/2026 at 18:30..
[flang][NFC] move addPass* template utilities to header (#213288)

Move the addPass* template utilities to the header so external pipelines
can use them.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f8d6aaf8cacbd63dd94f094de1e2eab6490838f4

Git commit ae2261652f14f760a931075ec5fbe05cdccbac02 by GitHub (on behalf of Zane Hambly) on 31/07/2026 at 18:35..
[X86] Don't emit personality info when the personality is not a function (#212803)

Follow-up to #212417, another one in the same corner.

`llc -mtriple=x86_64-pc-windows-msvc` crashes on a function whose
personality isn't a function:

```llvm
define void @a() personality ptr null {
  ret void
}
```

`dyn_cast<Function>` gives null, and `beginFunclet` hands that straight
to `getSymbol`, which dereferences it.

`DwarfCFIException` already guards against this, applying the null check
to both branches:

```cpp
shouldEmitPersonality =
    (forceEmitPersonality ||
     (hasLandingPads && PerEncoding != dwarf::DW_EH_PE_omit)) && Per;
```

`WinException` has it inside the second operand, so
`forceEmitPersonality` bypasses it. Move it out so it gates both,
matching the Dwarf path.

The test covers both directions: the null personality no longer emits a
handler, and a real personality with a landing pad still emits
`.seh_handler __CxxFrameHandler3` as before. `CodeGen/WinEH` is 19/19.

Fixes #210285
https://invent.kde.org/qt/clang/llvm-project/-/commit/ae2261652f14f760a931075ec5fbe05cdccbac02

Git commit 6d7c951e146b49f3bc0ac175ab050b92ea1150db by GitHub (on behalf of Ryan Buchner) on 31/07/2026 at 18:36..
[SLP] Add tests for overcosted scalar splats for RISCV (#213142)

Tests for #213104.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6d7c951e146b49f3bc0ac175ab050b92ea1150db

Git commit 22308c4c51c49bb7ea562d83d0d564cc922d9c21 by GitHub (on behalf of Tom Stellard) on 31/07/2026 at 18:51..
workflows/release-sources: Pass release-version to upload-release-artifacts (#212660)

This was omitted from a8ccd42ab23af6848929a638cd6b099953c7e491.
https://invent.kde.org/qt/clang/llvm-project/-/commit/22308c4c51c49bb7ea562d83d0d564cc922d9c21

Git commit 460c1d327baaa10c2e237418f661084fb33b72e9 by GitHub (on behalf of Folkert de Vries) on 31/07/2026 at 18:52..
[NFC][PowerPC] add `ppcf128` tests for fneg and nofpclass (#213307)
https://invent.kde.org/qt/clang/llvm-project/-/commit/460c1d327baaa10c2e237418f661084fb33b72e9

Git commit 3ece94d8f394f9142f0b6022761aa25a89946b20 by GitHub (on behalf of Ayokunle Amodu) on 31/07/2026 at 18:55..
[CIR][AMDGPU] Add support for AMDGCN trig_preop builtins (#197399)

Adds codegen for the following AMDGCN trigonometric pre-operation
builtins:

- __builtin_amdgcn_trig_preop (double)
- __builtin_amdgcn_trig_preopf (float)

These are lowered to the corresponding `llvm.amdgcn.trig.preop`
intrinsic.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3ece94d8f394f9142f0b6022761aa25a89946b20

Git commit 00e7c3564c2ae34d4ac2c6aaa838ac917472ed23 by GitHub (on behalf of Ayokunle Amodu) on 31/07/2026 at 18:57..
[CIR][AMDGPU] Add support for AMDGCN tanh builtins (#197852)

Adds codegen for the following AMDGCN tanh builtins:

- __builtin_amdgcn_tanhf (float)
- __builtin_amdgcn_tanhh (half)
- __builtin_amdgcn_tanh_bf16 (bfloat16)

These are lowered to the corresponding `llvm.amdgcn.tanh` intrinsic.
https://invent.kde.org/qt/clang/llvm-project/-/commit/00e7c3564c2ae34d4ac2c6aaa838ac917472ed23

Git commit ae14df3fd7cc15b191c7ccdf325b666f2c840560 by GitHub (on behalf of Nico Weber) on 31/07/2026 at 18:58..
[gn build] Port 0a1f0aafed6d (#213334)
https://invent.kde.org/qt/clang/llvm-project/-/commit/ae14df3fd7cc15b191c7ccdf325b666f2c840560

Git commit 1e089f19b245c21a14b4f2f1920134adb9ba7733 by GitHub (on behalf of Nico Weber) on 31/07/2026 at 18:58..
[gn build] Port d9278ad4e640 (#213335)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1e089f19b245c21a14b4f2f1920134adb9ba7733

Git commit 93a1495bccc329c476b9168c8af5eae499f23303 by GitHub (on behalf of Alexey Bataev) on 31/07/2026 at 19:01..
[SLP][NFC]Add a test with the runtime checks miscompilation, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213336
https://invent.kde.org/qt/clang/llvm-project/-/commit/93a1495bccc329c476b9168c8af5eae499f23303

Git commit c3fe6957dea942f74060d568a8ece0da2b427b0d by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 19:06..
CSKY: Consume "float-abi" module flag (#212975)

Start respecting float-abi, and fall back on the TargetOptions
field if not present.

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

Git commit 54fedf4ed12903bb938db99bd77c779b0bc73366 by GitHub (on behalf of Alexey Bataev) on 31/07/2026 at 19:08..
[SLP]Fix miscompile from poison base in alias-check versioning

Emit the runtime alias check while the block is still fully connected.
LCSSA-preserving SCEV expansion rewrites out-of-loop uses of
loop-defined bases to poison in predecessor-less blocks, corrupting
both the moved body and the scalar fallback clone.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213338
https://invent.kde.org/qt/clang/llvm-project/-/commit/54fedf4ed12903bb938db99bd77c779b0bc73366

Git commit 7ef0ca2b13f9ee1061f2e3ec5a622f4ad74fe4b7 by GitHub (on behalf of Paulius Velesko) on 31/07/2026 at 19:23..
Reland "[HIPSPV] Add in-tree SPIR-V backend support for chipStar" (#213052)

Relands #206910 (reverted in #213088) with the fix for the breakage.

IsIntegratedBackendDefault() was tied to whether the SPIR-V backend is
registered, but it also controls whether clang collapses the compile and
backend
jobs, so builds without the SPIR-V target split every HIPSPV RDC device
compile
and failed hipspv-toolchain-rdc.hip. The default is back to the base
class value
and the translator fallback is decided in
constructLinkAndEmitSpirvCommand.
Third commit adds a test not guarded by spirv-registered-target.

Validated in X86;SPIRV and X86 only builds: driver tests pass in both,
and
non-RDC plus RDC (new driver) flows run for real emit spirv-val clean
modules
via the backend and via llvm-spirv respectively.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7ef0ca2b13f9ee1061f2e3ec5a622f4ad74fe4b7

Git commit 14ec3c42cedcfa5e54dd06f93e611b7b55397360 by GitHub (on behalf of Joseph Huber) on 31/07/2026 at 19:29..
[Offload] add 'olIterateSymbols' runtime function (#213036)

Summary:
This provides users with a way to check all symbols present in a given
program. This is useful for many cases where a power user wants to do
something dynamic with the objects present.
https://invent.kde.org/qt/clang/llvm-project/-/commit/14ec3c42cedcfa5e54dd06f93e611b7b55397360

Git commit 55f3ddff49df803f5bb99a89db5cfd1358f0461e by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 19:35..
AMDGPU: Separate image_msaa_load from bvh-ray-tracing-insts (#213270)

Add a separate msaa-load-insts feature so image_msaa_load is available
on gfx13, which has it but not the BVH intersect-ray instructions. These
were assumed to be the same feature previously, but gfx13 does not have the
bvh instructions, but does have image_msaa_load.

Co-authored-by: Claude (Claude-Opus-4.8)
https://invent.kde.org/qt/clang/llvm-project/-/commit/55f3ddff49df803f5bb99a89db5cfd1358f0461e

Git commit b53cccf32fcfc2732e2abcc9381d9b48af7b7b9a by GitHub (on behalf of Arseniy Obolenskiy) on 31/07/2026 at 19:42..
[AMDGPU] Fix ImageIntrinsicOptimizer DMask check starting at wrong arg index (#213264)
https://invent.kde.org/qt/clang/llvm-project/-/commit/b53cccf32fcfc2732e2abcc9381d9b48af7b7b9a

Git commit e0162ea5dc98c919f3eb35895baf4bc249276a73 by GitHub (on behalf of Arseniy Obolenskiy) on 31/07/2026 at 19:44..
[AMDGPU] Do not treat bitcast across FP types as canonicality-preserving (#203560)

isCanonicalized recursed through ISD::BITCAST ignoring the type change,
so value canonical as v2bf16 was wrongly treated as canonical when
bitcast to v2f16 (that has different exponent width), dropping a
required fcanonicalize
https://invent.kde.org/qt/clang/llvm-project/-/commit/e0162ea5dc98c919f3eb35895baf4bc249276a73

Git commit 8631e82ddb299e39f7559a4f683bbe97cb25a0f0 by GitHub (on behalf of AntonyCJ30) on 31/07/2026 at 19:58..
[LoopFusion] Allow loop fusion for idempotent output dependency (#206401)

Loop Fusion incorrectly blocks fusion of loops that write the same value
to two arrays.  Writing the same value twice produces identical observable results
regardless of execution order, so fusion is safe (whether the two arrays are aliased or not). 

Fixes #94676

Co-authored-by: AntonyCJ30 <cj6186609@[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/8631e82ddb299e39f7559a4f683bbe97cb25a0f0

Git commit 02bde0716776a742164941e05cb026e750763b04 by GitHub (on behalf of Tom Stellard) on 31/07/2026 at 20:00..
workflows/release-binaries: Move environment declaration to upload job (#212687)

This is the only job that actually needs to use the environment secrets,
so the environment must be declared. We were using secrets in the
prepare job to do a permissions check, but this is unnecessary, because
that job does not do anything that is security sensitive.

Only the upload job needs to have these permission checks and these are
already included in the upload-release-artifact composite action.
https://invent.kde.org/qt/clang/llvm-project/-/commit/02bde0716776a742164941e05cb026e750763b04

Git commit 582f9242efa2f42d1ba89f22cd1cb19302ba1fd1 by GitHub (on behalf of forking-google-bazel-bot[bot]) on 31/07/2026 at 20:13..
[Bazel] Fixes 71e5cb7 (#213330)

This fixes 71e5cb7526151701f2e2c4e37eaa20d1763c7cd4 (#213165).

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

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

Git commit 68b7feaa62bbf6b817364a65e749aba9917141ff by GitHub (on behalf of Marlus Cadanus da Costa) on 31/07/2026 at 20:18..
[clang] Follow-up fixes for offsetof unsigned index change (#207808)

- Rename CastNoOverflow to CastAPToOffsetIndex for clarity
- Add parentheses in overflow guard condition in InterpBuiltin.cpp
- Improve comment explaining why 0x8000000000000000 is rejected

AI Tool Use: GitHub Copilot (Claude Sonnet 4.6) was used to assist in
identifying and drafting the fix. The fix was reviewed, tested, and
validated manually.

---------

Co-authored-by: Cadanus da Costa <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/68b7feaa62bbf6b817364a65e749aba9917141ff

Git commit f99ee4f26d51091b805fc12affd19b4497081525 by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 31/07/2026 at 20:20..
[flang][cuda][openacc] Emit an error when CUDA symbols are imported with CUDA disabled (#205427)

Only look for for module symbols.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f99ee4f26d51091b805fc12affd19b4497081525

Git commit 6512cd96dd1b2e637666e1e6dfc84c1efacbe40b by GitHub (on behalf of Daniel Scherzer) on 31/07/2026 at 20:43..
[compiler-rt] [docs] Clean up explanation of `__fixunsdfdi` (#212624)

Replace "is compiling into" with "results in"

---------

Co-authored-by: hulxv <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/6512cd96dd1b2e637666e1e6dfc84c1efacbe40b

Git commit ec2bf56676ae4a46f47e3fbc62d5208b729792a1 by GitHub (on behalf of Adam Smith) on 31/07/2026 at 20:49..
[Clang][Sema] Synthesize a memcpy body for defaulted union assignment (#206579)

A defaulted copy or move assignment operator for a union is synthesized
with an empty body. `DefineImplicitCopyAssignment` /
`DefineImplicitMoveAssignment` skip union members in the memberwise
loop, and the implied copy of the object representation has no AST
representation, a FIXME that has sat at that skip for a long time. The
operator ends up copying nothing.

Classic CodeGen hides this at ordinary call sites by lowering a trivial
assignment to a memcpy at the call site, so `u1 = u2` works even though
the operator body is a no-op. But when the operator is genuinely called,
through a pointer-to-member for instance, it silently copies nothing.
ClangIR calls the assignment operator at the call site rather than
eliding it, so it hits the empty body directly and drops every union
assignment. The no-op is then deleted at `-O3`. That is the MultiSource
`kc` miscompile, where a `YYSTYPE` union assignment (`*++yyvsp =
yylval`) becomes a no-op.

This implements the FIXME by mirroring the defaulted union copy
constructor (`CGClass.cpp`: "union copy constructor, we must emit a
memcpy") in the AST: when the class is a union,
`DefineImplicit{Copy,Move}Assignment` emits a single whole-object copy
through `buildMemcpyForAssignmentOp`, the helper already used for
trivially-copyable array members, instead of the skipped per-member
assignments. The operator stays trivial (triviality is fixed at
declaration time, before the body is synthesized), so constant
evaluation, which copies trivial unions through its own semantic path
and never executes the body, is unchanged.

Copying the object representation is correct even when a union member is
not trivially copyable, but the synthesized memcpy would then trip
`-Wnontrivial-memcall`. A `void*` cast would drop pointee qualifiers
such as the address space and inject an explicit cast node the source
never wrote. Instead the call keeps its typed union-pointer arguments,
and the union branch in `DefineImplicit{Copy,Move}Assignment` wraps the
build in `IgnoreAllWarningDiagRAII`, a save-and-restore around the
engine's existing ignore-all-warnings state. `CheckMemaccessArguments`
defers the warning and its note through `DiagRuntimeBehavior`, and that
queue flushes after the RAII has restored the previous ignore state, so
`DiagIfReachable` samples that state as it enqueues and drops what is
not error-class. Under `-w` the same queue is discarded before it
flushes, so nothing outside the scoped region changes.

Classic CodeGen now emits the copy when the operator is odr-used, and
ClangIR's union assignment lowers to a real memcpy. On the Sema side,
tests cover the synthesized AST for the implicit-`this` and C++23
explicit-object spellings, the `-Wnontrivial-memcall` suppression, the
preserved address space, the clean `-ast-print` output, and constexpr
active-member copy. The classic and ClangIR lowering is checked across
named, anonymous, and tail-padded unions.

#198918 added a defaulted-union `errorNYI` in ClangIR and deferred this
AST fix to a separate change. This PR makes that fix and drops the
guard, so the now-non-empty body lowers to a `cir.call @memcpy` instead
of erroring. Its own `union-copy-move-assignment.cpp` CIR test, which
expects that call, is the regression check.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ec2bf56676ae4a46f47e3fbc62d5208b729792a1

Git commit 230e5d9a02cafb7fdb7b85075ca16217ee6f5f5a by GitHub (on behalf of Akshay K) on 31/07/2026 at 20:56..
[AArch64] Fix zero-call-used-regs crash on targets without NEON (#211603)

## Summary

`-fzero-call-used-regs=all` crashes on AArch64 targets without NEON
support, such as `-mgeneral-regs-only` or `-march=armv8-a+nosimd`. The
former is a common configuration used by the Linux kernel.

```c
int p(int a) { return a + 1; }
```

```sh
$ clang --target=aarch64-linux-gnu -O2 -S -mgeneral-regs-only \
        -fzero-call-used-regs=all test.c -o -

Assertion failed: (STI.hasNEON() && "Expected to have NEON."),
buildClearRegister
```

## Cause

`buildClearRegister()` assumes clearing floating-point registers always
requires NEON. However, `-march=armv8-a+nosimd` still has the Armv8
floating-point extension, so FP registers must be cleared without NEON,
while `-mgeneral-regs-only` has no FP support but still collects FP
registers for clearing.

## Fix

Replace the `hasNEON()` assertion with `hasFPARMv8()` for the no-NEON FP
case, and skip collecting floating-point registers entirely when the
target has no Armv8 floating-point support.

**Fixes:** #211151

Assisted-by: Cursor
https://invent.kde.org/qt/clang/llvm-project/-/commit/230e5d9a02cafb7fdb7b85075ca16217ee6f5f5a

Git commit e423bace201fd04fd594e7fcd666d559ca12fda3 by GitHub (on behalf of Tom Stellard) on 31/07/2026 at 21:00..
workflows/require-team-membership: Fix typo (#212686)
https://invent.kde.org/qt/clang/llvm-project/-/commit/e423bace201fd04fd594e7fcd666d559ca12fda3

Git commit 320164daab4148e3372f6756caaa67882e24a91f by GitHub (on behalf of Igor Kudrin) on 31/07/2026 at 21:19..
[lldb] Avoid returning a stale AddressOf (#212915)

The 'ValueObject::AddressOf()' method assumes that the address of a
value object cannot change, so when it is calculated once, it does not
need to be updated afterwards. However, this is not the case if the
'ValueObject' is a dependent object obtained by calling 'Dereference()'
of another 'ValueObject'. If the latter object is changed, the dependent
value object should return a new address from the 'AddressOf()' method
to reflect the change.
https://invent.kde.org/qt/clang/llvm-project/-/commit/320164daab4148e3372f6756caaa67882e24a91f

Git commit a10e70b5d72b63e97304be6c730290b497c594ee by GitHub (on behalf of Joseph Huber) on 31/07/2026 at 21:24..
[NVPTX] Pass `-Xcuda-ptxas` to the nvlink wrapper for LTO (#213351)

Summary:
This allows `-foffload-lto -fgpu-rdc -Xcuda-ptxas` to work properly by
forwarding it.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a10e70b5d72b63e97304be6c730290b497c594ee

Git commit 96c356ab71439dbd08fe185ac7b580f7555b1722 by GitHub (on behalf of Alexey Bataev) on 31/07/2026 at 21:32..
[SLP]Keep scheduled order when moving body in alias-check versioning

The scheduler physically reorders the block before versioning, and
emission insertion points depend on that order. Moving the body by the
pre-scheduling snapshot scrambled it and produced use-before-def IR.
Move in the block's current order instead, filtered to the original
body so the emitted check instructions stay in the header block.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213358
https://invent.kde.org/qt/clang/llvm-project/-/commit/96c356ab71439dbd08fe185ac7b580f7555b1722

Git commit 36187ce08a65a476f87896174231eea6c8d0e528 by GitHub (on behalf of Alexey Bataev) on 31/07/2026 at 21:38..
[SLP][NFC]Add an extra check for fmul to fmuladd promotion, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/213361
https://invent.kde.org/qt/clang/llvm-project/-/commit/36187ce08a65a476f87896174231eea6c8d0e528

Git commit 5ca2b9313c4f33385aa60c554cb36f76bef67e55 by GitHub (on behalf of Zhen Wang) on 31/07/2026 at 21:38..
[flang-rt][cuda] Skip scope-exit cleanup when the context has a sticky error (#213184)

A sticky CUDA error (e.g. an illegal memory access in a kernel) leaves
the primary context active but unusable, so CUFDeviceIsActive() reports
it as fine and the compiler-generated scope-exit frees abort a program
that ran to completion: 'cudaFree(p)' failed with
'cudaErrorIllegalAddress'.

Detect this by freeing a null pointer, a no-op that still reports the
sticky error. It runs only once the primary context is known active, so
it cannot lazily create one.
https://invent.kde.org/qt/clang/llvm-project/-/commit/5ca2b9313c4f33385aa60c554cb36f76bef67e55

Git commit 1cf3b70dab75e05516d97ce3d71d7a7495c7fcad by GitHub (on behalf of Sam Elliott) on 31/07/2026 at 22:03..
[IPO] Remove IR Outliner (#211971)

The IR Outliner has major bugs and no active maintainer, and is disabled
by default. The new LLVM Policy states the pass should be removed.

This commit removes:
- The IROutliner pass
- The IRSimilarity analysis
- The `llvm-sim` executable, used for understanding the latter
- All tests of the above

Related discussion:
https://discourse.llvm.org/t/ir-outliner-status-interest/89672
https://invent.kde.org/qt/clang/llvm-project/-/commit/1cf3b70dab75e05516d97ce3d71d7a7495c7fcad

Git commit d0d8c85410ae10b9ff581da60222a1089d968767 by GitHub (on behalf of Simon Pilgrim) on 31/07/2026 at 22:17..
[X86] getTargetConstantBitsFromNode - ensure constant data is from a vector type (#213360)

Fixes #213251
https://invent.kde.org/qt/clang/llvm-project/-/commit/d0d8c85410ae10b9ff581da60222a1089d968767

Git commit 458b207bd6bbedbd65498358eee8aecafac1efe8 by GitHub (on behalf of Moazin K.) on 31/07/2026 at 22:21..
[OpenACC][NFC] Minor clean up in ACCRoutineLowering. (#213333)

Minor NFC clean up after recent changes to remove nohost handling from
ACCRoutineLowering.

Assisted-by: Codex
https://invent.kde.org/qt/clang/llvm-project/-/commit/458b207bd6bbedbd65498358eee8aecafac1efe8

Git commit 38d27329ec681563090a69b1937313ccb311f46e by GitHub (on behalf of Thurston Dang) on 31/07/2026 at 22:28..
[DropAssumes] Print drop-deref in pipeline where appropriate (#211905)

drop-deref was added as an option in #166947 and is parsed correctly,
but is not serialized. This can make it difficult to reduce test cases,
especially automatically with llvm/utils/reduce_pipeline.py.

This patch implements printPipeline() to serialize drop-deref where
appropriate.
https://invent.kde.org/qt/clang/llvm-project/-/commit/38d27329ec681563090a69b1937313ccb311f46e

Git commit 362d72f6381c0279a068eae143def6c4bd1e5f0f by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 31/07/2026 at 23:02..
[flang][NFC] Rename modfile84.f90 to modfile85.f90 (#213371)

Avoid clash on case insensitive system
https://invent.kde.org/qt/clang/llvm-project/-/commit/362d72f6381c0279a068eae143def6c4bd1e5f0f
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.