[all-commits] [llvm/llvm-project] 6ccf2d: [mlir] Add an interface for Cast-Like operations

River Riddle via All-commits all-commits at lists.llvm.org
Wed Jan 20 16:28:42 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ccf2d62b4876c88427ae97d0cd3c9ed4330560a
      https://github.com/llvm/llvm-project/commit/6ccf2d62b4876c88427ae97d0cd3c9ed4330560a
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2021-01-20 (Wed, 20 Jan 2021)

  Changed paths:
    M mlir/docs/Tutorials/Toy/Ch-4.md
    M mlir/examples/toy/Ch4/CMakeLists.txt
    M mlir/examples/toy/Ch4/include/toy/Dialect.h
    M mlir/examples/toy/Ch4/include/toy/Ops.td
    M mlir/examples/toy/Ch4/mlir/Dialect.cpp
    M mlir/examples/toy/Ch4/mlir/ToyCombine.cpp
    M mlir/examples/toy/Ch5/CMakeLists.txt
    M mlir/examples/toy/Ch5/include/toy/Dialect.h
    M mlir/examples/toy/Ch5/include/toy/Ops.td
    M mlir/examples/toy/Ch5/mlir/Dialect.cpp
    M mlir/examples/toy/Ch5/mlir/ToyCombine.cpp
    M mlir/examples/toy/Ch6/CMakeLists.txt
    M mlir/examples/toy/Ch6/include/toy/Dialect.h
    M mlir/examples/toy/Ch6/include/toy/Ops.td
    M mlir/examples/toy/Ch6/mlir/Dialect.cpp
    M mlir/examples/toy/Ch6/mlir/ToyCombine.cpp
    M mlir/examples/toy/Ch7/CMakeLists.txt
    M mlir/examples/toy/Ch7/include/toy/Dialect.h
    M mlir/examples/toy/Ch7/include/toy/Ops.td
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp
    M mlir/examples/toy/Ch7/mlir/ToyCombine.cpp
    M mlir/include/mlir/Dialect/StandardOps/IR/Ops.h
    M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
    M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/IR/Diagnostics.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/Interfaces/CMakeLists.txt
    A mlir/include/mlir/Interfaces/CastInterfaces.h
    A mlir/include/mlir/Interfaces/CastInterfaces.td
    M mlir/lib/Dialect/Shape/IR/CMakeLists.txt
    M mlir/lib/Dialect/StandardOps/CMakeLists.txt
    M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/Interfaces/CMakeLists.txt
    A mlir/lib/Interfaces/CastInterfaces.cpp

  Log Message:
  -----------
  [mlir] Add an interface for Cast-Like operations

A cast-like operation is one that converts from a set of input types to a set of output types. The arity of the inputs may be from 0-N, whereas the arity of the outputs may be anything from 1-N. Cast-like operations are removable in cases where they produce a "no-op", i.e when the input types and output types match 1-1.

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


  Commit: c78219f644c7a6e352cd416f8ebb4374b745967e
      https://github.com/llvm/llvm-project/commit/c78219f644c7a6e352cd416f8ebb4374b745967e
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2021-01-20 (Wed, 20 Jan 2021)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinOps.h
    M mlir/include/mlir/IR/BuiltinOps.td
    M mlir/lib/IR/BuiltinDialect.cpp
    M mlir/lib/IR/CMakeLists.txt
    A mlir/test/Dialect/Builtin/canonicalize.mlir
    A mlir/test/Dialect/Builtin/invalid.mlir
    A mlir/test/Dialect/Builtin/ops.mlir

  Log Message:
  -----------
  [mlir] Add a new builtin `unrealized_conversion_cast` operation

An `unrealized_conversion_cast` operation represents an unrealized conversion
from one set of types to another, that is used to enable the inter-mixing of
different type systems. This operation should not be attributed any special
representational or execution semantics, and is generally only intended to be
used to satisfy the temporary intermixing of type systems during the conversion
of one type system to another.

This operation was discussed in the following RFC(and ODM):

https://llvm.discourse.group/t/open-meeting-1-14-dialect-conversion-and-type-conversion-the-question-of-cast-operations/

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


Compare: https://github.com/llvm/llvm-project/compare/87a89549c4b1...c78219f644c7


More information about the All-commits mailing list