[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/qiongsiwu/eng_167034309_pr4_byname_drain'. Changed from b13fa97971396986e59375b89b928ce2160740a3 to c2ff95d90b6a25f5b7e3b8427aadc1e5309ce84f 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 0cf29309fd12668307f39bd540100618de626e94 by GitHub (on behalf of Erich Keane) on 30/07/2026 at 17:14.. [CIR]Implement lowering for simple sin/cos/tan/exp10 builtins. (#211614) Discovered these just looking around, they are pretty simple/trivial translations to LLVM-IR intrins, and the infrastructure to do so is already in place, so this is a bit of simple wiring up! Implements f/h/hl versions of sin/cos/tan. Also implements base-10 exponent, since it is also trivial. https://invent.kde.org/qt/clang/llvm-project/-/commit/0cf29309fd12668307f39bd540100618de626e94 Git commit 3ce0df7ca8027229618de9802eeffe1f0023bf74 by GitHub (on behalf of Volodymyr Sapsai) on 30/07/2026 at 17:15.. [Modules] Handle decl attributes on deserialization the same as during parsing. (#208348) Replace manual handling of 2 attributes with `Sema::mergeDeclAttributes`, which is called during parsing too. Also propagate attributes not from a previous redeclaration but from a previous redeclaration outside of the current module. This is done to avoid double propagation because attributes from a previous decl in the same module are already handled when a module is built. Call `ASTDeclReader::attachLatestDecl` after each decl is added to a redeclaration chain, not once per `ASTReader::loadPendingDeclChain` call. This is done to maintain correct redeclaration chain for each `ASTDeclReader::attachPreviousDecl` call because [newly added] `mergeDeclAttributes` requires a correct redeclaration chain. Separated `Parser::Initialize` and `Parser::ConsumeToken` so can move the initialization earlier, into `Parser` constructor. This way `Parser::Initialize`, `Sema::Initialize`, `ASTReader::InitializeSema` are executed before deserialization. This specific case is verified by "Modules/decl-attr-merge-explicit-modules.c". The change can cause compilation errors for downstream `Parser` clients. Instead of calling `Parser::Initialize` now you need to call `Parser::ConsumeToken`. rdar://175997317 https://invent.kde.org/qt/clang/llvm-project/-/commit/3ce0df7ca8027229618de9802eeffe1f0023bf74 Git commit 97ff9fc6daee52427f64ba9f11c1c6f268fab4fa by GitHub (on behalf of Erich Keane) on 30/07/2026 at 17:15.. [CIR] Allow cir.copy to work across address spaces- (#211873) LLVM Memcpy supports copying across address spaces, so we should too. IN C, this is legal, and there are no associated AST nodes to reasonably put in a cast, so this patch just legalizes it to match the LLVM behavior. Note: I've added a 'CopyTypes' printer/parser as well, because it seems unfortunate to make EVERY copy have to show all of its types. https://invent.kde.org/qt/clang/llvm-project/-/commit/97ff9fc6daee52427f64ba9f11c1c6f268fab4fa Git commit 4dd8a2972273d9613b3004516c6bc9d7cf525f68 by GitHub (on behalf of Alexey Bataev) on 30/07/2026 at 17:25.. [SLP]Release scheduling deps of copyable reassoc operands only once A flattened reassoc node may have a scalar that is both a modeled copyable tree operand (child entry) and a direct IR operand of a node member. Scheduling such a member released its ScheduleCopyableData dependency twice - in the per-lane operand scan and again in the reassoc operand cleanup - driving UnscheduledDeps negative. Dedup the cleanup release through the same Checked set the operand scan uses. Reviewers: Pull Request: https://github.com/llvm/llvm-project/pull/213079 https://invent.kde.org/qt/clang/llvm-project/-/commit/4dd8a2972273d9613b3004516c6bc9d7cf525f68 Git commit 57a38f251bbb1e443642d4972c88550c750510cb by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 17:26.. IR: Use LongDoubleFormat enum for long-double-type module flag (#213056) Add parse/print helpers for the LongDoubleFormat enum, and route the "long-double-type" module flag producers and consumers through them instead of hardcoded strings in every location. Also clean up some unnecessary failure checks guaranteed by the verifier. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/57a38f251bbb1e443642d4972c88550c750510cb Git commit 2e838bf84da94760fa49e132108e954a62815573 by GitHub (on behalf of Alexey Samsonov) on 30/07/2026 at 17:29.. [libc] Fix aligned_alloc used in hermetic tests. (#213041) Use the provided alignment for the pointer to the returned memory chunk instead of the size. This fixes occasional segfaults in `hsearch` tests after ce62aab97e58c52e6bb0972c49d6fd1aaa6a08a0, since hash-table bitmask implementation uses SSE2 intrinsics with 16-byte alignment. https://invent.kde.org/qt/clang/llvm-project/-/commit/2e838bf84da94760fa49e132108e954a62815573 Git commit 056dae16f7d219f0dc943828dccd6cc3773d2674 by GitHub (on behalf of Ivan R. Ivanov) on 30/07/2026 at 17:30.. [mlir][gpu] Add stream-based async mode to gpu.launch (#213031) Currently, only gpu.launch_func supports stream-based asynchronicity. This patch adds the same mode to gpu.launch, and makes kernel outlining preserve that when converting to gpu.launch_func. This patch also documents the stream-based model in the operations description, which was previously missing. This patch changes the builders for the two launch operations: To retain the current behavior for gpu.launch one needs to add a `nullptr` for the new `Value asyncObject` argument after the `ValueRange asyncDependencies`, and make sure to pass a valid type for the `Type asyncTokenType` parameter if dependency-based async behavior is intended. For gpu.launch_func, both stream-based and dependency-based async models now go through the same builders, which take all three `Type asyncTokenType, ValueRange asyncDependencies, Value asyncObject` arguments. To retain stream-based behavior, pass `nullptr, {}` to the first two parameters, while to retain dependency-based behavior, pass `nullptr` to the third parameter. Assisted-by: Claude Code https://invent.kde.org/qt/clang/llvm-project/-/commit/056dae16f7d219f0dc943828dccd6cc3773d2674 Git commit 44cf7e37312967a0538501cc8ac044f6a72c9efb by GitHub (on behalf of Daniel Chen) on 30/07/2026 at 17:32.. Fix test case failure due to Commit aa50eb69 DwarfDebug: Move emission of types from beginModule() to endModule() (#212805) Commit `aa50eb69 ("DwarfDebug: Move emission of types from beginModule() to endModule()") ` added new CHECK lines to `debug-info-qualifiers.ll` that broke on XCOFF/AIX in two ways: (1) `CHECK-NOT: DW_TAG_subprogram` tripped on abbrev table entries printed before .debug_info, and (2) the pattern `{{.*}} "g")` had a space/paren mismatch against the AIX dwarfdump output format This PR is fix that by adding `; CHECK: .debug_info contents: ` anchor and changed the pattern to `{{.*}}"g"` in the test file https://invent.kde.org/qt/clang/llvm-project/-/commit/44cf7e37312967a0538501cc8ac044f6a72c9efb Git commit 2f238db9da1cec04f7e143fb264aa1c0fd4578ef by GitHub (on behalf of Zhen Wang) on 30/07/2026 at 17:38.. [flang][cuda] Treat unified data as host data in assignments (#212912) Unified data was counted as managed data in the data transfer predicate, so assignments between unified sides, or between unified and host data, became synchronous copies. Unified data is host memory that the device can also access, so it now takes the place of host data there: the assignment is a copy only when the other side is device or constant data, or a whole managed array, and is done on the host otherwise. This matches the reference compiler for whole arrays, sections, elements, scalars, allocatables, components and expressions. https://invent.kde.org/qt/clang/llvm-project/-/commit/2f238db9da1cec04f7e143fb264aa1c0fd4578ef Git commit c486d28c1ec80f832a0e3cb3173d1940e632742c by GitHub (on behalf of Bar Soloveychik) on 30/07/2026 at 17:51.. [lldb] Make missing DWO diagnostics customizable (#212338) Adds a default-empty `LLDB_DWO_DIAGNOSTIC_SUFFIX` macro and appends it to both missing-DWO diagnostics. The idea is companies or build engineers can build with an extra cmake -D flag to include internal URL links or troubleshooting tips when dwo files are missing. tested with: ``` bin/llvm-lit -sv tools/lldb/test/Shell/SymbolFile/DWARF/x86/dwo-not-found-warning.cpp ``` added `GetDwoDiagnosticSuffix()` because a macro has no runtime symbol. The function lets lldb-test read the exact value compiled into the DWARF plugin. --------- Co-authored-by: Bar Soloveychik <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/c486d28c1ec80f832a0e3cb3173d1940e632742c Git commit 730b803ed05e307d635b6b2764fad833629042c2 by GitHub (on behalf of Kareem Ergawy) on 30/07/2026 at 17:53.. [flang][Transforms] Add `SelectOpsConversion` pass (#212977) Introduces `--fir-select-ops-conversion`, which lowers `fir.select`, `fir.select_case`, and `fir.select_rank` to the control-flow dialect (`cf.switch` / `cf.cond_br` / `cf.br`) while preserving the CFG shape. `fir.select_case` becomes an if-then-else ladder of `arith.cmpi` + `cf.cond_br`; Fortran `UNSIGNED` selectors use `ule`. Signed / unsigned FIR integer values are normalized to signless via `fir.convert` first. `fir.select_type` is not handled here — it is already lowered by `--fir-polymorphic-op` (`PolymorphicOpConversion`). The pass runs in the default FIR optimizer pipeline right after `PolymorphicOpConversion`. Pipeline-check tests are updated to expect `SelectOpsConversion` in the sequence; `Fir/select.fir` and `Lower/volatile3.f90` are relaxed to accept the newly-canonicalized form of the lowered output. The main purpose of moving these conversion pattern earlier in the MLIR pipeline and target `cf` instead of directly `llvm` is to be able to later on use control-flow to structured-control-flow lifting: https://github.com/llvm/llvm-project/blob/main/mlir/include/mlir/Conversion/Passes.td#L402. Co-Authored-By: Claude Sonnet 4.6 (1M context) <[email protected]> PR Stack: * ▶️ https://github.com/llvm/llvm-project/pull/212977 * https://github.com/llvm/llvm-project/pull/212978 --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/730b803ed05e307d635b6b2764fad833629042c2 Git commit 4f705acc388ab2c627fb263d89d1d60468f8a97b by GitHub (on behalf of Luke Lau) on 30/07/2026 at 17:54.. [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. https://invent.kde.org/qt/clang/llvm-project/-/commit/4f705acc388ab2c627fb263d89d1d60468f8a97b Git commit 005b3858f602ec5a193740cb166244d5234ce98f by GitHub (on behalf of Andy Kaylor) on 30/07/2026 at 17:55.. [CIR] Add fenv attribute to compare operations (#213072) This adds the #cir.fenv attribute to the cir.cmp and cir.vec.cmp and adds verfiers to enforce that the attribute is only present when the comparison involves floating-point values. The cir.vec.cmp operation has an existing folder which is skipped in this change when the fenv attribute is present. In most circumstance, this folding could still be done, but the implementation is intentionally conservative at this point. Proper checking of the conditions under which folding would be legal will be added later. The cir.cmp operation does not currently have a folder. Assisted-by: Cursor / various models https://invent.kde.org/qt/clang/llvm-project/-/commit/005b3858f602ec5a193740cb166244d5234ce98f Git commit b1cf39d2db1fbc644c46e6783d022e274884fda9 by GitHub (on behalf of David Green) on 30/07/2026 at 18:19.. [GlobalISel] Use integer type for LOAD_STACK_GUARD (#212202) https://invent.kde.org/qt/clang/llvm-project/-/commit/b1cf39d2db1fbc644c46e6783d022e274884fda9 Git commit 63b3eb10e5f5807bf4c9c0f9ec582f03582c58fe by GitHub (on behalf of Benedek Kaibas) on 30/07/2026 at 18:37.. Revert "[clang][docs] Update CommandLineUsage and UsersManual with some flags (#209519)" (#213092) This PR reverts commit e4c2875c397861ea45a0cca05107d91d7d785d03. Reverting because of: https://github.com/llvm/llvm-project/actions/runs/30559163159/job/90927389811#step:10:822 https://invent.kde.org/qt/clang/llvm-project/-/commit/63b3eb10e5f5807bf4c9c0f9ec582f03582c58fe Git commit 6162922a8d7cef0cf2e27b91c980197d371c89b9 by GitHub (on behalf of Prabhu Rajasekaran) on 30/07/2026 at 18:37.. Revert "[HIPSPV] Add in-tree SPIR-V backend support for chipStar" (#213088) Reverts llvm/llvm-project#206910 which broke buildbot: https://lab.llvm.org/buildbot/#/builders/144/builds/60707 https://invent.kde.org/qt/clang/llvm-project/-/commit/6162922a8d7cef0cf2e27b91c980197d371c89b9 Git commit 6c5dfef69069230264b3aa7c90656726cc9eac1c by GitHub (on behalf of Ramkumar Ramachandra) on 30/07/2026 at 18:38.. [PatternMatchHelpers] Introduce m_Unless (NFC) (#212454) Introduce m_Unless from PatternMatch, that inverts a match, in PatternMatchHelpers. https://invent.kde.org/qt/clang/llvm-project/-/commit/6c5dfef69069230264b3aa7c90656726cc9eac1c Git commit 5b897d9b57494ef37615cd9af88507a212ab5703 by GitHub (on behalf of vsimion26) on 30/07/2026 at 18:52.. Fix classof implementation for QuantizedType (#213014) This PR aims to fix the misleading implementation of `classof` which accepted as a `QuantizedType` every type registered under the `QuantDialect.` The now updated implementation makes the checks more restrictive, allowing only direct subtypes of `QuantizedType` to be recognized as a `QuantizedType,` therefore preventing `QuantileType` and other types that are registered under `QuantDialect` to be seen as a subtype of `QuantizedType` and wrongfully use its methods which might lead to potential crashes. https://invent.kde.org/qt/clang/llvm-project/-/commit/5b897d9b57494ef37615cd9af88507a212ab5703 Git commit 0e42c871c2c8a40926ad929cfa334fd1d3c98dfa by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 18:57.. NVPTX: Add target names in TargetParser (#212734) Track the canonical sm name and other target information. This will eventually be used to reduce the pain of maintaining OffloadArch in clang; all of the disjoint targets share an enum which makes target specific covered switches annoying. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/0e42c871c2c8a40926ad929cfa334fd1d3c98dfa Git commit 1562871d4191f39de7ed0ae53f8ca48b8e2d4242 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 18:59.. clang: Use NVPTX TargetParser for OpenMP unified-addressing check (#212746) processRequiresDirective enumerated every OffloadArch value in a switch only to error on nvptx architectures older than sm_60. Replace it with NVPTX::supportsUnifiedAddressing() applied to the parsed target CPU so we don't need to keep adding cases here every time a new target is added. Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/1562871d4191f39de7ed0ae53f8ca48b8e2d4242 Git commit 6e92d6d0577cbe102bd48f396301ea5cd0ebf247 by GitHub (on behalf of Rainer Orth) on 30/07/2026 at 19:11.. [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`. https://invent.kde.org/qt/clang/llvm-project/-/commit/6e92d6d0577cbe102bd48f396301ea5cd0ebf247 Git commit 40e33eb35417f565e2ed8a6c0dba63cbd618a926 by GitHub (on behalf of Florian Hahn) on 30/07/2026 at 19:12.. [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 https://invent.kde.org/qt/clang/llvm-project/-/commit/40e33eb35417f565e2ed8a6c0dba63cbd618a926 Git commit 5f10bade30ec9e73f19349df7eb833aae323a2e3 by GitHub (on behalf of Joel E. Denny) on 30/07/2026 at 19:13.. [LoopUnroll] Fix freqs for unconditional latches: N>2, uniform (#182405) This patch introduces the command-line option `-unroll-uniform-weights`. When computing probabilities for the remaining N conditional latches in the unrolled loop after converting some iterations' latches to unconditional, LoopUnroll now supports the following three strategies: - A. If N <= 2, use a simple formula to compute a single uniform probability across those latches. - B. Otherwise, if `-unroll-uniform-weights` is not specified, apply the original loop's probability to all N latches and then, as needed, adjust as few of them as possible. - C. Otherwise, bisect the range [0,1] to find a single uniform probability across all N latches. This patch implements this strategy. An issue with C is that it could impact compiler performance, so this patch makes it opt-in. Its appeal over B is that it treats all latches the same given that we have no evidence showing that any latch should have a higher or lower probability than any other. A has neither problem, but I do not know how to apply it for N > 2. More experience or feedback from others might determine that some strategies are not worthwhile to maintain. This patch depends on PR #182404. https://invent.kde.org/qt/clang/llvm-project/-/commit/5f10bade30ec9e73f19349df7eb833aae323a2e3 Git commit 3d94aebde11a6410fc1ee93f12622114c60ace3d by GitHub (on behalf of Rainer Orth) on 30/07/2026 at 19:14.. [flang] Fix POSIX.1/XPG checks in intrinsics-library.cpp (#201072) PR #201063 breaks the `flang` build on Solaris: ``` flang/lib/Evaluate/intrinsics-library.cpp:225:26: error: address of overloaded function 'acos' does not match required type '__float128 (__float128)' flang/lib/Evaluate/intrinsics-library.cpp:225:26: error: address of overloaded function 'acos' does not match required type '_Complex __float128 (_Complex __float128)' ``` There are two problems here: - The `__float128` support in `intrinsics-library.cpp` is guarded by the POSIX.1 >= 2001/XPG >= 6 check, but only depends on `HAVE_QUADMATHLIB`. - That check is done incorrectly: it tests for `_POSIX_C_SOURCE >= 200112L` or `_XOPEN_SOURCE >= 600`, which are no longer defined on Solaris after the PR above. This check is due a misunderstanding of those feature test macros: as detailed in [The Open Group Base Specifications Issue 8, 2.2.1 POSIX.1 Symbols](https://pubs.opengroup.org/onlinepubs/9799919799/functions/V2_chap02.html), those macros are expected to be **defined** by the user to ensure that the features introduced by a particular version of POSIX.1 or XPG are enabled, and only be checked by system headers. To test if they actually are supported, the values of `_POSIX_VERSION` or `_XOPEN_VERSION` need to be checked instead, as explained in [2.1.3.1 POSIX System Interfaces](https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/V1_chap02.html). The feature test macros being defined by the system headers is a non-portable glibc/AIX extension, it seems. If the XPG6 features required for `flang` are present by default in a compilation environment, `_POSIX_VERSION` or `_XOPEN_VERSION` will be defined to the required values even without defining `_POSIX_C_SOURCE` or `_XOPEN_SOURCE`. Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`. https://invent.kde.org/qt/clang/llvm-project/-/commit/3d94aebde11a6410fc1ee93f12622114c60ace3d Git commit bb7c7d1e2a6b4a3487df8604f94e0b981e873899 by GitHub (on behalf of satyanarayana reddy janga) on 30/07/2026 at 19:23.. [lldb][minidump] Fix Memory64List DataSize over-counting on a failed read (#212861) **Issue:** save-core records each range's DataSize from the value ReadMemoryInChunks returns. That value counts bytes read from the inferior even when the callback dropped them: a chunk that errors part-way returns Stop before AddData, so the partially-read bytes are counted but never written. Because the Memory64List locates every range by the cumulative DataSize of the preceding ranges, an over-counted DataSize desyncs the shared data blob: the descriptors claim more bytes than the file holds and every later range reads back corrupted. **Fix** Record the bytes actually written (total_bytes_read) as the range's size so the descriptor DataSize matches the data in the blob. **Test** Add an API test that custom-saves a fully-readable region alongside a region whose tail is unreadable (a file mapped larger than the file), and checks the Memory64List does not claim more data than the file holds and that the readable region round-trips byte-for-byte. https://invent.kde.org/qt/clang/llvm-project/-/commit/bb7c7d1e2a6b4a3487df8604f94e0b981e873899 Git commit 50a6209336d9796d26c1e6ecc9553093b074ecb2 by GitHub (on behalf of Arseniy Obolenskiy) on 30/07/2026 at 19:46.. [AMDGPU] Canonicalize constant CLAMP source (#207902) CLAMP lowers to v_max_f32, which canonicalizes its result: signaling NaNs are quieted and denormals are flushed per the function denormal mode The constant fold returned the source unchanged, giving a different result than the hardware. Route the folded constant through getCanonicalConstantFP so it matches https://invent.kde.org/qt/clang/llvm-project/-/commit/50a6209336d9796d26c1e6ecc9553093b074ecb2 Git commit dd3a4ed6fbca3696b724b46e2934f3c27534f245 by GitHub (on behalf of Florian Hahn) on 30/07/2026 at 19:48.. [ConstraintElim] Tighten bounds using inequalities with constants. (#213049) Update ConstraintElimination to tighten existing bounds using inequalities. Given an inequality %a != %b and %a >= %b, we can tighten the fact to %a > %b. For now this is limited to constant %b. This helps to remove some checks in practice: https://github.com/dtcxzyw/llvm-opt-benchmark-nightly/pull/819 Compile-time impact in the noise: https://llvm-compile-time-tracker.com/compare.php?from=2f08dff5138a4ce908b6d4511a9439e859fedf86&to=fafe1d0d9d012654bc10e2b68d50ffe3b9fdbdcd&stat=instructions:u PR: https://github.com/llvm/llvm-project/pull/213049 https://invent.kde.org/qt/clang/llvm-project/-/commit/dd3a4ed6fbca3696b724b46e2934f3c27534f245 Git commit aae5b3f2a92cc1c08a4bd65ba397fba5e37272fe by GitHub (on behalf of Michael Jones) on 30/07/2026 at 19:52.. [scudo] Fix GCC build after 212604 (#212904) Change #212604 introduced an issue when building with gcc where it complains there are "too few template-parameter-lists" (see log: https://lab.llvm.org/buildbot/#/builders/131/builds/51269/steps/6/logs/stdio ) This PR fixes the build. Assisted-by: Automated tooling, human reviewed. https://invent.kde.org/qt/clang/llvm-project/-/commit/aae5b3f2a92cc1c08a4bd65ba397fba5e37272fe Git commit ff95a766e3c5588db19b9c93e1a6f49bd40a2823 by GitHub (on behalf of Matt Arsenault) on 30/07/2026 at 19:53.. clang: Use proper error for unified shared memory openmp error (#212750) Co-authored-by: Claude (Claude-Opus-4.8) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/ff95a766e3c5588db19b9c93e1a6f49bd40a2823 Git commit 4304020b98e20a46dd8f56b361c5f62074e7b8a1 by GitHub (on behalf of Ramkumar Ramachandra) on 30/07/2026 at 20:08.. [VPlan] Migrate VPBuilder to VPInsertPt fully (NFC) (#209764) There is already a VPInsertPoint in VPBuilder which is used just with InsertPointGuard. In order to share code, migrate VPBuilder to fully use VPInsertPoint as the canonical insertion point. https://invent.kde.org/qt/clang/llvm-project/-/commit/4304020b98e20a46dd8f56b361c5f62074e7b8a1 Git commit b6e3037f6e6283392f306b58c8444e0efe40a23e by GitHub (on behalf of Nick Sarnie) on 30/07/2026 at 20:19.. [offload][lit] Disable failing olCreateProgram test on AMD (#213126) Fails with an error about not being able to find `lld`. AMD team is investigating, but disable the test in the meantime. Context: https://github.com/llvm/llvm-project/pull/212860 Signed-off-by: Nick Sarnie <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/b6e3037f6e6283392f306b58c8444e0efe40a23e Git commit b75ab58e83301a56e958ea011fd851c88d976fe5 by GitHub (on behalf of Patrick Simmons) on 30/07/2026 at 20:27.. [AMDGPU] Match bitsin(typeof(x)) - ctpop(x) to s_bcnt0_i32 (#164847) This PR optimizes the pattern bitsin(typeof(x)) - popcnt(x) to s_bcnt0_i32 on AMDGPU. It also creates a Clang builtin for s_bcnt0_i32 so that users can call this instruction directly instead of relying on the compiler to match this pattern. https://invent.kde.org/qt/clang/llvm-project/-/commit/b75ab58e83301a56e958ea011fd851c88d976fe5 Git commit 79f9cdae9dd4502f72f596ff406b0d10ae4cc5a0 by GitHub (on behalf of Jonas Devlieghere) on 30/07/2026 at 20:29.. [lldb] Add a unit test for Wasm architecture compatibility (#213070) A Wasm module encodes neither a vendor nor an OS, so ObjectFileWasm reports a bare wasm32 or wasm64 architecture. That keeps an on-disk module compatible with the more specific triple a Wasm runtime reports at launch, which lets the dynamic loader reuse the module instead of reparsing it from process memory. An over-specified triple, including one that spells out an unknown vendor and OS, does not match, because an explicitly specified component still counts as specified. https://invent.kde.org/qt/clang/llvm-project/-/commit/79f9cdae9dd4502f72f596ff406b0d10ae4cc5a0 Git commit cdec735f774869f2949a94a7bf2e446798bf3b8c by GitHub (on behalf of Michael Jones) on 30/07/2026 at 20:29.. [libc][docs] Add logo to website (#213120) Add the excellent new logo drawn by @ajordanr-google to the homepage. https://invent.kde.org/qt/clang/llvm-project/-/commit/cdec735f774869f2949a94a7bf2e446798bf3b8c Git commit b05a5d09547bea535b4c26ee522ce310db118c47 by GitHub (on behalf of Med Ismail Bennani) on 30/07/2026 at 20:39.. [lldb/script] Migrate synthetic children providers onto ScriptedPythonInterface (#210845) Give `type synthetic add -l` a formal `ScriptedSyntheticChildrenInterface`, matching the architecture used elsewhere in this series: a C++ interface header, a Python-backed implementation, `PluginManager` registration with CLI/API usages, and a generatable ABC template (`scripted_synthetic_children.py`) wired into `scripting extension generate`. Every method goes through the shared `Dispatch<T>()` machinery instead of hand-rolling its own Locker/raw-SWIG calls. `Dispatch<T>()` is taught to introspect the target method's arity via `PythonCallable::GetArgInfo()` and drop trailing args before calling, so providers that legitimately define an argument as optional (`num_children(self)` vs. `num_children(self, max_count)`) still work through the generic dispatch path. This retires the ad-hoc `LLDBSwigPython_*` synthetic-children bridge functions entirely. Signed-off-by: Med Ismail Bennani <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/b05a5d09547bea535b4c26ee522ce310db118c47 Git commit f0da3dd9289e1b76da2658a0e6dad0e05842bdfd by GitHub (on behalf of Zahira Ammarguellat) on 30/07/2026 at 20:49.. Revert "[OpenMP] Restore loop variable values after loop-transformation constructs. (#212853)" (#213127) Revert "[OpenMP] Restore loop variable values after loop-transformation constructs. (#212853)" This reverts commit 2d697f8562d7845d5554cc1d2cd2264401b9d68f. Reverting this PR. Bot is failing with: Failed Tests (2): libomptarget :: spirv64-intel :: offloading/target-tile.c libomptarget :: x86_64-unknown-linux-gnu :: offloading/target-tile.c https://invent.kde.org/qt/clang/llvm-project/-/commit/f0da3dd9289e1b76da2658a0e6dad0e05842bdfd Git commit cc0f33be52a5a04fd809d6e6e6e41c0af794283d by GitHub (on behalf of Frank) on 30/07/2026 at 20:49.. [clang-format] Add SpacesInComments option for block comments (#204727) Adds a new `SpacesInBlockComments` clang-format option to control spacing after `/*` and before `*/` in ordinary block comments. Supported values: * Always: formats `/*comment*/` as `/* comment */` * Never: formats `/* comment */` as `/*comment*/` * Leave: preserves existing spacing Documentation comments such as `/** ... */` and `/*! ... */`, and parameter comments such as `/*Arg=*/`, are left unchanged. Tests added for all option values, multiline block comments, and excluded parameter/doc comments. Addresses #160682 https://invent.kde.org/qt/clang/llvm-project/-/commit/cc0f33be52a5a04fd809d6e6e6e41c0af794283d Git commit 100e8df6fc863f39e6f3e06862ee9500e859121f by GitHub (on behalf of Qiongsi Wu) on 30/07/2026 at 21:00.. [clang][DependencyScanning] Extracting a Driver-free CompilerInstaneWithContext Initializer (#211405) This PR extracts out an initializer of `CompilerInstanceWithContext` that does not depend on any driver code in preperation of moving the `CompilerInstanceWithContext` into `DependencyScanningWorker.cpp` as an implementation detail that is not exposed by any APIs. --- <sub>Stack created with <a href="https://github.com/github/gh-stack">GitHub Stacks CLI</a> • <a href="https://gh.io/stacks-feedback">Give Feedback 💬</a></sub> https://invent.kde.org/qt/clang/llvm-project/-/commit/100e8df6fc863f39e6f3e06862ee9500e859121f Git commit 7650a43aa8a6dabe890e08d3d482aa25ae31c826 by GitHub (on behalf of Florian Hahn) on 30/07/2026 at 21:00.. [LV] Add tests for preserving branch weights through VPlan (NFC). (#213131) Add coverage for carrying the branch weights of a predicated block from VPlan0 through to the generated IR https://invent.kde.org/qt/clang/llvm-project/-/commit/7650a43aa8a6dabe890e08d3d482aa25ae31c826 Git commit c836b82d088424baa8a60de63136747add192732 by GitHub (on behalf of Matsu) on 30/07/2026 at 21:02.. [mlir][OpenACC] Atomicize contended shared array reduction updates (#212971) Example: ```fortran !$acc parallel loop gang reduction(+:a) do i = 1, N !$acc loop worker reduction(+:a) do j = 1, M a(i) = a(i) + b(j,i) end do end do ``` In this code, the worker accumulator is block-shared, so every worker updates the same element with a plain read-modify-write and all but one partial is lost. Fix: make in-place updates of a block-shared array accumulator atomic, unless the element index varies per thread, in which case each thread owns its element and the plain update is already race-free. --------- Co-authored-by: Claude Opus 5 (1M context) <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/c836b82d088424baa8a60de63136747add192732 Git commit 21d9869c206e12f1932aecff50d03f06f5a96339 by GitHub (on behalf of yebinchon) on 30/07/2026 at 21:06.. [flang] Add a pass to get OpenACC device ptr for CUDA kernel (#212299) When a CUDA kernel is launched inside an OpenACC data region, it does not properly get the device pointers and instead uses host data. This PR adds a pass to get the device pointers set up by the OpenACC data construct and pass them explicitly to the CUDA kernel. Note: A possibly non-contiguous array argument is currently not supported. This pass will skip these cases. --------- Co-authored-by: Yebin Chon <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/21d9869c206e12f1932aecff50d03f06f5a96339 Git commit 256a6d2807a980c1477df0ed3b6ea6763460b967 by GitHub (on behalf of Dmitry Sidorov) on 30/07/2026 at 21:10.. [AMDGPU] Use a single SubtargetPredicate for fp8/bf8 -> f32 conversions (#212888) Add FeatureCvtFP8SDWASrcSel for the form that takes the byte from the SDWA src0_sel field and FeatureCvtFP8ByteSel for the form that takes it from a byte_sel operand. Both imply FeatureFP8ConversionInsts, and a subtarget provides one of them, so the multiclass-generated HasCvtFP8SDWASrcSel and HasCvtFP8ByteSel replace the GFX9 and GFX11Plus predicates outright. Assisted-By: Claude Opus 5 https://invent.kde.org/qt/clang/llvm-project/-/commit/256a6d2807a980c1477df0ed3b6ea6763460b967 Git commit c2ff95d90b6a25f5b7e3b8427aadc1e5309ce84f by Qiongsi Wu on 30/07/2026 at 21:14.. Implement the streaming style by-name scanning API. https://invent.kde.org/qt/clang/llvm-project/-/commit/c2ff95d90b6a25f5b7e3b8427aadc1e5309ce84f