Printf
printf
¶
i8 = builtin.IntegerType(8)
module-attribute
¶
Printf = Dialect('printf', [PrintFormatOp, PrintCharOp, PrintIntOp], [])
module-attribute
¶
PrintFormatOp
¶
Bases: IRDLOperation
A string formatting and printing utility.
Can be though of as a printf equivalent but with python style format strings.
Example uses:
%42 = arith.constant 42 : i32
printf.print_format "The magic number is {}
", %42
Source code in xdsl/dialects/printf.py
name = 'printf.print_format'
class-attribute
instance-attribute
¶
format_str = attr_def(builtin.StringAttr)
class-attribute
instance-attribute
¶
format_vals = var_operand_def()
class-attribute
instance-attribute
¶
__init__(format_str: str, *vals: SSAValue | Operation)
¶
verify_() -> None
¶
print(printer: Printer)
¶
Source code in xdsl/dialects/printf.py
parse(parser: Parser) -> PrintFormatOp
classmethod
¶
Source code in xdsl/dialects/printf.py
PrintCharOp
¶
Bases: IRDLOperation
Print a single character
Equivalent to putchar in C, but uses signless bytes as input (instead of ui32). Unlike the C implementation, this op does not return anything.
Source code in xdsl/dialects/printf.py
name = 'printf.print_char'
class-attribute
instance-attribute
¶
char = operand_def(i8)
class-attribute
instance-attribute
¶
__init__(char: SSAValue | Operation)
¶
from_constant_char(char: str) -> PrintCharOp
staticmethod
¶
This constructor returns a PrintCharOp that prints the value supplied in "char" as a python char.
Source code in xdsl/dialects/printf.py
PrintIntOp
¶
Bases: IRDLOperation
Print a single Integer