let worklist = vec![root];
Preorder {
- mir: mir,
+ mir,
visited: BitVector::new(mir.basic_blocks().len()),
- worklist: worklist
+ worklist,
}
}
}
impl<'a, 'tcx> Postorder<'a, 'tcx> {
pub fn new(mir: &'a Mir<'tcx>, root: BasicBlock) -> Postorder<'a, 'tcx> {
let mut po = Postorder {
- mir: mir,
+ mir,
visited: BitVector::new(mir.basic_blocks().len()),
visit_stack: Vec::new()
};
let len = blocks.len();
ReversePostorder {
- mir: mir,
- blocks: blocks,
+ mir,
+ blocks,
idx: len
}
}