[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/shiltian/assign-guid-post-opt-link-bitcode'.
Changed from 0000000000000000000000000000000000000000 to cd9537fde57c50aa92987d96b451a659b6f18054
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 b11881e5daa280d322127d4c51dcf472dbcc1dd5 by GitHub (on behalf of Aiden Grossman) on 21/07/2026 at 23:21..
[BranchFolding] Fold away subsequent identical branches
If we have a BB that has a single conditional branch instruction it that
is identical to the previous block's branch instruction, we can delete
the BB as it is redundant.
This doesn't directly impact performance as such instructions are never
executed, but this can help decrease code size which can help with
overall icache pressure (though likely only slightly). The biggest
impact would probably be fitting more instructions into a single cache
line. This is probably almost a no-op with PLO but definitely doesn't
hurt.
Fixes #202763.
Reviewers: RKSimon, arsenm, krzysz00, topperc, lei137
Pull Request: https://github.com/llvm/llvm-project/pull/203110
https://invent.kde.org/qt/clang/llvm-project/-/commit/b11881e5daa280d322127d4c51dcf472dbcc1dd5
Git commit 8b9cce358bef26ae4cb9275dd6a43f903bafbaa0 by GitHub (on behalf of jimingham) on 21/07/2026 at 23:31..
Make result variables obey their dynamic values in subsequent expressions
This is a resubmit of the original patch: 6344e3aa8106dfdfb30cac36c8ca02bc4c52ce24:
Make result variables obey their dynamic values in subsequent
expressions (#168611)
When I originally submitted this, it caused intermittent flakey failures
on systems I didn't have access to, and I didn't have time to sort them
out, so I reverted the patch. I'm resubmitting this so I can run the
bots on it a few rounds to see if I can reproduce and diagnose those
intermittent failures.
Here's the commit log from the original submission describing the
change:
When you run an expression and the result has a dynamic type that is
different from the expression's static result type, we print the result
variable using the dynamic type, but at present when you use the result
variable in an expression later on, we only give you access to the
static type. For instance:
```
(lldb) expr MakeADerivedReportABase()
(Derived *) $0 = 0x00000001007e93e0
(lldb) expr $0->method_from_derived()
^
error: no member named 'method_from_derived' in 'Base'
(lldb)
```
The static return type of that function is `Base *`, but we printed that
the result was a `Derived *` and then only used the `Base *` part of it
in subsequent expressions. That's not very helpful, and forces you to
guess and then cast the result types to their dynamic type in order to
be able to access the full type you were returned, which is
inconvenient.
This patch makes lldb retain the dynamic type of the result variable
(and ditto for persistent result variables).
It also adds more testing of expression result variables with various
types of dynamic values, to ensure we can access both the ivars and
methods of the type we print the result as.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8b9cce358bef26ae4cb9275dd6a43f903bafbaa0
Git commit 3a2ea7f45682105d26334948d233d10e47675745 by GitHub (on behalf of Alex Langford) on 22/07/2026 at 00:06..
[lldb] Change DynamicLoaderDarwin::Segment::name type (#210797)
No need to be a ConstString, Mach-O segment names are always 16 bytes
long. Because this struct is shared for both segment_command and
segment_command_64, I opted to keep the definition instead of replacing
it with one of llvm's MachO structs.
I chose a 17-byte character array so that whatever goes into it can
always be treated as a null-terminated C string.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3a2ea7f45682105d26334948d233d10e47675745
Git commit acb8fbe83ff12711317118b8c9831905d301b56a by GitHub (on behalf of Jonas Devlieghere) on 22/07/2026 at 00:13..
[DWARFLinker] Fix placement lost-update crash in parallel marking (#211009)
https://invent.kde.org/qt/clang/llvm-project/-/commit/acb8fbe83ff12711317118b8c9831905d301b56a
Git commit 3f0919e8d986b829494fec58d8a8fc0ae043aae0 by GitHub (on behalf of Thrrreeee) on 22/07/2026 at 00:25..
[BOLT][RISCV] Support the TLS global-dynamic relocation (#209995)
This patch adds BOLT support for the RISC-V TLS global-dynamic
relocation `R_RISCV_TLS_GD_HI20`. Classifying it as both a **TLS
relocation** and a **GOT-style relocation** allows BOLT to preserve the
relocation, recover the actual GOT entry address from the linked
instructions, and symbolize the instruction pair.
The RISC-V TLS relocation test is extended to cover a global-dynamic
sequence and verify that BOLT reconstructs the `AUIPC`/`PCREL_LO12` pair
correctly.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3f0919e8d986b829494fec58d8a8fc0ae043aae0
Git commit afb68446b493597aec089746957dc36060925679 by GitHub (on behalf of Jan Leyonberg) on 22/07/2026 at 00:41..
[CIR][OpenMP] Add host op filtering pass to CIR pipeline (#209592)
This patch adds the host op filtering pass which prevents host code
being lowered when compiling for the target device.
https://invent.kde.org/qt/clang/llvm-project/-/commit/afb68446b493597aec089746957dc36060925679
Git commit 14bfc424ae77976e05582ff38896caec399f2837 by GitHub (on behalf of Prasoon Kumar) on 22/07/2026 at 01:10..
Reland "[lit] Migrate lit to ProcessPoolExecutor (#202681)" (#209076)
We want lit's test-execution engine on concurrent.futures.ProcessPoolExecutor
instead of multiprocessing.Pool as it fixes two latent bugs in the old wait
loop and is groundwork for a planned ThreadPoolExecutor/asyncio backend. It
landed as #202681 but was reverted in #206138. The reverted code deadlocks
due to two independent CPython bugs.
submit() blocks holding _shutdown_lock once the executor's wakeup pipe
fills past 16,384 undrained writes, since its own manager thread needs
that same lock to drain it (cpython gh-105829). Separately, shutdown(wait=True)
deadlocks on macOS because join_executor_internals() joins the call queue
before the workers, the reverse of the order macOS needs.
Fix: bound outstanding futures to SUBMISSION_WINDOW_PER_WORKER * workers
and submit one new test per completion instead of all up front, so the
pipe can never fill (LIT_SUBMISSION_WINDOW=0 restores the old behavior for
debugging). cancel_join_thread() before shutdown(wait=True) fixes the
macOS ordering. Also reap SIGKILL'd workers after abort instead of
leaving zombies.
---------
Signed-off-by: Prasoon Kumar <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/14bfc424ae77976e05582ff38896caec399f2837
Git commit 373df745fbffc01b1f3469a12fcef03343f843f5 by GitHub (on behalf of Kane Wang) on 22/07/2026 at 01:16..
[RISCV][GlobalISel] Legalize G_ATOMICRMW_MAX/MIN/UMAX/UMIN (#210891)
Add a legalizer rule that marks these legal at `sXLen` under `+a`
(selecting `amomax.w/d`, and `amomax.b/h` for sub-word under `+zabha`
via the existing widen-scalar-while-preserving-the-memoperand path), and
handle the `llvm.riscv.masked.atomicrmw.{max,min,umax,umin}` intrinsics
the same way as `add/sub/xchg` so sub-word values without `+zabha` use
the LR/SC masking pseudos. There is no `__atomic_fetch_max/min` libcall,
so unlike `add/and/or/xor` the rule does not libcall the no-A case; that
case is already lowered by an IR-level compare-exchange loop and never
reaches GlobalISel, so the rule marks it unsupported to keep the rule
set well-defined.
Updates `legalizer-info-validation.mir` for the newly defined rules and
adds `atomicrmw-max-min-umax-umin.ll`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/373df745fbffc01b1f3469a12fcef03343f843f5
Git commit cd9537fde57c50aa92987d96b451a659b6f18054 by Shilei Tian on 22/07/2026 at 01:48..
[Clang][LTO] Assign GUIDs after post-opt bitcode linking
Run AssignGUIDPass after LinkInModulesPass so newly linked globals have
GUIDs before LTO summary emission.
https://invent.kde.org/qt/clang/llvm-project/-/commit/cd9537fde57c50aa92987d96b451a659b6f18054