summaryrefslogtreecommitdiff
path: root/mlir/test/python/python_test_ops.td
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/test/python/python_test_ops.td')
-rw-r--r--mlir/test/python/python_test_ops.td24
1 files changed, 24 insertions, 0 deletions
diff --git a/mlir/test/python/python_test_ops.td b/mlir/test/python/python_test_ops.td
index 74c90a311f04..0f947e7e536b 100644
--- a/mlir/test/python/python_test_ops.td
+++ b/mlir/test/python/python_test_ops.td
@@ -52,4 +52,28 @@ def InferResultsOp : TestOp<"infer_results_op", [InferTypeOpInterface]> {
}];
}
+// If all result types are buildable, the InferTypeOpInterface is implied and is
+// autogenerated by C++ ODS.
+def InferResultsImpliedOp : TestOp<"infer_results_implied_op"> {
+ let results = (outs I32:$integer, F64:$flt, Index:$index);
+}
+
+def SameOperandAndResultTypeOp : TestOp<"same_operand_and_result_type_op",
+ [SameOperandsAndResultType]> {
+ let arguments = (ins Variadic<AnyType>);
+ let results = (outs AnyType:$one, AnyType:$two);
+}
+
+def FirstAttrDeriveTypeAttrOp : TestOp<"first_attr_derive_type_attr_op",
+ [FirstAttrDerivedResultType]> {
+ let arguments = (ins AnyType:$input, TypeAttr:$type);
+ let results = (outs AnyType:$one, AnyType:$two);
+}
+
+def FirstAttrDeriveAttrOp : TestOp<"first_attr_derive_attr_op",
+ [FirstAttrDerivedResultType]> {
+ let arguments = (ins AnyAttr:$iattr);
+ let results = (outs AnyType:$one, AnyType:$two, AnyType:$three);
+}
+
#endif // PYTHON_TEST_OPS