[qt/clang/llvm-project]: Summary of bulk changes made

KDE Git Services - Bulk Change <[email protected]> Wed, 5 Aug 2026 00:14:46 +0000 (UTC)
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/chinmaydd/permlanee'.
Changed from 0000000000000000000000000000000000000000 to c314303952c2e574dd0c17f8f5a4211954cbea6b
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 7609cb83bf5fc5c25e287770db277dbb34e674b8 by GitHub (on behalf of Finn Plummer) on 04/08/2026 at 17:33..
[DirectX] Prevent `dxil-resource-access` from inserting a resource access in-between phi nodes (#211343)

The pass can incorrectly place a load/store within the phi nodes at top
of the basic block: https://godbolt.org/z/x5Ec4GWGT

This is resolved by updating `replaceHandleWithIndices` to adjust the
insertion point when the ptr comes from a phi node.

Resolves, in part, https://github.com/llvm/llvm-project/issues/211121

Assisted by: Claude Opus 4.8
https://invent.kde.org/qt/clang/llvm-project/-/commit/7609cb83bf5fc5c25e287770db277dbb34e674b8

Git commit 5382f7d64ff59d198091ffd263d7adecf5d7dd5a by GitHub (on behalf of Benjamin Maxwell) on 04/08/2026 at 17:48..
[CostModel][AArch64] Add initial costs for `masked.compressstore` (#213712)

This adds an initial cost model for `masked.compressstore`. The tests
are based on `masked_expand_load.ll`, which covers all configurations
for the `expand`/`compact` instructions.

Note: Right now, we only report valid costs for `masked.compressstore`
operations that can be lowered with SVE1 (as that's all we handle ISEL
for at the moment).
https://invent.kde.org/qt/clang/llvm-project/-/commit/5382f7d64ff59d198091ffd263d7adecf5d7dd5a

Git commit af14456a2bac55026b2d57cbf14b3905c452b8a4 by GitHub (on behalf of arsnyder16) on 04/08/2026 at 17:52..
[OpenMP] Simplify generic microtask dispatch (#214004)

Replace the generic microtask dispatcher's handwritten function-pointer
types and calls with a variadic-template helper and a macro for each
supported argument count.

The dispatcher still casts each microtask to the exact fixed-arity
signature required by platforms such as WebAssembly. This is intended as
a refactor only: the existing limit of 15 microtask arguments and the
diagnostic for larger argument counts remain unchanged.

This reduces the repetitive code and makes future changes to the
supported argument range easier to review.

Split out from #211071
https://invent.kde.org/qt/clang/llvm-project/-/commit/af14456a2bac55026b2d57cbf14b3905c452b8a4

Git commit 2a2adde35937667dd93dc5594ac5d52842e116d2 by GitHub (on behalf of Chinmay Deshpande) on 04/08/2026 at 17:56..
[AMDGPU][GISel] Add RegBankLegalize rules for llvm.amdgcn.fdot2.bf16.bf16 (#214013)
https://invent.kde.org/qt/clang/llvm-project/-/commit/2a2adde35937667dd93dc5594ac5d52842e116d2

Git commit 500962298d624a74ade58c2aeb65313fb32dda5a by GitHub (on behalf of Alexey Bataev) on 04/08/2026 at 17:57..
[InstCombine]Fold fcmp+select to min/max if its zero sign is missing

Look through phis, chained selects and the loop back edge to the
select itself and fold if no use can observe the sign of zero of the
result. This restores the fold for loop-carried and unrolled running
min/max values (fcsel -> fminnm on AArch64) lost to the signed zero
handling fix in matchSelectPattern (#210077).

Reviewers: nikic, dtcxzyw

Pull Request: https://github.com/llvm/llvm-project/pull/213133
https://invent.kde.org/qt/clang/llvm-project/-/commit/500962298d624a74ade58c2aeb65313fb32dda5a

Git commit 70ecc5bb62187ca70e6fe4e563dbd60f88c2e7a0 by GitHub (on behalf of Timur Golubovich) on 04/08/2026 at 17:58..
Revert "[GlobalISel] Combine merge-unmerge with mixed scalar and vector types" (#214010)

Reverts llvm/llvm-project#213086
https://invent.kde.org/qt/clang/llvm-project/-/commit/70ecc5bb62187ca70e6fe4e563dbd60f88c2e7a0

Git commit 6326f14cdc12babfdc4359f5ddd4dfcd66b53f33 by GitHub (on behalf of Adam Smith) on 04/08/2026 at 18:03..
[CIR] Lower variadic calls in CallConvLowering for x86_64 (#213315)

CallConvLowering classified each function once from its declared
signature and reused that classification at every call site. An argument
passed through an ellipsis has no entry in the callee's parameter list,
so on x86_64 an ellipsis argument that needed an extension attribute, a
register coercion, or a byval slot was emitted unchanged whenever the
callee's declared parameters happened to need no rewrite, and reported
NYI when they did.

An ellipsis argument competes for the same registers as a declared one,
so the same two-eightbyte record goes in a register pair early in the
list and byval once the integer registers are gone. Variadic call sites
under the x86_64 driver are now classified from the call's own operand
types, and the declared parameter count reaches
`llvm::abi::FunctionInfo::create` as its `NumRequired` argument, which
is what lets the classifier tell a named argument from one passed
through the ellipsis. Today that flag only decides whether a large
vector goes in a register, and the CIR type bridge admits no vector
types, so the boundary changes no output yet.

`prependIndirectCallee` also rebuilt the callee pointer's pointee
without `isVarArg`, dropping the ellipsis from a lowered indirect call
and with it the vector-register count the x86_64 SysV ABI passes in AL.
A void return and a return the ABI drops, such as an empty record, both
classify as `Ignore` while needing opposite treatment, so
`FunctionClassification` now records which one it was where the
classification is produced. `needsRewrite` moves from the CIR rewriter
to `mlir/include/mlir/ABI/ABIRewriteContext.h`, over a new per-argument
`isPassThrough`, so the pass and the rewriter share one definition.

Two things are newly diagnosed rather than newly broken. The
operand-count check moves ahead of the pass-through early return, so a
call whose operand count disagrees with a `no_proto` callee's
declaration is reported instead of lowered with operands the
classification never covered. And the indirect-call walk visits
`cir::CIRCallOpInterface` rather than only `cir.call`, so a variadic
indirect `cir.try_call` is accounted for, and one that needs a rewrite
is reported instead of left as written while the signature around it is
coerced. A non-variadic indirect `cir.try_call` is filtered out where
the walk collects, since rewriting one is unimplemented either way and
that gap has nothing to do with the ellipsis. Reported NYI: variadic
indirect calls that need a rewrite, variadic calls under the other
drivers, and an ellipsis argument whose ABI coercion the type bridge
cannot represent.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6326f14cdc12babfdc4359f5ddd4dfcd66b53f33

Git commit c314303952c2e574dd0c17f8f5a4211954cbea6b by Chinmay Deshpande on 04/08/2026 at 20:26..
[AMDGPU][GlobalISel] RegBankLegalize rules for amdgcn_permlane16
https://invent.kde.org/qt/clang/llvm-project/-/commit/c314303952c2e574dd0c17f8f5a4211954cbea6b