[all-commits] [llvm/llvm-project] fff497: [OpenMP] Propagate PRESENT to pointee entries in m...
Abhinav Gaba via All-commits
all-commits at lists.llvm.org
Fri Jul 24 13:39:24 PDT 2026
Branch: refs/heads/users/abhinavgaba/attach-maps-in-mappers-4
Home: https://github.com/llvm/llvm-project
Commit: fff49701406533953fd212b45db18900ad95d5d0
https://github.com/llvm/llvm-project/commit/fff49701406533953fd212b45db18900ad95d5d0
Author: Abhinav Gaba <abhinav.gaba at intel.com>
Date: 2026-07-24 (Fri, 24 Jul 2026)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/test/OpenMP/target_map_nested_ptr_member_mapper_codegen.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M offload/test/mapping/mapper_map_mbr_then_present_mbr_ptee.c
M offload/test/mapping/mapper_target_update_present_ptee.c
Log Message:
-----------
[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 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list