[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/petar-avramovic/fptrunc-bf16-fix'.
Changed from 0000000000000000000000000000000000000000 to 1c1a067652a5874db01548d15a8eafee3e85707d
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 29bc0749034c4f2bda0752360ecacd4e89d7439c by GitHub (on behalf of Ebuka Ezike) on 29/07/2026 at 11:30..
[lldb] Fix crash on creating string error (#212503)

It crashes because the `default` error string may not be a format string
compared to the `fallback` error string
https://invent.kde.org/qt/clang/llvm/-/commit/29bc0749034c4f2bda0752360ecacd4e89d7439c

Git commit 5989d40ab1d0db8333b5976d957a49525d36cf35 by GitHub (on behalf of jeanPerier) on 29/07/2026 at 11:31..
[flang] Wire allocation-placement into the optimizer pipeline (default off) - memory passes unification [3/5] (#210745)

Add a hidden -enable-allocation-placement flag that, when set, replaces
the stack-arrays and memory-allocation-opt passes in the default FIR
optimizer pipeline with the unified allocation-placement pass. The flag
is off by default, so the legacy passes remain the default path and
behavior is unchanged.

When enabled, the pass runs with its default byte-size thresholds; the
-fstack-arrays strategy is forwarded through the new stackArrays option.

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm/-/commit/5989d40ab1d0db8333b5976d957a49525d36cf35

Git commit 6e116760ca4010be890b7fa39c93f2c902ab2a31 by GitHub (on behalf of Alexey Bataev) on 29/07/2026 at 11:42..
[SLP]Initial support for copyables in fmuladd intrinsic

Adds llvm.fmuladd as a main operation for copyable elements. A
non-fmuladd lane V is modeled as fmuladd(0.0, -0.0, V), which equals
-0.0 + V == V for every V. Only the addend operand is supported for
now; multiplicand operands may be added later.

Reviewers: bababuck, hiraditya, RKSimon

Pull Request: https://github.com/llvm/llvm-project/pull/211245
https://invent.kde.org/qt/clang/llvm/-/commit/6e116760ca4010be890b7fa39c93f2c902ab2a31

Git commit a41d59740625948c6b334abbf921d0888b6f0377 by GitHub (on behalf of Hui) on 29/07/2026 at 11:54..
[libc++][test][NFC] remove old UNSUPPORTED clang from clear_padding.pass.cpp (#212690)

Follow up PR for comment
https://github.com/llvm/llvm-project/pull/211258/changes#r3663614103

I think I must have made an oversight while resolving a merge conflict
https://invent.kde.org/qt/clang/llvm/-/commit/a41d59740625948c6b334abbf921d0888b6f0377

Git commit 2545a108f4d173ed509e3eea33753227bdd6f847 by GitHub (on behalf of Florian Hahn) on 29/07/2026 at 12:02..
[VPlan] Compute cost of some VPWidenIntOrFpInductions in VPlan (#202232)

Add initial implementation of VPWidenIntOrFpInductionRecipe::computeCost,
handling un-truncated inductions.

For the first patch, only compute costs in VPlan if there are no
truncated inductions (in that case, there are additional differences for
the cost model, as previously we would not cost the truncate properly)
and the vector loop won't get unrolled (no induction cost).

Note that some decision change. This is due to the legacy cost model
computing the cost of the original IR, where the induction is scaled in
the loop in each iteration (e.g. with mul), while in the vector loop we
scale the increment, and there is just an add to increment the
induction. This is more accurate than the legacy cost computation.

PR: https://github.com/llvm/llvm-project/pull/202232
https://invent.kde.org/qt/clang/llvm/-/commit/2545a108f4d173ed509e3eea33753227bdd6f847

Git commit 6314c9731eafa68837bbbab65e347922134b004a by GitHub (on behalf of firmiana) on 29/07/2026 at 12:05..
[lldb][NFC] Explicitly list unsupported DWARF expression opcodes (#210363)

This PR addresses
[#202251](https://github.com/llvm/llvm-project/issues/202251).

Several opcodes recognized by LLDB's DWARF expression decoding logic
currently have no explicit `case` in `DWARFExpression::Evaluate`. They
therefore reach the generic default path, which makes it unclear whether
their evaluator status is intentional or an omission.

Explicitly list the affected opcodes and group them with the existing
`DW_OP_xderef`, `DW_OP_xderef_size`, `DW_OP_call2`, and `DW_OP_call4`
cases. All twelve known but unsupported opcodes now share an
`unimplemented opcode` return, while `default` remains responsible for
unknown and vendor-handled opcodes. No opcode evaluation semantics
change.

The affected opcodes are `DW_OP_call_ref`, `DW_OP_constx`,
`DW_OP_const_type`, `DW_OP_regval_type`, `DW_OP_deref_type`,
`DW_OP_xderef_type`, `DW_OP_reinterpret`, and
`DW_OP_GNU_implicit_pointer`.

## Tests

The existing per-opcode status-locking tests in
`DWARFExpressionTest.cpp` cover all affected cases and are updated to
check the unified diagnostic.
https://invent.kde.org/qt/clang/llvm/-/commit/6314c9731eafa68837bbbab65e347922134b004a

Git commit d630025295d5ef6724ec9deab162b983ffee6638 by GitHub (on behalf of Felix Ye) on 29/07/2026 at 12:05..
[mlir][toy] Fix Ch6/Ch7 llvm-lowering tests (#212118)

Add missing `| FileCheck %s` to `RUN` lines so `CHECK` lines can be
verified. Also correct the expected result from `30` to `36`. The result
should be `6*6=36`.

The example in the tutorial is correct (`3.600000e+01`).
https://mlir.llvm.org/docs/Tutorials/Toy/Ch-6/

Signed-off-by: Felix Ye <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/d630025295d5ef6724ec9deab162b983ffee6638

Git commit c53789fcf54979f7986d2e396920b725ce88f3e4 by GitHub (on behalf of Nikolas Klauser) on 29/07/2026 at 12:09..
[libc++][NFC] Clean up atomic_support.h (#212464)

We don't support any compilers which don't have the atomic builtins, so
we don't need to check whether they exist. There is also no need for an
anonymous namespace, since all the functions are inline.
https://invent.kde.org/qt/clang/llvm/-/commit/c53789fcf54979f7986d2e396920b725ce88f3e4

Git commit 25cc0d29e2c34966116f897e0db496d94cf91acf by GitHub (on behalf of Sander de Smalen) on 29/07/2026 at 12:09..
[AArch64] NFC: simplify isCopyInstrImpl expression (#212487)

To something more intuitive by applying the following logic:
* `!isVirtual()` -> `isPhysical()`
* `!isPhysical()` -> `isVirtual()`
* `(a || b) && (!a || c)` -> `(!a && b) || (a && c)`
https://invent.kde.org/qt/clang/llvm/-/commit/25cc0d29e2c34966116f897e0db496d94cf91acf

Git commit f53596de0e42e9df10831cb50438bc8b85f826b3 by GitHub (on behalf of Folkert de Vries) on 29/07/2026 at 12:11..
[MIPS][clang] make `_Complex` ABI match GCC (#212119)

fixes https://github.com/llvm/llvm-project/issues/212109

From the edits to the release notes:

- On MIPS, a `_Complex` value with an integer element type is now
returned packed
into a single integer register when it fits in one, matching GCC. A
`_Complex char` or
`_Complex short`, and on N32/N64 also a `_Complex int`, is no longer
returned
with one part per register. `-fclang-abi-compat=23` restores the
previous
  behavior. (#GH212109)

- On MIPS N32/N64, a `_Complex float` or `_Complex double` argument is
now packed
into integer registers, or onto the stack, once there is no longer room
to give
each of its parts a floating-point register, matching GCC. Clang
previously
always passed the parts separately. `-fclang-abi-compat=23` restores the
previous
  behavior. (#GH212109)
https://invent.kde.org/qt/clang/llvm/-/commit/f53596de0e42e9df10831cb50438bc8b85f826b3

Git commit 1d6a3dd80b48ad1990ed5e3e11acd3b06d2909b6 by GitHub (on behalf of antoine moynault) on 29/07/2026 at 12:19..
[LinkerWrapper][test] fix test offload-wrapper.ll (#212713)

The llc RUN command added in #212614 needs the X86 backend registered
https://invent.kde.org/qt/clang/llvm/-/commit/1d6a3dd80b48ad1990ed5e3e11acd3b06d2909b6

Git commit deed195c31f0ece487aa5ef79c90633860f10b93 by GitHub (on behalf of Arseniy Zaostrovnykh) on 29/07/2026 at 12:27..
[analyzer] Prune infeasible states related to concrete ints early to fix a crash (#210912)

RangedConstraintManager discards a simplified symbol if it reduces to a
concrete integer. This leads to delayed realization that some state
might be infeasible (because the concrete integer does not fit in the
assumed range), which might produce unexpected null pointers on the
following state splits.

PthreadLockChecker has fallen just into this trap. It assumes
`pthread_mutex_lock` is always called in a feasible state, which is was
not true.
In particular, in ZFS the analyzer crashes when runs in CTU mode because
it reaches `pthread_mutex_lock()` in over-constraint state (see the
reduced example in the first commit).

Checkers rely on the invariant that a state split can never result in
both `StateRef`s being null. To fix this violation of the invariant,
this patch helps RangedConstraintManager to realize a state is
infeasible and abort its exploration early so no follow-up state split
produce unexpected null-null pair.

Assisted by Claude Opus 4.8

--
CPP-8665
https://invent.kde.org/qt/clang/llvm/-/commit/deed195c31f0ece487aa5ef79c90633860f10b93

Git commit ed389ca093797baab0bcc95ffd2b6ca41741c40d by GitHub (on behalf of Aochang Liu) on 29/07/2026 at 12:29..
[CodeGen][ARM] Add regression tests for #202263 (#202599)

The underlying issue—RegisterCoalescer eliminating an undef COPY and
leaving a partial subregister redef that reads a value that no longer
exists—was fixed in #204039.

This PR adds the regression coverage originally developed alongside the
fix attempt, so the pattern remains covered:

- an end-to-end IR test that checks the generated assembly with
FileCheck;
- a focused single-pass `-run-pass=register-coalescer` MIR test using
`-verify-coalescing`, which reproduces the "Instruction is reading
nonexistent value" verifier error from #202263 when #204039 is reverted,
and passes with the fix applied.

Fixes #202263
https://invent.kde.org/qt/clang/llvm/-/commit/ed389ca093797baab0bcc95ffd2b6ca41741c40d

Git commit 1c1a067652a5874db01548d15a8eafee3e85707d by Petar Avramovic on 29/07/2026 at 15:10..
GlobalISel: Fix lowerMergeValues when dst type is float

Lowering is done in the integer domain. Similar to the type
mismatch when dst is a pointer, make a bitcast when dst is float.
https://invent.kde.org/qt/clang/llvm/-/commit/1c1a067652a5874db01548d15a8eafee3e85707d
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.