[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-4'. Changed from 0229ace8ee05917efd8c60ffe26cd1819965ca11 to 93740f62f44470b6fd9fe6f34b03680897fe08f2 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 428b5e5eec3f66f348e1426b652cef9d1257ee8a by Abhinav Gaba on 17/07/2026 at 00:46.. [OpenMP][test] Add mapper present-check test for absent struct member A user-defined mapper maps a member (s.x) and a pointee (s.p[0:10]). Pre-map only the pointee, leaving s.x absent, then map(present: s) via the mapper. This currently PASSES with no present-check failure even though s.x is absent: the mapper emits the s.x member component without the PRESENT bit, so its absence is a silent no-op. The test documents this gap with a FIXME; the EXPECTED behavior is a present-check failure on s.x. Propagating PRESENT to member entries is blocked while pointer members use PTR_AND_OBJ. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/428b5e5eec3f66f348e1426b652cef9d1257ee8a Git commit 70f6b86b315c49c646dc1e21ed268a2475616453 by Abhinav Gaba on 23/07/2026 at 00:13.. [OpenMP][test] Add version-based present-check RUN lines and always-map variant Address review on the mapper present tests: - mapper_target_update_present_ptee.c: add RUN lines for all four OpenMP-version x bounds combinations (5.2/6.0 x inbounds/out-of-bounds). The present motion vs map-type modifier divergence was unintentional and is fixed as an OpenMP 6.0 erratum, so for <= 5.2 present is not applied to the pointee; the checks reflect the current (pre-propagation) state with FIXMEs for the eventual 6.0 present-check failure on the out-of-bounds pointee. - mapper_enter_data_always_present_ptee.c: new variant driving the mapper via 'target enter data map(always, present, to : s)' instead of target update. Documents the current run-fail state (an explicit-extension error on the mapper's combined member entry) with a FIXME for the attach-style fix. - mapper_map_ptee_only_2_ptr_indirections.c: clarify the after-delete FIXME -- the pointer's storage stays present because the mapper drops DELETE, not because of attach-style mapping. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/70f6b86b315c49c646dc1e21ed268a2475616453 Git commit 89b84291ffc0b7d35f86bfc687f0528e44998a42 by GitHub (on behalf of Jannick Kremer) on 23/07/2026 at 23:28.. [libclang/python] Remove global SPELLING_CACHE alias (#210677) This completes the second step of https://github.com/llvm/llvm-project/issues/156680 This change is a follow-up to https://github.com/llvm/llvm-project/pull/177586, following the release branching, to ensure a one release-cycle deprecation period. --------- Co-authored-by: Vlad Serebrennikov <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/89b84291ffc0b7d35f86bfc687f0528e44998a42 Git commit f854d3e457da8fcbc01fe51d2f2e1727d18554bb by Abhinav Gaba on 23/07/2026 at 23:32.. Merge remote-tracking branch 'upstream/main' into add-mapper-tests-that-need-attach-type-codegen https://invent.kde.org/qt/clang/llvm-project/-/commit/f854d3e457da8fcbc01fe51d2f2e1727d18554bb Git commit d61e7ed8a50aa3d653064420df78924507bb97f8 by Abhinav Gaba on 23/07/2026 at 23:32.. [OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries Per OpenMP 6.0:281:34, when a map/motion clause uses a mapper modifier, any map-type-modifying modifier on that clause applies to each map the declared mapper specifies. Propagate 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/d61e7ed8a50aa3d653064420df78924507bb97f8 Git commit 475ddabe793445e10fe20cbc4b633e270ecda217 by Abhinav Gaba on 23/07/2026 at 23:33.. [OpenMP] Track attach-ptr entries in mapper codegen (HasAttachPtr) Add a per-entry HasAttachPtr flag to MapInfosTy. It is set for entries that have an attach pointer (and thus an accompanying ATTACH entry linking that ptr to its pointee): pointee/combined entries whose storage differs from the struct being mapped. It is NOT set for the ATTACH entries themselves. In emitUserDefinedMapper, entries with HasAttachPtr (or the ATTACH bit, or the Flang/MLIR PreserveMemberOfFlags) do not receive a new outer MEMBER_OF: pointee data occupies a different storage block than the struct, and ATTACH entries just link a ptr to its ptee. Existing inner MEMBER_OF bits are still shifted. Clang (CGOpenMPRuntime) and the MLIR translator populate HasAttachPtr in parallel with the other per-entry arrays; the MLIR/Flang side currently pushes false with a TODO to set it for pointee-storage entries (e.g. s%p(0:10)) and eventually drop PreserveMemberOfFlags in favor of it. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/475ddabe793445e10fe20cbc4b633e270ecda217 Git commit 93740f62f44470b6fd9fe6f34b03680897fe08f2 by Abhinav Gaba on 23/07/2026 at 23:33.. [OpenMP] Propagate PRESENT to pointee entries in mapper codegen Extend mapper map-type-modifier propagation to include PRESENT, gated to entries that have an attach pointer (HasAttachPtr): the pointee data, whose storage differs from the struct being mapped. A present modifier on the outer map/motion clause must require that pointee to be present on the device; the present-check on the struct's own storage does not cover it. The propagation is gated on a new PropagatePresentToPointee argument to emitUserDefinedMapper, set by callers only for OpenMP >= 6.0. Before 6.0 the present modifier is treated as not applying to the pointee: the spec committee confirmed the divergence between the present 'motion' modifier (to/from) and the present map-type modifier (map) was unintentional, to be fixed as an OpenMP 6.0 erratum, so for 5.2 present is ignored for the pointee for both map and to/from. Regular struct members receive only ALWAYS/DELETE/CLOSE; attach-ptr/pointee entries additionally receive PRESENT at OpenMP >= 6.0. ATTACH entries receive no modifier bits. TODO: PRESENT should also propagate to the struct's own members (e.g. s.x, s.y of map(present, mapper(id): s)) so an absent member triggers the present check. That is blocked while pointer members use PTR_AND_OBJ (a single combined entry allocates the whole struct including the pointer's storage, so propagating PRESENT there would wrongly require the pointer's pointee to be present). Enable it once Clang emits attach-style maps throughout instead of PTR_AND_OBJ. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/93740f62f44470b6fd9fe6f34b03680897fe08f2