summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mlir/include/mlir/IR/op_base.td4
-rw-r--r--mlir/tools/mlir-tblgen/RewriterGen.cpp5
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 {
OpenPOWER on IntegriCloud