Skip to content

low.invoke

← low dialect

Source-typed call edge to an explicitly selected target-Low function. Source-to-Low lowering maps the source operands and results to the helper register signature, proves the helper argument predicates, and normalizes the edge to low.func.call. Authored inline policy has the same meaning as on low.func.call; targets without a Low call ABI may require the normalized edge to inline before emission.

Operation contract

Property Value
Semantic phase executable
Traits UnknownEffects, NoAncestor(low.func.def), NoAncestor(low.kernel.def)
Interfaces CallLike

Signature

Kind Name Type Cardinality Description
Operand operands any variadic —
Result results any variadic —
Attribute callee symbol (callable) required —
Attribute purity enum Purity optional —
Attribute inline_policy enum InlinePolicy optional —

Examples

%result = low.invoke @extern_add(%lhs, %rhs) : (i32, i32) -> (i32)
%result = low.invoke pure @extern_add(%lhs, %rhs) : (i32, i32) -> (i32)