Struct llvm_mlir_sys::MlirExternalPassCallbacks
source · #[repr(C)]pub struct MlirExternalPassCallbacks {
pub construct: Option<unsafe extern "C" fn(userData: *mut c_void)>,
pub destruct: Option<unsafe extern "C" fn(userData: *mut c_void)>,
pub initialize: Option<unsafe extern "C" fn(ctx: MlirContext, userData: *mut c_void) -> MlirLogicalResult>,
pub clone: Option<unsafe extern "C" fn(userData: *mut c_void) -> *mut c_void>,
pub run: Option<unsafe extern "C" fn(op: MlirOperation, pass: MlirExternalPass, userData: *mut c_void)>,
}Expand description
Structure of external MlirPass callbacks.
All callbacks are required to be set unless otherwise specified.
Fields§
§construct: Option<unsafe extern "C" fn(userData: *mut c_void)>This callback is called from the pass is created. This is analogous to a C++ pass constructor.
destruct: Option<unsafe extern "C" fn(userData: *mut c_void)>This callback is called when the pass is destroyed This is analogous to a C++ pass destructor.
initialize: Option<unsafe extern "C" fn(ctx: MlirContext, userData: *mut c_void) -> MlirLogicalResult>This callback is optional. The callback is called before the pass is run, allowing a chance to initialize any complex state necessary for running the pass. See Pass::initialize(MLIRContext *).
clone: Option<unsafe extern "C" fn(userData: *mut c_void) -> *mut c_void>This callback is called when the pass is cloned. See Pass::clonePass().
run: Option<unsafe extern "C" fn(op: MlirOperation, pass: MlirExternalPass, userData: *mut c_void)>This callback is called when the pass is run. See Pass::runOnOperation().
Trait Implementations§
source§impl Clone for MlirExternalPassCallbacks
impl Clone for MlirExternalPassCallbacks
source§fn clone(&self) -> MlirExternalPassCallbacks
fn clone(&self) -> MlirExternalPassCallbacks
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more