llzk 0.5.0

Rust bindings to the LLZK C API.
//! `function` dialect.

mod attrs;
mod ops;

pub use attrs::arg_name_attr;
pub use attrs::res_name_attr;
use llzk_sys::mlirGetDialectHandle__llzk__function__;
use melior::dialect::DialectHandle;
pub use ops::{
    CallOp, CallOpLike, CallOpRef, FuncDefOp, FuncDefOpLike, FuncDefOpMutLike, FuncDefOpRef,
};
pub use ops::{call, call_with_map_operands, call_with_template_params, def, r#return};
pub use ops::{is_func_call, is_func_def, is_func_return};

/// Returns a handle to the `function` dialect.
pub fn handle() -> DialectHandle {
    unsafe { DialectHandle::from_raw(mlirGetDialectHandle__llzk__function__()) }
}

/// Exports the common types of the func dialect.
pub mod prelude {
    pub use super::attrs::{arg_name_attr, res_name_attr};
    pub use super::ops::{
        CallOp, CallOpLike, CallOpRef, CallOpRefMut, FuncDefOp, FuncDefOpLike, FuncDefOpRef,
        FuncDefOpRefMut,
    };
}