mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
Refactor apply_effects_in_block
.
Very minor changes that will make the next few commits easier to follow.
This commit is contained in:
parent
5bc6231454
commit
13003100f8
@ -112,14 +112,11 @@ impl Direction for Backward {
|
||||
|
||||
mir::TerminatorKind::SwitchInt { targets: _, ref discr } => {
|
||||
if let Some(mut data) = analysis.get_switch_int_data(block, discr) {
|
||||
let values = &body.basic_blocks.switch_sources()[&(block, pred)];
|
||||
let targets =
|
||||
values.iter().map(|&value| SwitchIntTarget { value, target: block });
|
||||
|
||||
let mut tmp = analysis.bottom_value(body);
|
||||
for target in targets {
|
||||
tmp.clone_from(&exit_state);
|
||||
analysis.apply_switch_int_edge_effect(&mut data, &mut tmp, target);
|
||||
for &value in &body.basic_blocks.switch_sources()[&(block, pred)] {
|
||||
tmp.clone_from(exit_state);
|
||||
let si_target = SwitchIntTarget { value, target: block };
|
||||
analysis.apply_switch_int_edge_effect(&mut data, &mut tmp, si_target);
|
||||
propagate(pred, &tmp);
|
||||
}
|
||||
} else {
|
||||
@ -292,12 +289,9 @@ impl Direction for Forward {
|
||||
if let Some(mut data) = analysis.get_switch_int_data(block, discr) {
|
||||
let mut tmp = analysis.bottom_value(body);
|
||||
for (value, target) in targets.iter() {
|
||||
tmp.clone_from(&exit_state);
|
||||
analysis.apply_switch_int_edge_effect(
|
||||
&mut data,
|
||||
&mut tmp,
|
||||
SwitchIntTarget { value: Some(value), target },
|
||||
);
|
||||
tmp.clone_from(exit_state);
|
||||
let si_target = SwitchIntTarget { value: Some(value), target };
|
||||
analysis.apply_switch_int_edge_effect(&mut data, &mut tmp, si_target);
|
||||
propagate(target, &tmp);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user