about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2022-07-05 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2022-07-07 08:11:49 +0200
commitdfa6a7cbde0eb34d7cd7d23a37ca03b9c7568a16 (patch)
tree3172cdc36819fdc5c53a89694e09951e0650def3
parent39d9c1cb1fd00c4deab6f3ef2a69886c36670d4e (diff)
downloadrust-dfa6a7cbde0eb34d7cd7d23a37ca03b9c7568a16.tar.gz
rust-dfa6a7cbde0eb34d7cd7d23a37ca03b9c7568a16.zip
Move `switch_sources` from Body to BasicBlocks
-rw-r--r--compiler/rustc_middle/src/mir/mod.rs8
-rw-r--r--compiler/rustc_mir_dataflow/src/framework/direction.rs2
2 files changed, 1 insertions, 9 deletions
diff --git a/compiler/rustc_middle/src/mir/mod.rs b/compiler/rustc_middle/src/mir/mod.rs
index 9a2c7fa7cc4..7d14934b089 100644
--- a/compiler/rustc_middle/src/mir/mod.rs
+++ b/compiler/rustc_middle/src/mir/mod.rs
@@ -42,7 +42,6 @@ use std::ops::{ControlFlow, Index, IndexMut};
 use std::{iter, mem};
 
 pub use self::query::*;
-use self::switch_sources::SwitchSources;
 pub use basic_blocks::BasicBlocks;
 
 mod basic_blocks;
@@ -448,13 +447,6 @@ impl<'tcx> Body<'tcx> {
             .unwrap_or_else(|| Either::Right(block_data.terminator()))
     }
 
-    /// `body.switch_sources()[&(target, switch)]` returns a list of switch
-    /// values that lead to a `target` block from a `switch` block.
-    #[inline]
-    pub fn switch_sources(&self) -> &SwitchSources {
-        self.basic_blocks.switch_sources()
-    }
-
     #[inline]
     pub fn dominators(&self) -> Dominators<BasicBlock> {
         dominators(&self.basic_blocks)
diff --git a/compiler/rustc_mir_dataflow/src/framework/direction.rs b/compiler/rustc_mir_dataflow/src/framework/direction.rs
index 5d9bf6194a4..5c77f3ea395 100644
--- a/compiler/rustc_mir_dataflow/src/framework/direction.rs
+++ b/compiler/rustc_mir_dataflow/src/framework/direction.rs
@@ -316,7 +316,7 @@ where
     fn apply(&mut self, mut apply_edge_effect: impl FnMut(&mut D, SwitchIntTarget)) {
         assert!(!self.effects_applied);
 
-        let values = &self.body.switch_sources()[&(self.bb, self.pred)];
+        let values = &self.body.basic_blocks.switch_sources()[&(self.bb, self.pred)];
         let targets = values.iter().map(|&value| SwitchIntTarget { value, target: self.bb });
 
         let mut tmp = None;