[all-commits] [llvm/llvm-project] d6fb89: [MLIR][OpenMP] Improve loop wrapper representation...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Mon Jul 8 03:21:44 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d6fb89903409c7977f90b9f2f6a557f04d3f7e35
      https://github.com/llvm/llvm-project/commit/d6fb89903409c7977f90b9f2f6a557f04d3f7e35
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-07-08 (Mon, 08 Jul 2024)

  Changed paths:
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Improve loop wrapper representation (#97706)

This patch replaces the `SingleBlockImplicitTerminator<"TerminatorOp">`
trait of loop wrapper operations for the `SingleBlock` trait. This
enables a more robust implementation of the
`LoopWrapperInterface::isWrapper()` method, since it does no longer have
to deal with the potentially missing (implicit) terminator.

The `LoopWrapperInterface::isWrapper()` method is also extended to not
identify as wrappers those operations which have a loop wrapper
operation inside that is not taking a wrapper role. This is important
for cases where `omp.parallel` is nested, which can but is not required
to work as a loop wrapper.

Tests are updated to integrate these representation and validation
changes.



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