[all-commits] [llvm/llvm-project] 2452bc: [MLIR][OpenMP] Introduce the LoopWrapperInterface

Sergio Afonso via All-commits all-commits at lists.llvm.org
Mon Apr 1 05:15:40 PDT 2024


  Branch: refs/heads/users/skatrak/spr/loop-nest-02-wrapper-iface
  Home:   https://github.com/llvm/llvm-project
  Commit: 2452bc75a7f2efb67a0522bbe8b0e7ba5bc3365b
      https://github.com/llvm/llvm-project/commit/2452bc75a7f2efb67a0522bbe8b0e7ba5bc3365b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-01 (Mon, 01 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPInterfaces.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Introduce the LoopWrapperInterface

This patch defines a common interface to be shared by all OpenMP loop wrapper
operations. The main restrictions these operations must meet in order to be
considered a wrapper are:

- They contain a single region.
- Their region contains a single block.
- Their block only contains another loop wrapper or `omp.loop_nest` and a
terminator.

The new interface is attached to the `omp.parallel`, `omp.wsloop`,
`omp.simdloop`, `omp.distribute` and `omp.taskloop` operations. It is not
currently enforced that these operations meet the wrapper restrictions, which
would break existing OpenMP loop-generating code. Rather, this will be
introduced progressively in subsequent patches.



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