[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/MaskRay/spr/support-parallelfor-enable-caller-participation'.
Changed from 1bfeb2f3f97b997f4dfd53b6e2c226517b3cf9eb to 6e8563938bcedd41bc269f55d7330c34ade4cb83
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 06bbd269cb8863279c235f07c8e08d6ed2744db8 by GitHub (on behalf of Anshil Gandhi) on 22/07/2026 at 05:14..
[SandboxVec][Scheduler] Refill ready list during topdown scheduling (#211046)
Visit nodes which are ready according to the direction of scheduling.
https://invent.kde.org/qt/clang/llvm-project/-/commit/06bbd269cb8863279c235f07c8e08d6ed2744db8
Git commit e8b66ff170f99c6cf275444f22a3aded65ef0bc1 by GitHub (on behalf of Moazin K.) on 22/07/2026 at 05:22..
[OpenACC] Accept funcs with `acc.specialized_routine` in `acc::isValidSymbolUse` (#211111)
`ACCRoutineLowering` generates device side specialized version of
routines that have the `acc.specialized_routine` attribute. Those are
expected to be offloaded and therefore are valid symbol uses.
Assisted-by: Claude Code
https://invent.kde.org/qt/clang/llvm-project/-/commit/e8b66ff170f99c6cf275444f22a3aded65ef0bc1
Git commit e265437156dead1018ce826f2773face65d85810 by GitHub (on behalf of Rajat Bajpai) on 22/07/2026 at 05:33..
[NVPTX][Rubin] Add Rubin baseline support (#210646)
This change adds Rubin (sm_107) baseline support in NVPTX backend.
https://invent.kde.org/qt/clang/llvm-project/-/commit/e265437156dead1018ce826f2773face65d85810
Git commit 15363db58bba0186573fee8afc9226dd38b8f507 by GitHub (on behalf of firmiana) on 22/07/2026 at 06:01..
[DebugInfo] Update assigned DWARF language codes (#210884)
Update LLVM's DWARF language tables to match the current
[`DW_LANG_*`](https://dwarfstd.org/languages.html) and
[`DW_LNAME_*`](https://dwarfstd.org/languages-v6.html) registries.
Add the missing `DW_LANG_*` and `DW_LNAME_*` constants, update the
corresponding language-version mappings, and expose the new `DW_LANG_*`
codes through the LLVM C API.
https://invent.kde.org/qt/clang/llvm-project/-/commit/15363db58bba0186573fee8afc9226dd38b8f507
Git commit c2a39ea72dc1853e3fc2dfe71d2959fbcfcc56d2 by GitHub (on behalf of Henry Jiang) on 22/07/2026 at 06:02..
[dsymutil] collect pseudoprobe sections from debug map into __LLVM segment (#206817)
Introduce a new `PseudoProbeLinker` in `dsymutil` that collects
`__probes/__probe_descs` sections from the debug map objects and merges
the sections and places the probes metadata under
`Contents/Resources/Profiling/{pseudo_probes[-<arch>],pseudo_probe_descs[-<arch>]}`
respectively.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c2a39ea72dc1853e3fc2dfe71d2959fbcfcc56d2
Git commit 49f5065973b8ec8496d5a1d9c58b2100ba48b01c by GitHub (on behalf of firmiana) on 22/07/2026 at 06:03..
[DebugInfo] Fix Fortran 2018 default array lower bound (#210885)
The [DWARF language registry](https://dwarfstd.org/languages.html)
defines the default array lower bound for `DW_LANG_Fortran18` as one,
but LLVM records it as zero. Update the language table to match the
registry.
https://invent.kde.org/qt/clang/llvm-project/-/commit/49f5065973b8ec8496d5a1d9c58b2100ba48b01c
Git commit e20242130eeaa668e5c782643d4afed0b0ab2a6b by GitHub (on behalf of Jerry Zhang Jian) on 22/07/2026 at 06:17..
[RISCV] Preserve call-preserved reg mask for LPAD-aligned calls (#210868)
RISCVISelDAGToDAG's lowering of RISCVISD::LPAD_CALL / LPAD_CALL_INDIRECT
to PseudoCALLLpadAlign / PseudoCALLIndirectLpadAlign (introduced in
#177515) only copied the callee, lpad label, chain, and glue operands,
dropping the argument-register and register-mask operands in between.
Without the register-mask operand, the register allocator treats these
calls as clobbering nothing but ra, so values live across the call are
not spilled/reloaded even though the callee is free to clobber
caller-saved registers. This caused a miscompile where a pointer held
live across a call to getcontext() (a returns_twice function) was
corrupted after the call returned, leading to a SIGSEGV in
llvm-test-suite's siod test.
Fix the operand copy to include the argument-register and register-mask
operands, matching the pseudo-instruction operands of a regular
PseudoCALL/PseudoCALLIndirect.
Signed-off-by: Jerry Zhang Jian <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/e20242130eeaa668e5c782643d4afed0b0ab2a6b
Git commit 91406e8dff2b1578ff4dd22593ea1a8039b074a4 by GitHub (on behalf of Haowei) on 22/07/2026 at 06:23..
Remove debug leftovers (#211068)
a04f87fdd9b59c6089bf731c669c6f149208363c merged with some debug print
leftovers. This patch removes them.
https://invent.kde.org/qt/clang/llvm-project/-/commit/91406e8dff2b1578ff4dd22593ea1a8039b074a4
Git commit 33928f632158afe0f4b23e2b9f9cd70e4b5520fa by GitHub (on behalf of Fangrui Song) on 22/07/2026 at 06:45..
[LoopInfo] Make getSmallestCommonLoop O(depth). NFC (#211175)
getLoopDepth is itself an O(depth) parent walk.
https://invent.kde.org/qt/clang/llvm-project/-/commit/33928f632158afe0f4b23e2b9f9cd70e4b5520fa
Git commit 860cb62914d3fb2d37b561dc5eee7bd1b65dfc9e by GitHub (on behalf of Kamlesh Kumar) on 22/07/2026 at 07:01..
[X86] narrow the check scope to function NFC (#210917)
https://invent.kde.org/qt/clang/llvm-project/-/commit/860cb62914d3fb2d37b561dc5eee7bd1b65dfc9e
Git commit b77f99775e0a8e5d9b0aa2960fcee851fcb23d7d by GitHub (on behalf of David Green) on 22/07/2026 at 07:08..
[AArch64] Update ctpop cost tests. NFC (#211184)
https://invent.kde.org/qt/clang/llvm-project/-/commit/b77f99775e0a8e5d9b0aa2960fcee851fcb23d7d
Git commit db369a6a6aa336806debcf2e110a41fe3e78b0cf by GitHub (on behalf of paperchalice) on 22/07/2026 at 07:09..
[AMDGPU][NewPM] Run UniformityInfoAnalysis inside AMDGPUISelDAGToDAGPass (#211174)
Just move it from pipeline to isel pass, NFC.
https://invent.kde.org/qt/clang/llvm-project/-/commit/db369a6a6aa336806debcf2e110a41fe3e78b0cf
Git commit 7c72a115065720e2b6ad38bdee91ea3c5e580cfb by GitHub (on behalf of Fangrui Song) on 22/07/2026 at 07:24..
PerThreadBumpPtrAllocator: remove dependency on getThreadIndex (#209687)
PerThreadAllocator, only used by DWARFLinker, indexes a fixed
getThreadCount()-sized array by `getThreadIndex()`, so it only works on
ThreadPoolExecutor threads (and asserts elsewhere). It false-shares
adjacent threads' bump pointers.
Instead, create each thread's sub-allocator lazily on first use, keyed
by a process-unique instance id in a thread-local cache, with the
instance owning the heap-allocated sub-allocators. This drops the
getThreadIndex()/getThreadCount() dependence, unblocking the caller
participation change for `parallelFor`.
mlir::ThreadLocalCache solves the same problem by keying a per-thread
map on the instance pointer and reclaiming a thread's slot when an instance
dies, but costs a map lookup and shared_ptr bookkeeping per allocation; instances
here are few and short-lived, so an id-indexed vector is cheaper. The counter
behind claimPerThreadAllocatorId is defined out of line in Allocator.cpp
so Windows DLLs cannot duplicate it and alias two instances' sub-allocators.
Aided by Claude Fable 5
https://invent.kde.org/qt/clang/llvm-project/-/commit/7c72a115065720e2b6ad38bdee91ea3c5e580cfb
Git commit 6e8563938bcedd41bc269f55d7330c34ade4cb83 by Fangrui Song on 22/07/2026 at 07:26..
[Support] parallelFor: enable caller participation
`parallelFor` dispatches its work to the thread pool and blocks the calling
thread in the `TaskGroup` destructor until the workers finish. The caller
thus stays idle instead of joining the work as modern parallel libraries do,
and `numactl -C 0-7 ld.lld --threads=8` ends up slower than
`numactl -C 0-8 ld.lld --threads=8`.
Run one worker on the calling thread instead. This requires that no
`parallelFor` body reads `getThreadIndex()`, which is unset on the caller;
the last such user is removed by #209687.
In the jobserver mode: only pool workers acquire job slots, so a
jobserver-limited process may briefly exceed its granted concurrency by
one thread. This is acceptable, better than pessimizing the common
non-jobserver case, and parallelFor is unused by jobserver users.
Pull Request: https://github.com/llvm/llvm-project/pull/209690
https://invent.kde.org/qt/clang/llvm-project/-/commit/6e8563938bcedd41bc269f55d7330c34ade4cb83