[−][src]Trait rustc_mir::dataflow::framework::direction::Direction
Required methods
pub fn is_forward() -> bool[src]
pub fn apply_effects_in_range<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>,
Applies all effects between the given EffectIndexs.
effects.start() must precede or equal effects.end() in this direction.
pub fn apply_effects_in_block<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>,
pub fn gen_kill_effects_in_block<A, 'tcx>(
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>, [src]
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>,
pub fn visit_results_in_block<F, R, 'tcx, 'mir>(
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>, [src]
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>,
pub fn join_state_into_successors_of<A, 'tcx>(
analysis: &A,
tcx: TyCtxt<'tcx>,
body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
block: (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>, [src]
analysis: &A,
tcx: TyCtxt<'tcx>,
body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
block: (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>,
Provided methods
pub fn is_backward() -> bool[src]
Implementors
impl Direction for Backward[src]
pub fn is_forward() -> bool[src]
pub fn apply_effects_in_block<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>,
pub fn gen_kill_effects_in_block<A, 'tcx>(
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>, [src]
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>,
pub fn apply_effects_in_range<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>,
pub fn visit_results_in_block<F, R, 'tcx, 'mir>(
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>, [src]
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>,
pub fn join_state_into_successors_of<A, 'tcx>(
analysis: &A,
_tcx: TyCtxt<'tcx>,
body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
(bb, _bb_data): (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>, [src]
analysis: &A,
_tcx: TyCtxt<'tcx>,
body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
(bb, _bb_data): (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>,
impl Direction for Forward[src]
pub fn is_forward() -> bool[src]
pub fn apply_effects_in_block<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: Analysis<'tcx>,
pub fn gen_kill_effects_in_block<A, 'tcx>(
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>, [src]
analysis: &A,
trans: &mut GenKillSet<A::Idx>,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>
) where
A: GenKillAnalysis<'tcx>,
pub fn apply_effects_in_range<A, 'tcx>(
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>, [src]
analysis: &A,
state: &mut A::Domain,
block: BasicBlock,
block_data: &BasicBlockData<'tcx>,
effects: RangeInclusive<EffectIndex>
) where
A: Analysis<'tcx>,
pub fn visit_results_in_block<F, R, 'tcx, 'mir>(
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>, [src]
state: &mut F,
block: BasicBlock,
block_data: &'mir BasicBlockData<'tcx>,
results: &R,
vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
R: ResultsVisitable<'tcx, FlowState = F>,
pub fn join_state_into_successors_of<A, 'tcx>(
analysis: &A,
_tcx: TyCtxt<'tcx>,
_body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
(bb, bb_data): (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>, [src]
analysis: &A,
_tcx: TyCtxt<'tcx>,
_body: &Body<'tcx>,
dead_unwinds: Option<&BitSet<BasicBlock>>,
exit_state: &mut A::Domain,
(bb, bb_data): (BasicBlock, &BasicBlockData<'tcx>),
propagate: impl FnMut(BasicBlock, &A::Domain)
) where
A: Analysis<'tcx>,