[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/ergawy/lazy_alloc_label_target_block'.
Changed from 0000000000000000000000000000000000000000 to beae6de181f8c62e1ce45b4716771fedf302ff9f
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 4bd1a447e136e60ea441370ac5d7b898aa4efab0 by GitHub (on behalf of Pavel Labath) on 21/07/2026 at 05:18..
[libc] Make hermetic test syscall deps linux-only (#210715)
They are only used on linux, so this matches that.
They are also only used in full build mode, but hermetic tests only work
in full build mode, so we don't need to check that here. The darwin
check is a noop as (AAIU) we don't support full_build on darwin, but
I've kept it for symmetry.
https://invent.kde.org/qt/clang/llvm-project/-/commit/4bd1a447e136e60ea441370ac5d7b898aa4efab0
Git commit 375231d8ea9b4f5a3a71f4afb3d76ba6e1dcefc5 by GitHub (on behalf of Pavel Labath) on 21/07/2026 at 05:19..
[libc] Add struct group_req, struct group_source_req, and related socket options (#210029)
Add definitions for struct group_req and struct group_source_req in
llvm-libc-types and wire them into <netinet/in.h>.
Also define the multicast socket options using these structs:
- MCAST_JOIN_GROUP
- MCAST_LEAVE_GROUP
- MCAST_BLOCK_SOURCE
- MCAST_UNBLOCK_SOURCE
- MCAST_JOIN_SOURCE_GROUP
- MCAST_LEAVE_SOURCE_GROUP
Add layout assertions for struct group_req and struct group_source_req
to the netinet/in.h unit test.
Assisted by Gemini.
https://invent.kde.org/qt/clang/llvm-project/-/commit/375231d8ea9b4f5a3a71f4afb3d76ba6e1dcefc5
Git commit ea52aa03750fd51857f47b6a901edc0b283a7aec by GitHub (on behalf of Ken Matsui) on 21/07/2026 at 05:34..
[clang] Use key-value initialization for LangASMap (NFCI) (#210259)
The original implementation requires each target to list a value for
every LangAS in exact enum order. This forces targets to specify
mappings for unrelated address spaces and makes it easy to introduce
ordering bugs, such as the one fixed in
4479f3397f827291c51698fbaa685b1a9493467a.
Address this by introducing a class that supports order-independent
key-value initialization and defaults unspecified entries to 0.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ea52aa03750fd51857f47b6a901edc0b283a7aec
Git commit 0b16957f41f96f14aa014f119e4180538bcb4f80 by GitHub (on behalf of Jim Lin) on 21/07/2026 at 05:46..
[RISCV] Don't transfer (select c, t, f) to Zicond when optimizing for size (#163501)
The Zicond form of (select c, t, f), (or (czero_eqz t, c),
(czero_nez f, c)), has no compressed encodings and is always 12 bytes.
The branch form (branch + mv) is at most 8 bytes, and with the C
extension
4 bytes when the branch compresses (c.mv always does) or 6 bytes when it
does not; it shrinks further when a condition is shared across selects.
Since it is never larger by byte count, skip the Zicond transform under
optsize via !DAG.shouldOptForSize().
Fixes https://github.com/llvm/llvm-project/issues/158633.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0b16957f41f96f14aa014f119e4180538bcb4f80
Git commit 921f4da4a05f93391937ccc337aa448b3d8de539 by GitHub (on behalf of Madhur Amilkanthwar) on 21/07/2026 at 06:00..
[SLP][Modularisation][NFC] Extract free cost helpers into SLPCostAnalysis (#210278)
Move the BoUpSLP-independent cost helpers out of SLPVectorizer.cpp into
SLPVectorizer/SLPCostAnalysis.{h,cpp} (namespace llvm::slpvectorizer).
Moved:
* getShuffleCost
* getGEPCosts
RFC: https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
https://invent.kde.org/qt/clang/llvm-project/-/commit/921f4da4a05f93391937ccc337aa448b3d8de539
Git commit beae6de181f8c62e1ce45b4716771fedf302ff9f by ergawy on 21/07/2026 at 11:11..
[flang][PFT-to-MLIR] lazily allocate label-target blocks in branch lowering
Problem
-------
Under -mmlir --wrap-unstructured-constructs-in-execute-region, branch
lowering can hit a null Evaluation::block for a branch target. For
example, genMultiwayBranch trips
Bridge.cpp: Assertion `block && "missing multiway branch block"' failed
and genFIR(SelectCaseStmt) trips
Bridge.cpp: Assertion `e->block && "missing CaseStmt block"' failed
The wrap machinery decides an unstructured DO/IF is wrappable and
therefore stops propagating its isUnstructured flag to the enclosing
construct. The enclosing construct's isUnstructured stays false, so the
top-level createEmptyBlocks does not recurse into its body. If that
enclosing construct's lowering then takes over the body itself instead
of routing through genFIR(DoConstruct)/genFIR(IfConstruct) (where
wrapUnstructuredConstruct would have allocated nested blocks), branch
targets in the body are never given an .block, and the consumers assert.
Solution
--------
Make the branch consumers responsible for the blocks they need instead
of trusting a caller to have populated them. A new helper
getOrCreateEvalBlock(Evaluation&) returns eval.block, lazily allocating
one in the current region (guarded by mlir::OpBuilder::InsertionGuard so
the builder's position is preserved) when it has not been created.
genMultiwayBranch, genConstructExitBranch, and genFIR(SelectCaseStmt)
route every label / default / case target through it, so any path that
skips up-front block allocation resolves itself on demand.
https://invent.kde.org/qt/clang/llvm-project/-/commit/beae6de181f8c62e1ce45b4716771fedf302ff9f