[all-commits] [llvm/llvm-project] 95019d: [mlir][IR] Define the singleton builtin types in O...

River Riddle via All-commits all-commits at lists.llvm.org
Tue Dec 15 13:52:09 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 95019de8a122619fc038c9fe3c80e625e3456bbf
      https://github.com/llvm/llvm-project/commit/95019de8a122619fc038c9fe3c80e625e3456bbf
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-12-15 (Tue, 15 Dec 2020)

  Changed paths:
    M mlir/docs/OpDefinitions.md
    A mlir/include/mlir/IR/BuiltinDialect.td
    M mlir/include/mlir/IR/BuiltinOps.td
    M mlir/include/mlir/IR/BuiltinTypes.h
    A mlir/include/mlir/IR/BuiltinTypes.td
    M mlir/include/mlir/IR/CMakeLists.txt
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/TableGen/TypeDef.h
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/lib/IR/CMakeLists.txt
    M mlir/lib/TableGen/Constraint.cpp
    M mlir/lib/TableGen/TypeDef.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/mlir-tblgen/typedefs.td
    M mlir/tools/mlir-tblgen/TypeDefGen.cpp

  Log Message:
  -----------
  [mlir][IR] Define the singleton builtin types in ODS instead of C++

This exposes several issues with the current generation that this revision also fixes.
 * TypeDef now allows specifying the base class to use when generating.
 * TypeDef now inherits from DialectType, which allows for using it as a TypeConstraint
 * Parser/Printers are now no longer generated in the header(removing duplicate symbols), and are now only generated when necessary.
    - Now that generatedTypeParser/Printer are only generated in the definition file,
      existing users will need to manually expose this functionality when necessary.
 * ::get() is no longer generated for singleton types, because it isn't necessary.

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




More information about the All-commits mailing list