Struct rustc_mir::transform::simplify_comparison_integral::OptimizationInfo [−][src]
struct OptimizationInfo<'tcx> {
bb_idx: BasicBlock,
bin_op_stmt_idx: usize,
can_remove_bin_op_stmt: bool,
to_switch_on: Place<'tcx>,
branch_value_scalar: Scalar,
branch_value_ty: Ty<'tcx>,
op: BinOp,
targets: SwitchTargets,
}Fields
bb_idx: BasicBlockExpand description
Basic block to apply the optimization
bin_op_stmt_idx: usizeExpand description
Statement index of Eq/Ne assignment that can be removed. None if the assignment can not be removed - i.e the statement is used later on
can_remove_bin_op_stmt: boolExpand description
Can remove Eq/Ne assignment
to_switch_on: Place<'tcx>Expand description
Place that needs to be switched on. This place is of type integral
branch_value_scalar: ScalarExpand description
Constant to use in switch target value
branch_value_ty: Ty<'tcx>Expand description
Type of the constant value
op: BinOpExpand description
Either Eq or Ne
targets: SwitchTargetsExpand description
Current targets used in the switch
Trait Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for OptimizationInfo<'tcx>
impl<'tcx> !Send for OptimizationInfo<'tcx>
impl<'tcx> !Sync for OptimizationInfo<'tcx>
impl<'tcx> Unpin for OptimizationInfo<'tcx>
impl<'tcx> !UnwindSafe for OptimizationInfo<'tcx>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> WithConstness for T[src]
impl<T> WithConstness for T[src]