From ebb8774ddb6ebe3d288a4391c36e446435f96c75 Mon Sep 17 00:00:00 2001 From: dk949 <56653556+dk949@users.noreply.github.com> Date: Wed, 12 Jun 2024 16:06:33 +0100 Subject: [PATCH] dialects: (csl) set_tile_code fix traits `set_tile_code` does not have to be a direct child of `layout`, e.g. it can be used in a loop. But it does have to occur in a `layout`. _NOTE_: the parameter to `set_tile_code` is specified as `ComptimeStructType`, not `StructLike`. This is semantically correct (though undocumented), i.e. you can't do this: ```zig const my_params = @import_module("my_params.csl") ... @set_tile_code(..., my_params); ``` Not that this is likely to happen. --- xdsl/dialects/csl.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xdsl/dialects/csl.py b/xdsl/dialects/csl.py index 16f3700e23..3cd3c35d1f 100644 --- a/xdsl/dialects/csl.py +++ b/xdsl/dialects/csl.py @@ -64,6 +64,7 @@ from xdsl.parser import Parser from xdsl.printer import Printer from xdsl.traits import ( + HasAncestor, HasParent, IsolatedFromAbove, IsTerminator, @@ -701,7 +702,7 @@ class SetRectangleOp(IRDLOperation): class SetTileCodeOp(IRDLOperation): name = "csl.set_tile_code" - traits = frozenset([HasParent(LayoutOp)]) + traits = frozenset([HasAncestor(LayoutOp)]) file = prop_def(StringAttr)