pub struct SimplifyComparisonIntegral;
Expand description
Pass to convert if
conditions on integrals into switches on the integral.
For an example, it turns something like
ⓘ
_3 = Eq(move _4, const 43i32);
StorageDead(_4);
switchInt(_3) -> [false: bb2, otherwise: bb3];
into:
ⓘ
switchInt(_4) -> [43i32: bb3, otherwise: bb2];
Trait Implementations
sourceimpl<'tcx> MirPass<'tcx> for SimplifyComparisonIntegral
impl<'tcx> MirPass<'tcx> for SimplifyComparisonIntegral
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 SimplifyComparisonIntegral
impl Send for SimplifyComparisonIntegral
impl Sync for SimplifyComparisonIntegral
impl Unpin for SimplifyComparisonIntegral
impl UnwindSafe for SimplifyComparisonIntegral
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