[−][src]Trait llhd::opt::Pass
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
fn run_on_module(ctx: &PassContext, module: &mut Module) -> bool
Run this pass on an entire module.
fn run_on_unit(ctx: &PassContext, data: &mut UnitBuilder<'_>) -> bool
Run this pass on an entire unit.
fn run_on_cfg(ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
Run this pass on an entire function or process.
fn run_on_inst(
ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool
ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool
Run this pass on an instruction.
Implementors
impl Pass for ConstFolding
[src]
fn run_on_inst(
_ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool
[src]
_ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool
impl Pass for ControlFlowSimplification
[src]
fn run_on_cfg(ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
[src]
impl Pass for DeadCodeElim
[src]
fn run_on_cfg(_ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
[src]
impl Pass for Desequentialization
[src]
fn run_on_cfg(ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
[src]
impl Pass for EarlyCodeMotion
[src]
fn run_on_cfg(ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
[src]
impl Pass for GlobalCommonSubexprElim
[src]
fn run_on_cfg(_ctx: &PassContext, unit: &mut UnitBuilder<'_>) -> bool
[src]
impl Pass for InstSimplification
[src]
fn run_on_inst(
ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool
[src]
ctx: &PassContext,
inst: Inst,
unit: &mut UnitBuilder<'_>
) -> bool