[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/main'.
Changed from dfe7be5c901ee73bc6b2d649c82b84ac314025c8 to 25fdcd73aa55dee9d6a15d3b522d4ca42734be92
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 1432be4ea6ddffb6ea4e19925e8e12734753c3c8 by GitHub (on behalf of Kazu Hirata) on 08/08/2026 at 23:31..
[InstCombine] Use DenseMap instead of MapVector (NFC) (#214536)

WorkMap is accessed only via MapVector::operator[] and lookup.

This patch changes its type to DenseMap to avoid populating the vector
portion of MapVector.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1432be4ea6ddffb6ea4e19925e8e12734753c3c8

Git commit 31749521e7b9f1cb93c9554133ab0a6d181fd8c7 by GitHub (on behalf of Daniel Chen) on 09/08/2026 at 00:03..
[flang] To fix LIT test that AIX does not emit comdat. (#214950)

PR #213890 added this new LIT test.
However, AIX uses XCOFF and does not emit COFF COMDAT.
https://invent.kde.org/qt/clang/llvm-project/-/commit/31749521e7b9f1cb93c9554133ab0a6d181fd8c7

Git commit cd67cfecb1a154d0759783ae926f8b44c104d7d3 by GitHub (on behalf of Oliver Hunt) on 09/08/2026 at 00:05..
[clang] Simplify the overload resolution logic for operator new and new[] (#211482)

This PR replaces the current spec-equivalent argument list mutation with
direct iteration of the correctly ordered set of argument lists for a
given allocation.

This adds a bit of architectural work around the argument list
construction but the overall effect is substantially simplified search
of the overload candidates

LLM usage: Claude found align_val_t caching bug, and found and created a
test for reentrant `getTypeIdentityArgument`+`tryBuildStdTypeIdentity`
https://invent.kde.org/qt/clang/llvm-project/-/commit/cd67cfecb1a154d0759783ae926f8b44c104d7d3

Git commit 955a4e14347947c43bb7c7d8efa059b802731ca4 by GitHub (on behalf of Pavel Labath) on 09/08/2026 at 00:16..
[libc] Disable hermetic version of printf_core.parser_test (#215037)

It fails on amdgpu:
https://lab.llvm.org/buildbot/#/builders/10/builds/33548

ld.lld: error: undefined symbol: operator delete(void*, unsigned long,
std::align_val_t)

This effectively reverts a part of #213852.
https://invent.kde.org/qt/clang/llvm-project/-/commit/955a4e14347947c43bb7c7d8efa059b802731ca4

Git commit 9813315f23f747d76a426e2d1ed22832309ac84a by GitHub (on behalf of Pavel Labath) on 09/08/2026 at 00:16..
[libc] Disable read() on linux/arm (#215035)

The read test fails under qemu
(https://lab.llvm.org/buildbot/#/builders/215/builds/26997). This
reverts a tiny part of #214429.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9813315f23f747d76a426e2d1ed22832309ac84a

Git commit 17cc120d33b1759c091fce29be22d7da26c17018 by GitHub (on behalf of Lang Hames) on 09/08/2026 at 01:41..
[lldb] Add a class comment for Materializer. NFC. (#214889)
https://invent.kde.org/qt/clang/llvm-project/-/commit/17cc120d33b1759c091fce29be22d7da26c17018

Git commit 9bc4fd0fafb58ff1fb50231e39a882a678542dac by GitHub (on behalf of Fangrui Song) on 09/08/2026 at 02:08..
[DomTree] Remove redundant getNodeForBlock. NFC (#215045)

Semi-NCA has given every node a dominator with a smaller DFS number,
whose node already exists.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9bc4fd0fafb58ff1fb50231e39a882a678542dac

Git commit 0e929c0f68841fb911fdb6d33f9d5f0a81553eb4 by GitHub (on behalf of Alex MacLean) on 09/08/2026 at 03:07..
[NVPTX] Add NewPM boilerplate to AsmPrinter (#215022)
https://invent.kde.org/qt/clang/llvm-project/-/commit/0e929c0f68841fb911fdb6d33f9d5f0a81553eb4

Git commit eb347afd3c9617075be5613de0c2454427f91dad by GitHub (on behalf of Lang Hames) on 09/08/2026 at 03:40..
[ORC] Make RTBridge Callers value types; add buildCallers (#215046)

rt::Caller was an abstract base with a per-protocol subclass
(rt::sps::Caller), so holding one polymorphically meant a vtable and a
heap allocation, and each caller stored an ExecutionSession reference.

Replace that with a value type: rt::Caller<Sig> holds a callee address
and a dispatch function pointer (CallerBase provides the address,
operator bool, and calleeAddr()). The serialization/dispatch protocol is
erased behind the function pointer instead of a class hierarchy, so
callers are copyable, carry no vtable or heap allocation, can be stored
inline, and take the ExecutionSession at the call rather than storing
it. This lets non-templated generic code hold and invoke callers without
knowing the protocol.

rt::sps::CallerSpec supplies a caller's dispatch function and
controller-interface name; the named specs (MainCallerSpec,
VoidVoidCallerSpec, ...) replace the previous rt::sps caller subclasses.

Add buildCallers / callerInit to resolve a set of callers by name from
the bootstrap JITDylib in a single call, and migrate the in-tree users
(COFFPlatform, COFFVCRuntimeSupport) to it. Rewrite SPSCallersTest for
the new API.
https://invent.kde.org/qt/clang/llvm-project/-/commit/eb347afd3c9617075be5613de0c2454427f91dad

Git commit 1f112d62e1fa2c4f1a04887abd72da1ed61cf791 by GitHub (on behalf of Lang Hames) on 09/08/2026 at 03:41..
[JITLink] Notify memory managers on JITLinkDylib destruction (#214739)

Add JITLinkDylib::notifyOnDestruction so a JITLinkMemoryManager can
register to be told when a JITLinkDylib it served is being torn down,
giving it a chance to release resources held on the dylib's behalf (e.g.
reserved address ranges). Notification may be handled asynchronously:
once notifyDestroying is called, the JITLinkDylib is guaranteed not to
make further use of those resources.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1f112d62e1fa2c4f1a04887abd72da1ed61cf791

Git commit 067916bf4ddcfc328f343ae9aa0aa5983981ca1e by GitHub (on behalf of William Moses) on 09/08/2026 at 04:04..
[mlir][Transforms] Check successor operand types before merging identical blocks (#215036)

Merging identical blocks threads their differing values through the
predecessors' terminators as new successor operands, but the only
legality question asked of a predecessor was whether its terminator
implements `BranchOpInterface` (`ableToUpdatePredOperands`). The
transform's implicit assumption is that such a terminator can forward
operands of **any** type — false for dialects whose branch ops constrain
successor operand types. The LLVM dialect terminators declare theirs as
`Variadic<LLVM_Type>`, so merging two blocks that differ in, say, an
index-typed operand rewrote a verifying `llvm.cond_br` into one that no
longer verifies.

Reproducer (mixed-dialect IR of the kind a progressive lowering/raising
pipeline carries), via `mlir-opt
-pass-pipeline='builtin.module(func.func(canonicalize{region-simplify=aggressive}))'`:

```mlir
func.func @f(%m: memref<4xf32>, %c: i1) {
  %f = arith.constant 1.0 : f32
  %i0 = arith.constant 0 : index
  %i1 = arith.constant 1 : index
  llvm.cond_br %c, ^a, ^b
^a:
  memref.store %f, %m[%i0] : memref<4xf32>
  llvm.return
^b:
  memref.store %f, %m[%i1] : memref<4xf32>
  llvm.return
}
```

previously produced

```
error: 'llvm.cond_br' op operand #1 must be variadic of LLVM dialect-compatible type, but got 'index'
note: see current operation: "llvm.cond_br"(%arg1, %1, %2)[^bb1, ^bb1] ...
```

i.e. the transform manufactured IR that cannot verify. (Any greedy
driver running at `GreedySimplifyRegionLevel::Aggressive` — the
`applyPatternsGreedily` default — hits this; downstream we currently
work around it by dropping to `Normal`.)

This adds `mayForwardTypeToSuccessor(unsigned index, Type type)` to
`BranchOpInterface`, default permissive, and makes block merging refuse
a cluster when any predecessor terminator refuses any of the would-be
block argument types. The LLVM dialect terminators (`br`, `cond_br`,
`switch`, `invoke`, `indirectbr`) override it with `isCompatibleType`.
The new test pins both directions: the index-typed merge is refused, an
i32-typed merge through `llvm.cond_br` still happens.

Assisted-by: Claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/067916bf4ddcfc328f343ae9aa0aa5983981ca1e

Git commit a7307132c575ff4c087dc4fc59487af984a95ac6 by GitHub (on behalf of Zeyi Xu) on 09/08/2026 at 04:22..
[clang-tidy][docs] Rename bugprone check docs to Markdown [3/4] (#214421)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This is the mechanical rename for part 3/4 of the remaining `bugprone`
check documentation.
The rewrite is provided by the next PR in this stack.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a7307132c575ff4c087dc4fc59487af984a95ac6

Git commit 5d343220655174fd1d51131eb9368d16c3a05683 by GitHub (on behalf of Zeyi Xu) on 09/08/2026 at 04:22..
[clang-tidy][docs] Rewrite bugprone check docs to Markdown [3/4] (#214422)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

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

This rewrites part 3/4 of the remaining bugprone check documentation
from reST to MyST Markdown.

AI Usage: This was prepared with rst2myst and GPT5.6-assisted cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/bugprone-markdown-port/
https://invent.kde.org/qt/clang/llvm-project/-/commit/5d343220655174fd1d51131eb9368d16c3a05683

Git commit ef3287453be4e34e75a9e893ab7614b0fa2811e8 by GitHub (on behalf of Eugene Epshteyn) on 09/08/2026 at 04:35..
[flang] Defer typing of forward-referenced DATA implied-DO indices (#214473)

F2023 19.4 p5 gives a data-i-do-variable without an explicit
integer-type-spec the type that its name would have as a variable of the
innermost scoping unit including the DATA statement. That is a property
of the whole scoping unit: since a data-stmt is a declaration-construct,
the type declaration statement establishing the name's type may follow
the DATA statement in the same specification part. Name resolution
resolved the index eagerly at the DATA statement, so under IMPLICIT
NONE(TYPE) a later declaration drew a spurious "No explicit type
declared" error, and without IMPLICIT NONE a later declaration with a
non-default kind was ignored.

Defer the typing of such indices to the end of the specification part,
mirroring the existing deferral for ordinary DATA statement objects.
DATA statements in an execution part keep the current eager resolution.

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm-project/-/commit/ef3287453be4e34e75a9e893ab7614b0fa2811e8

Git commit 25fdcd73aa55dee9d6a15d3b522d4ca42734be92 by GitHub (on behalf of Fangrui Song) on 09/08/2026 at 04:45..
[DomTree] Remove redundant getNode() calls. NFC (#215050)
https://invent.kde.org/qt/clang/llvm-project/-/commit/25fdcd73aa55dee9d6a15d3b522d4ca42734be92
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.