[all-commits] [llvm/llvm-project] f882eb: [Flang][OpenMP] Skip component symbols when creati...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Sat Jan 27 04:57:16 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
      https://github.com/llvm/llvm-project/commit/f882eb49860cea4d5cfb76a7bbbfa45d04a4ac00
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-01-27 (Sat, 27 Jan 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    A flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    A flang/test/Lower/OpenMP/map-component-ref.f90

  Log Message:
  -----------
  [Flang][OpenMP] Skip component symbols when creating extended values (#79657)

The `map` clause in OpenMP allows structure components to be specified
(unlike other clauses). Structure components do get their own symbols,
but these are not meant to be instantiated.

When a component reference is passed as an argument to the omp.target
op, it gets a corresponding parameter in the target op's entry block.
The original symbols are then bound to the same kind of an extended
value as before, but the value is now based on the parameters.

To handle structure components more gracefully, put their symbols on the
list of mapped objects, but skip them when creating extended values.

Fixes https://github.com/llvm/llvm-project/issues/79478.




More information about the All-commits mailing list