[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/ergawy/enclode_in_scf.execute_region'.
Changed from 1d99ead9459fe79e0f14240ab2837981d2efd459 to 864a5988ffcfcddfcf869af084bcd30721af875a
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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/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/-/commit/90e31c46d005ae0a7f5968c38a9310bee499923c

Git commit e90ba2617e7cfb04c935ba3b16265e94baa18e21 by ergawy on 17/07/2026 at 08:00..
[flang][PFT-to-MLIR] Wrap unstructured Fortran constructs in scf.execute_region

Extend the PFT-to-MLIR (HLFIR/FIR) lowering so unstructured DO and IF
constructs are emitted inside scf.execute_region, hiding their multi-block
CFG behind a single op. OpenACC and OpenMP lowerings that reject
multi-block content (e.g. the "unstructured do loop in combined acc
construct" TODO in OpenACC.cpp) now see a structured op instead.

Flag: -mmlir --wrap-unstructured-constructs-in-execute-region (default on).

An evaluation is wrappable iff all of the following hold:

  * wrap flag on
  * eval is parser::DoConstruct or parser::IfConstruct
  * eval.isUnstructured
  * branchesAreInternal(eval) -- every controlSuccessor in the subtree
    targets a nested eval or the constructExit
  * !hasIncomingBranch(eval) -- no outside eval branches into the body
    (PFT's synthetic IfConstruct around `if(c) goto X` absorbs label
    targets between the IF and X; the incoming-branch check excludes
    such wrappers when an outer GOTO names one of those labels)
  * does not contain a ReturnStmt -- its lowering creates the function's
    final block in the current region, which would mis-parent func.return
  * not an infinite DO and does not contain one (no LoopControl in any
    nested DO): the wrap's yield is unreachable and the body has no
    write-shaped side effects, so RegionDCE treats the wrap as trivially
    dead and drops it. Excluding the whole enclosing construct keeps
    such infinite loops visible in the parent CFG.
  * not the body DO of an enclosing OpenACCLoopConstruct or
    OpenACCCombinedConstruct -- nor one of the N collapsed iterator DOs
    reached by walking down through `collapse(N)`. Such DOs are driven
    directly into acc.loop by the OpenACC lowering, so wrapping them
    would hide the iteration from the acc.loop op.

Diagnostics
-----------
Emit per-wrap and per-function diagnostics on stderr so the wrapping is
observable from a single compile invocation:

  [wrap-unstructured] wrapped DO at <loc>
  [wrap-unstructured] wrapped IF at <loc>
  [wrap-unstructured] summary: N execute_region(s) wrapping unstructured
                      constructs at <loc>

The counter is reset per function and the summary is suppressed when no
wraps fire.

Co-authored-by: Claude Opus 4.7 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/e90ba2617e7cfb04c935ba3b16265e94baa18e21

Git commit 5732104cf80e260c0d4da9ffaeac53e4b40b2c00 by ergawy on 17/07/2026 at 08:00..
[flang][PFT] check every branch target in wrappability analyses

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/5732104cf80e260c0d4da9ffaeac53e4b40b2c00

Git commit 17776245f20a12408825b8b1c9a111ba5b42f1da by ergawy on 17/07/2026 at 08:00..
[flang][PFT-to-MLIR] pull the scf.execute_region wrap inside the DO lowering

Co-authored-by: Claude Opus 4.7 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/17776245f20a12408825b8b1c9a111ba5b42f1da

Git commit dc7076904b4b5d3a46d67b50fda844dd0ae0a5cc by ergawy on 17/07/2026 at 08:00..
[flang][PFT-to-MLIR] start entry block for wrappable nested IfConstruct

Co-authored-by: Claude Opus 4.7 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/dc7076904b4b5d3a46d67b50fda844dd0ae0a5cc

Git commit 864a5988ffcfcddfcf869af084bcd30721af875a by ergawy on 17/07/2026 at 08:15..
Self review
https://invent.kde.org/qt/clang/llvm/-/commit/864a5988ffcfcddfcf869af084bcd30721af875a
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.