[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/petar-avramovic/extendedLLT-widen-load-store'.
Changed from 5cdb956267bea435187562b6d4d27f95ae1bc402 to b0dd0f86e7d9db2b98b06e15c50081122efb1532
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 f2ef5670cf70371153caeb0ebbeae2323a61f8e0 by GitHub (on behalf of Carl Ritson) on 17/07/2026 at 05:23..
[AMDGPU] Refactor GFX11 VALU Mask Hazard Waitcnt Merging (#169213)

Move GFX11 SGPR VALU mask hazard waitcnt merging to the a forward scan
within the AMDGPUWaitSGPRHazard pass.
This simplifies the hazard recognizer code and allows merging of waitcnt
instructions in cases where SGPRs unaffected by pending writes are used.
In turn this greatly decreasing numbers of waits inserted in sequences
of V_CMP instructions writing SGPRs improving VALU pipeline performance.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f2ef5670cf70371153caeb0ebbeae2323a61f8e0

Git commit 78ed03f555ea75d2337f618930c062f4d881a08b by GitHub (on behalf of Eugene Epshteyn) on 17/07/2026 at 05:29..
[flang] Add lowering tests for parenthesized initial values (#209664)

Add a LIT test that baselines the current lowering of parenthesized
initial values in fir.global initializer regions. Today a parenthesized
scalar or derived constant survives constant folding as a Parentheses
node and is lowered to a fir.no_reassoc operation inside the global init
region, while parentheses around characters, array named-constants, and
structure-constructor components are stripped before lowering.

This test pins that behavior so that an upcoming change to the
initializer-lowering path shows its behavior delta explicitly and has a
regression guard.

Assisted-by: AI
https://invent.kde.org/qt/clang/llvm-project/-/commit/78ed03f555ea75d2337f618930c062f4d881a08b

Git commit 15ae01dd24261bd70947aab884098e5dcd4096dd by GitHub (on behalf of David Zbarsky) on 17/07/2026 at 05:38..
[clangd][Support] Outline LSP payload decode errors (#203121)

Move failed payload handling from `clangd::LSPBinder::parse<T>` and
`llvm::lsp::MessageHandler::parse<T>` into their non-inline
`handleParseError` functions, while keeping successful payload
conversion specialized in each `parse<T>` instantiation.

For a Darwin arm64 build, stripped clangd decreased by 32,848 bytes and
`__TEXT,__text` decreased by 25,180 bytes.

`ClangdTests --gtest_filter=LSPBinderTest.*` passes, and
`llvm/lib/Support/LSP/Transport.cpp` passes a standalone syntax compile.

Work towards #202616

AI tool disclosure: Co-authored with OpenAI Codex.

Co-authored-by: OpenAI Codex <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/15ae01dd24261bd70947aab884098e5dcd4096dd

Git commit c488b2c2407bf29bb20f67bb8f3cf39c637d231e by GitHub (on behalf of Sameer Sahasrabuddhe) on 17/07/2026 at 05:39..
[Docs][AMDGPU] Consistent use of "wave-uniform", "per-lane" and "immediate" (#209974)

When documenting DMA operations, use consistent qualifiers
(wave-uniform, per-lane, immediate) instead of referring to SGPRs and
VGPRs.

Assisted-By: Claude Opus 4.6
https://invent.kde.org/qt/clang/llvm-project/-/commit/c488b2c2407bf29bb20f67bb8f3cf39c637d231e

Git commit a376783e2ed3a44f63991c97513711faad09525b by GitHub (on behalf of maflcko) on 17/07/2026 at 05:42..
[compiler-rt][ubsan] Fix suppressions for inlined functions (#206735)

Align suppression PC handling with getCallerLocation(), so function
suppressions identify the inlined function that caused a report.

Intentionally match only the innermost inline frame.

Extend suppressions-nested-calls.c coverage to -O1.


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

---------

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/a376783e2ed3a44f63991c97513711faad09525b

Git commit 30bc042395a6cf0aa1e5de4fcc625d5b8c611767 by GitHub (on behalf of maflcko) on 17/07/2026 at 05:50..
[compiler-rt][test] Use configured Python for lit page-size probe (#209175)

Use the same Python executable configured for the test suite, rather
than relying on python3 being on PATH.

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/30bc042395a6cf0aa1e5de4fcc625d5b8c611767

Git commit c5837b469c6d6f35eb0822cd9ebd7c2aa7e2ab75 by GitHub (on behalf of Pavel Labath) on 17/07/2026 at 05:54..
[libc][bazel] Add remaining sys/socket functions and tests (#209798)

This patch adds the following sys/socket functions and syscall wrapper
libraries to BUILD.bazel:
- accept
- accept4
- bind
- connect
- getpeername
- getsockname
- listen
- sockatmark

I'm also enabling the unit tests for these functions. Running AF_UNIX
socket tests under Bazel ran into a problem where the absolute path to
the test sandbox directory exceeds the 108-byte limit of
sockaddr_un::sun_path. To work around that, I added a TestDirectoryScope
helper that temporarily chdirs into the test directory so the tests can
use short relative filenames, and restores the original working
directory on exit.

Assisted by Gemini.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c5837b469c6d6f35eb0822cd9ebd7c2aa7e2ab75

Git commit 9445ad3f91d4331eead867f8b3c9c8a3818edac0 by GitHub (on behalf of Rana Pratap Reddy) on 17/07/2026 at 06:20..
[CIR][AMDGPU] Adds `__amdgpu_buffer_rsrc_t` in the buffer-resource address space (#204782)

CIR previously lowering every AMDGPU opaque pointer to
`!cir.ptr<!void>`. Now `__amdgpu_buffer_rsrc_t` lower to
`!cir.ptr<!void, target_address_space(8)>` similar to (`ptr
addrspace(8)` in LLVM IR) matching CodeGen.

This change requires for upcoming raw buffer load/store/atomic builtins.
Those builtins `__builtin_amdgcn_raw_buffer_load/store_b*,
__builtin_amdgcn_raw_ptr_buffer_atomic_*` take a
`__amdgpu_buffer_rsrc_t` as operand, and the corresponding LLVM
intrinsics expect a `ptr addrspace(8)` resource argument.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9445ad3f91d4331eead867f8b3c9c8a3818edac0

Git commit 513ac13e7e5037af4b39c8c582dd7927f4c807fc by GitHub (on behalf of SiHuaN) on 17/07/2026 at 06:21..
[Clang][RISCV] Add P extension reinterpret cast intrinsics (#210241)

Implement the "Reinterpret casts" section of the RISC-V P extension intrinsic
spec in `riscv_packed_simd.h`.

The 82 `__riscv_preinterpret_<from>_<to>` intrinsics provide
bit-pattern-preserving conversions between packed types and equal-width
scalars, and between equal-width packed types. They generate no instructions;
each is a `__builtin_bit_cast`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/513ac13e7e5037af4b39c8c582dd7927f4c807fc

Git commit 61fa8d3db491c4a864242f22ce31b730fb78ecb5 by GitHub (on behalf of Matt Arsenault) on 17/07/2026 at 06:22..
CodeGen: Rename LibcallLoweringModuleAnalysisResult to ModuleLibcallLoweringInfo (#210176)
https://invent.kde.org/qt/clang/llvm-project/-/commit/61fa8d3db491c4a864242f22ce31b730fb78ecb5

Git commit 6f2bd9fd1a5e7c61893abf2f1e9246610e6a32f8 by GitHub (on behalf of Valentin Clement (バレンタイン クレメン)) on 17/07/2026 at 06:28..
[flang][cuda] Add option to flag descriptor I/O as error (#210170)

Descriptor I/O is too expensive in some compilation mode (nordc). Add
ability to emit an error if they are found in device code.
https://invent.kde.org/qt/clang/llvm-project/-/commit/6f2bd9fd1a5e7c61893abf2f1e9246610e6a32f8

Git commit 02f55a9e5e4775bc17cc23f9d1e7f5ee23cf63cd by GitHub (on behalf of Pavel Labath) on 17/07/2026 at 06:44..
[libc] add net/if.h to the list of installed headers (#210021)

on aarch64, riscv and x86_64.
https://invent.kde.org/qt/clang/llvm-project/-/commit/02f55a9e5e4775bc17cc23f9d1e7f5ee23cf63cd

Git commit c571b0bd7330a4b737ad7dec31e7f2b52edd3953 by GitHub (on behalf of Pavel Labath) on 17/07/2026 at 06:45..
[libc] Fix size of struct sockaddr_storage (#210037)

My cleverness with the union backfired as it introduced an
(architecture-specific) padding between before it. Drop the union to
avoid that.

This probably wouldn't break much as the structure exists just to
allocate space (and this made it larger), but we should fix it
nonetheless.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c571b0bd7330a4b737ad7dec31e7f2b52edd3953

Git commit c4903855b64ee801d1b9caeb970921a63475c98b by GitHub (on behalf of Michael Kruse) on 17/07/2026 at 07:01..
[fakeflang] Also detect CMakeTestGNU.c (#210175)

Two fixes when using CMake < 3.28 after #209482:

* In addition to `flang`, also recognize `fakeflang` to determine
whether any workaround for CMake not completely supporting Flang is
needed. `fakeflang` is used as a shim in #209482.

* For CMake < 3.24, CMake does not reognize Flang at all and tries other
methods to detect to the compiler, including the file `CMakeTestGNU.c`.
Make `fakeflang` recognize it as a probe attempt.

This should fix the
[openmp-offload-amdgpu-clang-flang](https://lab.llvm.org/buildbot/#/builders/67)
buildbot. The buildbot is currently upgrade to a newer CMake version,
and the minimum required version of CMake will become 3.31 soon.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c4903855b64ee801d1b9caeb970921a63475c98b

Git commit 250f791e7002afb308e4a59dc5ef3e1f2e1c10af by GitHub (on behalf of Raphael Isemann) on 17/07/2026 at 07:14..
[lldb] Fix tsan error in SymbolLocatorDebugSymbols (#209698)

g_dlsym_DBGCopyFullDSYMURLForUUID and g_dlsym_DBGCopyDSYMPropertyLists
are two globals that are lazily initialized when first used. TSan
complains that this lazy init code is not thread-safe as there is no
synchronization mechanism. In practice, the only race that can happen
here is that we initialize the same values concurrently, which should be
'safe' on any platform.

This patch moves the initialization code into a static local that
returns a const object. This makes this code thread-safe by construction
and fixes the TSan error.

It also fixes that we keep calling dlopen if the initialization fails.
That is, the `g_dlsym_DBGCopyFullDSYMURLForUUID == nullptr` will always
be true on systems where the framework doesn't exist, so this code will
try loading it on every function call and fail.
https://invent.kde.org/qt/clang/llvm-project/-/commit/250f791e7002afb308e4a59dc5ef3e1f2e1c10af

Git commit 89f5334990c5aa853fcbaa361aefe5b999e63dc5 by GitHub (on behalf of Jeff Bailey) on 17/07/2026 at 07:14..
[libc][docs] Dynamically generate time.h documentation (#210197)

Removed the static time.rst file.

Added time to docgen_list in libc/docs/CMakeLists.txt. Created
libc/utils/docgen/time.yaml to define the functions.

Assisted-by: Automated tooling, human reviewed.
https://invent.kde.org/qt/clang/llvm-project/-/commit/89f5334990c5aa853fcbaa361aefe5b999e63dc5

Git commit d68dc184b1cec0a01876b3f635bce6c25a64edf6 by GitHub (on behalf of Kareem Ergawy) on 17/07/2026 at 07:16..
[flang][PFT] record every target of an assigned GO TO (#210065)

Assigned GO TO (`go to v [, (l1, l2, ...)]`) is the third multiway
branch in the language, alongside the computed GO TO and arithmetic IF
that were addressed in PR #210012. Its PFTBuilder handler previously
did:

    [&](const parser::AssignedGotoStmt &) {
      eval.isUnstructured = true;
      markSuccessorAsNewBlock(eval);
    },

i.e. it recorded no branch targets at all -- neither `controlSuccessor`
nor `extraControlSuccessors` was populated.

Handle the assigned GO TO the same way PR #210012 handles the computed
GO TO and arithmetic IF: iterate every possible target and call
`markBranchTarget(eval, label)` for each, so that `controlSuccessor`
receives the first and `extraControlSuccessors` receives the rest.

Co-authored-by: Claude Sonnet 4.6 <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/d68dc184b1cec0a01876b3f635bce6c25a64edf6

Git commit d134db0b2b989a2b15f91f24acca43497dfe0919 by GitHub (on behalf of Sean Clarke) on 17/07/2026 at 07:17..
[HashRecognize] Remove byte-multiple trip count requirement (#210086)

The newly added carryless-multiply CRC loop optimization (#203405) does
not require a byte-multiple trip count unlike the Sarwate method which
was previously implemented. Loosen this requirement in HashRecognize and
reapply it in `optimizeCRCLoop`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d134db0b2b989a2b15f91f24acca43497dfe0919

Git commit cc98c1eb84c690c65fba77b72c269a869978c898 by GitHub (on behalf of Fangrui Song) on 17/07/2026 at 07:34..
[CycleInfo] Represent cycles by an opaque handle. NFC (#210117)

Consumers refer to a cycle by a GenericCycle pointer into
GenericCycleInfo's storage. Introduce GenericCycleRef, a value handle
wrapping the cycle's preorder index, and route every GenericCycleInfo
query and mutation through it. GenericCycle becomes an internal
implementation detail, so its storage representation can change without
touching callers.

Aided by Claude Opus 4.8, reviewed by Fable 5

Suggested by
https://github.com/llvm/llvm-project/pull/208614#pullrequestreview-4683378136
https://invent.kde.org/qt/clang/llvm-project/-/commit/cc98c1eb84c690c65fba77b72c269a869978c898

Git commit 90e31c46d005ae0a7f5968c38a9310bee499923c by GitHub (on behalf of Nikita Popov) on 17/07/2026 at 07:51..
[LTO] Sort DefinedGlobals in LTO cache key (#210025)

Sort the DefindeGlobals by GUID when computing the LTO cache key, to
avoid making the cache key dependent on the insertion order. This fixes
large compile-time regressions in rust incremental builds.

Alternatively one could make collectDefinedGVSummariesPerModule() work
on the sortedRange(), but as that is also used in other places, it
probably makes sense to sort locally.

The issue was introduced in 760bb06cb3cd98832f1e4e7a4eaebd98b66d2bdd.
https://invent.kde.org/qt/clang/llvm-project/-/commit/90e31c46d005ae0a7f5968c38a9310bee499923c

Git commit b69dd3366863acff56b0b2efdc4c4938097bb43e by GitHub (on behalf of Andrzej Warzyński) on 17/07/2026 at 08:03..
[mlir][vector][nfc] Update integration tests (#210090)

Add comments, unify naming, remove redundant printing hooks.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b69dd3366863acff56b0b2efdc4c4938097bb43e

Git commit 8b269587981fdc3b487cda5559ef75eeb475e613 by GitHub (on behalf of Simon Pilgrim) on 17/07/2026 at 08:13..
[VectorCombine][X86] Add test coverage for #209714 (#210063)
https://invent.kde.org/qt/clang/llvm-project/-/commit/8b269587981fdc3b487cda5559ef75eeb475e613

Git commit 981c0f9037fc2e1e5c70ba2cfe61128557b5eeff by GitHub (on behalf of David Spickett) on 17/07/2026 at 08:30..
[lldb][test] Handle potential compiler differences in TestEmptyFuncThreadStepOut.py (#210050)

Fixes #195958

It was reported that this test sometimes failed in CI because lldb would
step out to line 6 instead of line 7.

Jim Ingham expained on the issue that both could be valid locations
(https://github.com/llvm/llvm-project/issues/195958#issuecomment-4384269846).

There's no garauntee that "step out" would go to the source line after
the call you step out of. All it does is go to the first location
outside of the call. If the compiler so chose, that could be on the same
line as the call.

I was not able to reproduce this failure mode, but I think it was
happening in CI before, and is possible. So I've made the test accept
line 6 or 7. Anything further than that we've gone too far and the test
will fail.
https://invent.kde.org/qt/clang/llvm-project/-/commit/981c0f9037fc2e1e5c70ba2cfe61128557b5eeff

Git commit 9ee8b18b6c0758e57cedfa57e99ba85dfd247d35 by GitHub (on behalf of Andrzej Warzyński) on 17/07/2026 at 08:30..
[mlir][vector] Fix e2e test post #210090 (#210270)

Failing bots:
  * https://lab.llvm.org/buildbot/#/builders/177/builds/37626
  * https://lab.llvm.org/buildbot/#/builders/116/builds/30570
https://invent.kde.org/qt/clang/llvm-project/-/commit/9ee8b18b6c0758e57cedfa57e99ba85dfd247d35

Git commit 4894d4e87c332af24809b20573d880a4073b738b by GitHub (on behalf of Ian Anderson) on 17/07/2026 at 08:32..
[clang][driver] Add a -target-variant alias for -darwin-target-variant (#208388)

Swift Build uses the `-target-variant` argument which is an alias for
-darwin-target-variant that's only present in the Xcode version of
clang. Upstream it for general support and parity with swiftc.

Co-authored-by: Alex Lorenz <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/4894d4e87c332af24809b20573d880a4073b738b

Git commit 12c4c0bf0269218c6ffdddae1c895f892a3e4e75 by GitHub (on behalf of Jay Foad) on 17/07/2026 at 08:37..
[AMDGPU] Handle expert scheduling VA_VDST WAR hazards (#201619)

Handle WAR hazards where a VALU reading a VGPR is followed by a VMEM
writing the same VGPR. It is possible, though not very common, that the
VMEM will complete first. To guard against this the compiler must insert
a wait on VA_VDST.
https://invent.kde.org/qt/clang/llvm-project/-/commit/12c4c0bf0269218c6ffdddae1c895f892a3e4e75

Git commit f3b7bf5f46b7ae9eb6a025a3410b3d71974b6f9a by Petar Avramovic on 17/07/2026 at 09:05..
AMDGPU/GlobalISel: Handle G_BITCAST for 16 bit extendedLLTs

Handle bitcast between i16 and f16/bf16.
For true16 this was already legal, make it legal in regbanklegalize as well.
For non-true16 widen it using G_ANYEXT to i32 and G_TRUNC to dst.
The "i32 G_ANYEXT f16/bf16" and "f16/bf16 G_TRUNC i32" are already legal,
for example these are generated by common CallLowering argument lowering.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f3b7bf5f46b7ae9eb6a025a3410b3d71974b6f9a

Git commit d457e36ac21e48142abd43bfe5ce502672f74a76 by Petar Avramovic on 17/07/2026 at 09:05..
AMDGPU/GlobalISel: Switch legalizer intrinsic lowering to extended LLTs

Affects various buffer intrinsics.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d457e36ac21e48142abd43bfe5ce502672f74a76

Git commit a1833983c8f9553a1fd20a6fe16f48047e874267 by Petar Avramovic on 17/07/2026 at 09:09..
AMDGPU/GlobalISel: Fix G_UNMERGE_VALUES lowering for extended LLTs

Use integer type for bit twiddling instead of scalar.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a1833983c8f9553a1fd20a6fe16f48047e874267

Git commit 321e45e742c996c9cde8288999a2f5afdb4370d6 by Petar Avramovic on 17/07/2026 at 09:14..
AMDGPU/GlobalISel: Fix G_MERGE_VALUES lowering for extended LLTs

Use integer type for bit twiddling instead of scalar.
https://invent.kde.org/qt/clang/llvm-project/-/commit/321e45e742c996c9cde8288999a2f5afdb4370d6

Git commit 622392f873a334aa48ac82ed493d6a18e7670c69 by Petar Avramovic on 17/07/2026 at 09:15..
AMDGPU/GlobalISel: Stop using changeTo in legaizer actions

Use changeElementSizeTo or changeElementCountTo to preserve extended LLT.
https://invent.kde.org/qt/clang/llvm-project/-/commit/622392f873a334aa48ac82ed493d6a18e7670c69

Git commit ea8d864483389e3d3b4a969126c58315650e428f by Petar Avramovic on 17/07/2026 at 09:15..
AMDGPU/GlobalISel: Fix legalizer lowering for G_EXTRACT/INSERT_VECTOR_ELT

Use LLT::integer in bit twiddling lowering for extract/insert vector element.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ea8d864483389e3d3b4a969126c58315650e428f

Git commit b0dd0f86e7d9db2b98b06e15c50081122efb1532 by Petar Avramovic on 17/07/2026 at 09:15..
AMDGPU/GlobalISel: Explicitly widen scalar to i32 for load and store

Affects f16 and bf16. Earlier, they were widened to f32 and s32 respectively.
The actual error was the artifact combiner creating a copy between f32/i32
which fails in the machine verifier. Maybe we could create a bitcast there.
However i32 is more efficient for us and matches well with how argument
lowering keeps f16 and bf16 in i32 copies to/from physical registers.
Also starting from f16 store, G_STORE %0(f16), %1(p1) :: (store (f16),
and doing widen scalar to 32 bit type, i32 makes more sense since store
will store 16 least significant bits G_STORE %0(i32), %1(p1) :: (store (f16)
compared to G_STORE %0(f32), %1(p1) :: (store (f16), which looks incorrect if
we assume input was really in f32 format.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b0dd0f86e7d9db2b98b06e15c50081122efb1532
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.