diff options
| -rw-r--r-- | mlir/include/mlir/IR/op_base.td | 4 | ||||
| -rw-r--r-- | mlir/tools/mlir-tblgen/RewriterGen.cpp | 5 |
2 files changed, 3 insertions, 6 deletions
diff --git a/mlir/include/mlir/IR/op_base.td b/mlir/include/mlir/IR/op_base.td index f11458daa92..7ebb1de25cb 100644 --- a/mlir/include/mlir/IR/op_base.td +++ b/mlir/include/mlir/IR/op_base.td @@ -315,11 +315,13 @@ def ArrayAttr : Attr<CPred<"true">, "array"> { let returnType = [{ ArrayAttr }]; code convertFromStorage = "{0}"; } -def ElementsAttr : Attr<CPred<"true">, "constant vector/tensor"> { +class ElementsAttrBase<Pred condition, string description> : + Attr<condition, description> { let storageType = [{ ElementsAttr }]; let returnType = [{ ElementsAttr }]; let convertFromStorage = "{0}"; } +def ElementsAttr: ElementsAttrBase<CPred<"true">, "constant vector/tensor">; def F32Attr : FloatAttrBase<F32, "32-bit float"> { let returnType = [{ APFloat }]; } diff --git a/mlir/tools/mlir-tblgen/RewriterGen.cpp b/mlir/tools/mlir-tblgen/RewriterGen.cpp index 20072a01c71..a09aeac100a 100644 --- a/mlir/tools/mlir-tblgen/RewriterGen.cpp +++ b/mlir/tools/mlir-tblgen/RewriterGen.cpp @@ -346,11 +346,6 @@ void PatternEmitter::emitRewriteMethod() { DagNode resultTree = pattern.getResultPattern(0); - // TODO(jpienaar): Expand to multiple results. - for (unsigned i = 0, e = resultTree.getNumArgs(); i != e; ++i) - if (resultTree.getArgAsNestedDag(i)) - PrintFatalError(loc, "only single op result supported"); - os << R"( void rewrite(Instruction *op, std::unique_ptr<PatternState> state, PatternRewriter &rewriter) const override { |

