diff options
| author | Patrick Walton <[email protected]> | 2011-05-02 17:45:07 -0700 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2011-05-02 17:50:46 -0700 |
| commit | ebc236e91c40d74372ced762433d892829284459 (patch) | |
| tree | e11430739522bb1a1c80fb1cb6c30ad93d2f1389 /src/comp/driver/rustc.rs | |
| parent | rustc: Remove the artificial block in ty.rs. Fixes self-hosting. Add a test c... (diff) | |
| download | rust-ebc236e91c40d74372ced762433d892829284459.tar.xz rust-ebc236e91c40d74372ced762433d892829284459.zip | |
rustc: Time the Rust translation and LLVM passes separately
Diffstat (limited to 'src/comp/driver/rustc.rs')
| -rw-r--r-- | src/comp/driver/rustc.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/comp/driver/rustc.rs b/src/comp/driver/rustc.rs index 2ad6730d..634c6512 100644 --- a/src/comp/driver/rustc.rs +++ b/src/comp/driver/rustc.rs @@ -11,6 +11,7 @@ import middle.capture; import middle.ty; import middle.typeck; import middle.typestate_check; +import lib.llvm; import util.common; import std.map.mk_hashmap; @@ -112,9 +113,13 @@ fn compile_input(session.session sess, bind typestate_check.check_crate(crate)); } - time[()](time_passes, "translation", - bind trans.trans_crate(sess, crate, ty_cx, type_cache, output, shared, - optimize, verify, save_temps, ot)); + auto llmod = time[llvm.ModuleRef](time_passes, "translation", + bind trans.trans_crate(sess, crate, ty_cx, type_cache, output, + shared)); + + time[()](time_passes, "LLVM passes", + bind trans.run_passes(llmod, optimize, verify, save_temps, output, + ot)); } fn pretty_print_input(session.session sess, |