pub struct RemoveNoopLandingPads;
Expand description
A pass that removes noop landing pads and replaces jumps to them with
None
. This is important because otherwise LLVM generates terrible
code for these.
Implementations
sourceimpl RemoveNoopLandingPads
impl RemoveNoopLandingPads
fn is_nop_landing_pad(
&self,
bb: BasicBlock,
body: &Body<'_>,
nop_landing_pads: &BitSet<BasicBlock>
) -> bool
fn remove_nop_landing_pads(&self, body: &mut Body<'_>)
Trait Implementations
sourceimpl<'tcx> MirPass<'tcx> for RemoveNoopLandingPads
impl<'tcx> MirPass<'tcx> for RemoveNoopLandingPads
sourcefn is_enabled(&self, sess: &Session) -> bool
fn is_enabled(&self, sess: &Session) -> bool
Returns
true
if this pass is enabled with the current combination of compiler flags.fn run_pass(&self, _tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>)
fn name(&self) -> Cow<'_, str>
sourcefn phase_change(&self) -> Option<MirPhase>
fn phase_change(&self) -> Option<MirPhase>
If this pass causes the MIR to enter a new phase, return that phase.
fn is_mir_dump_enabled(&self) -> bool
Auto Trait Implementations
impl RefUnwindSafe for RemoveNoopLandingPads
impl Send for RemoveNoopLandingPads
impl Sync for RemoveNoopLandingPads
impl Unpin for RemoveNoopLandingPads
impl UnwindSafe for RemoveNoopLandingPads
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes