Remove dead public functions from DominatorTree.
This commit is contained in:
@@ -3,18 +3,13 @@
|
|||||||
use cfg::*;
|
use cfg::*;
|
||||||
use ir::Ebb;
|
use ir::Ebb;
|
||||||
use ir::entities::NO_INST;
|
use ir::entities::NO_INST;
|
||||||
use entity_map::{EntityMap, Keys};
|
use entity_map::EntityMap;
|
||||||
|
|
||||||
pub struct DominatorTree {
|
pub struct DominatorTree {
|
||||||
data: EntityMap<Ebb, Option<BasicBlock>>,
|
data: EntityMap<Ebb, Option<BasicBlock>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl DominatorTree {
|
impl DominatorTree {
|
||||||
/// Insert data directly into a dominator tree.
|
|
||||||
pub fn from_data(data: EntityMap<Ebb, Option<BasicBlock>>) -> DominatorTree {
|
|
||||||
DominatorTree { data: data }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Build a dominator tree from a control flow graph using Keith D. Cooper's
|
/// Build a dominator tree from a control flow graph using Keith D. Cooper's
|
||||||
/// "Simple, Fast Dominator Algorithm."
|
/// "Simple, Fast Dominator Algorithm."
|
||||||
pub fn new(cfg: &ControlFlowGraph) -> DominatorTree {
|
pub fn new(cfg: &ControlFlowGraph) -> DominatorTree {
|
||||||
@@ -116,11 +111,6 @@ impl DominatorTree {
|
|||||||
pub fn idom(&self, ebb: Ebb) -> Option<BasicBlock> {
|
pub fn idom(&self, ebb: Ebb) -> Option<BasicBlock> {
|
||||||
self.data[ebb].clone()
|
self.data[ebb].clone()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// An iterator across all of the ebbs stored in the tree.
|
|
||||||
pub fn ebbs(&self) -> Keys<Ebb> {
|
|
||||||
self.data.keys()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
@@ -136,7 +126,7 @@ mod test {
|
|||||||
let func = Function::new();
|
let func = Function::new();
|
||||||
let cfg = ControlFlowGraph::new(&func);
|
let cfg = ControlFlowGraph::new(&func);
|
||||||
let dtree = DominatorTree::new(&cfg);
|
let dtree = DominatorTree::new(&cfg);
|
||||||
assert_eq!(None, dtree.ebbs().next());
|
assert_eq!(0, dtree.data.keys().count());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|||||||
Reference in New Issue
Block a user