[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/petar-avramovic/sgpr-reg-sequences'.
Changed from 0000000000000000000000000000000000000000 to 0acde98055fefbbe93661d032972c1bcd06ec341
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 9410fc68c61057a493abd33c43fbcb8bae1f98e0 by GitHub (on behalf of Michael G. Kazakov) on 13/08/2026 at 11:13..
[libc++][pstl] Implementation of parallel uninitialized_default_construct, uninitialized_value_construct and uninitialized_fill (#214580)
This PR adds parallel versions of these functions:
- `std::uninitialized_default_construct`
- `std::uninitialized_default_construct_n`
- `std::uninitialized_value_construct`
- `std::uninitialized_value_construct_n`
- `std::uninitialized_fill`
- `std::uninitialized_fill_n`
They use parallel `for_each` under the hood and are effectively
one-liners, e.g.:
```c++
return ForEach()(policy, std::move(first), std::move(last), [&value](Ref element) {
::new (static_cast<void*>(std::addressof(element))) ValueType(value);
});
```
Fixes #134590.
Fixes #134591.
Fixes #134594.
Fixes #134595.
Part of #99938.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9410fc68c61057a493abd33c43fbcb8bae1f98e0
Git commit 844b24545b6a40b7deb6a20984f8a61ad9623a40 by GitHub (on behalf of blazej-smorawski) on 13/08/2026 at 11:25..
Revert "[offload] Fix compatibility for level_zero 25.22.33944- #2142… (#216010)
…15 (#215977)"
This reverts commit 77c8ecd7a6b912b6c61665f623f864c4cba52a00.
Level zero approach to zex pointers is a little inconsistent and I need
to rework the PR. Some APIs such as
`zeCommandListAppendLaunchKernelWithArguments` would return `SUCCESS` on
older versions and provide a valid pointer to implemntation, but in more
recent versions of level zero you would get `ERR_INVALID_ARGUMENT`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/844b24545b6a40b7deb6a20984f8a61ad9623a40
Git commit 866bc8d6a9930a75b2b10a8f9d0a31982c5479bb by GitHub (on behalf of Kane Wang) on 13/08/2026 at 11:36..
[RISCV] Fix prefetch ADDI-adjustment range upper bound (#215985)
SelectAddrRegImmLsb00000 folds a large constant offset into an ADDI plus
a simm12_lsb00000 prefetch immediate. The positive range [2017, 4065]
overflowed simm12 at the top end: CVal - 2016 reaches 2048/2049,
producing an invalid ADDI. Narrow it to 4063; 4064/4065 now fall through
to selectConstantAddr instead.
https://invent.kde.org/qt/clang/llvm-project/-/commit/866bc8d6a9930a75b2b10a8f9d0a31982c5479bb
Git commit e67c6a8316dffc0aab581f773f189bfd6273f0ef by GitHub (on behalf of StoeckOverflow) on 13/08/2026 at 11:52..
[APINotes] Strip selector volatile and nested nullability from parameter selectors (#215266)
Address @Xazax-hun's comments about volatile and nullability stripping
from
https://github.com/llvm/llvm-project/pull/213043#pullrequestreview-4830763715.
This strips top-level `volatile` like top-level `const` when building
`Where.Parameters` selector spellings, and recursively strips
nullability through pointer-like layers such as `int * _Nullable *
_Nullable`.
This is a prequel PR to
https://github.com/llvm/llvm-project/pull/213043.
Reviewers: @Xazax-hun @j-hui @egorzhdan
https://invent.kde.org/qt/clang/llvm-project/-/commit/e67c6a8316dffc0aab581f773f189bfd6273f0ef
Git commit 9a9bba7f55f61368cdb66ec2f6cd203e8eb40946 by GitHub (on behalf of Arseniy Obolenskiy) on 13/08/2026 at 11:52..
[NFC][AMDGPU] Avoid storing through a poison pointer in function-args.ll test (#215999)
Address post-merge comment:
https://github.com/llvm/llvm-project/pull/215970
https://invent.kde.org/qt/clang/llvm-project/-/commit/9a9bba7f55f61368cdb66ec2f6cd203e8eb40946
Git commit 47e1e1613665dd736806cdd2bd1e7e780934b856 by GitHub (on behalf of Raphael Isemann) on 13/08/2026 at 11:53..
[lldb-dap][NFC] Fix deprecated SB API usages (#216006)
lldb-dap has accumulated over time several calls to deprecated SB API
functions. Since #215818 we actually emit the missing deprecation
warnings which breaks the lldb-dap build with -Werror. This patch
replaces the deprecated functions with the equivalent non-deprecated
version.
Note that this patch is intentionally NFC and I just added TODOs for the
missing error handling.
assisted-by: claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/47e1e1613665dd736806cdd2bd1e7e780934b856
Git commit 59d379a842b567561d72870ff666c5717a564f90 by GitHub (on behalf of Alexey Bataev) on 13/08/2026 at 11:58..
[SLP][NFC]Add tests for and-cut reduction leaves, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/216019
https://invent.kde.org/qt/clang/llvm-project/-/commit/59d379a842b567561d72870ff666c5717a564f90
Git commit 2506101453513fb854854b721158b94dce780019 by GitHub (on behalf of Mariya Podchishchaeva) on 13/08/2026 at 12:06..
[SPIRV] Implement bare bones lowering for G_PREFETCH (#215505)
Map G_PREFETCH to OpenCL prefetch if SPV_KHR_untyped_pointers is not
enabled, otherwise drop.
Fixes https://github.com/llvm/llvm-project/issues/214265
https://invent.kde.org/qt/clang/llvm-project/-/commit/2506101453513fb854854b721158b94dce780019
Git commit 6b4dfcfc860bd348fc3e42350e9d411abbc44e1b by GitHub (on behalf of Lucas Mellone) on 13/08/2026 at 12:12..
[libc++][NFC] Update implementation strategy of the `operator()(I&& first, S last)` for `std::ranges::distance` (#215994)
This patch updates the implementation strategy for `ranges::distance(I&&
first, S last)` to match the exact wording from the Standard.
This implementation is NFC because the return type and the branching
condition will be the same after the change, and the tests present in
`libcxx/test/std/iterators/iterator.primitives/range.iter.ops/range.iter.ops.distance/iterator_sentinel.pass.cpp`
are already covering the scenarios for such change.
References:
- https://cplusplus.github.io/LWG/issue3664
- https://cplusplus.github.io/LWG/issue4242
- https://wg21.link/range.iter.op.distance
Follows up: https://github.com/llvm/llvm-project/pull/211568
https://invent.kde.org/qt/clang/llvm-project/-/commit/6b4dfcfc860bd348fc3e42350e9d411abbc44e1b
Git commit f89baa67381bb83d72f2f3d5063d91cc44b964e0 by GitHub (on behalf of Alexey Bataev) on 13/08/2026 at 12:22..
[SLP]Vectorize reductions with fptrunc/fpext round-trip links
Look through the cast round-trips between reduction links: drop the
elidable ones, re-emit the others in the ordered emission.
Fixes #31425
Reviewers: bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/215571
https://invent.kde.org/qt/clang/llvm-project/-/commit/f89baa67381bb83d72f2f3d5063d91cc44b964e0
Git commit 70998dbeda3a9f29b38af26e5256feeeeb20acea by GitHub (on behalf of hev) on 13/08/2026 at 12:31..
[clang][LoongArch] Match GCC ABI handling of integer complex types (#215222)
GNU integer complex types such as `_Complex unsigned char` and `_Complex
unsigned short` were incorrectly recognized as eligible floating-point
ABI aggregates by `detectFARsEligibleStructHelper`. When used as a
member of a structure, this caused the real and imaginary parts to be
expanded into separate general-purpose argument registers.
Integer complex types are not floating-point complex types and should be
handled as ordinary aggregates. Restrict the complex-type expansion path
to elements with real floating-point types, allowing small integer
complex aggregates to be packed into a single general-purpose register,
consistent with GCC.
Fixes #214810
https://invent.kde.org/qt/clang/llvm-project/-/commit/70998dbeda3a9f29b38af26e5256feeeeb20acea
Git commit 180f43d3e50edcc80183d2fb2748031260428079 by GitHub (on behalf of Louis Dionne) on 13/08/2026 at 12:32..
[libc++] Make the dry-run message in dispatch-benchmarks debug-only (#216011)
Also include more information which might be relevant when debugging.
Fixes #215926
https://invent.kde.org/qt/clang/llvm-project/-/commit/180f43d3e50edcc80183d2fb2748031260428079
Git commit d4ee38a8846210d43a78ae37e635b0be48841813 by GitHub (on behalf of David Spickett) on 13/08/2026 at 12:43..
[lldb][test][lldb-dap] Use program path in TestDAP_runInTerminal.py (#216009)
On Linux if you run `INVALIDPROGRAM` it will look in PATH for it.
lldb-dap runs the program using execvp which has special behaviour for
the case where an entry in path cannot be accessed.
https://linux.die.net/man/3/execvp
> If permission is denied for a file (the attempted execve(2)
> failed with the error EACCES), these functions will continue
> searching the rest of the search path. If no other file is
> found, however, they will return with errno set to EACCES.
We have a downstream bot where the PATH was:
PATH=/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
The buildbot user is not root, so /root/.cargo/bin was not readable, and
so one test failed on this machine:
```
FAIL: test_FakeAttachedRunInTerminalLauncherWithInvalidProgram (TestDAP_runInTerminal.TestDAP_runInTerminal)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/davspi01/llvm-project/lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py", line 231, in test_FakeAttachedRunInTerminalLauncherWithInvalidProgram
self.assertIn(
AssertionError: 'No such file or directory' not found in '{"kind":"error","value":"Permission denied"}\n'
```
It's saying permission denied for the PATH entry, rather than could not
find the program file.
You can reproduce this locally with:
$ mkdir /tmp/lldb-no-search
$ chmod 000 /tmp/lldb-no-search
$ env PATH="/tmp/lldb-no-search:$PATH" ./bin/lldb-dotest -p
TestDAP_runInTerminal.py
To fix this, I've changed the test case to use the full path to the
(non-existent) program file. As this test should not be depending on
PATH anyway.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d4ee38a8846210d43a78ae37e635b0be48841813
Git commit 53a7028134738d799d8b758a5675873e325dd9e0 by GitHub (on behalf of Louis Dionne) on 13/08/2026 at 12:50..
[libc++] Report the runs created by dispatch-benchmarks (#216029)
Also, axe the jsonl output which was not used by anything in the
pipeline and simply created confusion.
Fixes #215924
https://invent.kde.org/qt/clang/llvm-project/-/commit/53a7028134738d799d8b758a5675873e325dd9e0
Git commit a66c7b6a7b8b8dcb5029eab0331743d05e9f3f99 by GitHub (on behalf of Matt Arsenault) on 13/08/2026 at 13:29..
Triple: Fix AArch64 Android default long double format (#216032)
https://invent.kde.org/qt/clang/llvm-project/-/commit/a66c7b6a7b8b8dcb5029eab0331743d05e9f3f99
Git commit 2cb082ed5ac189df83a535d78135ebd02929dd2d by GitHub (on behalf of Ramkumar Ramachandra) on 13/08/2026 at 13:33..
[VPlan] Use vputils::getOpcode in poisonGuaranteesUB (NFC) (#215750)
https://invent.kde.org/qt/clang/llvm-project/-/commit/2cb082ed5ac189df83a535d78135ebd02929dd2d
Git commit c99bc08ff185c997c909dae753e69eb52cfa06db by GitHub (on behalf of David Spickett) on 13/08/2026 at 13:35..
[lldb][AArch64][Linux] Add function to lookup ptrace set number (#213975)
This will be part of a set of RegisterSetType -> thing lookup
functions later used to implement generic read and write functions.
This replaces GetSVERegSet and any other direct uses of ptrace
set numbers. Apart from a couple where we are trying to detect
SVE and SME regardless of what the current mode is.
---
<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-project/-/commit/c99bc08ff185c997c909dae753e69eb52cfa06db
Git commit 6f57cba9496fe2ab538d0daf16343f3dec81de4c by GitHub (on behalf of Adam Scott) on 13/08/2026 at 13:38..
Reapply "[X86] EltsFromConsecutiveLoads - handle trunc(wideload()) patterns" (#199371) (#208999)
Reapplies #199371, reverted in #208960 after the strided path was
flagged for reading past the last element
(https://github.com/llvm/llvm-project/pull/199371#issuecomment-4947406318).
This bounds the loads to bytes that are known readable.
The natural wide loads stay when the whole span is dereferenceable, the
base is a fixed stack argument slot so the tail stays inside the
caller-written slot, or the base alignment keeps each load inside one
page. Otherwise the last wide load is offset back so it ends exactly at
the last element and nothing past it is read. A per lane srl moves the
elements back down and folds into the load, e.g. `vpsrld $16, 14(%rdi),
%xmm1`.
A lone wide load cannot be shifted and without VLX the sub-512-bit
VTRUNC forms this creates do not select so those cases stay scalar.
With strided.ll and driver.c from #208960 (30 data bytes ending at the
last mapped byte, unmapped page after):
```
$ llc -mtriple=x86_64-unknown-linux-gnu -mattr=+avx2 -filetype=obj strided.ll -o strided.o
$ cc driver.c strided.o -o repro
$ ./repro; echo "exit: $?"
returned OK, out[0]=4369
exit: 0
```
Also tested other basic shape variations (i8/i16/i32, strides 2/4/8, 4
to 64 elements, forward and reversed insertion).
Fixes #198175
https://invent.kde.org/qt/clang/llvm-project/-/commit/6f57cba9496fe2ab538d0daf16343f3dec81de4c
Git commit f84556dffb72e730867de1c2cf70df2567c43732 by GitHub (on behalf of Michael G. Kazakov) on 13/08/2026 at 13:42..
[libc++][pstl] Implementation of parallel std::search() based on __parallel_find() (#215119)
This PR implements a parallel version of `std::search()` based on
`__parallel_find()`.
The algorithm crops the input range to a range where a potential match
can start and runs a chunked parallel find on the cropped range.
Inside each chunk potential matches are looked for using the serial
`std::search()` and the first one found is returned.
Since it's based on `__parallel_find()`, the algorithm supports early
termination.
Part of #99938.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f84556dffb72e730867de1c2cf70df2567c43732
Git commit 228ded37d5a3c0b8aa24ce65109b48f56a4d6e50 by GitHub (on behalf of Vachan) on 13/08/2026 at 13:45..
[DAG] ISD::matchUnaryPredicate / matchUnaryFpPredicate / matchBinaryPredicate - add DemandedElts variant (#183013)
Fixes #181658
https://invent.kde.org/qt/clang/llvm-project/-/commit/228ded37d5a3c0b8aa24ce65109b48f56a4d6e50
Git commit c076218f6e558f0d279243aadfbe269762774053 by GitHub (on behalf of David Spickett) on 13/08/2026 at 13:49..
[llvm][utils] Correct release package links for Windows (#215770)
The new Wix installer has a .msi extension instead of .exe. I've not
seen an installer for Windows on Arm or 32-bit x86, but I'm assuming
they follow the same format.
-LLVM-23.1.0-rc3-win64.[exe]
+LLVM-23.0.0.3-win64.[msi]
The change to Wix was done in
https://github.com/llvm/llvm-project/pull/200734.
Wix does not allow versions with characters in them. Fixed in the builds
by https://github.com/llvm/llvm-project/pull/215030, and I've done an
equivalent in Python.
-clang+llvm-[23.1.0-rc3]-x86_64-pc-windows-msvc.tar.xz
+clang+llvm-[23.0.0.3]-x86_64-pc-windows-msvc.tar.xz
https://invent.kde.org/qt/clang/llvm-project/-/commit/c076218f6e558f0d279243aadfbe269762774053
Git commit 807ed4432b22909694a2a0773664de207694d21b by GitHub (on behalf of Charles Zablit) on 13/08/2026 at 13:56..
[lldb-vscode] make "integratedTerminal" the default console (#171429)
This patch changes the default `console` from `"internalConsole"` to
`"integratedTerminal"`. `"internalConsole"` in VSCode does not support
sending stdin to the debuggee on any platform, whereas
`"integratedTerminal"` does.
This patch fixes https://github.com/llvm/llvm-project/issues/162887.
https://invent.kde.org/qt/clang/llvm-project/-/commit/807ed4432b22909694a2a0773664de207694d21b
Git commit d801680303cbc04dd051e6f1c55fbc470fde215e by GitHub (on behalf of Barbara Mitic) on 13/08/2026 at 13:59..
[AMDGPU] Fold image load/store with known-zero slice index to non-arrayed form (#214744)
Fold an arrayed image load or store whose array slice is a known-zero
constant into the equivalent non-arrayed op, dropping the slice
coordinate. Slice 0 is the base layer, which is the texel the
non-arrayed op addresses. Dropping the coordinate also removes the
materialization of the zero, freeing a VGPR.
Covers 1D_ARRAY -> 1D, 2D_ARRAY -> 2D and 2D_MSAA_ARRAY -> 2D_MSAA,
keeping fragid for the MSAA case. The mapping is a new NonArrayDim
field on MIMGDimInfo, defaulting to the dim itself so that CUBE,
whose extra component is a face rather than a layer, is left alone.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d801680303cbc04dd051e6f1c55fbc470fde215e
Git commit e0ab0d2cda0847b7b6f883356b76eeec35148edd by GitHub (on behalf of Charles Zablit) on 13/08/2026 at 14:00..
[lldb] Don't assume a category dump order in TimeTest (#213100)
There is no guarantee that the categories are sorted by the time they
took to finish. This is especially flaky on a loaded host, causing the
test to fail.
Find the categories by their name instead. This fixes TimeTest being
flaky (on Windows).
https://invent.kde.org/qt/clang/llvm-project/-/commit/e0ab0d2cda0847b7b6f883356b76eeec35148edd
Git commit 088864db1798f23c309f548d7275260e8a0e7f67 by GitHub (on behalf of Yaxun (Sam) Liu) on 13/08/2026 at 14:10..
[Clang][Driver] Accept `--offload-jobs` without parallel work (#214310)
Clang reported `--offload-jobs` as unused when an active offload
compilation had no device work that could run in parallel. CMake tests
compiler options with `-Werror`, so this warning made HIP/offload option
detection fail. It also caused unnecessary build errors and CMake
workarounds in projects targeting one or several GPU architectures.
`--offload-jobs` sets the maximum number of parallel jobs, not a
required number. An offload compilation with fewer jobs, including zero
or one, is valid and should not produce an unused argument warning. A
normal C++ compilation without offloading still reports the option as
unused; CMake should probe it using a HIP/offload compilation.
Claim and validate the option whenever offloading is active,
independently of whether parallel device jobs are found. Keep job
discovery responsible only for marking work that can run in parallel.
https://invent.kde.org/qt/clang/llvm-project/-/commit/088864db1798f23c309f548d7275260e8a0e7f67
Git commit a4040b3be97a09bd877ecbe6e21d47ff38a672af by GitHub (on behalf of 222rohan) on 13/08/2026 at 14:12..
[DAG][X86] Avoid slow masked-store folds on Zen and x86-64-v3 (#214187)
PR #145176 added a method (`foldToMaskedStore`) which folds same-address
load/select/store sequences into masked stores. On Zen 1-3 CPUs, this
may select the slow legacy `vpmaskmovd/q` store instead of normal vector
memory operations.
Use `TargetLowering::isTypeDesirableForOp` to mark MSTORE undesirable on
targets with slow masked stores. The fold is enabled by default. We
disable it on Zen 1-3 and x86-64-v3 (for the worst case; here Zen) by
using the new tuning for slow vector mask stores. Explicit masked-store
intrinsics are untouched.
Fixes #213195
mca: https://godbolt.org/z/7brjMzj15
New `slow-vpmaskmov.ll` test added.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a4040b3be97a09bd877ecbe6e21d47ff38a672af
Git commit 0acde98055fefbbe93661d032972c1bcd06ec341 by Petar Avramovic on 13/08/2026 at 15:05..
AMDGPU: Split sgpr reg-sequences that are copied to vgpr
https://invent.kde.org/qt/clang/llvm-project/-/commit/0acde98055fefbbe93661d032972c1bcd06ec341