[all-commits] [llvm/llvm-project] 920c46: [mlir][Transform] Add support to drive conversions...

Nicolas Vasilache via All-commits all-commits at lists.llvm.org
Thu Aug 10 06:30:56 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 920c461219a9ecdc0ec195cdd2e23fb668fe3460
      https://github.com/llvm/llvm-project/commit/920c461219a9ecdc0ec195cdd2e23fb668fe3460
  Author: Nicolas Vasilache <nicolasvasilache at users.noreply.github.com>
  Date:   2023-08-10 (Thu, 10 Aug 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Func/CMakeLists.txt
    A mlir/include/mlir/Dialect/Func/TransformOps/CMakeLists.txt
    A mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.h
    A mlir/include/mlir/Dialect/Func/TransformOps/FuncTransformOps.td
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
    M mlir/lib/Dialect/Func/CMakeLists.txt
    A mlir/lib/Dialect/Func/TransformOps/CMakeLists.txt
    A mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Conversion/FuncToLLVM/func-memref-return.mlir
    M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][Transform] Add support to drive conversions of func to LLVM with TD

This revision adds a `transform.apply_conversion_patterns.func.func_to_llvm` transformation.

It is unclear at this point whether this should be spelled out as a standalone transformation
or whether it should resemble `transform.apply_conversion_patterns.dialect_to_llvm "fun"`.

This is dependent on how we want to handle the type converter creation.
In particular the current implementation exhibits the fact that
`transform.apply_conversion_patterns.memref.memref_to_llvm_type_converter` was not rich enough
and did not match the LowerToLLVMOptions.

Keeping those options in sync across all the passes that lower to LLVM is very error prone.
Instead, we should have a single `to_llvm_type_converter`.

Differential Revision: https://reviews.llvm.org/D157553




More information about the All-commits mailing list