[llvm-branch-commits] [Flang][OpenMP][MLIR] Initial derived type member map support (PR #82853)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Tue Mar 5 12:19:01 PST 2024
================
@@ -919,8 +924,27 @@ bool ClauseProcessor::processMap(
for (const Fortran::parser::OmpObject &ompObject :
std::get<Fortran::parser::OmpObjectList>(mapClause->v.t).v) {
+ llvm::omp::OpenMPOffloadMappingFlags objectsMapTypeBits = mapTypeBits;
+ checkAndApplyDeclTargetMapFlags(converter, objectsMapTypeBits,
+ *getOmpObjectSymbol(ompObject));
+
llvm::SmallVector<mlir::Value> bounds;
std::stringstream asFortran;
+ const Fortran::semantics::Symbol *parentSym = nullptr;
+
+ if (getOmpObjectSymbol(ompObject)->owner().IsDerivedType()) {
+ const auto *designator =
+ Fortran::parser::Unwrap<Fortran::parser::Designator>(
+ ompObject.u);
+ assert(designator && "Expected a designator from derived type "
+ "component during map clause processing");
+ parentSym = GetFirstName(*designator).symbol;
----------------
agozillon wrote:
This PR isn't intended to handle that type of mapping yet, it'll be handled in a subsequent series (which I am working on at the moment).
It's only intended to handle cases where we're mapping one level of nesting for the moment.
https://github.com/llvm/llvm-project/pull/82853
More information about the llvm-branch-commits
mailing list