[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/users/kparzysz/s01-two-ordered-kinds'.
Changed from 0000000000000000000000000000000000000000 to 00b2f30ebde838793547f2a63df16d3f0b631d78
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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/commit/94af8651da4a1b907a8ea2acb698d72aad3df722

Git commit 9fdbfe22780c0b4f363594d87090bbc92334e5eb by GitHub (on behalf of Wenju He) on 07/08/2026 at 12:54..
[SLP] Fix SmallVector<VFInfo> static assertion in SLPCompatibilityAnalysis (#214639)

sizeof(VFInfo) is 280 bytes, exceeding SmallVector's default 256-byte
inline-storage limit, which trips a static_assert in debug builds.
Explicitly specify an inline element count of 4, matching the existing
convention used elsewhere for SmallVector<VFInfo, N> (e.g.
Intel_SLPVectorizer.cpp, VectorUtils.h).
Guilty commit: fb831c73635a

Co-authored-by: Claude Sonnet 5 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/9fdbfe22780c0b4f363594d87090bbc92334e5eb

Git commit ae119dbdd8ac70b417da883f813d254e0f39a3f4 by GitHub (on behalf of John Brawn) on 07/08/2026 at 12:57..
[DAGCombine][AArch64] Combine add vscale to sub if imm is legal (#214284)

Currently (sub X, (vscale * C)) is combined to (add X, (vscale * -C))
only if (vscale * C) has a single use. If (vscale * -C) is a legal add
immediate then we know the add will become a single instruction, so it's
always profitable.

In AArch64TargetLowering::isLegalAddImmediate we also need to check
useScalarIncVL to correctly decide if the immediate is legal.
https://invent.kde.org/qt/clang/llvm/-/commit/ae119dbdd8ac70b417da883f813d254e0f39a3f4

Git commit ab9aaf5ea6d0c92d282be5bdf0676cb58c1f252f by GitHub (on behalf of Reid Kleckner) on 07/08/2026 at 13:12..
[clang-tools-extra][docs] Rename top-level docs/*.rst to *.md (#214351)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
https://invent.kde.org/qt/clang/llvm/-/commit/ab9aaf5ea6d0c92d282be5bdf0676cb58c1f252f

Git commit dc5d098e3d4a77f89d6c4fe999bd27e0ee3eebb8 by GitHub (on behalf of Reid Kleckner) on 07/08/2026 at 13:12..
[clang-tools-extra][docs] Convert top-level docs/*.rst to MyST Markdown (#214352)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #214351 , which will be a standalone
commit that
renames *.rst -> *.md before this PR lands for history preservation
purposes.

This PR is structured as two commits:
1. Mechanical, using a fork of rst2myst
2. Agentic cleanup

This structure is used so we can determine why the markdown is the way
it is: either it's rst2myst output, or an agent thought it was a defect,
or it needed manual cleanup to build and pass validation.

I paged through all the generated HTML looking for migration artifacts,
and all of the differences I could find appear to be formatting error
corrections. Please spot check my work and approve if it looks good.
https://invent.kde.org/qt/clang/llvm/-/commit/dc5d098e3d4a77f89d6c4fe999bd27e0ee3eebb8

Git commit d1784c08ac847c9ee2a92c2634c24d5696f5d9c1 by GitHub (on behalf of Louis Dionne) on 07/08/2026 at 13:22..
[libc++] Generate a per-target modulemap when using per-target runtime dirs (#209312)

This allows making __config_site modular. It also removes a workaround
where the __config_site and __assertion_handler headers were previously
excluded from the modulemap test.
https://invent.kde.org/qt/clang/llvm/-/commit/d1784c08ac847c9ee2a92c2634c24d5696f5d9c1

Git commit e02d1e2d88f753f115a716e7ec6f30083169ca73 by GitHub (on behalf of Lucas Ramirez) on 07/08/2026 at 13:25..
[AMDGPU][CodeGen] Do not rematerialize convergent MIs (#214711)

It is generally not safe to rematerialize convergent instructions to
different scheduling regions/blocks. This adds a check to the
scheduler's `PreRARematStage` to prevent rematerialization of convergent
instructions in all cases.
https://invent.kde.org/qt/clang/llvm/-/commit/e02d1e2d88f753f115a716e7ec6f30083169ca73

Git commit 9ff674efdb2be183f8a873f70726107b1399d708 by GitHub (on behalf of Donát Nagy) on 07/08/2026 at 13:38..
[analyzer] Improve handling of &array[size] in ArrayBound (#214540)

The checker `security.ArrayBound` had a special case for not reporting
the `&array[size]` expressions where `size` is equal to the the element
count of `array`.

(Note that `array[size]` is reported as out-of-bounds access, but
`&array[size]` does not actually access the past-the end location and it
is an idiomatic way of expressing the past-the-end pointer.)

The primary goal of this change is that it simplifies the contract of
`bounds::checkBounds` which previously had a flag to act as if forming
this past-the-end pointer was valid in-bounds access.

With the new implementation, `checkBounds()` diagnoses the
`&array[size]` expression as out-of-bounds access, then
`ArrayBoundChecker.cpp` postprocesses this result and suppresses the
report when it detects that it was an idiomatic `&array[size]`
expression.

This also removes an ugly but practically irrelevant corner case: the
old code for recognizing an idiomatic past-the-end pointer expression
also accepted it when the index (`size`) was constrained as "either
negative, or the element count of the array" (becasue the "assume lower
bound" step happens before checking the upper bound).

(The new code only accepts `&array[size]` as an idiomatic past-the end
pointer if `size` is constrained to be equal to the element count.)
https://invent.kde.org/qt/clang/llvm/-/commit/9ff674efdb2be183f8a873f70726107b1399d708

Git commit bf927b2c4029d0f29ec32c99d6d689efa09edff1 by GitHub (on behalf of Arseniy Obolenskiy) on 07/08/2026 at 13:58..
[NFC][SPIR-V] Remove unused SPIRVGlobalRegistry methods (#214270)
https://invent.kde.org/qt/clang/llvm/-/commit/bf927b2c4029d0f29ec32c99d6d689efa09edff1

Git commit 755cde619a4c17b6a92bba6711c553918eee3456 by GitHub (on behalf of Arseniy Obolenskiy) on 07/08/2026 at 13:59..
[NFC][SPIR-V] Remove unused IsBallot and IsBallotFindBit fields from GroupBuiltin (#214273)
https://invent.kde.org/qt/clang/llvm/-/commit/755cde619a4c17b6a92bba6711c553918eee3456

Git commit f27fd86f55cd682dd545f2a61abb71f380d2d213 by GitHub (on behalf of Arseniy Obolenskiy) on 07/08/2026 at 14:00..
[NFC][SPIR-V] Remove unused getSwitchConstructBlocks and getCaseConstructBlocks (#214271)
https://invent.kde.org/qt/clang/llvm/-/commit/f27fd86f55cd682dd545f2a61abb71f380d2d213

Git commit 7361c6bc7cf34af587e206fe20dbd25bdc9ded5c by GitHub (on behalf of Arseniy Obolenskiy) on 07/08/2026 at 14:01..
[SPIR-V] Set MIB insert point before widened type lookup in widenSignSensitiveOps (#214424)

Fix an assertion crash (release: null-MBB walk) when a sub-pow2
sign-sensitive op has no preceding G_TRUNC to set the insert point
https://invent.kde.org/qt/clang/llvm/-/commit/7361c6bc7cf34af587e206fe20dbd25bdc9ded5c

Git commit f8b029ceb19ffa0f788ac390276019c885858152 by GitHub (on behalf of lntue) on 07/08/2026 at 14:03..
[AST][NFC] Rename and refactor floating-point status checks in AST and ByteCode evaluators (#213750)

To clarify the purpose of floating-point status checks in AST and
ByteCode evaluators during translation (as opposed to mandatory constant
expression evaluation):
- Rename checkFloatingPointResult to
checkFloatingPointResultForConstantFolding in ExprConstant.cpp
- Update its Doxygen documentation comment
- CheckFloatResult in Interp.cpp is essentially the same as (Result NaN
check + checkFloatingPointResultForConstantFolding). So we split the
part that is equivalent to checkFloatingPointResultForConstantFolding in
CheckFloatResult into a separate CheckFloatStatus function.
https://invent.kde.org/qt/clang/llvm/-/commit/f8b029ceb19ffa0f788ac390276019c885858152

Git commit 1d952eaa405098ea3b43f2190c9ed46e530e7f6d by GitHub (on behalf of ioana ghiban) on 07/08/2026 at 14:09..
[MemRef] Remove redundant elide-rc through load tests (#213033)

Remove test cases and naming highlighting the boundary non-unit dim
requirement - this has been relaxed in the current implementation.
https://invent.kde.org/qt/clang/llvm/-/commit/1d952eaa405098ea3b43f2190c9ed46e530e7f6d

Git commit 5f3b907ed5b63f5dd5ffd03f7509ab29b736d4d9 by GitHub (on behalf of Brian Cain) on 07/08/2026 at 14:10..
[Hexagon] Fix MachineMemOperand for brev load ; set the offset of the memory operand (#212916)

`getTgtMemIntrinsic` describes the access of the bit-reverse load
intrinsics (`llvm.hexagon.L2.loadr*.pbr`) by attaching the underlying
object of the base pointer to the machine memory operand, for alias
analysis.

Such a load post-increments its base pointer by the modifier, and
accesses the address formed by reversing the low 16 bits of that
pointer:

    memXX(Rx++Mu:brev)        EA = Rx.h : bitrev(Rx.l)

So a load in a chain of them accesses the base pointer of the chain,
plus the bit-reverse of the sum of the modifiers of the loads before it.

The offset was always zero, so every load of a chain claimed to access
the first bytes of the object. Alias analysis concluded a store
elsewhere in the object could not alias the loads, the scheduler sank it
below them, and the loads read stale data.

The object was described even when it could not be. Only the low 16 bits
take part in the reversal, so the access stays inside the object only
when those bits are zero, that is when the object is 64K aligned.
Otherwise the reversed bits can name an address anywhere in the
surrounding 64K region, possibly outside the object, and no offset
computation can make that sound.

Compute the offset, and otherwise say nothing. Pointer information is
attached only when the underlying object is a pointer aligned to 64K,
and every modifier in the chain is a constant whose running sum is
non-negative and fits in 16
unsigned bits.

---------

Co-authored-by: Sumanth Gundapaneni <[email protected]>
Co-authored-by: Yashas Andaluri <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/5f3b907ed5b63f5dd5ffd03f7509ab29b736d4d9

Git commit bcb99bd53b5539218a76d84fc63a8190a52f73e4 by GitHub (on behalf of Joe Nash) on 07/08/2026 at 14:17..
[AMDGPU] Reserve addrspaces used downstream (#214549)

NFC
https://invent.kde.org/qt/clang/llvm/-/commit/bcb99bd53b5539218a76d84fc63a8190a52f73e4

Git commit 458cb2d7e10a510c78ef622eb5fd3914d9e9bcc2 by GitHub (on behalf of Victor Mustya) on 07/08/2026 at 14:31..
[Clang][OpenCL] Make FP_ILOGBNAN configurable (#214535)

The OpenCL C spec allows the implementation to choose the value of the
`FP_ILOGBNAN` macro between `INT_MIN` and `INT_MAX`. This patch makes
the
value configurable by introducing a new macro
`__OPENCL_FP_ILOGBNAN_MIN`.
The default value is unchanged and is set to `INT_MAX`. If the new macro
is defined, the value of `FP_ILOGBNAN` will be set to `INT_MIN`.

This change makes the OpenCL C headers similar to the LLVM `libc`, that
also has the `FP_ILOGBNAN` macro configurable.
https://invent.kde.org/qt/clang/llvm/-/commit/458cb2d7e10a510c78ef622eb5fd3914d9e9bcc2

Git commit ac646b5be0d7764a1dbeb86e4f8d54df2d4fd3eb by GitHub (on behalf of Federico Bruzzone) on 07/08/2026 at 14:43..
[mlir][vector] Verify non-unit strides on `masked/expand/compress` ops  (#210952)

Closes the stride-verification gap left open by #204611 and #205869.

`vector.maskedload`/`maskedstore`/`expandload`/`compressstore` lower to
LLVM masked intrinsics that read/write N *consecutive* elements from a
single pointer (see [LangRef](https://llvm.org/docs/LangRef.htm)), but
none of them verified the memref's minor-dim stride, so `strided<[2]>`
verified successfully and silently miscompiled.

This PR rejects statically-known non-unit and dynamic strides.

**Stacked on #211004**

---------

Signed-off-by: Federico Bruzzone <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/ac646b5be0d7764a1dbeb86e4f8d54df2d4fd3eb

Git commit 2e3553def14cbc819013c107ff3edd4fb08e348c by GitHub (on behalf of Adam Scott) on 07/08/2026 at 14:43..
[X86] Lower vector integer division and remainder through float division (#205263)

x86 has no vector integer divide instruction so a vector `udiv` by a
variable divisor scalarizes into N scalar divides. Since there is no
vector idiv to fall back on, lowering through vector float division is
better.

This is implemented as a new DAG combine (combineIntDivRem in
X86ISelLowering.cpp) that runs before legalization and rewrites the
vector divide before it scalarizes. Handles udiv, sdiv, urem and srem.

- <=32-bit elements (i8/i16/i32): a single float divide (f32 for
<=16-bit, f64 for 32-bit) recovers the exact quotient because the
operands fit the mantissa
(https://lemire.me/blog/2017/11/16/fast-exact-integer-divisions-using-floating-point-operations/).
  Enabled from SSE2.

Part of #201319.
https://invent.kde.org/qt/clang/llvm/-/commit/2e3553def14cbc819013c107ff3edd4fb08e348c

Git commit 84c67231cc94ea6502c3026914e59e2f9402f75b by GitHub (on behalf of Raphael Isemann) on 07/08/2026 at 14:58..
[lldb][NFC] Don't use LLDB.h in multiple-targets/debuggers tests (#210981)

LLDB.h is a header that includes (nearly) every SB API header
indirectly. This patch replaces the use of this header in some .cpp
tests by instead directly including the needed headers. This is mainly
to reduce compilation times of these files as they are recompiled on
each test run.
https://invent.kde.org/qt/clang/llvm/-/commit/84c67231cc94ea6502c3026914e59e2f9402f75b

Git commit bf5e5b8506c0abaec1969ec455299d25c36d1fea by GitHub (on behalf of ioana ghiban) on 07/08/2026 at 15:11..
[MemRef] Split elide-reinterpret-cast tests (#213026)

Narrow the scope of test files by separating them by the patterns they
exercise, for readability.
https://invent.kde.org/qt/clang/llvm/-/commit/bf5e5b8506c0abaec1969ec455299d25c36d1fea

Git commit 0a18f5a00ce532146888e586fba44e586083659e by GitHub (on behalf of Robert Imschweiler) on 07/08/2026 at 15:13..
[offload] Do not pool memory while allocation traces are requested (#214752)

Would otherwise hide use-after-free because memory stays valid if it's
in the pool.
https://invent.kde.org/qt/clang/llvm/-/commit/0a18f5a00ce532146888e586fba44e586083659e

Git commit 879a2e61e1efeeaa4fa6a60b63e8a036d478dd9a by GitHub (on behalf of Simon Pilgrim) on 07/08/2026 at 15:29..
[X86] Always use 128-bit V_SET0/AVX512_128_SET0 patterns, along with SUBREG_TO_REG for extension to 256/512-bit vectors (#212950)

We often end up with duplicate "all zero" registers as they are
represented by different psuedos for 128/256/512-bit types. Whilst they
are nearly always free/cheap to rematerialize, its a waste of
instructions and registers to needlessly do this.

This patch only uses 128-bit SET0 calls and makes use of AVX's implicit
zeroing of the upper elements (via SUBREG_TO_REG). AVX512F-only targets
still use 512-bit VPXORDZrr instructions if they need to zero
xmm16-xmm31, otherwise they fallback to VXORPSrr like regular AVX.
https://invent.kde.org/qt/clang/llvm/-/commit/879a2e61e1efeeaa4fa6a60b63e8a036d478dd9a

Git commit 8a9c0755eb6c4f00a12bc128b7d4c9d8d0d08667 by GitHub (on behalf of Lucas Ramirez) on 07/08/2026 at 15:33..
[AMDGPU][CodeGen] Allow remat with multiple users in same region (#214725)

This relaxes one of the constraints on rematerialization candidates in
the scheduler's `PreRARematStage`. The current implementation only
allows rematerializing a register if it has a single user. This allows
it when a register has multiple users in the same region.

In such cases the register is rematerialized once just before the first
user in program order. The cost model for assessing rematerialization
opportunities stays unchanged since a register is only ever
rematerialized to a single location.
https://invent.kde.org/qt/clang/llvm/-/commit/8a9c0755eb6c4f00a12bc128b7d4c9d8d0d08667

Git commit d2098e614d2c7920efeb79143921a4f7551143b1 by GitHub (on behalf of Robert Imschweiler) on 07/08/2026 at 15:35..
[offload] Respect alignment in memory manager (#214753)

Also fix alignment comparison in AMDGPU rtl.cpp.
https://invent.kde.org/qt/clang/llvm/-/commit/d2098e614d2c7920efeb79143921a4f7551143b1

Git commit 371f0426f9d0c865a87321b24b0e0e349c52102f by GitHub (on behalf of richardmilles) on 07/08/2026 at 15:37..
[clang-tidy][docs] Note MISRA/AUTOSAR checks are not accepted (#214661)

Checks that directly reference MISRA/AUTOSAR are not accepted for
legal/license reasons. Generic overlapping checks without such links
remain fine.

Fixes #160940
https://invent.kde.org/qt/clang/llvm/-/commit/371f0426f9d0c865a87321b24b0e0e349c52102f

Git commit 0a57fee7dc03ac3a958b416c0a778816f7cd36f4 by GitHub (on behalf of vangthao95) on 07/08/2026 at 15:59..
AMDGPU/GlobalISel: Legalize BF16 for FP math opcodes (#214059)

Make the BF16 form of G_FCONSTANT legal.

Widen BF16 G_FADD, G_FMUL, G_FMA, and G_FCANONICALIZE to F32.
https://invent.kde.org/qt/clang/llvm/-/commit/0a57fee7dc03ac3a958b416c0a778816f7cd36f4

Git commit 95ed5004a6f623b4a542027334681e3c9c4e30ac by GitHub (on behalf of Jake Daly) on 07/08/2026 at 16:01..
[AMDGPU] Promote <2 x bfloat> select to i32 (#214598)

`select` on <2 x bfloat> has no operation action registered, so it
defaults to Expand. The vector legalizer scalarizes it into two 16-bit
selects, which are promoted to i16 and selected as a pair of
V_CNDMASK_B16 plus shifts and a repack to reassemble the result on
targets without true16.
https://invent.kde.org/qt/clang/llvm/-/commit/95ed5004a6f623b4a542027334681e3c9c4e30ac

Git commit b27f2310cf1a23b9afc84795dadde7755bf5a30c by GitHub (on behalf of zhijian lin) on 07/08/2026 at 16:02..
Revert "Reland [PowerPC] improve performance on the isNan and !isNan function in case of -ffp-model=strict" (#214751)

the commit 7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e

cause following problem:

Commit
https://github.com/llvm/llvm-project/commit/7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e
moved setOperationAction(IS_FPCLASS, MVT::f32/f64, Custom) to an
unconditional block, causing all PPC targets — including
powerpc64-ibm-aix -m32 — to mark IS_FPCLASS as Custom. This exposed two
crashes when compiling compiler-rt/builtins for 32-bit AIX (-m32
-mcpu=pwr7):

Crash 1 — masks fcFinite/fcInf/fcInf|fcNan at -O2 (divdc3.c, muldc3.c)

At -O2, IS_FPCLASS nodes carry the nofpexcept flag. For mask 504
(fcFinite, from __builtin_isfinite under -ffp-model=strict) and mask 519
(fcInf|fcNan, injected post-legalize when SimplifySetCC transforms
SETUEQ(fabs(x), +inf) into a new IS_FPCLASS node), LowerIS_FPCLASS
returned SDValue(). This caused ExpandNode to call expandIS_FPCLASS
post-legalize, which fell to the integer-bitcast path computing IntVT =
i64. Since i64 is not a legal type on PPC32, this crashed with:

fatal error: error in backend: Cannot select: t9: i1 = is_fpclass
nofpexcept t8, TargetConstant:i32<519>
Crash 2 — masks fcNan/~fcNan at -O0 (divdc3.c)

At -O0, IS_FPCLASS nodes lack nofpexcept, so expandIS_FPCLASS's
float-comparison path is skipped entirely for all masks. For masks
504/516/519 this triggers the same integer-bitcast crash as above. For
masks 3 (fcNan) and 1020 (~fcNan), LowerIS_FPCLASS reached the
fcmpu/xscmpudp path added by
https://github.com/llvm/llvm-project/commit/7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e,
but that path emitted getNOT(..., MVT::i1) — an XOR on MVT::i1. Since
useCRBits=false on pwr7 and earlier targets, MVT::i1 is not a legal
type, triggering::

Assertion failed: "Unexpected illegal type!" in LegalizeDAG.cpp
This crash was hidden at -O2 because nofpexcept caused those nodes to be
handled by expandIS_FPCLASS before reaching LowerIS_FPCLASS.

This reverts commit 7e1aba74a4f702dbd0b5c2ebc87f88dffb851b6e.
https://invent.kde.org/qt/clang/llvm/-/commit/b27f2310cf1a23b9afc84795dadde7755bf5a30c

Git commit 6f0ee441ac963ff318f3b1e08b51e91d8e64606d by GitHub (on behalf of Chinmay Deshpande) on 07/08/2026 at 16:03..
[AMDGPU][GISel] RegBankLegalize rule for amdgcn_alignbyte (#214323)
https://invent.kde.org/qt/clang/llvm/-/commit/6f0ee441ac963ff318f3b1e08b51e91d8e64606d

Git commit c771d52eb3100e6032918917841f8617f7404ac6 by GitHub (on behalf of Amr Hesham) on 07/08/2026 at 16:10..
[CIR][NFC] Fix code style warnings in CIRGenExprComplex (#214529)

Fixing code style warnings in the CIRGenExprComplex file
https://invent.kde.org/qt/clang/llvm/-/commit/c771d52eb3100e6032918917841f8617f7404ac6

Git commit e8fe07d329c255db2bf95e0382cdd3d4796a92d4 by GitHub (on behalf of Chinmay Deshpande) on 07/08/2026 at 16:14..
[AMDGPU][GISel] RegBankLegalize rule for amdgcn_cvt_pk_u8_f32 (#214325)
https://invent.kde.org/qt/clang/llvm/-/commit/e8fe07d329c255db2bf95e0382cdd3d4796a92d4

Git commit 1613ee7645120b6ad8efa66c7631346836115a46 by GitHub (on behalf of Chinmay Deshpande) on 07/08/2026 at 16:14..
[AMDGPU][GISel] RegBankLegalize rules for QSAD intrinsics (#214328)
https://invent.kde.org/qt/clang/llvm/-/commit/1613ee7645120b6ad8efa66c7631346836115a46

Git commit fb7a6d1c7eab977e7e26d0de50986aae47a503fd by GitHub (on behalf of janr-bay) on 07/08/2026 at 16:21..
[RISCV] Dynamically find unused register for stack protection code (#210992)

Previously stack protection used hardcoded registers which could
conflict with registers being used by user code. This fixes a bug where
clang -fstack-clash-protection would cause local variables to be trashed
by the stack probing loop.

The implementation is following the pattern of the AArch64 and X86
backends. Utility function getLiveRegsForEntryMBB has been copied from
AArch64FrameLowering.cpp and findScratchNonCalleeSaveRegister is loosely
based on the AArch64 version.

This fixes Github issue #198699
https://invent.kde.org/qt/clang/llvm/-/commit/fb7a6d1c7eab977e7e26d0de50986aae47a503fd

Git commit 00b2f30ebde838793547f2a63df16d3f0b631d78 by Krzysztof Parzyszek on 07/08/2026 at 16:24..
[OpenMP] Create separate directives for two variants of ORDERED

The ORDERED directive comes in two flavors, standalone and block-
associated. Create two different directive ids, one for each kind.
This will allow a more precise connection between the directive id
and its properties.

This does not remove OMPD_ordered, nor does it change clang or
flang beyond the minimum required to keep working as before.
https://invent.kde.org/qt/clang/llvm/-/commit/00b2f30ebde838793547f2a63df16d3f0b631d78
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.