[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