Skip to content

Commit 157e506

Browse files
committed
update APIs
1 parent 5c851db commit 157e506

4 files changed

Lines changed: 27 additions & 15 deletions

File tree

asl_xdsl/dialects/asl.py

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,11 @@ def _print_integer_constraint(
126126
):
127127
"""Print an integer constraint using a shorthand syntax."""
128128
if isinstance(constraint, ConstraintExactAttr):
129-
printer.print(constraint.value)
129+
printer.print_int(constraint.value)
130130
else:
131-
printer.print(constraint.min_value, ":", constraint.max_value)
131+
printer.print_int(constraint.min_value)
132+
printer.print_string(":")
133+
printer.print_int(constraint.max_value)
132134

133135

134136
@irdl_attr_definition
@@ -334,9 +336,10 @@ def parse(cls, parser: Parser) -> ConstantIntOp:
334336

335337
def print(self, printer: Printer) -> None:
336338
"""Print the operation."""
337-
printer.print(" ", self.value.data)
339+
printer.print_string(" ")
340+
printer.print_int(self.value.data)
338341
if self.attributes:
339-
printer.print(" ")
342+
printer.print_string(" ")
340343
printer.print_attr_dict(self.attributes)
341344

342345

@@ -376,9 +379,12 @@ def parse(cls, parser: Parser) -> ConstantBitVectorOp:
376379

377380
def print(self, printer: Printer) -> None:
378381
"""Print the operation."""
379-
printer.print(" ", self.value.value.data, " : ", self.res.type)
382+
printer.print_string(" ")
383+
printer.print_int(self.value.value.data)
384+
printer.print_string(" : ")
385+
printer.print_attribute(self.res.type)
380386
if self.attributes:
381-
printer.print(" ")
387+
printer.print_string(" ")
382388
printer.print_attr_dict(self.attributes)
383389

384390

asl_xdsl/dialects/asl_dep.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,10 @@ def parse(cls, parser: Parser) -> ConstantIntOp:
101101

102102
def print(self, printer: Printer) -> None:
103103
"""Print the operation."""
104-
printer.print(" ", self.value_attr.data)
104+
printer.print_string(" ")
105+
printer.print_int(self.value_attr.data)
105106
if self.attributes:
106-
printer.print(" ")
107+
printer.print_string(" ")
107108
printer.print_attr_dict(self.attributes)
108109

109110

@@ -144,9 +145,13 @@ def parse(cls, parser: Parser) -> ConstantBitsOp:
144145
return op
145146

146147
def print(self, printer: Printer) -> None:
147-
printer.print(" ", self.value_attr.data, " : bits<", self.value_width, ">")
148+
printer.print_string(" ")
149+
printer.print_int(self.value_attr.data)
150+
printer.print_string(" : bits<")
151+
printer.print_ssa_value(self.value_width)
152+
printer.print_string(">")
148153
if self.attributes:
149-
printer.print(" ")
154+
printer.print_string(" ")
150155
printer.print_attr_dict(self.attributes)
151156

152157

asl_xdsl/interpreters/asl.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
)
1616
from xdsl.ir import Operation
1717
from xdsl.utils.comparisons import to_signed, to_unsigned
18+
from xdsl.utils.hints import isa
1819

1920
from asl_xdsl.dialects import asl
2021

@@ -541,7 +542,7 @@ def asl_print_bits_hex(
541542
def asl_print_sintN_hex(
542543
self, interpreter: Interpreter, op: asl.PrintSIntNHexOp, args: PythonValues
543544
) -> PythonValues:
544-
assert isinstance(op.arg.type, builtin.IntegerType)
545+
assert isa(op.arg.type, builtin.IntegerType)
545546
width = op.arg.type.width.data
546547
arg: int
547548
(arg,) = args
@@ -556,7 +557,7 @@ def asl_print_sintN_hex(
556557
def asl_print_sintN_dec(
557558
self, interpreter: Interpreter, op: asl.PrintSIntNDecOp, args: PythonValues
558559
) -> PythonValues:
559-
assert isinstance(op.arg.type, builtin.IntegerType)
560+
assert isa(op.arg.type, builtin.IntegerType)
560561
width = op.arg.type.width.data
561562
arg: int
562563
(arg,) = args

tests/filecheck/analysis/test-integer-range-analysis.mlir

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
builtin.module {
44

5-
// CHECK: %unknown = "test.op"() {__integer_ranges = {{[}}[#none, #none]]} : () -> !asl.int
5+
// CHECK: %unknown = "test.op"() {__integer_ranges = {{[}}[none, none]]} : () -> !asl.int
66
%unknown = "test.op"() : () -> !asl.int
7-
7+
88
// CHECK-NEXT: %cst16 = asl.constant_int 16 {__integer_ranges = {{[}}[#builtin.int<16>, #builtin.int<16>]]}
99
%cst16 = asl.constant_int 16
10-
10+
1111
// CHECK-NEXT: %res = asl.mod_pow2_int %unknown, %cst16 : (!asl.int, !asl.int) -> !asl.int {__integer_ranges = {{[}}[#builtin.int<0>, #builtin.int<65535>]]}
1212
%res = asl.mod_pow2_int %unknown, %cst16 : (!asl.int, !asl.int) -> !asl.int
1313
}

0 commit comments

Comments
 (0)