Struct rustc_mir::transform::simplify::CfgSimplifier [−][src]
pub struct CfgSimplifier<'a, 'tcx: 'a> { basic_blocks: &'a mut IndexVec<BasicBlock, BasicBlockData<'tcx>>, pred_count: IndexVec<BasicBlock, u32>, }
🔬 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?
Fields
basic_blocks: &'a mut IndexVec<BasicBlock, BasicBlockData<'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?
pred_count: IndexVec<BasicBlock, u32>
🔬 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?
Methods
impl<'a, 'tcx: 'a> CfgSimplifier<'a, 'tcx>
[src]
impl<'a, 'tcx: 'a> CfgSimplifier<'a, 'tcx>
pub fn new(mir: &'a mut Mir<'tcx>) -> Self
[src]
pub fn new(mir: &'a mut Mir<'tcx>) -> Self
🔬 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?
pub fn simplify(self)
[src]
pub fn simplify(self)
🔬 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?
fn collapse_goto_chain(&mut self, start: &mut BasicBlock, changed: &mut bool)
[src]
fn collapse_goto_chain(&mut self, start: &mut BasicBlock, changed: &mut bool)
🔬 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?
fn merge_successor(
&mut self,
new_stmts: &mut Vec<Statement<'tcx>>,
terminator: &mut Terminator<'tcx>
) -> bool
[src]
fn merge_successor(
&mut self,
new_stmts: &mut Vec<Statement<'tcx>>,
terminator: &mut Terminator<'tcx>
) -> bool
🔬 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?
fn simplify_branch(&mut self, terminator: &mut Terminator<'tcx>) -> bool
[src]
fn simplify_branch(&mut self, terminator: &mut Terminator<'tcx>) -> bool
🔬 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?
fn strip_nops(&mut self)
[src]
fn strip_nops(&mut self)
🔬 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?
Auto Trait Implementations
impl<'a, 'tcx> !Send for CfgSimplifier<'a, 'tcx>
impl<'a, 'tcx> !Send for CfgSimplifier<'a, 'tcx>
impl<'a, 'tcx> !Sync for CfgSimplifier<'a, 'tcx>
impl<'a, 'tcx> !Sync for CfgSimplifier<'a, 'tcx>