[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 71af911facd88e41df273a95d658c3293aa4edee to 79537625e213b6a5f329da1d5a443de265346a5e
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 a1d93f19bed4c73051f9379e2c64d4303b6866ca by GitHub (on behalf of Abhinav Gaba) on 30/07/2026 at 23:17..
[OpenMP][Offload] Fix use-after-free of the packed firstprivate transfer buffer (#212905)

`packAndTransfer()` called `submitData()`, which captured the address of
the data of
the `SmallVector` member of `PrivateArgumentManagerTy`, as the host
source of an
async transfer. The manager was later moved into an `AsyncInfo`
post-processing
lambda, changing the underlying address of the data:
`addPostProcessingFunction()`
copies the closure rather than moving it, but even if it "moved", the
address of the data owned by `SmallVector`'s inline capacity would have
changed.

The AMDGPU plugin read from the stale host source address when doing the
actual transfer.

Fix: allocate the packed buffer via
`getOrCreateSourceBufferForSubmitData()`, so
that `AsyncInfo` owns it. The non-packed
corresponding-pointer-initialization
path in this same class already built its source buffer that way.
https://invent.kde.org/qt/clang/llvm/-/commit/a1d93f19bed4c73051f9379e2c64d4303b6866ca

Git commit 06361fb2efd0a6818800891d9e410615483fce6c by GitHub (on behalf of Erich Keane) on 30/07/2026 at 23:18..
[CIR] Implement most of 'musttail' statement attr (#213154)

This implements the basics, and leaves NYI in a few places (particularly
those that require cleanup calculations). There IS some additional work
that needs to be done when the ABI work is put in place as well, and the
thunk 'tail' hint isn't implemented either, and is left as a
missing-feature.

This is necessary for compiling the bytecode interpreter in Clang in a
few places during self-build.
https://invent.kde.org/qt/clang/llvm/-/commit/06361fb2efd0a6818800891d9e410615483fce6c

Git commit 8fbdc8cd027176fb54c5fbcd7688fe78eed0154f by GitHub (on behalf of jimingham) on 30/07/2026 at 23:28..
If the address of the isa_pointer is returned as an error don't ask if it is a tagged pointer (#213163)

The answer isn't right and the wrong type might stick and cause
downstream failures.

Note, the correct solution to this is to distinguish between "couldn't
get the address" and "got a real value of LLDB_INVALID_ADDRESS" but
piping an optional all the way down and then through all the uses is an
intrusive change which I don't have time for right now. That only risk
is that this really IS a tagged pointer with the value
LLDB_INVALID_ADDRESS, so this seems an acceptable workaround.

I ran across this when debugging the ObjC test failures in the ObjC
testuite after 8b9cce358bef26ae4cb9275dd6a43f903bafbaa0. This patch
clears up all those testsuite failures, which should stand as a test for
this patch when I resubmit that change.
https://invent.kde.org/qt/clang/llvm/-/commit/8fbdc8cd027176fb54c5fbcd7688fe78eed0154f

Git commit 6d9de525456298c7df08d77942d3ec50dddf5eaa by GitHub (on behalf of Stanislav Mekhanoshin) on 30/07/2026 at 23:29..
[AMDGPU] Duplicate packed fp32 instructions (#212857)

These have different semantics on gfx9 and gfx12 with respect to
scalar operands.
https://invent.kde.org/qt/clang/llvm/-/commit/6d9de525456298c7df08d77942d3ec50dddf5eaa

Git commit 53e16d7708c39ecc03f97d32d1db9afdd355deca by GitHub (on behalf of Akshay K) on 30/07/2026 at 23:50..
[CIR] Pointer and vptr width from a CIR-native data-layout entry (#204185)

PointerType and VPtrType have hard-coded sizes and alignments of 64/8
bits. On targets with 32-bit pointers (e.g., nvptx, spirv32), this trips
the record layout builder. Any record containing a pointer hit the
insertPadding assertion (offset >= size)
because the pointer was sized at 8 bytes while the following field was
placed at the AST-mandated 4-byte offset.

 ### Changes:
- CIRGenerator: attaches a CIR-native cir.ptr data-layout entry at
module setup, storing {size-in-bits, abi-align-in-bits} read
  from the target DataLayout (only for the default address space).
- CIRTypes: PointerType reads its size/alignment from that entry
(falling back to 64/8 when absent); VPtrType routes through a cir.ptr so
it picks up the same width.
- LowerToLLVM: strips the cir.ptr entry during CIR→LLVM lowering, since
cir.ptr has no meaning in LLVM IR.
- Unit test: checking 4-byte pointer/vptr layout on nvptx, verified
across CIR, CIR→LLVM.
https://invent.kde.org/qt/clang/llvm/-/commit/53e16d7708c39ecc03f97d32d1db9afdd355deca

Git commit 0879c1092c66242027065634210692cc06359fee by GitHub (on behalf of hulxv) on 31/07/2026 at 00:50..
[compiler-rt][builtins] libc-backed floating-point extend/trunct builtins (#209984)

Add libc-backed floating-point extend/truncate builtins

Part of #197824
https://invent.kde.org/qt/clang/llvm/-/commit/0879c1092c66242027065634210692cc06359fee

Git commit 0142992aea1df89fec8c20bf77520e37bfb69e2a by GitHub (on behalf of Yusuke MINATO) on 31/07/2026 at 00:56..
Reapply "[NFC][clang][Driver] Add tests for --driver-mode=flang" (#211724)

This reapplies #207658.

Some targets do not support flang_rt or clang_rt.
It seems difficult to create a blocklist, so the tests are now
configured to explicitly specify the known-working targets.
The specified targets are extracted from tests in flang/test/Driver.

-----
The original commit message:
This patch intends to clarify the current behaviors, not to state the
expected/desirable behaviors.
https://invent.kde.org/qt/clang/llvm/-/commit/0142992aea1df89fec8c20bf77520e37bfb69e2a

Git commit d9278ad4e640cf04e5fa0bd22898f5aa0351b564 by GitHub (on behalf of Jonas Devlieghere) on 31/07/2026 at 00:59..
[lldb] Ask the reporter what happened in a bug report (#213173)

A diagnostics bundle records the state of the debugger, never what the
user was doing or what they expected instead, so reports arrive with a
generic title and no description of the problem. Pre-fill the report
with the questions only the person filing it can answer, and print a
checklist when the bundle is written so an incomplete report doesn't get
shared as-is.

rdar://183356348
https://invent.kde.org/qt/clang/llvm/-/commit/d9278ad4e640cf04e5fa0bd22898f5aa0351b564

Git commit 2e3f4ef5855e07f4bd2b0a1270e6101beceb1f8c by GitHub (on behalf of Farzon Lotfi) on 31/07/2026 at 00:59..
[SPIRV] Legalize Cast Instructions for Matrix Types (#212619)

fixes #186864

This is a more limited fix. that doesn't require us to change the whole
legalization strategy for SPIR-V.

To get the last fix to work it looks like I would have to have changed
every global opcode to no longer use power of 2 based legalization.

This change with power of 2 fixed the transpose case in the offload
testsuite when we do the conversion of bools to i32s before we call
transpose.

There remains an issue when a i1 makes it into a transpose intrinsic.
That said I can only trigger that case via llvmir and not HLSL so will
move on for now.
https://invent.kde.org/qt/clang/llvm/-/commit/2e3f4ef5855e07f4bd2b0a1270e6101beceb1f8c

Git commit b4d2b2f9a31ba82b5bcbf9060748bde8beae814b by GitHub (on behalf of Michael G. Kazakov) on 31/07/2026 at 01:06..
[libc++][pstl] Implementation of parallel std::lexicographical_compare() based on std::mismatch() (#212366)

This PR adds an implementation of parallel
`std::lexicographical_compare()` based on parallel `std::mismatch()`.

The implementation is close to a one-liner:
```c++
auto __res = _Mismatch()(__policy, __first1, __last1, __first2, __last2, [&](_Ref1 __lhs, _Ref2 __rhs) {
  return !__comp(__lhs, __rhs) && !__comp(__rhs, __lhs);
});
```

Included tests check that:
- Semantics of the iterator-only version is correct.
- Semantics of the predicated version is correct.
- The functions correctly SFINAE out when the first argument is not an
execution policy.
- The `noexcept` policy is followed.
- The `nodiscard` policy is followed.
- `static_assert` verifies iterators' categories.

Part of #99938.
https://invent.kde.org/qt/clang/llvm/-/commit/b4d2b2f9a31ba82b5bcbf9060748bde8beae814b

Git commit 71e0359a1acd9ab267c72fcf9dfb683afc59fbea by GitHub (on behalf of Lang Hames) on 31/07/2026 at 01:39..
[ORC] Generalize RTBridge callers over signature types. (#213179)

Recast the RTBridge callers as templates parameterized on the call
signature, so future executor accessors can be added as thin
declarations rather than hand-written classes.

rt::Caller<RetT(ArgTs...)> is the runtime-agnostic caller interface for
a given signature, providing the asynchronous and synchronous call
operators and the associated result types. rt::MainCaller is now an
alias for rt::Caller<int64_t(ArrayRef<std::string>)>.

rt::sps::Caller<BaseT, SPSSigT, CIName> implements any such interface by
invoking an executor-side SPS wrapper in the runtime's controller
interface, deducing the argument and result types from BaseT. A concrete
caller is a typedef supplying the interface, its SPS signature, and the
CI entry-point name; see rt::sps::MainCaller.

MainCaller's observable behavior is unchanged (the existing
SPSCallersTest still passes). The out-of-line destructor anchor in
OrcRTBridge.cpp is dropped, as the templated base now provides an inline
defaulted destructor.
https://invent.kde.org/qt/clang/llvm/-/commit/71e0359a1acd9ab267c72fcf9dfb683afc59fbea

Git commit 5e90b7bad3cc0960a26f46969063c5acf03ac137 by GitHub (on behalf of Aiden Grossman) on 31/07/2026 at 02:07..
[DebugInfo] Make DW_AT_LLVM_stmt_seq work with split DWARF (#213128)

Before this change, we would end up with a relocation in the dwo, which
would then result in an error.
https://invent.kde.org/qt/clang/llvm/-/commit/5e90b7bad3cc0960a26f46969063c5acf03ac137

Git commit 8b04cf374d4ac63edf973eb23b0566c21b6f638f by GitHub (on behalf of Stanislav Mekhanoshin) on 31/07/2026 at 02:10..
[AMDGPU] Rename packed 64-bit features to include SingleSGPR. NFCI. (#212891)
https://invent.kde.org/qt/clang/llvm/-/commit/8b04cf374d4ac63edf973eb23b0566c21b6f638f

Git commit 88329c4ad200b71e0cbcc7ac0093c7caf934ddea by GitHub (on behalf of Kazu Hirata) on 31/07/2026 at 02:17..
[ADT] Introduce SetVector::reserve (NFC) (#209951)

This patch introduces SetVector::reserve to allocate capacity in the
underlying containers.

We also adopt SetVector::reserve across Attributor.cpp where the exact
number of unique functions being inserted is known ahead of time.

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

Git commit ca5549224e06c5ed57332bf1bc89c0ac06c69e60 by GitHub (on behalf of Thurston Dang) on 31/07/2026 at 02:44..
Reland "[msan] Apply handleGenericVectorConvertIntrinsic() to fptrunc/fpext" (#213161)

Reverts llvm/llvm-project#204221 i.e., reapplies
https://github.com/llvm/llvm-project/pull/204197. The original patch was
reverted was due to a buildbot failure in vararg_shadow.cpp that relied
on undefined behavior as well as an unwarranted assumption that the
shadow is preserved when round-tripping from float->double->float. The
UB cases have been disabled in
https://github.com/llvm/llvm-project/pull/204246.

Original commit message:

The current instrumentation uses handleShadowOr(), which effectively
truncates or zero-extends the shadows for fptrunc/fpext respectively;
this is overly lax because floating-point has both mantissa and exponent
components (e.g., if the mantissa is initialized but the exponent is
uninitialized, an fptrunc might end up with a fully initialized shadow,
which is incorrect; conversely, if a floating-point value is fully
uninitialized, we want the fpext'ed shadow to be fully uninitialized,
not zero-extended). This patch strengthens the instrumentation of
fptrunc/fpext by using handleGenericVectorConvertIntrinsic(), which
applies an "all-or-nothing" approach to uninitialized bits of each
scalar.

Note: https://github.com/llvm/llvm-project/pull/203903 auto-upgraded
aarch64_neon_vcvtfp2hf and aarch64_neon_vcvthf2fp to fptrunc and fpext,
which had the effect of weakening MSan's instrumentation for those NEON
intrinsics. This patch restores the stronger instrumentation for them
(and also generalizes it to all instances of fptrunc and fpext).
https://invent.kde.org/qt/clang/llvm/-/commit/ca5549224e06c5ed57332bf1bc89c0ac06c69e60

Git commit 151b53deb836f82fdc068f05d4af1b42e1c4748a by GitHub (on behalf of Fangrui Song) on 31/07/2026 at 02:49..
[ELF] Remove -z sort-thunks (#213074)

The option was added by #211721 (sort forward thunks by descending
destination to prevent convergence failures) as a temporary opt-out.
Tests have been migrated to the default order.
https://invent.kde.org/qt/clang/llvm/-/commit/151b53deb836f82fdc068f05d4af1b42e1c4748a

Git commit 4311bccd19e2db25e7c410acd9d77a86d2b779d1 by GitHub (on behalf of Alex MacLean) on 31/07/2026 at 03:09..
[NVPTX] Move NVPTXAsmPrinter and NVPTXDAGToDAGISel out of headers (NFC) (#213162)

Both headers were only included by their own `.cpp` file, so move the
class definitions into anonymous namespaces there and delete the
headers.

`getFromTypeWidthForLoad` was the only thing `NVPTXISelLowering.cpp`
needed from the ISel class, so it moves to `NVPTXUtilities` as a free
function.
https://invent.kde.org/qt/clang/llvm/-/commit/4311bccd19e2db25e7c410acd9d77a86d2b779d1

Git commit 08bfd2e3fd81e6930b12076a670fc9e59ef32a84 by GitHub (on behalf of Henry Jiang) on 31/07/2026 at 03:41..
[clang] perf_helper.py ignore clang warning/note when parsing cc1 command  (#212401)

Parsing cc1 command fails in `perf_helper` when `clang: note:` or
`clang: warning:` due to driver warnings. As an example, harmless macOS
sdk mismatch and `-Wunused-command-line-argument`.
https://invent.kde.org/qt/clang/llvm/-/commit/08bfd2e3fd81e6930b12076a670fc9e59ef32a84

Git commit 1ddfb94fa6c645af9e10ad4946d9b7aea3c46454 by GitHub (on behalf of Krisitan Erik Olsen) on 31/07/2026 at 04:19..
[Sema] Fix crash in __builtin_dump_struct with -Werror -Wformat-pedantic (#212377)

`DiagnosticErrorTrap::hasErrorOccurred()` treats warnings promoted to
errors by `-Werror` as real errors, causing `BuiltinDumpStructGenerator`
to bail out before building the `PseudoObjectExpr` wrapper. CodeGen then
encounters the untransformed `CallExpr` with a placeholder builtin type
and hits `llvm_unreachable` in `CodeGenTypes::ConvertType`.
Use `hasUnrecoverableErrorOccurred()` instead, which ignores `-Werror`
promoted warnings and only bails on genuine compilation errors.

Fixes #211943
https://invent.kde.org/qt/clang/llvm/-/commit/1ddfb94fa6c645af9e10ad4946d9b7aea3c46454

Git commit 503e7f6a2674bd80490d69670e86e6b8d823215c by GitHub (on behalf of Henry Jiang) on 31/07/2026 at 04:21..
Module Build Fix: Add NVPTXTargetParser.def as a header (#213194)

Fixes module build `-DLLVM_ENABLE_MODULES=ON` in
https://ci.swift.org/job/llvm.org/job/clang-stage2-Rthinlto/job/main/457
by adding missing header for `NVPTXTargetParser.def`.

rdar://183685761
https://invent.kde.org/qt/clang/llvm/-/commit/503e7f6a2674bd80490d69670e86e6b8d823215c

Git commit c57b2b6103cb4bb6c4c2bee901c1eee2b966e5f0 by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 04:33..
DAG: Use poison in getLoad/getStore for offsets (#212066)
https://invent.kde.org/qt/clang/llvm/-/commit/c57b2b6103cb4bb6c4c2bee901c1eee2b966e5f0

Git commit 8b1821512db03f0cf0d443ac836f42ab993e9c53 by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 04:35..
ARM: Thread float ABI through ARMSubtarget (NFC) (#212931)
https://invent.kde.org/qt/clang/llvm/-/commit/8b1821512db03f0cf0d443ac836f42ab993e9c53

Git commit 7fc837632399955e281bce975033ff7b389eb790 by GitHub (on behalf of Matt Arsenault) on 31/07/2026 at 04:41..
AMDGPU: Add missing flat-global-insts to gfx13 frontend feature map (#213121)
https://invent.kde.org/qt/clang/llvm/-/commit/7fc837632399955e281bce975033ff7b389eb790

Git commit cee7b71929312666c5cf48eb79873893811b99a7 by GitHub (on behalf of Kirill A. Korinsky) on 31/07/2026 at 04:50..
[SPARC] Accept named register aliases (#212838)

Handle r0-r31, sp, fp and the optional '%' prefix in llvm.read_register
and llvm.write_register.
https://invent.kde.org/qt/clang/llvm/-/commit/cee7b71929312666c5cf48eb79873893811b99a7

Git commit afd4c46353bf77b9f4ebfde664e4fcf8d2ef2fc8 by GitHub (on behalf of Kamlesh Kumar) on 31/07/2026 at 04:51..
[AArch64] Preserve store memoperand (#210936)
https://invent.kde.org/qt/clang/llvm/-/commit/afd4c46353bf77b9f4ebfde664e4fcf8d2ef2fc8

Git commit 5b1539c0fca2e3f9362d100848983a3cc4272764 by GitHub (on behalf of David Green) on 31/07/2026 at 04:53..
[AArch64][GlobalISel] Update prelegalize tests with concrete types. NFC (#213199)
https://invent.kde.org/qt/clang/llvm/-/commit/5b1539c0fca2e3f9362d100848983a3cc4272764

Git commit 79537625e213b6a5f329da1d5a443de265346a5e by GitHub (on behalf of Kamlesh Kumar) on 31/07/2026 at 04:58..
[AArch64] Avoid factor-4 deinterleaved loads feeding uitofp (#210894)

Avoid generating ld4 when all values produced by the deinterleaved load
are fed into uitofp. Keeping the loads separate allows the backend to
optimize them into shifts and masks.
https://invent.kde.org/qt/clang/llvm/-/commit/79537625e213b6a5f329da1d5a443de265346a5e
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.