Skip to content

ireevm.import.decl

ireevm dialect

IREE VM imported function declaration. Callable by name via func.call and lowered to a VM module import during target materialization.

Operation contract

Property Value
Semantic phase executable
Traits SymbolDefine
Interfaces FuncLike

Symbol contract

Property Value
Kind function
Defining field callee
Interfaces func_like, callable
Flags declaration

Signature

Kind Name Type Cardinality Description
Operand args any variadic
Result results any variadic
Attribute callee symbol required
Attribute visibility enum Visibility optional
Attribute target symbol (target) required
Attribute import_symbol string required
Attribute cc enum CallingConv optional
Attribute purity enum Purity optional
Attribute predicates predicate_list optional

Examples

ireevm.import.decl target(@vm) symbol("hal.buffer.length") @hal_buffer_length(%buffer: ireevm.ref<ireevm.list<i32>>) -> (i64)
ireevm.import.decl public target(@vm) symbol("hal.buffer.map") @hal_buffer_map(%buffer: i32) -> (i64)