Skip to content

Mlir

mlir

MLIRTarget dataclass

Bases: Target

Source code in xdsl/targets/mlir.py
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@dataclass(frozen=True)
class MLIRTarget(Target):
    name = "mlir"

    print_generic_format: bool = False
    print_properties_as_attributes: bool = False
    print_debuginfo: bool = False
    syntax_highlight: bool = False

    def emit(self, ctx: Context, module: ModuleOp, output: IO[str]) -> None:
        from xdsl.printer import Printer
        from xdsl.syntax_printer import SyntaxPrinter

        cls = SyntaxPrinter if self.syntax_highlight else Printer
        printer = cls(
            stream=output,
            print_generic_format=self.print_generic_format,
            print_properties_as_attributes=self.print_properties_as_attributes,
            print_debuginfo=self.print_debuginfo,
        )
        printer.print_op(module)
        printer.print_metadata(ctx.loaded_dialects)
        print("\n", file=output)

name = 'mlir' class-attribute instance-attribute

print_generic_format: bool = False class-attribute instance-attribute

print_properties_as_attributes: bool = False class-attribute instance-attribute

print_debuginfo: bool = False class-attribute instance-attribute

syntax_highlight: bool = False class-attribute instance-attribute

__init__(print_generic_format: bool = False, print_properties_as_attributes: bool = False, print_debuginfo: bool = False, syntax_highlight: bool = False) -> None

emit(ctx: Context, module: ModuleOp, output: IO[str]) -> None

Source code in xdsl/targets/mlir.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
def emit(self, ctx: Context, module: ModuleOp, output: IO[str]) -> None:
    from xdsl.printer import Printer
    from xdsl.syntax_printer import SyntaxPrinter

    cls = SyntaxPrinter if self.syntax_highlight else Printer
    printer = cls(
        stream=output,
        print_generic_format=self.print_generic_format,
        print_properties_as_attributes=self.print_properties_as_attributes,
        print_debuginfo=self.print_debuginfo,
    )
    printer.print_op(module)
    printer.print_metadata(ctx.loaded_dialects)
    print("\n", file=output)