[all-commits] [llvm/llvm-project] 50e4f7: [MLIR][Flang][OpenMP] Make omp.wsloop into a loop ...
Sergio Afonso via All-commits
all-commits at lists.llvm.org
Thu Apr 11 08:51:26 PDT 2024
Branch: refs/heads/users/skatrak/spr/loop-nest-04-wsloop-mlir
Home: https://github.com/llvm/llvm-project
Commit: 50e4f785c005533656a032b121dbc93b1b87709f
https://github.com/llvm/llvm-project/commit/50e4f785c005533656a032b121dbc93b1b87709f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2024-04-11 (Thu, 11 Apr 2024)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/FIR/copyin.f90
M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/FIR/location.f90
M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/FIR/target.f90
M flang/test/Lower/OpenMP/FIR/unstructured.f90
M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
M flang/test/Lower/OpenMP/FIR/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/location.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-ordered.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-simd.f90
M flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/CAPI/execution_engine.c
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
M mlir/test/Conversion/SCFToOpenMP/scf-to-openmp.mlir
M mlir/test/Dialect/LLVMIR/legalize-for-export.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-nested.mlir
M mlir/test/Target/LLVMIR/openmp-reduction.mlir
Log Message:
-----------
[MLIR][Flang][OpenMP] Make omp.wsloop into a loop wrapper
This patch updates the definition of `omp.wsloop` to enforce the restrictions
of a wrapper operation. Given the widespread use of this operation, the changes
introduced in this patch are several:
- Update the MLIR definition of the `omp.wsloop`, as well as parser/printer,
builder and verifier.
- Update verifiers for `omp.ordered.region`, `omp.cancel` and
`omp.cancellation_point` to correctly check for a parent `omp.wsloop`.
- Update MLIR to LLVM IR translation of `omp.wsloop` to keep working after the
change in representation. Another patch should be created to reduce the current
code duplication between `omp.wsloop` and `omp.simd` after introducing a common
`omp.loop_nest` operation.
- Update the `scf.parallel` lowering pass to OpenMP to produce the new expected
representation.
- Update flang lowering to implement `omp.wsloop` representation changes,
including changes to `lastprivate`, and `reduction` handling to avoid adding
operations into a wrapper and attach entry block arguments to the right
operation.
- Fix unit tests broken due to the representation change.
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