In-Process Compiler API
IREE provides access to its MLIR-based compiler via a dedicated set of APIs presented here.
Compiler invocation API.
This package defines Python API wrappers around the IREE compiler C embedding API. Refer to the C documentation in bindings/c/iree/compiler/embedding_api.h for the most up to date information.
The objects in the C API are represented in Python as classes:
iree_compiler_error_t: Never escapes (raised as exceptions).
iree_compiler_session_t: Session class.
iree_compiler_invocation_t: Invocation class.
iree_compiler_source_t: Source class.
iree_compiler_output_t: Output class.
In MLIR parlance, the Session wraps an MLIRContext with a set of flags for configuring the compiler and context setup. Invocation wraps a Module in the process of being compiled.
- class iree.compiler.api.Invocation(session: iree.compiler.api.ctypes_dl.Session)
- close()
- enable_console_diagnostics()
- execute(pipeline: iree.compiler.api.ctypes_dl.PipelineType = PipelineType.IREE_COMPILER_PIPELINE_STD) bool
- export_module()
Exports the module.
- output_ir(output: iree.compiler.api.ctypes_dl.Output)
- output_ir_bytecode(output: iree.compiler.api.ctypes_dl.Output, bytecode_version: int = - 1)
- output_vm_bytecode(output: iree.compiler.api.ctypes_dl.Output)
- parse_source(source: iree.compiler.api.ctypes_dl.Source) bool
- property session: iree.compiler.api.ctypes_dl.Session
- class iree.compiler.api.Output(output_p: ctypes.c_void_p)
Wraps an iree_compiler_output_t.
- close()
- map_memory() memoryview
- static open_file(file_path: str) iree.compiler.api.ctypes_dl.Output
- static open_membuffer() iree.compiler.api.ctypes_dl.Output
- write(buffer)
- class iree.compiler.api.Session
- close()
- property context
- invocation() iree.compiler.api.ctypes_dl.Invocation
- class iree.compiler.api.Source(session: iree.compiler.api.ctypes_dl.Session, source_p: ctypes.c_void_p, backing_ref)
Wraps an iree_compiler_source_t.
- close()
- static open_file(session: iree.compiler.api.ctypes_dl.Session, file_path: str) iree.compiler.api.ctypes_dl.Source
- static wrap_buffer(session: iree.compiler.api.ctypes_dl.Session, buffer, *, buffer_name: str = 'source.mlir') iree.compiler.api.ctypes_dl.Source