[Mlir-commits] [mlir] [mlir][python] Fix tile interchange ArrayAttr dispatch (PR #215996)

Maksim Levental llvmlistbot at llvm.org
Thu Aug 13 12:58:25 PDT 2026


================
@@ -610,11 +610,23 @@ def __init__(
             if packed_tile_sizes is not None
             else sum(v if v == 0 else 1 for v in static_sizes)
         )
-        (
-            dynamic_interchange,
-            packed_interchange,
-            static_interchange,
-        ) = _dispatch_mixed_values(interchange)
+        if interchange is None:
+            dynamic_interchange = []
+            packed_interchange = None
+            static_interchange = []
+        elif isinstance(interchange, (Operation, Value, OpView)):
+            (
+                dynamic_interchange,
+                packed_interchange,
+                static_interchange,
+            ) = _dispatch_mixed_values(interchange)
+        else:
+            (
+                dynamic_interchange,
+                static_interchange,
+                _,
+            ) = _dispatch_dynamic_index_list(interchange)
+            packed_interchange = None
----------------
makslevental wrote:

```suggestion
        dynamic_interchange = []
        packed_interchange = None
        static_interchange = []
        if isinstance(interchange, (Operation, Value, OpView)):
            (
                dynamic_interchange,
                packed_interchange,
                static_interchange,
            ) = _dispatch_mixed_values(interchange)
        elif isinstance(interchange, list):
            (
                dynamic_interchange,
                static_interchange,
                _,
            ) = _dispatch_dynamic_index_list(interchange)
            packed_interchange = None
        else:
            raise ValueError(f"expected {interchange=} to be either MLIR object or list of MLIR objects")

```

https://github.com/llvm/llvm-project/pull/215996


More information about the Mlir-commits mailing list