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