[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/kuilpd/lldb-add-getsizetype-to-typesystem'.
Changed from 838302bb4f789be9cb84593ff003dbd919a27228 to 17b40e4ca2ef6046ad0e5427dd6b1e1528caa583
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 b6746a33af2b6e7daf29104bef4bd5491bcfb1f6 by GitHub (on behalf of richardmilles) on 07/08/2026 at 11:18..
[clang-tidy][docs] Normalize fuchsia check documentation links (#214697)
Use stable fuchsia.dev URLs without `?hl=en` and add the missing
reference on `fuchsia-temporary-objects`.
Fixes #62334
https://invent.kde.org/qt/clang/llvm-project/-/commit/b6746a33af2b6e7daf29104bef4bd5491bcfb1f6
Git commit bc495da845041056e9a5892816d7fc214e371716 by GitHub (on behalf of Chennes) on 07/08/2026 at 11:18..
[SelectionDAG] Fold constant PARTIAL_REDUCE_SMLA/UMLA/SUMLA nodes (#210351)
This PR implements constant folding for `ISD::PARTIAL_REDUCE_SMLA`,
`ISD::PARTIAL_REDUCE_UMLA`, and `ISD::PARTIAL_REDUCE_SUMLA` when their
operands are constant `BUILD_VECTOR`s. The fold computes the partial
reduction using `APInt` arithmetic and returns a folded `BUILD_VECTOR`.
Input constants are truncated to their logical element width before
being sign- or zero-extended as required by each opcode. Input lane `I`
is accumulated into result lane `I % NumAccElts`, matching
`TargetLowering::expandPartialReduceMLA`. The reduction order is
deliberately unspecified, so this mapping is a valid refinement.
Poison is propagated only to the affected result lanes. Folding is
skipped for undef and opaque constants. Unsupported operand forms return
early because partial-reduce nodes have no scalar form and must not fall
through to generic per-element folding. After type legalization, when
the accumulator element type is not a legal scalar type, the folded
constants are created in the promoted legal type (matching the generic
per-lane folding path), and the fold bails out if legalization would
narrow the element type.
The RISC-V test precommits the existing codegen for the basic constant
fold. Additional IR tests cover accumulator-width wraparound, poison in
the input and accumulator, and safe handling of scalable splats. Direct
SelectionDAG unit tests are retained only for node forms that cannot be
reliably or acceptably tested through IR: the SMLA/UMLA/SUMLA signedness
matrix with promoted narrow inputs, promotion of the folded result to a
legal scalar type after type legalization, poison in the implicit
multiplier operand, undef and opaque elements, and partially constant
no-fold cases.
Fixes #209191
https://invent.kde.org/qt/clang/llvm-project/-/commit/bc495da845041056e9a5892816d7fc214e371716
Git commit 14f8ac90350a8a1c5238beb24e4e6286d560a250 by GitHub (on behalf of Baranov Victor) on 07/08/2026 at 11:28..
[clang-tidy][NFC] Apply readability-redundant-nested-if 1/N (#213939)
https://invent.kde.org/qt/clang/llvm-project/-/commit/14f8ac90350a8a1c5238beb24e4e6286d560a250
Git commit b23965baa8044edd310c6262900c6a2e3f2fd6bb by GitHub (on behalf of Baranov Victor) on 07/08/2026 at 11:29..
[clang-tidy][NFC] Apply readability-redundant-nested-if 2/N (#213959)
https://invent.kde.org/qt/clang/llvm-project/-/commit/b23965baa8044edd310c6262900c6a2e3f2fd6bb
Git commit 1533fd95be9ff691b0bd70e589ffa273cf64e9db by GitHub (on behalf of Baranov Victor) on 07/08/2026 at 11:29..
[clang-tidy][NFC] Apply readability-redundant-nested-if 3/N (#214693)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1533fd95be9ff691b0bd70e589ffa273cf64e9db
Git commit 21b86ec1179db35b1f865a7757880aa7f170d6d5 by GitHub (on behalf of Paul Walker) on 07/08/2026 at 11:46..
[LLVM][CodeGen][AArch64] Increase opportunities to fold shift-of-extend into sshll/ushll. (#213989)
Add PreprocessISelDAG logic to undo mul-of-shl to shl-of-mul
canonicalisation when either operand is sign/zero extended because the
extension can be folded into the shift.
https://invent.kde.org/qt/clang/llvm-project/-/commit/21b86ec1179db35b1f865a7757880aa7f170d6d5
Git commit b2f13804c816248653c866dd2f39e83cfd475e3f by GitHub (on behalf of Nerixyz) on 07/08/2026 at 11:47..
[lldb][Windows] Fix value API tests (#214237)
This removes the XFAILs for the value API tests.
- For `lldb/test/API/python_api/value/TestValueAPI.py`, we need to pass
`/debug:symtab` to the linker to get a symbol table. Symbols are
"hidden" by default. PDB works around this in the publics stream. For
DWARF, we need `/debug:symtab`. An alternative is to use `/debug:dwarf`
which also enables this.
- For
`lldb/test/API/python_api/value/change_values/TestChangeValueAPI.py`
there were two issues. First, the stdout wasn't available when we
stopped at a breakpoint. Adding a `fflush(stdout)` fixes this.
Secondly, the breakpoint was created where the inputs to `printf` were
already evaluated. I added another assignment where we set the
breakpoint.
The added `fflush` might also help with this being flakey on Linux
(#26026).
Closes #25146
https://invent.kde.org/qt/clang/llvm-project/-/commit/b2f13804c816248653c866dd2f39e83cfd475e3f
Git commit aa14e4b9b3f788b7b6ded22cd15dbf4c64468504 by GitHub (on behalf of Simon Pilgrim) on 07/08/2026 at 12:10..
[VectorCombine] binop-of-shuffles.ll - add infinite loop regression test from #211530 (#214702)
Prep work before reapplying #211530 with a fix
https://invent.kde.org/qt/clang/llvm-project/-/commit/aa14e4b9b3f788b7b6ded22cd15dbf4c64468504
Git commit 3779bcb1b7bd9d7d82ee43b232e1a98c14e1b104 by GitHub (on behalf of Louis Dionne) on 07/08/2026 at 12:13..
[libc++] Switch the enable_warnings Lit parameter to enable_werror (#214113)
Our enable_warnings=False parameter in the test suite was basically not
working as intended. Instead of disabling warnings, it would disable all
warning-related flags, including flags that are required for the test
suite to pass (e.g. -Wno-user-defined-literals). As a result, it
couldn't be turned off.
Remove enable_warnings and introduce enable_werror instead. That way, we
can disable -Werror in the test suite but the warnings (and -Wno-foo)
are always used, which is necessary for the test suite to function.
Note that the ability to run the test suite without -Werror is necessary
in order to test against other implementations, including older versions
of libc++ itself.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3779bcb1b7bd9d7d82ee43b232e1a98c14e1b104
Git commit 0c27a66627a5077c52e549dae787294c4570d4d0 by GitHub (on behalf of Louis Dionne) on 07/08/2026 at 12:47..
[libc++] Lower the default benchmark_min_time to 0.2s (#214499)
We were using GoogleBenchmark's default benchmark_min_time of 0.5s,
which makes the benchmark suite slow to run for little benefit. This
patch adds a benchmark_min_time Lit parameter and defaults it to 0.2s,
which runs the suite over 2x faster. It also bumps the PR benchmark job
from median-of-3 to median-of-5 to make up for the slightly noisier
samples.
To pick the value of 0.2s, every benchmark in the suite was run at 0.5s
and 0.2s back-to-back, 5 times. Over the whole benchmark suite:
```
median CV p90 p99
0.5s 0.40% 2.34% 16.93%
0.2s 0.53% 2.45% 17.03%
```
So while 0.2s is noisier, the noise increase sits mostly in the body of
the distribution instead of the tail. The tail of noisier benchmarks is
where the noise is already a problem for detecting regressions, but this
change doesn't have a large impact on that. I think that addressing
those noisy benchmarks directly (by e.g. rewriting or finding
alternative ways to benchmark the same thing) would be more effective.
Also, making it faster to run the benchmarks means that we can gather
more samples (i.e. do more "independent" runs on each commit), which
should reduce the noise more significantly than just running each
benchmark for longer.
Also note that going below 0.2s is not a clear win. Indeed, the speed
gain we obtain is not linear, since some benchmarks go past the
specified min time anyway, and the setup time still exists.
Assisted by Claude for the measurements and reasoning that led to
choosing 0.2s over other values.
Fixes #214055
https://invent.kde.org/qt/clang/llvm-project/-/commit/0c27a66627a5077c52e549dae787294c4570d4d0
Git commit 2f89dcf270fb51d752cb1ddcfb7665520ef4fedd by GitHub (on behalf of Niklas Lithammer) on 07/08/2026 at 12:48..
[mlir][SPIR-V] Deserialize replicated composites as attributes (#214469)
Some SPIR-V™ instructions encode attribute-like operands as IDs of
constant composite instructions. Deserialization currently fails when
such an operand is defined by OpConstantCompositeReplicateEXT instead of
OpConstantComposite.
Materialize replicated composite constants as splat attributes when they
are requested as constants. Check for replicated composites first when
materializing SSA values so they remain
spirv.EXT.ConstantCompositeReplicate operations.
https://invent.kde.org/qt/clang/llvm-project/-/commit/2f89dcf270fb51d752cb1ddcfb7665520ef4fedd
Git commit ec52cec2d20faad99b283c7719674b81076e6886 by GitHub (on behalf of Nerixyz) on 07/08/2026 at 12:49..
[lldb] Add tests for `lldb.value` (#214295)
There were a few tests for `lldb.value` in TestValueAPI.py, but they
only checked conversion to `int` and `__bool__`. The class has more
operators. Some of the operators were never tested, because they
currently fail.
This does the first step in that it adds tests.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ec52cec2d20faad99b283c7719674b81076e6886
Git commit 94af8651da4a1b907a8ea2acb698d72aad3df722 by GitHub (on behalf of Nerixyz) on 07/08/2026 at 12:49..
[lldb] Remove Python 2 operators from lldb.value (#214296)
`__nonzero__`, `__div__`, `__hex__`, and `__oct__` are from Python 2 and
not used in Python 3, so remove them.
https://invent.kde.org/qt/clang/llvm-project/-/commit/94af8651da4a1b907a8ea2acb698d72aad3df722
Git commit 17b40e4ca2ef6046ad0e5427dd6b1e1528caa583 by Ilia Kuklin on 07/08/2026 at 12:49..
[lldb] Add GetSizeType `size_t` to TypeSystemClang
https://invent.kde.org/qt/clang/llvm-project/-/commit/17b40e4ca2ef6046ad0e5427dd6b1e1528caa583