Trait rustc_mir::transform::MirPass
[−]
[src]
pub trait MirPass {
fn run_pass<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
source: MirSource,
mir: &mut Mir<'tcx>
);
fn name<'a>(&'a self) -> Cow<'a, str> { ... }
}🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
A streamlined trait that you can implement to create a pass; the
pass will be named after the type, and it will consist of a main
loop that goes over each available MIR and applies run_pass.
Required Methods
fn run_pass<'a, 'tcx>(
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
source: MirSource,
mir: &mut Mir<'tcx>
)
&self,
tcx: TyCtxt<'a, 'tcx, 'tcx>,
source: MirSource,
mir: &mut Mir<'tcx>
)
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Provided Methods
fn name<'a>(&'a self) -> Cow<'a, str>
🔬 This is a nightly-only experimental API. (rustc_private)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Implementors
impl MirPass for AddValidationimpl MirPass for AddMovesForPackedDropsimpl MirPass for CleanEndRegionsimpl MirPass for CleanUserAssertTyimpl MirPass for SimplifyBranchesimpl MirPass for SimplifyCfgimpl MirPass for SimplifyLocalsimpl MirPass for EraseRegionsimpl MirPass for NoLandingPadsimpl MirPass for SanityCheckimpl MirPass for ElaborateDropsimpl MirPass for AddCallGuardsimpl MirPass for QualifyAndPromoteConstantsimpl MirPass for RemoveNoopLandingPadsimpl MirPass for Markerimpl MirPass for Deaggregatorimpl MirPass for InstCombineimpl MirPass for CopyPropagationimpl MirPass for ConstPropimpl MirPass for StateTransformimpl MirPass for Inlineimpl MirPass for Lower128Bitimpl MirPass for UniformArrayMoveOutimpl MirPass for RestoreSubsliceArrayMoveOut