[qt/clang/llvm]: 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
Pushed by mirror-service into branch 'upstream/users/abhinavgaba/attach-maps-in-mappers-4'.
Changed from 93740f62f44470b6fd9fe6f34b03680897fe08f2 to fff49701406533953fd212b45db18900ad95d5d0
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 bbe3d1dea61f9111a60af57b6bde59bdced9b5c4 by Abhinav Gaba on 24/07/2026 at 02:18..
[OpenMP][test] Address review: restructure present-check mapper tests
Move the present-check pointee tests into this PR (PR1) with RUN lines and
FIXME/EXPECTED comments matching the current pre-feature behavior, per review:
- mapper_map_present_ptee.c
- mapper_map_mbr_ptee_then_present_mbr_ptee.c
- mapper_map_mbr_then_present_mbr_ptee.c
Later PRs update these checks as the behavior becomes correct.
Also:
- mapper_map_ptee_then_present_absent_mbr.c: reword the FIXME to just say
PRESENT should be propagated to the s.x member entry (drop the PTR_AND_OBJ
wording, which belongs in the propagation PR).
- mapper_target_update_present_ptee.c: add OOB CHECK/EXPECTED lines and a
subset-transfer FIXME; use fprintf consistently.
- target_map_nested_ptr_member_mapper_codegen.cpp: add the OpenMP 6.0 RUN
line now (CHECK-60 currently identical to CHECK, with a FIXME) so the
propagation PR only needs to flip the pointee map-type values.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/bbe3d1dea61f9111a60af57b6bde59bdced9b5c4
Git commit f9065ea55a4743ac0fe3eecfda963fe68c48295b by Abhinav Gaba on 24/07/2026 at 20:37..
[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).
Add offload mapper_map_always_from.c: ALWAYS forces a member copy-back that the
ref count would otherwise suppress.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
https://invent.kde.org/qt/clang/llvm/-/commit/f9065ea55a4743ac0fe3eecfda963fe68c48295b
Git commit 9b175e28e59b07bdb185eab2275c504e2f8a9236 by Abhinav Gaba on 24/07/2026 at 20:37..
[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/-/commit/9b175e28e59b07bdb185eab2275c504e2f8a9236
Git commit fff49701406533953fd212b45db18900ad95d5d0 by Abhinav Gaba on 24/07/2026 at 20:37..
[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/-/commit/fff49701406533953fd212b45db18900ad95d5d0