[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 8e3d56b1c1e6ea0adfdffa280df94635cc203c97 to b705dab0717b6ef63b486341a6ef688029ea688b 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 acafa3ccdc95732cb5781c0e733dc1899c18c79f by Abhinav Gaba on 27/07/2026 at 18:46.. [OpenMP] Propagate ALWAYS/DELETE/CLOSE map-type modifiers to mapper entries When a map clause uses a user-defined mapper, the map-type-modifying bits (ALWAYS, DELETE, CLOSE) on the outer clause must apply to each map the mapper inserts (OpenMP 6.0:281:34). Propagate them in emitUserDefinedMapper by OR-ing the imported modifier bits into each pushed component, except ATTACH entries (ATTACH|ALWAYS is reserved for attach(always) and the other bits are meaningless for ATTACH). PRESENT is intentionally not propagated here yet (a TODO notes it is handled in a follow-on, since it requires distinguishing pointee entries from the struct's own storage). Update offload mapper_map_always_from.c to its now-correct behavior: ALWAYS forces a member copy-back that the ref count would otherwise suppress, so s.y reads back as 111 (it was 0 before this change). Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/acafa3ccdc95732cb5781c0e733dc1899c18c79f Git commit cd434d71e9646c7979729979bfe16fa6dd7875a8 by Abhinav Gaba on 27/07/2026 at 18:47.. [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/cd434d71e9646c7979729979bfe16fa6dd7875a8 Git commit b705dab0717b6ef63b486341a6ef688029ea688b by Abhinav Gaba on 27/07/2026 at 18:48.. [OpenMP] Propagate PRESENT to pointee entries in mapper codegen Extend map-type-modifier propagation in emitUserDefinedMapper to the PRESENT modifier, but only for entries that have an attach ptr (the pointee data, whose storage differs from the struct's own). A present modifier on the outer clause must require that pointee to be present on the device. This is gated on a new PropagatePresentToPointee argument, which Clang sets from CGM.getLangOpts().OpenMP >= 60. 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. Only propagation is gated; present written directly in a mapper's own clause applies at all versions. A TODO notes PRESENT should also propagate to the struct's own members, which is blocked while pointer members use PTR_AND_OBJ. Update the present-check tests to their final 6.0-gated behavior. Co-Authored-By: Claude Opus 4.8 <[email protected]> https://invent.kde.org/qt/clang/llvm-project/-/commit/b705dab0717b6ef63b486341a6ef688029ea688b