================ @@ -2081,6 +2083,79 @@ void collectMapDataFromMapOperands(MapInfoData &mapData, } } +static int getMapDataMemberIdx(MapInfoData &mapData, + mlir::omp::MapInfoOp memberOp) { + auto *res = llvm::find(mapData.MapClause, memberOp); + assert(res != mapData.MapClause.end()); + return std::distance(mapData.MapClause.begin(), res); +} + +static mlir::omp::MapInfoOp +getFirstOrLastMappedMemberPtr(mlir::omp::MapInfoOp mapInfo, bool first) { + // Only 1 member has been mapped, we can return it. + if (mapInfo.getMembersIndex()->size() == 1) + if (auto mapOp = mlir::dyn_cast<mlir::omp::MapInfoOp>( + mapInfo.getMembers()[0].getDefiningOp())) + return mapOp; + + std::vector<size_t> indices( + mapInfo.getMembersIndexAttr().getShapedType().getShape()[0]); + std::iota(indices.begin(), indices.end(), 0); ---------------- skatrak wrote:
```suggestion llvm::SmallVector<size_t> indices( mapInfo.getMembersIndexAttr().getShapedType().getShape()[0], 0); ``` https://github.com/llvm/llvm-project/pull/82852 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits