[Mlir-commits] [mlir] 4911100 - [mlir][linalg][python] Add named constructor for MatchOp

Matthias Springer llvmlistbot at llvm.org
Mon Aug 15 05:45:08 PDT 2022


Author: Matthias Springer
Date: 2022-08-15T14:41:28+02:00
New Revision: 4911100dc6c29271a54a147ca27fb9ba5522299f

URL: https://github.com/llvm/llvm-project/commit/4911100dc6c29271a54a147ca27fb9ba5522299f
DIFF: https://github.com/llvm/llvm-project/commit/4911100dc6c29271a54a147ca27fb9ba5522299f.diff

LOG: [mlir][linalg][python] Add named constructor for MatchOp

This constructor makes it easier to match for ops by their name.

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

Added: 
    

Modified: 
    mlir/python/mlir/dialects/_structured_transform_ops_ext.py

Removed: 
    


################################################################################
diff  --git a/mlir/python/mlir/dialects/_structured_transform_ops_ext.py b/mlir/python/mlir/dialects/_structured_transform_ops_ext.py
index 95bf2cc992954..faf98ef49c306 100644
--- a/mlir/python/mlir/dialects/_structured_transform_ops_ext.py
+++ b/mlir/python/mlir/dialects/_structured_transform_ops_ext.py
@@ -110,6 +110,24 @@ def __init__(self,
         ip=ip)
 
 
+class MatchOp:
+  """Specialization for MatchOp class."""
+
+  @classmethod
+  def match_op_names(MatchOp,
+                     target: Union[Operation, Value],
+                     names: Sequence[str],
+                     loc=None,
+                     ip=None):
+    pdl_operation_type = pdl.OperationType.get()
+    return MatchOp(
+        pdl_operation_type,
+        _get_op_result_or_value(target),
+        ops=ArrayAttr.get(list(map(lambda s: StringAttr.get(s), names))),
+        loc=loc,
+        ip=ip)
+
+
 class MultiTileSizesOp:
   """Specialization for MultitileSizesOp class."""
 


        


More information about the Mlir-commits mailing list