func.decl
← func dialect
External function declaration. Callable by name via func.call.
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 |
import_module |
string |
optional |
— |
| Attribute |
import_symbol |
string |
optional |
— |
| Attribute |
cc |
enum CallingConv |
optional |
— |
| Attribute |
purity |
enum Purity |
optional |
— |
| Attribute |
temperature |
enum Temperature |
optional |
— |
| Attribute |
inline_policy |
enum InlinePolicy |
optional |
— |
| Attribute |
target |
symbol (target) |
optional |
— |
| Attribute |
abi |
enum ExportAbiKind |
optional |
— |
| Attribute |
abi_attrs |
dict |
optional |
— |
| Attribute |
export_symbol |
string |
optional |
— |
| Attribute |
export_attrs |
dict |
optional |
— |
| Attribute |
predicates |
predicate_list |
optional |
— |
| Attribute |
retain |
enum Retain |
optional |
— |
Examples
func.decl @extern_matmul(%a: tensor<[%M]xf32>, %b: tensor<[%K]xf32>) -> (tensor<[%M]xf32>)
func.decl public @exported(%a: f32) -> (f32)
func.decl hot inline @tiny(%a: f32) -> (f32)
func.decl public import("hal") @hal_buffer_view_create(%a: i32) -> (i64)
func.decl import("hal", "buffer_view.create") @hal_buffer_view_create(%a: i32) -> (i64)