[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/cdevadas/test-divergent-cycle-exit-join'.
Changed from 0000000000000000000000000000000000000000 to 6b1a422033a41f88027ffc29b0f1430a8436d77e
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 54f8269b34b739e4cd01c6ada263f944f1c2e9b7 by GitHub (on behalf of Charles Zablit) on 13/08/2026 at 14:13..
[NFC][lldb] Make skipIfTargetDoesNotSupportThreads a require decorator (#215614)
Convert `skipIfTargetDoesNotSupportThreads` to `requireThreadSupport` to
clearly mark wasi targets as unsupported for tests which use threads.
https://invent.kde.org/qt/clang/llvm-project/-/commit/54f8269b34b739e4cd01c6ada263f944f1c2e9b7
Git commit 61e21507821f25efb928b5318b78c753ce006f4a by GitHub (on behalf of DeanSturtevant1) on 13/08/2026 at 14:15..
[bazel][libc] Conditionally depend on __support_osutil_io in __support_libc_assert (#216051)
In #210373 `libc_assert.h` added includes guarded by `#ifdef
LIBC_FULL_BUILD`. In the Bazel overlay which does not define
`LIBC_FULL_BUILD`, `__support_libc_assert` was updated to depend on
`:__support_osutil_io`.
`:__support_osutil_io` only provides platform headers for Linux, macOS,
and Windows. Adding it unconditionally causes analysis failure when
building for other platforms (such as baremetal).
This patch uses `select()` to conditionally depend on
`:__support_osutil_io` only on Linux, macOS, and Windows.
https://invent.kde.org/qt/clang/llvm-project/-/commit/61e21507821f25efb928b5318b78c753ce006f4a
Git commit 0c38ba463f0ca480a756d388a11acd746d8b6625 by GitHub (on behalf of Florian Hahn) on 13/08/2026 at 14:23..
[DFAJT] Use SmallSetVector to make deterministic. (#215951)
DFAJumpThreading is currently producing non-deterministic use-list
ordering in some cases, as it iterates over a SmallPtrSet when cleaning
up blocks. In practice, this can happen when building an older version
of Clang.
I added a test checking the use-list order of the relevant values,
similar to llvm/test/Transforms/ADCE/blocks-with-dead-term-nondeterministic.ll.
PR: https://github.com/llvm/llvm-project/pull/215951
https://invent.kde.org/qt/clang/llvm-project/-/commit/0c38ba463f0ca480a756d388a11acd746d8b6625
Git commit c863ebf68ce9fdcb33958778fb53f444c33bb9e0 by GitHub (on behalf of Ricardo Jesus) on 13/08/2026 at 14:28..
[AArch64] Improve lowering of pure fixed-length partial add reductions. (#214691)
These can lower to [SU]ADALP, rather than a [SU]ADDW{2} pair or
variations thereof (https://godbolt.org/z/dqYs8r84K).
https://invent.kde.org/qt/clang/llvm-project/-/commit/c863ebf68ce9fdcb33958778fb53f444c33bb9e0
Git commit 19ee26437bee27f96ddbeec222e5a2eb2c4530a7 by GitHub (on behalf of Simon Pilgrim) on 13/08/2026 at 14:39..
[DAG] SimplifyDemandedBits - update (or (and X, C1), (and (or X, Y), C2)) fold with sd_match (#216012)
Cleanup some nasty commutation matching code by using sd_match
https://invent.kde.org/qt/clang/llvm-project/-/commit/19ee26437bee27f96ddbeec222e5a2eb2c4530a7
Git commit 5f59554a392283f9f047b51ca5e562179e2e37d8 by GitHub (on behalf of Yusra Syeda) on 13/08/2026 at 14:40..
[obj2yaml] Add Obj2Yaml ability to dump GOFF header records (#204194)
Add obj2yaml support for the GOFF file format, beginning with dumping
header records.
The GOFF file format consists of 80 btye records with data that can be
continued in the next records. A new data structure is added to
preprocess the GOFF object file to flatten the data.
---------
Co-authored-by: Yusra Syeda <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/5f59554a392283f9f047b51ca5e562179e2e37d8
Git commit 4fe5b2df6b4cf0bb4b26f16463231866fe123e27 by GitHub (on behalf of Simon Pilgrim) on 13/08/2026 at 14:41..
[X86] combineOr - undemand and freeze elements if the other operand's element is allones (#215538)
We can't safely discard the other operand's element for the OR(X,-1)
pattern - it can result in X becoming poison and contaminating the whole
element result - especially as we're now moving towards emitting poison
a lot more in DAG - instead the SimplifyDemandedBits result must be
frozen.
Fixes #215223
https://invent.kde.org/qt/clang/llvm-project/-/commit/4fe5b2df6b4cf0bb4b26f16463231866fe123e27
Git commit 662246dcb561a2645f238f67d74afbe739c75e32 by GitHub (on behalf of Alex Crichton) on 13/08/2026 at 14:48..
[WebAssembly] Fix issues combining coop threads and PIC (#208332)
This commit fixes a few issues that have surfaced in `wasm-ld`'s
handling of `--cooperative-threading` with `-shared`. Two primary issues
fixed are:
* The `__wasm_init_memory` function was not valid as it referenced
nonexistent locals. This was fixed by adjusting how locals are declared
to make this a bit more flexible.
* Combining data segments for PIC without extended-const is generalized
to only operate on active data segments and is now orthogonal to
threading. With coop threads there's a mixture of passive/active
segments (TLS is passive, other data is active) and the active segments
still need combining while TLS stays passive.
The latter fix ended up touching a few more areas. The first is that
`.tdata` sections are now sorted just before `.bss`, the end section,
rather than first. This is done to ensure that active segments when
combined can indeed start at a relative address of 0 (as required
without extended-const). This change resulted in a number of adjustments
for tests as the data is now sorted differently. Additionally
relocations in TLS segments needed adjusting since the previous
implementation implicitly only worked if `.tdata` is first.
https://invent.kde.org/qt/clang/llvm-project/-/commit/662246dcb561a2645f238f67d74afbe739c75e32
Git commit 282c5a58926f8064591cb6563856bc4d886f8b8b by GitHub (on behalf of Aiden Grossman) on 13/08/2026 at 15:02..
[NewPM] Register AsmPrinter passes like normal (#215965)
This avoids needing to do anything custom in
registerPassBuilderCallbacks. Also does some cleanup around inconsistent
naming.
I'm not really sure why I didn't do this before. Eventually I think we
want to delete AsmPrinterBegin and AsmPrinterEnd, but that requires a
lot of work that we probably can't do until we delete the LegacyPM
version of AsmPrinter.
https://invent.kde.org/qt/clang/llvm-project/-/commit/282c5a58926f8064591cb6563856bc4d886f8b8b
Git commit ccb70a6950b570713b735fe8022abef197603bd3 by GitHub (on behalf of Yusra Syeda) on 13/08/2026 at 15:04..
[obj2yaml] Add Obj2Yaml ability to dump GOFF header records (#204194)
Add obj2yaml support for the GOFF file format, beginning with dumping
header records.
The GOFF file format consists of 80 btye records with data that can be
continued in the next records. A new data structure is added to
preprocess the GOFF object file to flatten the data.
---------
Co-authored-by: Yusra Syeda <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/ccb70a6950b570713b735fe8022abef197603bd3
Git commit 479c0db310e0b0481bd7ce79014257e2945d4e7a by GitHub (on behalf of David Green) on 13/08/2026 at 15:15..
Revert "[AArch64] Update cttz cost (#214003)" (#216082)
This reverts commit 952760d9c4b3b2d80cc9594befb69fdc730723e4 as it
causes
regressions in the recognition of larger cttz intrinsics.
https://invent.kde.org/qt/clang/llvm-project/-/commit/479c0db310e0b0481bd7ce79014257e2945d4e7a
Git commit 473c263df9551282d78c0d1b8b85dbc7b04219fa by GitHub (on behalf of Louis Dionne) on 13/08/2026 at 15:16..
[libc++] Fix append_range and prepend_range benchmarks (#216038)
They were using clear(), which keeps the storage around, instead of
starting over from an empty container.
Fixes #209499
https://invent.kde.org/qt/clang/llvm-project/-/commit/473c263df9551282d78c0d1b8b85dbc7b04219fa
Git commit 57d7b68b23ed369f9e63709140679fcef5f23a1a by GitHub (on behalf of Pavel Labath) on 13/08/2026 at 15:17..
[libc] Populate _r_debug in startup code and expose it through <link.h> (#215649)
This patch exposes the SVR4 r_debug and link_map structures through
<link.h> and populates the _r_debug rendezvous structure during process
startup in do_start().
This allows debuggers and similar tools to inspect the link map, find
the load base (l_addr), and set breakpoints on the r_brk notification
function (_r_debug_state) when debugging binaries built against LLVM
libc.
This patch has two caveats:
- the code does not update the DT_DEBUG entry in the dynamic section.
I'll do that in a separate patch because testing it requires building a
-static-pie test, which we don't have support for right now.
- currently lldb refuses to set a breakpoint on _r_debug_state, because
it expects in to be defined in a C++ file. I plan to fix this by
relaxing the lldb check.
Assisted by Gemini.
https://invent.kde.org/qt/clang/llvm-project/-/commit/57d7b68b23ed369f9e63709140679fcef5f23a1a
Git commit 352e7c111049a33f28f0f10b17dc0672ebfa0504 by GitHub (on behalf of Paul Walker) on 13/08/2026 at 15:19..
[NFC][LLVM][SVE] Refactor SVE fscale instruction definitions. (#216026)
https://invent.kde.org/qt/clang/llvm-project/-/commit/352e7c111049a33f28f0f10b17dc0672ebfa0504
Git commit 7bbd0abf6ea9c740f5cae0da0b3f5ec8c994ddd5 by GitHub (on behalf of SiHuaN) on 13/08/2026 at 15:19..
[Clang][RISCV] Add packed sign and zero extend intrinsics (#211487)
Add clang builtins and header wrappers for the packed sign- and
zero-extend intrinsics `__riscv_psext_b`/`_h` and
`__riscv_pzext_b`/`_h`, lowering to the `llvm.riscv.psext`/`pzext`
intrinsics from #208685.
The wrappers are unary, so the `__packed_psabs` header macro is renamed
to `__packed_unary_builtin` and reused.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7bbd0abf6ea9c740f5cae0da0b3f5ec8c994ddd5
Git commit 832b7af8d999cf615bdbd62ba1f53a92e2fa3f4b by GitHub (on behalf of Xaver Fabian) on 13/08/2026 at 15:22..
[GlobalISel] Add G_VSCALE to computeKnownBits (#216025)
Ports the ISD::VSCALE case from SelectionDAG::computeKnownBits over to
GISelValueTracking::computeKnownBitsImpl.
Part of #150515.
Claude Code helped me navigate the codebase.
https://invent.kde.org/qt/clang/llvm-project/-/commit/832b7af8d999cf615bdbd62ba1f53a92e2fa3f4b
Git commit 1a6ca2322f52fd7e9c99b7cb9524f2a508c3a598 by GitHub (on behalf of Matt Arsenault) on 13/08/2026 at 15:23..
clang/SPIRV: Respect __launch_bounds__ for AMDHIP case (#215616)
Follow the somewhat dodgy logic for packing amdgpu_flat_work_group_size
into the X field of max_work_group_size if the value is provided
to __launch_bounds__. The explicit amdgpu_flat_work_group_size takes
precedence, like in the AMDGPU case.
Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/1a6ca2322f52fd7e9c99b7cb9524f2a508c3a598
Git commit 73bb65de59e77193e78fae61f58be3a9f3b33f7b by GitHub (on behalf of Kazu Hirata) on 13/08/2026 at 15:26..
[mlir] Remove dead declaration computeSum (#215983)
The corresponding function definition was removed on October 11, 2025
in commit 0820266651649c0eb6c384df91da4c6f662e5136.
https://invent.kde.org/qt/clang/llvm-project/-/commit/73bb65de59e77193e78fae61f58be3a9f3b33f7b
Git commit e935676203e22d294b8177add462ac0b1956b373 by GitHub (on behalf of Łukasz Plewa) on 13/08/2026 at 15:29..
[offload] Add context parameter to olCreateQueue (#213057)
Second patch in the context series.
Outstanding-queue bookkeeping (queues destroyed while still busy) moves
from ol_device_impl_t to ol_context_impl_t, keyed by device. This keeps
backend queue resources from being reused across native contexts and
lets olDestroyContext drain everything it owns.
On the Level Zero side, LevelZeroPluginContextTy owns a ze_context and
an L0QueueCacheTy pooling idle queues per device bound to that
ze_context. L0ContextTy holds a DefaultUserCtx used by the libomptarget
path when no user context is set on the async info. Queue creation,
command-list creation and initAsyncInfoImpl all thread the plugin
context through so queues are bound to the right ze_context.
Assisted-by: Claude
---------
Co-authored-by: blazej-smorawski <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/e935676203e22d294b8177add462ac0b1956b373
Git commit c15bb15a1f81d9c22f08212f29cf0d1e2d1381f6 by GitHub (on behalf of Ilia Kuklin) on 13/08/2026 at 15:31..
[lldb] Add logical operators to DIL (#209742)
Add binary logical operators `||`, `&&`, and a unary logical `!` to DIL.
This parch also fixes converting `nullptr` to bool in
`ValueObject::GetValueAsBool()`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c15bb15a1f81d9c22f08212f29cf0d1e2d1381f6
Git commit 16ca9a2e1a5b6f687adee1ec980bbc40c448b760 by GitHub (on behalf of Adam Smith) on 13/08/2026 at 15:33..
[CIR] Require every record member to specify its kind (#215174)
A struct's `padded` bool only says that padding exists somewhere in the
record. It cannot say which member, and it cannot tell compiler-inserted
padding from storage the source declared that holds no ABI data, such as
an unnamed bit-field unit. Those two need to differ, because padding is
reusable tail padding and declared storage is not, so they give
different data sizes.
Give each member a required mark instead: `data`, `pad`, or `empty`. A
record is then empty for the ABI when no member holds data, which
`allMembersNonData` reads off the type.
This is the first of three PRs. The `pad` marks are emitted, but the
`empty` marks are not yet. So `padded` stays for now. The PR emitting
the `empty` marks comes next, then the bool removal PR.
Assisted-by: Cursor / claude-opus-5
https://invent.kde.org/qt/clang/llvm-project/-/commit/16ca9a2e1a5b6f687adee1ec980bbc40c448b760
Git commit bd7af6744d4e604582841f512bc5886d21509ae1 by GitHub (on behalf of Ebuka Ezike) on 13/08/2026 at 15:46..
[lldb-dap] Migrate memory and disconnect tests (#215821)
In Disconnect `test_attach` test, use a breakpoint to stop the process
to ensure we are in the `handle_attach` frame to change the
`wait_for_attach` variable.
https://invent.kde.org/qt/clang/llvm-project/-/commit/bd7af6744d4e604582841f512bc5886d21509ae1
Git commit 212faa902f72f460a50c3206926f8cb178ea5313 by GitHub (on behalf of David Green) on 13/08/2026 at 15:47..
[AArch64][GlobalISel] Use integer type for vaarg lowering. (#215659)
This includes the call to buildMaskLowPtrBits, which now creates an
integer type.
https://invent.kde.org/qt/clang/llvm-project/-/commit/212faa902f72f460a50c3206926f8cb178ea5313
Git commit 3ddf166886c52d90155b200dfe2e180b9b3d0e44 by GitHub (on behalf of Eric Christopher) on 13/08/2026 at 15:49..
[BPF] Visit base access-index calls in insertion order (#215948)
BaseAICalls is keyed on CallInst *, so transformGEPChain visits the base
calls in heap address order rather than the order collectAICallChains
walked them. The relocation globals come out in that order and the
passthrough calls are numbered in it, so the IR a build emits depends on
where the calls landed in memory.
No regressions on check-llvm-codegen-bpf.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3ddf166886c52d90155b200dfe2e180b9b3d0e44
Git commit 6b1a422033a41f88027ffc29b0f1430a8436d77e by Christudasan Devadasan on 13/08/2026 at 15:58..
[UniformityAnalysis] Add test for missed cycle exit PHI divergence
Add a test exposing a bug where the uniformity analysis fails to mark
a cycle exit PHI as divergent. The PHI has constant operands from
multiple cycle predecessors -- one via a divergent exit and one via a
uniform exit. The analysis misses this because usesValueFromCycle()
only checks for instruction operands defined inside the cycle, not
for constant values arriving from different cycle predecessors.
Co-Authored-By: Claude Opus 4.6 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/6b1a422033a41f88027ffc29b0f1430a8436d77e