Skip to main content

OptimizationPass

Trait OptimizationPass 

Source
pub trait OptimizationPass: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn apply(&self, definition: &mut ModelIR) -> Result<OptimizationResult>;
    fn is_applicable(&self, definition: &ModelIR) -> bool;
    fn dependencies(&self) -> Vec<String>;
}
Expand description

Optimization pass for custom optimization pipelines

Required Methods§

Source

fn name(&self) -> &str

Get optimization pass name

Source

fn apply(&self, definition: &mut ModelIR) -> Result<OptimizationResult>

Apply optimization to model definition

Source

fn is_applicable(&self, definition: &ModelIR) -> bool

Check if optimization is applicable

Source

fn dependencies(&self) -> Vec<String>

Get optimization dependencies (must run before this)

Implementors§