[all-commits] [llvm/llvm-project] 2a089a: [MLIR][OpenMP] Clause-based OpenMP operation defin...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Wed Jun 12 06:41:41 PDT 2024


  Branch: refs/heads/users/skatrak/mlir-clauses-04-ops
  Home:   https://github.com/llvm/llvm-project
  Commit: 2a089ad9a50bff60495b747b021b99317687de7c
      https://github.com/llvm/llvm-project/commit/2a089ad9a50bff60495b747b021b99317687de7c
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-06-12 (Wed, 12 Jun 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    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/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Clause-based OpenMP operation definition

This patch updates `OpenMP_Op` definitions to be based on the new set of
`OpenMP_Clause` definitions, and to take advantage of clause-based
automatically-generated argument lists, descriptions, assembly format and class
declarations.

There are also changes introduced to the clause operands structures to match
the current set of tablegen clause definitions. These two are very closely
linked and should be kept in sync. It would probably be a good idea to try
generating clause operands structures from the tablegen `OpenMP_Clause`
definitions in the future.

As a result of this change, arguments for some operations have been reordered.
This patch also addresses this by updating affected operation build calls and
unit tests. Some other updates to tests related to the order of arguments in
the resulting assembly format and others due to certain previous
inconsistencies in the printing/parsing of clauses are addressed.

The printer and parser functions for the `map` clause are updated, so that they
are able to handle `map` clauses linked to entry block arguments as well as
those which aren't. Printer and parser of reduction-related clauses are updated
as well to add support for `byref` information to all operations, unifying the
representation of reductions for all operations.



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