Skip to content

Commit 810cf71

Browse files
committed
make mir map available to later passes (currently unused)
1 parent 3099fd4 commit 810cf71

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/librustc_driver/driver.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -738,8 +738,9 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: Session,
738738
time(time_passes, "match checking", ||
739739
middle::check_match::check_crate(tcx));
740740

741-
time(time_passes, "MIR dump", ||
742-
mir::dump::dump_crate(tcx));
741+
let _mir_map =
742+
time(time_passes, "MIR dump", ||
743+
mir::dump::dump_crate(tcx));
743744

744745
time(time_passes, "liveness checking", ||
745746
middle::liveness::check_crate(tcx));

src/librustc_mir/dump.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,18 +37,23 @@ use self::syntax::ast;
3737
use self::syntax::attr::AttrMetaMethods;
3838
use self::syntax::codemap::Span;
3939

40-
pub fn dump_crate(tcx: &ty::ctxt) {
40+
pub type MirMap<'tcx> = NodeMap<Mir<'tcx>>;
41+
42+
pub fn dump_crate<'tcx>(tcx: &ty::ctxt<'tcx>) -> MirMap<'tcx>{
4143
let mut map = NodeMap();
42-
let mut dump = OuterDump { tcx: tcx, map: &mut map };
43-
visit::walk_crate(&mut dump, tcx.map.krate());
44+
{
45+
let mut dump = OuterDump { tcx: tcx, map: &mut map };
46+
visit::walk_crate(&mut dump, tcx.map.krate());
47+
}
48+
map
4449
}
4550

4651
///////////////////////////////////////////////////////////////////////////
4752
// OuterDump -- walks a crate, looking for fn items and methods to build MIR from
4853

4954
struct OuterDump<'a,'tcx:'a> {
5055
tcx: &'a ty::ctxt<'tcx>,
51-
map: &'a mut NodeMap<Mir<'tcx>>,
56+
map: &'a mut MirMap<'tcx>,
5257
}
5358

5459
impl<'a, 'tcx> OuterDump<'a, 'tcx> {
@@ -101,7 +106,7 @@ impl<'a, 'tcx> visit::Visitor<'tcx> for OuterDump<'a, 'tcx> {
101106

102107
struct InnerDump<'a,'m,'tcx:'a+'m> {
103108
tcx: &'a ty::ctxt<'tcx>,
104-
map: &'m mut NodeMap<Mir<'tcx>>,
109+
map: &'m mut MirMap<'tcx>,
105110
attr: Option<&'a ast::Attribute>,
106111
}
107112

0 commit comments

Comments
 (0)