[all-commits] [llvm/llvm-project] a26f60: [flang][OpenMP] Lower iterator modifiers in map an...
Chi-Chun, Chen via All-commits
all-commits at lists.llvm.org
Wed Sep 16 11:01:59 PDT 2026
Branch: refs/heads/users/cchen/flang_openmp_motion_map_iterator
Home: https://github.com/llvm/llvm-project
Commit: a26f60f697df9dc7ef4a992f06e655104ad036b9
https://github.com/llvm/llvm-project/commit/a26f60f697df9dc7ef4a992f06e655104ad036b9
Author: Chi-Chun, Chen <chichun.chen at hpe.com>
Date: 2026-09-16 (Wed, 16 Sep 2026)
Changed paths:
M flang/include/flang/Utils/OpenMP.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Utils/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator-unsupported.f90
R flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
R flang/test/Lower/OpenMP/Todo/from-iterator-modifier.f90
A flang/test/Lower/OpenMP/Todo/map-iterator-ref-attach.f90
A flang/test/Lower/OpenMP/Todo/map-motion-iterator-unsupported-locators.f90
A flang/test/Lower/OpenMP/Todo/target-map-iterator.f90
R flang/test/Lower/OpenMP/Todo/to-iterator-modifier.f90
A flang/test/Lower/OpenMP/declare-mapper-iterator.f90
M flang/test/Lower/OpenMP/depend-iterator.f90
A flang/test/Lower/OpenMP/iterator-ranges.f90
A flang/test/Lower/OpenMP/motion-iterator.f90
M flang/test/Lower/OpenMP/task-affinity.f90
M flang/test/Semantics/OpenMP/target-enter-data-temp-descriptor-omp61.f90
M flang/test/Semantics/OpenMP/target-enter-data-temp-descriptor.f90
M flang/test/Transforms/omp-map-info-finalization.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
A mlir/test/Dialect/OpenMP/iterator-ranges.mlir
M mlir/test/Target/LLVMIR/openmp-iterator.mlir
M mlir/test/Target/LLVMIR/openmp-taskwait-depend.mlir
Log Message:
-----------
[flang][OpenMP] Lower iterator modifiers in map and motion clauses
Add iterator lowering for `target data`, `target enter/exit data`,
`target update`, and map clauses inside `declare mapper`.
For example:
```fortran
!$omp target update to(iterator(i=1:n): a(i), b)
```
Conceptually, this becomes:
```text
entries = omp.iterator(i = 1 through n) {
yield map_info(base = a, bounds = element i)
}
target_update(iterated_maps = entries, ordinary_maps = [b])
```
Keeping the array base and expressing selections through bounds lets the
same approach handle array elements, sections, and descriptor-backed arrays.
Each locator uses only the iterator dimensions it references:
```text
iterator(i=1:n, j=1:m): a(i), b(j), c(i,j)
| | |
i j i x j
```
Supports explicit and default mappers, including mapper declarations
imported from other modules.
This PR stacked on top of #197047 and #197752.
This patch is part of feature work for #188061.
Assisted with codex.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list