1
Fork 0

rustc: Time the Rust translation and LLVM passes separately

This commit is contained in:
Patrick Walton 2011-05-02 17:45:07 -07:00
parent a833f152ba
commit ebc236e91c
2 changed files with 11 additions and 6 deletions

View file

@ -11,6 +11,7 @@ import middle.capture;
import middle.ty; import middle.ty;
import middle.typeck; import middle.typeck;
import middle.typestate_check; import middle.typestate_check;
import lib.llvm;
import util.common; import util.common;
import std.map.mk_hashmap; import std.map.mk_hashmap;
@ -112,9 +113,13 @@ fn compile_input(session.session sess,
bind typestate_check.check_crate(crate)); bind typestate_check.check_crate(crate));
} }
time[()](time_passes, "translation", auto llmod = time[llvm.ModuleRef](time_passes, "translation",
bind trans.trans_crate(sess, crate, ty_cx, type_cache, output, shared, bind trans.trans_crate(sess, crate, ty_cx, type_cache, output,
optimize, verify, save_temps, ot)); shared));
time[()](time_passes, "LLVM passes",
bind trans.run_passes(llmod, optimize, verify, save_temps, output,
ot));
} }
fn pretty_print_input(session.session sess, fn pretty_print_input(session.session sess,

View file

@ -7748,8 +7748,8 @@ fn create_crate_map(@crate_ctxt ccx) -> ValueRef {
} }
fn trans_crate(session.session sess, @ast.crate crate, ty.ctxt tcx, fn trans_crate(session.session sess, @ast.crate crate, ty.ctxt tcx,
ty.type_cache type_cache, str output, bool shared, ty.type_cache type_cache, str output, bool shared)
bool optimize, bool verify, bool save_temps, output_type ot) { -> ModuleRef {
auto llmod = auto llmod =
llvm.LLVMModuleCreateWithNameInContext(_str.buf("rust_out"), llvm.LLVMModuleCreateWithNameInContext(_str.buf("rust_out"),
llvm.LLVMGetGlobalContext()); llvm.LLVMGetGlobalContext());
@ -7816,7 +7816,7 @@ fn trans_crate(session.session sess, @ast.crate crate, ty.ctxt tcx,
// Translate the metadata. // Translate the metadata.
middle.metadata.write_metadata(cx.ccx, shared, crate); middle.metadata.write_metadata(cx.ccx, shared, crate);
run_passes(llmod, optimize, verify, save_temps, output, ot); ret llmod;
} }
// //