ROCm / llvm-project

This is the AMD-maintained fork of the LLVM git repository. This repository accepts pull requests and issues related to AMD fork-specific topics (amd/*). For all other issues/PRs, please submit upstream at https://github.com/llvm/llvm-project.
Other
94 stars 48 forks source link

[Flang][MLIR][OpenMP] Initial multi-layered derived type member map support #61

Open agozillon opened 1 month ago

agozillon commented 1 month ago

This PR adds explicit derived type member mapping for nested descriptor types (allocatables) and other types, allowing users to map specific components of a derived type rather than the whole derived type. Currently this would also be the only way to map descriptor types within a derived type, as the automagic mapping of these when mapping an entire derived type is still a WIP and should follow on from this work.

There's a lot of Fortran tests added in this PR that should give examples of what kind of mappings are handled in this PR. This PR shouldn't (at least from self testing) regress any existing map behaviour just add on to it.