[flang][OpenMP] Extend do concurrent mapping to multi-range loops by ergawy · Pull Request #127634 · llvm/llvm-project (original) (raw)

@llvm/pr-subscribers-flang-fir-hlfir

Author: Kareem Ergawy (ergawy)

Changes

Adds support for converting mulit-range loops to OpenMP (on the host only for now). The changes here "prepare" a loop nest for collapsing by sinking iteration variables to the innermost fir.do_loop op in the nest.


Full diff: https://github.com/llvm/llvm-project/pull/127634.diff

3 Files Affected:

diff --git a/flang/docs/DoConcurrentConversionToOpenMP.md b/flang/docs/DoConcurrentConversionToOpenMP.md index 914ace0813f0e..e7665a7751035 100644 --- a/flang/docs/DoConcurrentConversionToOpenMP.md +++ b/flang/docs/DoConcurrentConversionToOpenMP.md @@ -173,6 +173,35 @@ omp.parallel {

+### Multi-range loops + +The pass currently supports multi-range loops as well. Given the following +example: + +```fortran

+omp.loop_nest (%arg0, %arg1)