[qt/clang/llvm]: 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
Pushed by mirror-service into branch 'upstream/users/jtstogel/realpath-entrypoints'.
Changed from c888a569f7da728cf97ebeae9f60824bea2810dc to 0b8087ce7548c1d4b0f37833593b83616cd7ed81
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 16a941ef3c157c5f958962d5f72e8f0ee9133001 by GitHub (on behalf of Madhur Amilkanthwar) on 06/08/2026 at 05:23..
[VPlan][NFC] Speed up getVectorLoopRegion() with a last-successor walk (#199437)

Resolves the TODO in VPlan::getVectorLoopRegion() with a mutable cache
on VPlan, shared by both overloads.

Measured on an O3 build of the LLVM test suite (~12k TUs): 3,556,267
hits / 126,196 misses (96.57% hit rate).
https://invent.kde.org/qt/clang/llvm/-/commit/16a941ef3c157c5f958962d5f72e8f0ee9133001

Git commit 0210bb1044f0541a713e0164924204b4cfb30514 by GitHub (on behalf of Lang Hames) on 06/08/2026 at 06:10..
[ORC] Start decoupling MangleAndInterner from DataLayout. (#214398)

Previously MangleAndInterner held a DataLayout reference and mangled
names via Mangler::getNameWithPrefix. Replace the stored DataLayout with
an internal ManglingMode enum and mangle from that directly, so the
class no longer needs to hold a DataLayout.

Add two DataLayout-free constructors: one taking an ExecutionSession and
an optional ABI name (deriving the mode from the session's target
triple), and one taking an explicit ManglingMode. The existing
DataLayout constructor is retained, now deriving the mode from the
DataLayout.

This lets MangleAndInterner be used where no DataLayout is available
(e.g. from a bare ExecutionSession).

Adds MangleAndInternerTest covering the triple- and mode-based
construction paths.
https://invent.kde.org/qt/clang/llvm/-/commit/0210bb1044f0541a713e0164924204b4cfb30514

Git commit 0563f0d88d8314edcde7deab465759a84696e894 by GitHub (on behalf of Jean-Didier PAILLEUX) on 06/08/2026 at 06:22..
[flang][MIF] Fix team_type usage in all MIF operations #205953 (#214207)

This PR resolves the issue #205953. Its purpose is to correct the use of
`team_type` by lowering it to Addr rather than to Box.
https://invent.kde.org/qt/clang/llvm/-/commit/0563f0d88d8314edcde7deab465759a84696e894

Git commit ed5f9f9dc15fd5ea18f0da1be5a1b8be8b21b762 by GitHub (on behalf of Federico Bruzzone) on 06/08/2026 at 06:45..
[TailRecElim] Introduce support for shift accumulator optimization (#181331)

This PR enables Tail Recursion Elimination (TRE) for functions where the
accumulator operation is a shift (`shl`, `lshr`, `ashr`) by a constant
amount -- i.e., pseudo-associative relation.

As pointed out in #178805, `InstCombine` often strength-reduces
multiplications (or `f(x-1) + f(x-1)`) into `shl`.
Currently, TRE strictly requires operations to be associative and
commutative:

https://github.com/llvm/llvm-project/blob/05e908609227e1e8d993659e604a63668dfd2825/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp#L377-L379
This prevents TRE from transforming recursive shifts into loops,
creating a phase-ordering problem where canonicalization blocks a
structural optimization.

This PR does **not** perform shift accumulator optimization when there
are multiple base cases: it is reserved for future work.

Fixes #178805.
https://invent.kde.org/qt/clang/llvm/-/commit/ed5f9f9dc15fd5ea18f0da1be5a1b8be8b21b762

Git commit 073f509daadc94878455548ef471b0949cc4167a by GitHub (on behalf of Pavel Labath) on 06/08/2026 at 06:50..
[libc] Enable UNIT_TEST_ONLY tests in hermetic mode (#213860)

This mainly consists of removing the UNIT_TEST_ONLY lines as previous
patches made sure the tests work. The only slightly nontrivial part is
adding support for C_TEST to the hermetic test macro.

After this, the only UNIT_TEST_ONLY tests are those that require the
MPFR library.
https://invent.kde.org/qt/clang/llvm/-/commit/073f509daadc94878455548ef471b0949cc4167a

Git commit 8877db40d77e1a2e1cc3cb3a01bcf963bd4cda01 by GitHub (on behalf of Pavel Labath) on 06/08/2026 at 07:14..
[libc] Implement sleep and usleep for Linux (#213912)

Implemented the sleep and usleep entrypoints for Linux. Refactored the
syscall implementation out of the public nanosleep entrypoint into a
standard internal syscall wrapper.

Fixes #214293.

Co-authored-by: Jeff Bailey <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/8877db40d77e1a2e1cc3cb3a01bcf963bd4cda01

Git commit 08936cd2a0ca69b4cc6326aea11960e1352e9d91 by GitHub (on behalf of Joshua Rodriguez) on 06/08/2026 at 07:23..
[AArch64][GlobalISel] Add legalisation to G_EXRACT_SUBVECTOR (#207956)

Prevent legalisation of this opcode falling back to SDAG.

In situations where a G_EXTRACT_SUBVECTOR is being performed on two
vectors which aren't double/half the size of each other, represent the
extract as build_vector(extract_vector_element, extract_vector_element,
...).
https://invent.kde.org/qt/clang/llvm/-/commit/08936cd2a0ca69b4cc6326aea11960e1352e9d91

Git commit 2f4043eb92f789541b483dec8c794ecd67d167c1 by GitHub (on behalf of Jin Huang) on 06/08/2026 at 07:33..
[compiler-rt][pgo] Add profile instrumentation test for coroutines (#213801)

This PR adds a compiler-rt test (`instrprof-coroutine-profile.cpp`) to
verify PGO profile counter generation and ingestion for C++20
coroutines.

During investigating the iFDO profile ingested for coroutine pass, we
found that the profile data contains entry counts for the original
coroutine function (`foo`), but lacks the entry counters for the split
`foo.resume` function.

After inspecting
[PassBuilderPipelines.cpp](https://github.com/llvm/llvm-project/blob/f7b7ec8d5542dcede1ae607aa74dfe36d7a3c530/llvm/lib/Passes/PassBuilderPipelines.cpp#L1273)
confirms that `PGOInstrumentationGen` runs before `CoroSplitPass`.
Therefore,
- 1) the iFDO profile correctly ingests and associates profile counters
with coroutine function `foo`.
- 2) Separate function entry counters for `foo.resume` are not expected
in the iFDO profile.

Added `compiler-rt/test/profile/instrprof-coroutine-profile.cpp` and use
`llvm-profdata show` verify coroutine profile data. The IR dump after
`PGOInstrumentationGen` confirms that the function entry count is
tracking by counter[6] in the 8-element counter for `foo`.

```llvm
coro.alloc:                                       ; preds = %entry
  call void @llvm.instrprof.increment(ptr @__profn__Z3fooi, i64 650973721613012168, i32 8, i32 6)
  %2 = call i64 @llvm.coro.size.i64()
  %call = call noalias noundef nonnull ptr @_Znwm(i64 noundef %2) #14
  br label %coro.init

coro.init:                                        ; preds = %coro.alloc, %entry
```

Co-authored-by: Jin Huang <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/2f4043eb92f789541b483dec8c794ecd67d167c1

Git commit 78c9e64773e6f1f763fa19cb30ec87344ab6baa2 by GitHub (on behalf of Chuanqi Xu) on 06/08/2026 at 07:52..
Revert "[Modules] Handle decl attributes on deserialization the same as during parsing. (#208348)" (#214407)

This reverts commit 3ce0df7ca8027229618de9802eeffe1f0023bf74. See
https://github.com/llvm/llvm-project/issues/214091 for backgrounds.
https://invent.kde.org/qt/clang/llvm/-/commit/78c9e64773e6f1f763fa19cb30ec87344ab6baa2

Git commit 4e67825a75ae70c40549a273d4ade501af9d27a4 by GitHub (on behalf of Pavel Labath) on 06/08/2026 at 08:06..
[libc] (Re)skip tests failing after #213860 (#214425)

(At least) two tests enabled by #213860 are failing on the amdgpu bot
(which only runs hermetic tests). This patch skips them, but it a
different way, so that they keep running in hermetic mode on supported
targets.

For the sched_test, I add a dependency on the sched_getscheduler target
(used in the test) to trigger the auto-skipping logic.

The memory utils test fails due to a missing cmp_is_expensive
specialization, so I enable the test only on targets which have them
(listing targets explicitly).
https://invent.kde.org/qt/clang/llvm/-/commit/4e67825a75ae70c40549a273d4ade501af9d27a4

Git commit 4db3dc23cdd6d4c15885ee5de624357571effed4 by GitHub (on behalf of David Spickett) on 06/08/2026 at 08:17..
[lldb][test] Improve error for C++ compiler detection and improve docs (#214199)

I did not realise that LLDB_TEST_COMPILER should be the C compiler, so I
got:
    cxx = cc_dir / (cc_prefix + cxx_type + cc_ext)
TypeError: can only concatenate str (not "NoneType") to str
Config=aarch64-/usr/bin/g++

I have simplified the logic and added a more informative error: 
RuntimeError: Could not infer C++ compiler name from compiler type "g++"

Added a note to the documentation.

The CMake description does say "C compiler", but it's easy to gloss over
that so I extended that to say how we get the C++ compiler.
https://invent.kde.org/qt/clang/llvm/-/commit/4db3dc23cdd6d4c15885ee5de624357571effed4

Git commit 0b8087ce7548c1d4b0f37833593b83616cd7ed81 by jtstogel on 06/08/2026 at 08:19..
[libc] Add realpath to linux entrypoints
https://invent.kde.org/qt/clang/llvm/-/commit/0b8087ce7548c1d4b0f37833593b83616cd7ed81
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.