diff options
| author | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2025-07-11 08:43:16 +0200 |
|---|---|---|
| committer | Tomasz Miąsko <tomasz.miasko@gmail.com> | 2025-07-11 10:56:50 +0200 |
| commit | 5b6d661039116ea573652393938061a9a2a2c586 (patch) | |
| tree | 27f63d78a41f44632e63b1f3aacb2468361f892f /compiler/rustc_mir_dataflow | |
| parent | 011d4aa81f1d20b4923a01c7162caa5f0042b8ba (diff) | |
| download | rust-5b6d661039116ea573652393938061a9a2a2c586.tar.gz rust-5b6d661039116ea573652393938061a9a2a2c586.zip | |
Remove support for SwitchInt edge effects in backward dataflow analyses
Those effects are untested and unused. Remove them along with the implementation of `BasicBlocks::switch_sources`.
Diffstat (limited to 'compiler/rustc_mir_dataflow')
| -rw-r--r-- | compiler/rustc_mir_dataflow/src/framework/direction.rs | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/compiler/rustc_mir_dataflow/src/framework/direction.rs b/compiler/rustc_mir_dataflow/src/framework/direction.rs index bba652656dd..79c0db7d728 100644 --- a/compiler/rustc_mir_dataflow/src/framework/direction.rs +++ b/compiler/rustc_mir_dataflow/src/framework/direction.rs @@ -1,5 +1,6 @@ use std::ops::RangeInclusive; +use rustc_middle::bug; use rustc_middle::mir::{ self, BasicBlock, CallReturnPlaces, Location, SwitchTargetValue, TerminatorEdges, }; @@ -112,15 +113,11 @@ impl Direction for Backward { propagate(pred, &tmp); } - mir::TerminatorKind::SwitchInt { ref targets, ref discr } => { - if let Some(mut data) = analysis.get_switch_int_data(pred, discr) { - let mut tmp = analysis.bottom_value(body); - for &value in &body.basic_blocks.switch_sources()[&(block, pred)] { - tmp.clone_from(exit_state); - analysis - .apply_switch_int_edge_effect(&mut data, &mut tmp, value, targets); - propagate(pred, &tmp); - } + mir::TerminatorKind::SwitchInt { ref discr, .. } => { + if let Some(_data) = analysis.get_switch_int_data(pred, discr) { + bug!( + "SwitchInt edge effects are unsupported in backward dataflow analyses" + ); } else { propagate(pred, exit_state) } |
