add MIR crate and link it into the driver

This commit is contained in:
Niko Matsakis 2015-08-18 18:01:44 -04:00
parent 6a2ca37f1b
commit faa9ec81b5
3 changed files with 8 additions and 2 deletions

View file

@ -54,7 +54,7 @@ TARGET_CRATES := libc std flate arena term \
log graphviz core rbml alloc \ log graphviz core rbml alloc \
rustc_unicode rustc_bitflags \ rustc_unicode rustc_bitflags \
alloc_system alloc_system
RUSTC_CRATES := rustc rustc_typeck rustc_borrowck rustc_resolve rustc_driver \ RUSTC_CRATES := rustc rustc_typeck rustc_mir rustc_borrowck rustc_resolve rustc_driver \
rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \ rustc_trans rustc_back rustc_llvm rustc_privacy rustc_lint \
rustc_data_structures rustc_front rustc_platform_intrinsics rustc_data_structures rustc_front rustc_platform_intrinsics
HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc fmt_macros HOST_CRATES := syntax $(RUSTC_CRATES) rustdoc fmt_macros
@ -70,11 +70,12 @@ DEPS_std := core libc rand alloc collections rustc_unicode \
DEPS_graphviz := std DEPS_graphviz := std
DEPS_syntax := std term serialize log fmt_macros arena libc rustc_bitflags DEPS_syntax := std term serialize log fmt_macros arena libc rustc_bitflags
DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \ DEPS_rustc_driver := arena flate getopts graphviz libc rustc rustc_back rustc_borrowck \
rustc_typeck rustc_resolve log syntax serialize rustc_llvm \ rustc_typeck rustc_mir rustc_resolve log syntax serialize rustc_llvm \
rustc_trans rustc_privacy rustc_lint rustc_front rustc_trans rustc_privacy rustc_lint rustc_front
DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \ DEPS_rustc_trans := arena flate getopts graphviz libc rustc rustc_back \
log syntax serialize rustc_llvm rustc_front rustc_platform_intrinsics log syntax serialize rustc_llvm rustc_front rustc_platform_intrinsics
DEPS_rustc_mir := rustc rustc_front syntax
DEPS_rustc_typeck := rustc syntax rustc_front rustc_platform_intrinsics DEPS_rustc_typeck := rustc syntax rustc_front rustc_platform_intrinsics
DEPS_rustc_borrowck := rustc rustc_front log graphviz syntax DEPS_rustc_borrowck := rustc rustc_front log graphviz syntax
DEPS_rustc_resolve := rustc rustc_front log syntax DEPS_rustc_resolve := rustc rustc_front log syntax

View file

@ -10,6 +10,7 @@
use rustc::front; use rustc::front;
use rustc::front::map as hir_map; use rustc::front::map as hir_map;
use rustc_mir as mir;
use rustc::session::Session; use rustc::session::Session;
use rustc::session::config::{self, Input, OutputFilenames}; use rustc::session::config::{self, Input, OutputFilenames};
use rustc::session::search_paths::PathKind; use rustc::session::search_paths::PathKind;
@ -706,6 +707,9 @@ pub fn phase_3_run_analysis_passes<'tcx, F, R>(sess: Session,
// passes are timed inside typeck // passes are timed inside typeck
typeck::check_crate(tcx, trait_map); typeck::check_crate(tcx, trait_map);
time(time_passes, "MIR dump", ||
mir::dump::dump_crate(tcx));
time(time_passes, "const checking", || time(time_passes, "const checking", ||
middle::check_const::check_crate(tcx)); middle::check_const::check_crate(tcx));

View file

@ -45,6 +45,7 @@ extern crate rustc_borrowck;
extern crate rustc_front; extern crate rustc_front;
extern crate rustc_lint; extern crate rustc_lint;
extern crate rustc_privacy; extern crate rustc_privacy;
extern crate rustc_mir;
extern crate rustc_resolve; extern crate rustc_resolve;
extern crate rustc_trans; extern crate rustc_trans;
extern crate rustc_typeck; extern crate rustc_typeck;