[flang-commits] [flang] [Flang][OpenMP] Support iterator modifier in map and motion clauses (PR #197757)
via flang-commits
flang-commits at lists.llvm.org
Tue Aug 4 19:49:24 PDT 2026
================
@@ -723,6 +723,21 @@ class MapInfoFinalizationPass
if (auto mapUser = llvm::dyn_cast<mlir::omp::MapInfoOp>(user))
return getFirstTargetUser(mapUser);
+
+ // MapInfoOp inside an omp.iterator body is yielded back to the iterator,
+ // whose result is used by the target op.
+ if (llvm::isa<mlir::omp::YieldOp>(user)) {
+ if (auto iterOp = user->getParentOfType<mlir::omp::IteratorOp>()) {
+ for (auto *iterUser : iterOp->getUsers()) {
+ if (llvm::isa<mlir::omp::TargetOp, mlir::omp::TargetDataOp,
+ mlir::omp::TargetUpdateOp,
+ mlir::omp::TargetExitDataOp,
+ mlir::omp::TargetEnterDataOp,
+ mlir::omp::DeclareMapperInfoOp>(iterUser))
+ return iterUser;
+ }
+ }
+ }
----------------
MattPD wrote:
Confirmed removed.
https://github.com/llvm/llvm-project/pull/197757
More information about the flang-commits
mailing list