[all-commits] [llvm/llvm-project] 9ba37b: [mlir][ods] Add materialize derived attribute method

Jacques Pienaar via All-commits all-commits at lists.llvm.org
Mon Apr 20 13:14:21 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9ba37b3bf294d5478aa4c1f6a96def7204181de6
      https://github.com/llvm/llvm-project/commit/9ba37b3bf294d5478aa4c1f6a96def7204181de6
  Author: Jacques Pienaar <jpienaar at google.com>
  Date:   2020-04-20 (Mon, 20 Apr 2020)

  Changed paths:
    M mlir/include/mlir/IR/OpBase.td
    M mlir/include/mlir/Interfaces/DerivedAttributeOpInterface.td
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/mlir-tblgen/op-attribute.td
    A mlir/test/mlir-tblgen/op-derived-attribute.mlir
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [mlir][ods] Add materialize derived attribute method

Summary:
Generate method to generate a DictionaryAttr with attribute values of
derived attribute. If a conversion back from the derived attribute C++
type to Attribute is not defined, then attempting to materialize such an
op's derived attributes would result in runtime failure.

This allows to treat derived attributes and attributes of an op in more
uniform manner where needed. The derived attributes are not added to the
operation but returned as new attribute instead.

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




More information about the All-commits mailing list