diff --git a/tests/filecheck/dialects/builtin/module.mlir b/tests/filecheck/dialects/builtin/module.mlir index 456241ae12..bf2092b77e 100644 --- a/tests/filecheck/dialects/builtin/module.mlir +++ b/tests/filecheck/dialects/builtin/module.mlir @@ -6,7 +6,7 @@ builtin.module { // CHECK: builtin.module { // CHECK-NEXT: } builtin.module attributes {a = "foo", b = "bar", unit} {} - // CHECK-NEXT: builtin.module attributes {a="foo", b="bar", unit} { + // CHECK-NEXT: builtin.module attributes {"a" = "foo", "b" = "bar", "unit"} { // CHECK-NEXT: } } // CHECK: } diff --git a/tests/filecheck/dialects/print/print_basics.mlir b/tests/filecheck/dialects/print/print_basics.mlir index 7e158208f9..82b6e18283 100644 --- a/tests/filecheck/dialects/print/print_basics.mlir +++ b/tests/filecheck/dialects/print/print_basics.mlir @@ -17,4 +17,4 @@ builtin.module { // CHECK-NEXT: %1 = "test.op"() : () -> i32 // CHECK-NEXT: print.println "Uses vals twice {} {} {} {}", %1 : i32, %0 : i32, %1 : i32, %0 : i32 // CHECK-NEXT: print.println "{}", %0 : i32 -// CHECK-NEXT: print.println "{}", %0 : i32 {unit} +// CHECK-NEXT: print.println "{}", %0 : i32 {"unit"} diff --git a/xdsl/dialects/builtin.py b/xdsl/dialects/builtin.py index 2e1f954a5b..24b3a5a112 100644 --- a/xdsl/dialects/builtin.py +++ b/xdsl/dialects/builtin.py @@ -1319,9 +1319,8 @@ def parse(cls, parser: Parser) -> ModuleOp: def print(self, printer: Printer) -> None: if len(self.attributes) != 0: - printer.print(" attributes {") - printer.print_attribute_dictionary(self.attributes) - printer.print("}") + printer.print(" attributes ") + printer.print_op_attributes(self.attributes) if not self.body.block.ops: # Do not print the entry block if the region has an empty block diff --git a/xdsl/dialects/func.py b/xdsl/dialects/func.py index e3b08fa798..1ee7f48fba 100644 --- a/xdsl/dialects/func.py +++ b/xdsl/dialects/func.py @@ -342,7 +342,7 @@ def get(*ops: Operation | SSAValue) -> Return: def print(self, printer: Printer): if self.attributes: printer.print(" ") - printer.print_attribute_dictionary(self.attributes) + printer.print_op_attributes(self.attributes) if self.arguments: printer.print(" ") diff --git a/xdsl/dialects/print.py b/xdsl/dialects/print.py index 7bf627978e..8531408acd 100644 --- a/xdsl/dialects/print.py +++ b/xdsl/dialects/print.py @@ -58,9 +58,7 @@ def print_val_and_type(ssa_val: SSAValue): if len(self.attributes) > 1: attrs = self.attributes.copy() attrs.pop("format_str") - printer.print_string(" {") - printer.print_attribute_dictionary(attrs) - printer.print_string("}") + printer.print_op_attributes(attrs) @classmethod def parse(cls: type[PrintLnOp], parser: Parser) -> PrintLnOp: diff --git a/xdsl/printer.py b/xdsl/printer.py index c1992a1547..f9cb781f7c 100644 --- a/xdsl/printer.py +++ b/xdsl/printer.py @@ -184,18 +184,6 @@ def print_dictionary( self.print("=") print_value(value) - def print_attribute_dictionary( - self, - elems: dict[str, Attribute], - ) -> None: - for i, (name, attribute) in enumerate(elems.items()): - if i: - self.print(", ") - self.print(name) - if not isinstance(attribute, UnitAttr): - self.print("=") - self.print_attribute(attribute) - def _print_new_line( self, indent: int | None = None, print_message: bool = True ) -> None: