[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/release/23.x'.
Changed from 86b9476d9d2b8782d32007b61dac0cdaac56d1f9 to f918c2880d54560122dc16aeebad8c66eaaed23a
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 8f02027d8aaaae3123a93c53c9bd6d74f24d8eb6 by Tobias Hieta (on behalf of David Green) on 27/07/2026 at 18:00..
[LoopUnroll] Make the list of supported recurrence kinds inclusive. (#210957)
This excludes Sub, AddChainWithSubs, FSub and FAddChainWithSubs
recurrence kinds by making the list of supported types opt-in as opposed
to opt-out. This will hopefully mean that as more recurrence kinds are
added in the future, the list supported by the unrolling remains valid.
Fixes #201065
(cherry picked from commit cc1dd6bb25d00b3aa5420f43884bea3f4584cabf)
https://invent.kde.org/qt/clang/llvm-project/-/commit/8f02027d8aaaae3123a93c53c9bd6d74f24d8eb6
Git commit 56a1c9d0a8fbc91e3289d49c795a7de2cd7e608c by Tobias Hieta (on behalf of Jonas Devlieghere) on 27/07/2026 at 18:02..
Add release note for LLDB_ENABLE_DYNAMIC_SCRIPTINTERPRETERS
https://invent.kde.org/qt/clang/llvm-project/-/commit/56a1c9d0a8fbc91e3289d49c795a7de2cd7e608c
Git commit c86b1c1a01061085e0ee8faabdf7bd2e5766d59c by Tobias Hieta (on behalf of Jonas Devlieghere) on 27/07/2026 at 18:02..
Add David's suggestion
https://invent.kde.org/qt/clang/llvm-project/-/commit/c86b1c1a01061085e0ee8faabdf7bd2e5766d59c
Git commit b229b3538dc8f6a5540543bf3e0a57fcff2ab196 by Tobias Hieta (on behalf of Marco Elver) on 27/07/2026 at 18:03..
Thread Safety Analysis: Handle statement expressions in try-lock conditions (#209330)
Previously, statement expressions (`({ bool b = mu.TryLock(); b; })`)
used as try-lock conditions were not supported. Handle StmtExpr in
getTrylockCallExpr() by recursively analyzing the last statement of the
statement expression.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b229b3538dc8f6a5540543bf3e0a57fcff2ab196
Git commit a0177f77dd93f1ee94a271d2ac58e01cf59bd8ed by Tobias Hieta (on behalf of Timothy Day) on 27/07/2026 at 18:03..
Thread Safety Analysis: Don't warn at joins that re-branch on a try-lock result (#209796)
Previously, when the result of a try-lock call is branched on more than
once, the paths between the branches would disagree on whether the
capability is held while remaining consistent at each branch. The analysis
then gave a false positive warning at the intermediate join:
mutex 'lock' is not held on every path through here
Create getTerminatorTrylockCall() helper from getEdgeLockset(); if the terminator
of a block branches on the result of a call to a try_acquire_capability-function
(perhaps negated or stored in a local variable), this helper returns that call and
its callee.
Use this new helper in getTerminatorTrylockCaps(), which will return the
capabilities acquired by a trylock; feed these capabilites to intersectAndWarn()
during a branch join, in order to avoid false positives.
Soundness is preserved because intersectAndWarn() still removes the
capabilities from the join block's entry lockset, ensuring any guarded access
inside the join block before the terminator is diagnosed. getEdgeLockset()
then re-adds the capability on the success edge.
This change resolves the false positive warning reported in [1].
Reported-by: https://lore.kernel.org/linux-fsdevel/[email protected]/ [1]
Assisted-by: AI was used a bit to understand the code and to help with testing and validation
https://invent.kde.org/qt/clang/llvm-project/-/commit/a0177f77dd93f1ee94a271d2ac58e01cf59bd8ed
Git commit 6781c9c82895c42c5393ea0aafc1a28cf28a2593 by Tobias Hieta (on behalf of Nikita Popov) on 27/07/2026 at 18:04..
[IR] Slightly optimize getElementAsInteger() (#211550)
This regressed with the introduction of the byte type, because
getElementPointer() calls getElementByteSize() calls
getPrimitiveSizeInBits(), but the switch used getScalarTypeInBits(),
which means we need to do two separate calls for the element size. Use
getElementByteSize() in both places so these can be CSEd.
(cherry picked from commit bb22aa8127450930eb27215eb9f2c70acdee69fc)
https://invent.kde.org/qt/clang/llvm-project/-/commit/6781c9c82895c42c5393ea0aafc1a28cf28a2593
Git commit f918c2880d54560122dc16aeebad8c66eaaed23a by Tobias Hieta (on behalf of Sirraide) on 27/07/2026 at 18:05..
[Clang] [Sema] Use getCurFunctionDecl() to get the current function (#211938)
In `BuildReturnStmt()`, use `getCurFunctionDecl()` to get the current
function rather than attempting to cast `CurContext` to a
`FunctionDecl`, which breaks inside an expansion statement because the
current `DeclContext` will be that of the expansion statement, not the
function. `getCurFunctionDecl()` knows how to handle this case and we
already call it earlier in that function, so just reuse the result of
that call.
Fixes #211917.
(cherry picked from commit a891a5c40c7d2ed62d97fc6563cf256e7bab3ffb)
https://invent.kde.org/qt/clang/llvm-project/-/commit/f918c2880d54560122dc16aeebad8c66eaaed23a