Revive the -T aka --time-passes argument to report run times on the CLI;
This commit is contained in:
committed by
Dan Gohman
parent
58229e10bf
commit
af0a239539
@@ -199,10 +199,12 @@ fn main() {
|
||||
}
|
||||
("test", Some(rest_cmd)) => {
|
||||
handle_debug_flag(rest_cmd.is_present("debug"));
|
||||
cranelift_filetests::run(
|
||||
let result = cranelift_filetests::run(
|
||||
rest_cmd.is_present("verbose"),
|
||||
rest_cmd.is_present("time-passes"),
|
||||
&get_vec(rest_cmd.values_of("file")),
|
||||
).map(|_time| ())
|
||||
).map(|_time| ());
|
||||
result
|
||||
}
|
||||
("pass", Some(rest_cmd)) => {
|
||||
handle_debug_flag(rest_cmd.is_present("debug"));
|
||||
@@ -215,6 +217,7 @@ fn main() {
|
||||
// Can be unwrapped because 'single-file' is required
|
||||
cranelift_filetests::run_passes(
|
||||
rest_cmd.is_present("verbose"),
|
||||
rest_cmd.is_present("time-passes"),
|
||||
&get_vec(rest_cmd.values_of("pass")),
|
||||
target_val,
|
||||
rest_cmd.value_of("single-file").unwrap(),
|
||||
@@ -235,6 +238,7 @@ fn main() {
|
||||
compile::run(
|
||||
get_vec(rest_cmd.values_of("file")),
|
||||
rest_cmd.is_present("print"),
|
||||
rest_cmd.is_present("time-passes"),
|
||||
&get_vec(rest_cmd.values_of("set")),
|
||||
target_val,
|
||||
)
|
||||
@@ -257,6 +261,7 @@ fn main() {
|
||||
&get_vec(rest_cmd.values_of("set")),
|
||||
target_val,
|
||||
rest_cmd.is_present("print-size"),
|
||||
rest_cmd.is_present("time-passes"),
|
||||
);
|
||||
|
||||
#[cfg(not(feature = "wasm"))]
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
use cranelift_codegen::isa::TargetIsa;
|
||||
use cranelift_codegen::print_errors::pretty_error;
|
||||
use cranelift_codegen::settings::FlagsOrIsa;
|
||||
use cranelift_codegen::timing;
|
||||
use cranelift_codegen::Context;
|
||||
use cranelift_codegen::{binemit, ir};
|
||||
use cranelift_reader::parse_test;
|
||||
@@ -60,6 +61,7 @@ impl binemit::TrapSink for PrintTraps {
|
||||
pub fn run(
|
||||
files: Vec<String>,
|
||||
flag_print: bool,
|
||||
flag_report_times: bool,
|
||||
flag_set: &[String],
|
||||
flag_isa: &str,
|
||||
) -> Result<(), String> {
|
||||
@@ -68,13 +70,20 @@ pub fn run(
|
||||
for filename in files {
|
||||
let path = Path::new(&filename);
|
||||
let name = String::from(path.as_os_str().to_string_lossy());
|
||||
handle_module(flag_print, &path.to_path_buf(), &name, parsed.as_fisa())?;
|
||||
handle_module(
|
||||
flag_print,
|
||||
flag_report_times,
|
||||
&path.to_path_buf(),
|
||||
&name,
|
||||
parsed.as_fisa(),
|
||||
)?;
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn handle_module(
|
||||
flag_print: bool,
|
||||
flag_report_times: bool,
|
||||
path: &PathBuf,
|
||||
name: &str,
|
||||
fisa: FlagsOrIsa,
|
||||
@@ -134,6 +143,10 @@ fn handle_module(
|
||||
}
|
||||
}
|
||||
|
||||
if flag_report_times {
|
||||
print!("{}", timing::take_current());
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
use cranelift_codegen::print_errors::{pretty_error, pretty_verifier_error};
|
||||
use cranelift_codegen::settings::FlagsOrIsa;
|
||||
use cranelift_codegen::Context;
|
||||
use cranelift_codegen::timing;
|
||||
use cranelift_entity::EntityRef;
|
||||
use cranelift_wasm::{
|
||||
translate_module, DummyEnvironment, FuncIndex, ModuleEnvironment, ReturnMode,
|
||||
@@ -46,6 +47,7 @@ pub fn run(
|
||||
flag_set: &[String],
|
||||
flag_triple: &str,
|
||||
flag_print_size: bool,
|
||||
flag_report_times: bool,
|
||||
) -> Result<(), String> {
|
||||
let parsed = parse_sets_and_triple(flag_set, flag_triple)?;
|
||||
|
||||
@@ -58,6 +60,7 @@ pub fn run(
|
||||
flag_check_translation,
|
||||
flag_print,
|
||||
flag_print_size,
|
||||
flag_report_times,
|
||||
&path.to_path_buf(),
|
||||
&name,
|
||||
parsed.as_fisa(),
|
||||
@@ -72,6 +75,7 @@ fn handle_module(
|
||||
flag_check_translation: bool,
|
||||
flag_print: bool,
|
||||
flag_print_size: bool,
|
||||
flag_report_times: bool,
|
||||
path: &PathBuf,
|
||||
name: &str,
|
||||
fisa: FlagsOrIsa,
|
||||
@@ -209,6 +213,10 @@ fn handle_module(
|
||||
println!("Total module bytecode size: {} bytes", total_bytecode_size);
|
||||
}
|
||||
|
||||
if flag_report_times {
|
||||
println!("{}", timing::take_current());
|
||||
}
|
||||
|
||||
let _ = terminal.fg(term::color::GREEN);
|
||||
vprintln!(flag_verbose, "ok");
|
||||
let _ = terminal.reset();
|
||||
|
||||
Reference in New Issue
Block a user