pub struct OptimizationPipeline { /* private fields */ }Expand description
Optimization pipeline that orchestrates multiple passes.
Implementations§
Source§impl OptimizationPipeline
impl OptimizationPipeline
Sourcepub fn new(config: PipelineConfig) -> Self
pub fn new(config: PipelineConfig) -> Self
Create a new pipeline with the given configuration.
Sourcepub fn with_level(level: OptimizationLevel) -> Self
pub fn with_level(level: OptimizationLevel) -> Self
Create a pipeline with a specific optimization level.
Sourcepub fn optimize(&self, expr: TLExpr) -> (TLExpr, OptimizationMetrics)
pub fn optimize(&self, expr: TLExpr) -> (TLExpr, OptimizationMetrics)
Optimize an expression using the configured pipeline.
Returns the optimized expression and metrics about the optimization process.
Sourcepub fn apply_pass(&self, expr: TLExpr, pass: OptimizationPass) -> TLExpr
pub fn apply_pass(&self, expr: TLExpr, pass: OptimizationPass) -> TLExpr
Apply a single pass to an expression.
Sourcepub fn config(&self) -> &PipelineConfig
pub fn config(&self) -> &PipelineConfig
Get the configuration of this pipeline.
Trait Implementations§
Source§impl Default for OptimizationPipeline
impl Default for OptimizationPipeline
Source§fn default() -> OptimizationPipeline
fn default() -> OptimizationPipeline
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for OptimizationPipeline
impl RefUnwindSafe for OptimizationPipeline
impl Send for OptimizationPipeline
impl Sync for OptimizationPipeline
impl Unpin for OptimizationPipeline
impl UnwindSafe for OptimizationPipeline
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more