Trait llhd::opt::Pass[][src]

pub trait Pass {
    fn run_on_module(ctx: &PassContext, module: &mut Module) -> bool { ... }
fn run_on_unit(ctx: &PassContext, data: &mut UnitBuilder<'_>) -> bool { ... }
fn run_on_cfg(ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool { ... }
fn run_on_inst(
        ctx: &PassContext,
        inst: Inst,
        unit: &mut UnitBuilder<'_>
    ) -> bool { ... } }
Expand description

An optimization pass.

The optimization infrastructure will always call run_on_module(). However, implementors of the trait should override the function at their desired level of granularity. The Pass trait provides a sane default for all run_*() functions.

Provided methods

Run this pass on an entire module.

Run this pass on an entire unit.

Run this pass on an entire function or process.

Run this pass on an instruction.

Implementors