Add a cranelift flag to enable/disable verbose logs for regalloc2 (#4481)
This commit is contained in:
@@ -18,6 +18,18 @@ pub(crate) fn define() -> SettingGroup {
|
||||
false,
|
||||
);
|
||||
|
||||
settings.add_bool(
|
||||
"regalloc_verbose_logs",
|
||||
"Enable verbose debug logs for regalloc2.",
|
||||
r#"
|
||||
This adds extra logging for regalloc2 output, that is quite valuable to understand
|
||||
decisions taken by the register allocator as well as debugging it. It is disabled by
|
||||
default, as it can cause many log calls which can slow down compilation by a large
|
||||
amount.
|
||||
"#,
|
||||
false,
|
||||
);
|
||||
|
||||
settings.add_enum(
|
||||
"opt_level",
|
||||
"Optimization level for generated code.",
|
||||
|
||||
@@ -33,7 +33,7 @@ pub fn compile<B: LowerBackend + TargetIsa>(
|
||||
let regalloc_result = {
|
||||
let _tt = timing::regalloc();
|
||||
let mut options = RegallocOptions::default();
|
||||
options.verbose_log = log::log_enabled!(log::Level::Trace);
|
||||
options.verbose_log = b.flags().regalloc_verbose_logs();
|
||||
regalloc2::run(&vcode, machine_env, &options)
|
||||
.map_err(|err| {
|
||||
log::error!(
|
||||
|
||||
@@ -527,6 +527,7 @@ libcall_call_conv = "isa_default"
|
||||
baldrdash_prologue_words = 0
|
||||
probestack_size_log2 = 12
|
||||
regalloc_checker = false
|
||||
regalloc_verbose_logs = false
|
||||
enable_alias_analysis = true
|
||||
enable_verifier = true
|
||||
is_pic = false
|
||||
|
||||
@@ -389,6 +389,7 @@ impl Engine {
|
||||
| "enable_simd"
|
||||
| "enable_verifier"
|
||||
| "regalloc_checker"
|
||||
| "regalloc_verbose_logs"
|
||||
| "is_pic"
|
||||
| "machine_code_cfg_info"
|
||||
| "tls_model" // wasmtime doesn't use tls right now
|
||||
|
||||
Reference in New Issue
Block a user