[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/abhinavgaba/attach-maps-in-mappers-3'. Changed from c3f2950de406d84de0c37ecd74400e6a01b6ab51 to dc7adf8f5e7dc746e280cc00f2ecc121ab3fbe4e 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 7a618a2e7fd15d4fea352f2f5d7f67b07e0ccd24 by GitHub (on behalf of Tanmay Gulhane) on 03/08/2026 at 00:01.. [RISCV] Fix assertion in combineBinOpOfExtractToReduceTree on type mismatch (#202201) combineBinOpOfExtractToReduceTree asserts that the extract source vector's element type equals the binop's value type (SrcVecVT.getVectorElementType() == VT). This invariant does not hold for all valid inputs. A <1 x i1> binary operation under -mattr=+zve32x reaches this point with the source vector element type differing from VT, which trips the assertion in an assertions-enabled build and silently proceeds on a false assumption otherwise. Convert the assertion into an early return, so the combine declines when its precondition is not met. This matches the existing bail-out style in the same function (the isScalableVector and getScalarSizeInBits() > getELen() checks immediately following). The change only ever skips the fold; it never alters correct output. Generative AI was used for the test case. The fix is mine. Bug found by fuzzing with llvm-stress (seed 96) and reduced with llvm-reduce. Signed-off-by: Tanmay Gulhane <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/7a618a2e7fd15d4fea352f2f5d7f67b07e0ccd24 Git commit 41322057c3af16d75e239ec6679c6c2bf7aec157 by GitHub (on behalf of Zane Hambly) on 03/08/2026 at 00:18.. [X86] Don't shrink VEX3 to VEX2 on a symbolic compare predicate (#213172) `llvm-mc` asserts on a VCMP predicate given as a symbol: ```asm vcmpps $f0, %xmm0, %xmm1, %xmm2 ``` ``` Assertion failed: isImm() && "This is not an immediate", MCInst.h:85 ``` `optimizeInstFromVEX3ToVEX2` reads the predicate with `getImm()` to decide whether the operands commute. A symbolic predicate is not known until link time, so that decision cannot be made here. Decline the shrink instead. Unlike the sibling FPCLASS issues (#185364, #185365) this one is on the encoding path and asserts under `--filetype=obj` too, so a release build would be making the commutation decision on whatever `getImm()` returns for a non-immediate. Literal predicates are unaffected and still commute to reach the two-byte VEX prefix. The test covers both. Fixes #185355 https://invent.kde.org/qt/clang/llvm-project/-/commit/41322057c3af16d75e239ec6679c6c2bf7aec157 Git commit 59f3a48ff016773a6093a27d77f27d71e8b4bff7 by GitHub (on behalf of Brandon Wu) on 03/08/2026 at 03:26.. [llvm][RISCV] Bump svukte to 1.0 (#211199) The PR updated: https://github.com/riscv/riscv-isa-manual/pull/1564 --------- Co-authored-by: Craig Topper <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/59f3a48ff016773a6093a27d77f27d71e8b4bff7 Git commit 24c1ce228a7ce7e8e8b444861e2782100ec2fe16 by GitHub (on behalf of Kazu Hirata) on 03/08/2026 at 03:43.. Reapply [ProfileData] Implement contains in SampleProfileNameTable (NFC) (#213408) This patch implements contains(StringRef) and contains(uint64_t) in SampleProfileNameTable and SampleProfileReader to serve symbol membership queries directly from the reader -- "is this symbol in the name table?". Without this patch, users of the sample profile reader, namely SampleProfileLoader::doInitialization and SampleProfileNameSet, each construct their own StringSet<> containing all name table entries. That is, we end up with two instances of StringSet<> with identical contents. Since these instances hold their own copies of symbol strings on the heap, both the constructor and destructor take up a large portion of compilation time. This patch teaches SampleProfileReader::contains to directly serve symbol membership queries. - For EytzingerSampleProfileNameTable, contains performs binary search directly across the three concatenated Eytzinger table spans (CSKeys, FlatKeys, and Inlinees) in a cache-friendly manner. - Other representations of the name table lazily construct an internal DenseSet on demand. This patch updates existing customers to call Reader->contains. This patch fixes a build issue on 32-bit ARM. RFC: https://discourse.llvm.org/t/rfc-faster-sample-profile-loading/90957/8 Assisted-by: Antigravity https://invent.kde.org/qt/clang/llvm-project/-/commit/24c1ce228a7ce7e8e8b444861e2782100ec2fe16 Git commit 43e41e96292608c016bcccea0b74a9339a2e67d3 by GitHub (on behalf of Zeyi Xu) on 03/08/2026 at 04:15.. [clang-tidy][docs] Replace invisible characters in unchecked-statusor-access. NFC. (#213562) https://invent.kde.org/qt/clang/llvm-project/-/commit/43e41e96292608c016bcccea0b74a9339a2e67d3 Git commit 99c39646d798f297af9005fea87b13d20e09d3dc by GitHub (on behalf of Matt Arsenault) on 03/08/2026 at 04:29.. clang/AMDGPU: Fix confused image builtin availability tests (#213567) These tests appear to have been copy paste from other image error tests, which were checking for invalid argument validation. The point of these tests were to reject image builtins on unsupported targets, and not just gfx942. Rename the tests, and fix the invalid argument usage. Each builtin should be used in a valid way. Co-authored-by: Claude (Claude-Opus-4.8) https://invent.kde.org/qt/clang/llvm-project/-/commit/99c39646d798f297af9005fea87b13d20e09d3dc Git commit 4148d0b61dfe9f5fa1fd5c7cde9c34d4ea92cb8b by GitHub (on behalf of ejose02) on 03/08/2026 at 04:37.. [flang] Reject type bound procedure overrides with mismatched passed-object dummy names (#210876) Fixes #206913 Issue: Flang wrongly accepts a type-bound procedure override when the implementing procedure uses a different dummy name than the parent deferred interface. Root cause: The PASS override check uses CanOverride, which compares dummy types but not dummy names for the passed-object argument. Fix: Check that dummy names match before CanOverride and report a clear error https://invent.kde.org/qt/clang/llvm-project/-/commit/4148d0b61dfe9f5fa1fd5c7cde9c34d4ea92cb8b Git commit 4b6a8d81da1a9eb1cee48c318b156ef2f2645c94 by GitHub (on behalf of Matt Arsenault) on 03/08/2026 at 05:24.. AMDGPU: Migrate most llvm-objdump tests to use subarch triple (#213589) https://invent.kde.org/qt/clang/llvm-project/-/commit/4b6a8d81da1a9eb1cee48c318b156ef2f2645c94 Git commit 04ea62bc5e2c5596866de7ee6a9c3a8b6aa54d35 by GitHub (on behalf of Arseniy Obolenskiy) on 03/08/2026 at 05:25.. [AMDGPU] Fix miscompile trimming sparse DMask on image stores (#213586) Dropping a channel from a sparse DMask removes that write entirely It does not zero-fill like a contiguous trim does Only simplify stores when DMask is a contiguous prefix https://invent.kde.org/qt/clang/llvm-project/-/commit/04ea62bc5e2c5596866de7ee6a9c3a8b6aa54d35 Git commit 4f607e3cd911ccc3d1aab73129aacea97d864663 by GitHub (on behalf of Matt Arsenault) on 03/08/2026 at 05:42.. AMDGPU: Migrate misc. tests to subarch triples (#213593) https://invent.kde.org/qt/clang/llvm-project/-/commit/4f607e3cd911ccc3d1aab73129aacea97d864663 Git commit 278b9af90c6fd32776ad3f4f4b5eab87f52587e2 by GitHub (on behalf of Sam Elliott) on 03/08/2026 at 06:02.. [RISCV][MC] Emit Better Token Diagnostics (#209700) This implements an old FIXME in the AsmMatcherEmitter, which can now emit a token-specific match error diagnostic id, and potentially a token-specific error message to go along with the diagnostic id. For RISC-V, the overall effect is to have fewer "invalid operand for instruction" diagnostics and have more "expected '<TOKEN>'" diagnostics, which, with multiple near miss support, gives the user the location that token was expected (but not found). The rejig to the order of checks in `validateOperandClass` do not prevent backends from having custom operand kinds which can accept tokens, as was available before. The TableGen parts have been implemented in an opt-in way. --- This was implemented with the assistance of AI. https://invent.kde.org/qt/clang/llvm-project/-/commit/278b9af90c6fd32776ad3f4f4b5eab87f52587e2 Git commit 187c39ba03cfed96c8aab9d0c951d0bea6f27b82 by GitHub (on behalf of Abhinav Gaba) on 03/08/2026 at 06:07.. [OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries (#210210) Per OpenMP, when a map/motion clause uses a mapper, any map-type-modifying modifier on that clause applies to each map the declared mapper specifies. This change propagates the `ALWAYS`, `DELETE`, and `CLOSE` bits from the outer clause's map type into every entry emitted by emitUserDefinedMapper, except `ATTACH` entries (`ATTACH`|`ALWAYS` is reserved for `attach(always)`, and the other bits have no meaning for an `ATTACH` entry). `PRESENT` is intentionally NOT propagated here: it requires distinguishing pointee entries from the struct's own storage and is handled in a follow-up. Co-authored-by: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/187c39ba03cfed96c8aab9d0c951d0bea6f27b82 Git commit dc7adf8f5e7dc746e280cc00f2ecc121ab3fbe4e by Abhinav Gaba on 03/08/2026 at 06:07.. [OpenMP][Clang] Enable ATTACH-style maps for mappers. Track per-entry attach-ptr info (HasAttachPtr) through mapper codegen so that emitUserDefinedMapper does not add a new outer MEMBER_OF to pointee/combined entries (which occupy different storage than the struct) or to ATTACH entries. Clang and the MLIR translator populate the per-entry array in parallel with the other MapInfosTy arrays. Address review: - Rename MapSkipMemberOfArrayTy to MapHasAttachPtrArrayTy to match the HasAttachPtr field it backs. - Restructure the emitUserDefinedMapper comment into a bulleted (*)/(**)/(***) list keyed to the example entries. - Reword the Clang comments: HasAttachPtr marks pointee entries that have a base attach-ptr; a combined entry has a base attach-ptr if its constituents do; cross-reference emitUserDefinedMapper for the MEMBER_OF rationale. - Update the moved present-check tests to their now-correct behavior (the attach-style maps make the inbounds present checks pass and remove the "explicit extension" errors). Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/dc7adf8f5e7dc746e280cc00f2ecc121ab3fbe4e