[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 683799a69d579f21573424615e1a587a5b1b83aa to af6b25907abe4bf391dc17d3d1106cc58a0252b6
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 aa67f5ae65f5354be4b45e4c550456f2dbce0411 by Tobias Hieta (on behalf of Ajay Wakodikar) on 31/07/2026 at 06:56..
[Sema] Fix assertion in TreeTransform when rebuilding CXXParenListInitExpr
https://invent.kde.org/qt/clang/llvm-project/-/commit/aa67f5ae65f5354be4b45e4c550456f2dbce0411

Git commit def37339be35964399dae8935ea8fc958e047d49 by Tobias Hieta (on behalf of Ajay Wakodikar) on 31/07/2026 at 06:56..
Backport PR #203715 to release/23.x
https://invent.kde.org/qt/clang/llvm-project/-/commit/def37339be35964399dae8935ea8fc958e047d49

Git commit 9e4460b54cfc46192948571dc5996ed5f60a57ef by Tobias Hieta (on behalf of Matt Arsenault) on 31/07/2026 at 06:56..
clang/AMDGPU: Fix handling of subarch triples with no -mcpu (#211467)

(cherry picked from commit fd67f99275f586c48ae6432bca2623a29c82bf8c)
https://invent.kde.org/qt/clang/llvm-project/-/commit/9e4460b54cfc46192948571dc5996ed5f60a57ef

Git commit 834c3bcec496068372920790bbd571b4fa091c65 by Tobias Hieta (on behalf of Hubert Tong) on 31/07/2026 at 06:56..
[libc++][utils] Fix LIT `%if` substitution support (#209358)

Update the applySubstitutions call in `libcxx/utils/libcxx/test/format.py` to match the
change to `llvm/utils/lit/lit/TestRunner.py` done in 1041a9642ba0.

(cherry picked from commit a8617034c4a7cc733676a31b736d3118fec34259)
https://invent.kde.org/qt/clang/llvm-project/-/commit/834c3bcec496068372920790bbd571b4fa091c65

Git commit aaa931e5edae052b04334c54119f4c7fc4e53509 by Tobias Hieta (on behalf of dong jianqiang) on 31/07/2026 at 06:57..
[ARM] Exclude TLS symbols from the .reloc/R_ARM_REL32 path (#212549)

The .reloc branch in emitMachineConstantPoolValue fired for any
isWeakForLinker() + isDSOLocal() symbol, including TLS (thread_local)
weak symbols. R_ARM_REL32 is wrong for TLS: TLS symbols need
TLS-specific relocations (R_ARM_TLS_GD32 etc.). Using R_ARM_REL32 for a
TLS symbol produces a wrong address at runtime.

This broke the 2-stage ARM 32-bit buildbots: stage 1 (with the .reloc
branch) miscompiled stage 2's BPF codegen (BTFDebug.cpp references
llvm::sys::sandbox::Enabled, an inline thread_local weak variable),
causing a SIGSEGV in the BPF Assembly Printer.

Add a regression test (tls_weak_var in elf-preemption.ll) verifying that
TLS weak symbols get TLSGD/TPOFF, not R_ARM_REL32.

Fix #212545

(cherry picked from commit f4382bedc245a22ea7c354d08eb13543166a5f0d)
https://invent.kde.org/qt/clang/llvm-project/-/commit/aaa931e5edae052b04334c54119f4c7fc4e53509

Git commit 989e9efa0de6d887e85b76ff96a263a867c7ecb9 by Tobias Hieta (on behalf of yingopq) on 31/07/2026 at 06:57..
[Mips] Fix Clang crashes when assembling MIPS div/rem with register-name symbol as divisor (#200354)

Add check before getimm().

Fix #185363.

(cherry picked from commit 2b45696fcafc0c92ea0ad73483b1e175c97c834a)
https://invent.kde.org/qt/clang/llvm-project/-/commit/989e9efa0de6d887e85b76ff96a263a867c7ecb9

Git commit 1b1145f5648f4acc5ace66146ea78aff97883c89 by Tobias Hieta (on behalf of Pengcheng Wang) on 31/07/2026 at 06:57..
[RISCV] Fix crash in convertToVLMAX when AVL is an ADDI of a frame index (#212923)

`getConstant()` recognizes an AVL that is an immediate by checking
the opcode is `ADDI`, then reading the second operand and checking
if it is `X0`. However the second operand may be a frame index and
`getReg()` asserts with "This is not a register operand!".

We should guard the register access with `isReg()` before comparing
against `X0`.

Fixes #212797.

(cherry picked from commit ef7f2f611993a4bc59e181d2bf8fc6269d7e1c7d)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1b1145f5648f4acc5ace66146ea78aff97883c89

Git commit b7d8db9ddee73288463108b46aa29871fa95a482 by Tobias Hieta (on behalf of Marina Taylor) on 31/07/2026 at 06:58..
[LTO] Handle GlobalIFunc in LTOModule::parseSymbols (#212515)

Avoids the assert immediately below.

Fixes #45694

rdar://182744700
(cherry picked from commit a463071dc427777a2a2bfc155c6680d7ff220994)
https://invent.kde.org/qt/clang/llvm-project/-/commit/b7d8db9ddee73288463108b46aa29871fa95a482

Git commit cbd6540e5a2ef91bc8c8b6a10845415d40d12f45 by Tobias Hieta (on behalf of Luke Lau) on 31/07/2026 at 06:58..
[VPlan] Fix optimizeFindIVReductions not negating condition of blend (#213050)

Fixes #212993

#194729 made the m_Select a m_SelectLike, so FindLastSelect could now be
a blend. However we were checking the first operand to see if the Cond
needed inverted. A select has `select %cond, %true, %false`, a blend is
`blend %false, %cond, %true`, so we were failing to negate the
condition.

(cherry picked from commit 4f705acc388ab2c627fb263d89d1d60468f8a97b)
https://invent.kde.org/qt/clang/llvm-project/-/commit/cbd6540e5a2ef91bc8c8b6a10845415d40d12f45

Git commit c8bb66dd4f48747f67a5e25df946ef5db30b185e by Tobias Hieta (on behalf of Rainer Orth) on 31/07/2026 at 06:58..
[tsan] Fix buildgo.sh on FreeBSD/NetBSD (#213047)

This patch fixes the remaining compile errors when running `ninja
check-all` on FreeBSD and NetBSD:

- `sanitizer_linux.cpp` doesn't compile on NetBSD, so this patch adds a
cast:
  ```
sanitizer_common/sanitizer_linux.cpp:2492:10: error: format specifies
type 'unsigned long long' but the argument has type '__greg_t' (aka
'unsigned long') [-Werror,-Wformat]
   ```

- `tsan_interface_atomic.cpp` doesn't compile on both FreeBSD and
NetBSD, so this patch disables the warning:
  ```
tsan_interface_atomic.cpp:353:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:358:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:389:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:394:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:401:12: error: unused function template
'NoTsanAtomic' [-Werror,-Wunused-template]
tsan_interface_atomic.cpp:406:12: error: unused function template
'Atomic' [-Werror,-Wunused-template]
  ```

- `sanitizer_linux_libcdep.cpp` doesn't compile on NetBSD:
  ```
sanitizer_linux_libcdep.cpp:527:27: error: use of undeclared identifier
'__lwp_getprivate_fast'; did you mean '_lwp_getprivate'?
  ```
This is the same issue already handled in `tsan_platform_linux.cpp`: to
expose the `__lwp_getprivate_fast` definition in `<machine/mcontext.h>`,
`_RTLD_SOURCE` needs to be defined before `<machine/mcontext.h>` is
included (indirectly from `<signal.h>` in this case). It also needs to
include `<sys/types.h>` to get a definition of the `__aligned` macro.

Tested on `amd64-pc-freebsd15.1` and `amd64-pc-netbsd10.1`.

(cherry picked from commit 6e92d6d0577cbe102bd48f396301ea5cd0ebf247)
https://invent.kde.org/qt/clang/llvm-project/-/commit/c8bb66dd4f48747f67a5e25df946ef5db30b185e

Git commit 38acb5b2332d09a5637044fa0bcc237e5168c4fc by Tobias Hieta (on behalf of Florian Hahn) on 31/07/2026 at 06:59..
[VPlan] Set correct VPIRFlags for FP selects when sinking stores. (#212973)

Selects of floats carry fast-math flags. Update getDefaultFlags to take
the result type and use it to handle selects. I am planning on extending
this to other similar opcodes, including PHIs.

Then update sinkPredicatedStores to pass through the correct default
flags.

This fixes a crash in cse when intersecting common metadata.

Fixes https://github.com/llvm/llvm-project/issues/212811.

PR: https://github.com/llvm/llvm-project/pull/212973
(cherry picked from commit 40e33eb35417f565e2ed8a6c0dba63cbd618a926)
https://invent.kde.org/qt/clang/llvm-project/-/commit/38acb5b2332d09a5637044fa0bcc237e5168c4fc

Git commit 1e1225eb1f77152b8fb24367e5eebe047db01e15 by Tobias Hieta (on behalf of Steven Wu) on 31/07/2026 at 07:29..
[Sema][Serialization] Emit unused local typedefs in a deterministic order (#209639)

Sema::UnusedLocalTypedefNameCandidates is populated while iterating a Scope's
DeclsInScope, which is a SmallPtrSet whose iteration order depends on pointer
values and is therefore not stable across runs. The candidates are serialized
into the AST file -- both to assign declaration IDs and to write the
UNUSED_LOCAL_TYPEDEF_NAME_CANDIDATES record -- and are also used to emit the
deferred -Wunused-local-typedef warnings, so neither the emitted PCH/AST file
nor the diagnostics were reproducible. With deterministic compilation caching
this surfaces as a "cache poisoned" error, because two builds of the same PCH
produce different bytes.

Sort the candidates by source location at the point they are consumed, via
Sema::getSortedUnusedLocalTypedefNameCandidates(), so that both the diagnostics
and the serialized declarations are deterministic.
https://invent.kde.org/qt/clang/llvm-project/-/commit/1e1225eb1f77152b8fb24367e5eebe047db01e15

Git commit 9ecb67b7bcc70d7060915c8778580806c90d3eb4 by Tobias Hieta (on behalf of Ben Dunbobbin) on 31/07/2026 at 09:17..
[DTLTO] Overlap temporary file removal (#209423)

Deleting the temporary files produced by the DTLTO pipeline can be
expensive on Windows hosts. For a Clang link (Debug build with
sanitizers and instrumentation) using an optimized toolchain (PGO
non-LTO, llvmorg-22.1.0) on a Windows 11 Pro (Build 26200), AMD Family
25 @ ~4.5 GHz, 16 cores/32 threads, 64 GB RAM machine, the mean duration
of the "Remove DTLTO temporary files" time trace scope was 1267.789 ms
(measured over 10 runs).

This patch performs the deletions on a background thread, allowing them
to overlap with the tail of the link to hide this cost.

This is a re-implementation of the asynchronous cleanup idea from
https://github.com/llvm/llvm-project/pull/186988, which had to be
reverted in https://github.com/llvm/llvm-project/pull/189043 because
cleanup was not guaranteed to complete before LLD invoked
timeTraceProfilerCleanup(). In certain cases timeTraceProfilerCleanup()
was called before temporary file deletion had completed in LLD, which
caused memory leaks that were flagged by sanitizer builds.

Note that the DTLTO implementation has been refactored heavily since
https://github.com/llvm/llvm-project/pull/186988, so this is a
re-implementation along the same lines.

To solve the ordering issue, LLD now calls a hook that defaults to a
no-op, and DTLTO overrides it to drain the background deletion work.
LLD calls this hook before time-trace write/cleanup.

(cherry picked from commit 914d5a1841dedf2148e21bd6de3b92409fe79285)
https://invent.kde.org/qt/clang/llvm-project/-/commit/9ecb67b7bcc70d7060915c8778580806c90d3eb4

Git commit d62f721d6eb069b9444c1534fc371f677da35994 by Tobias Hieta (on behalf of Slava Zakharin) on 31/07/2026 at 09:17..
[CMake] Added missing LLVM_PTHREAD_LIB dependency. (#211041)

Required after #209423.

(cherry picked from commit 4f5675a0500f9ccc60dcbabb57e1c4dc88c40a84)
https://invent.kde.org/qt/clang/llvm-project/-/commit/d62f721d6eb069b9444c1534fc371f677da35994

Git commit af6b25907abe4bf391dc17d3d1106cc58a0252b6 by Tobias Hieta (on behalf of Maryam Moghadas) on 31/07/2026 at 09:18..
[SystemZ][z/OS] Implement emitCommonSymbol in MCGOFFStreamer (#210179)

Common globals were not emitted in GOFF object files due to a missing
emitCommonSymbol implementation. This adds the implementation to emit
the required SD/ED/PR ESD records in the GOFF object file.

(cherry picked from commit 705d0ec6115cef3232eafe6221f42f78e7b884e8)
https://invent.kde.org/qt/clang/llvm-project/-/commit/af6b25907abe4bf391dc17d3d1106cc58a0252b6
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.