Enable the simple_gvn and licm passes at OptLevel::Best.

This commit is contained in:
Dan Gohman
2018-02-28 11:42:43 -08:00
parent 7054f25abb
commit 227baaadb8

View File

@@ -18,7 +18,7 @@ use isa::TargetIsa;
use legalize_function; use legalize_function;
use regalloc; use regalloc;
use result::{CtonError, CtonResult}; use result::{CtonError, CtonResult};
use settings::FlagsOrIsa; use settings::{FlagsOrIsa, OptLevel};
use unreachable_code::eliminate_unreachable_code; use unreachable_code::eliminate_unreachable_code;
use verifier; use verifier;
use simple_gvn::do_simple_gvn; use simple_gvn::do_simple_gvn;
@@ -90,14 +90,12 @@ impl Context {
self.compute_cfg(); self.compute_cfg();
self.preopt(isa)?; self.preopt(isa)?;
self.legalize(isa)?; self.legalize(isa)?;
/* TODO: Enable additional optimization passes.
if isa.flags().opt_level() == OptLevel::Best { if isa.flags().opt_level() == OptLevel::Best {
self.compute_domtree(); self.compute_domtree();
self.compute_loop_analysis(); self.compute_loop_analysis();
self.licm(isa)?; self.licm(isa)?;
self.simple_gvn(isa)?; self.simple_gvn(isa)?;
} }
*/
self.compute_domtree(); self.compute_domtree();
self.eliminate_unreachable_code(isa)?; self.eliminate_unreachable_code(isa)?;
self.regalloc(isa)?; self.regalloc(isa)?;