[all-commits] [llvm/llvm-project] 18f228: [Flang][OpenMP] Skip intermediate map generation f...

agozillon via All-commits all-commits at lists.llvm.org
Thu Mar 5 07:41:59 PST 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 18f228810eb2bcb5ea2620396624b5b1f4d4a7af
      https://github.com/llvm/llvm-project/commit/18f228810eb2bcb5ea2620396624b5b1f4d4a7af
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    A flang/test/Lower/OpenMP/allocatable-dtype-intermediate-map-gen.f90

  Log Message:
  -----------
  [Flang][OpenMP] Skip intermediate map generation for motion modifier map directives (#177737)

Currently if we create the following map:

!$omp target update from/to(derived_type%allocatable)

We'll generate an extra map for the derived type (and any other
allocatable maps that may be in-between the final mapped allocatable
member). However, for cases like this, and other motion modifier related
map directives we don't need to do so. All the user cares about is the
specified member. Removing the intermediate member will minimize extra
performance overhead. It also maintains correctness, as currently, the
MLIR diagnostics for the motion modifiers restricts possible map types
for updates to to and from, and applying this map type to an
intermediate map will result in unintended side affects, e.g. mapping
back data the user didn't want to or over-writing data they didn't
intend to on device. This minor modification addresses that.



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