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 TypeckMir
impl MirPass for AddValidation
impl MirPass for AddMovesForPackedDrops
impl MirPass for CleanEndRegions
impl MirPass for CleanUserAssertTy
impl MirPass for SimplifyBranches
impl MirPass for SimplifyCfg
impl MirPass for SimplifyLocals
impl MirPass for EraseRegions
impl MirPass for NoLandingPads
impl MirPass for SanityCheck
impl MirPass for ElaborateDrops
impl MirPass for AddCallGuards
impl MirPass for QualifyAndPromoteConstants
impl MirPass for RemoveNoopLandingPads
impl MirPass for Marker
impl MirPass for Deaggregator
impl MirPass for InstCombine
impl MirPass for CopyPropagation
impl MirPass for ConstProp
impl MirPass for StateTransform
impl MirPass for Inline
impl MirPass for Lower128Bit
impl MirPass for UniformArrayMoveOut
impl MirPass for RestoreSubsliceArrayMoveOut