提交 dfa6a7cb 编写于 作者: T Tomasz Miąsko

Move `switch_sources` from Body to BasicBlocks

上级 39d9c1cb
......@@ -42,7 +42,6 @@
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 @@ pub fn stmt_at(&self, location: Location) -> Either<&Statement<'tcx>, &Terminato
.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)
......
......@@ -316,7 +316,7 @@ impl<D, F> super::SwitchIntEdgeEffects<D> for BackwardSwitchIntEdgeEffectsApplie
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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册