implemented separate_const_switch MIR opt

un-update itertools

improve predecessor amount short-circuiting

cleanup and comments

somewhat improved drawing
This commit is contained in:
Théo Degioanni
2021-06-10 00:34:58 +02:00
parent b8be3162d7
commit a77e2ad533
9 changed files with 1055 additions and 0 deletions

View File

@@ -48,6 +48,7 @@ pub mod remove_unneeded_drops;
pub mod remove_zsts;
pub mod required_consts;
pub mod rustc_peek;
pub mod separate_const_switch;
pub mod simplify;
pub mod simplify_branches;
pub mod simplify_comparison_integral;
@@ -501,6 +502,7 @@ fn run_optimization_passes<'tcx>(tcx: TyCtxt<'tcx>, body: &mut Body<'tcx>) {
// inst combine is after MatchBranchSimplification to clean up Ne(_1, false)
&multiple_return_terminators::MultipleReturnTerminators,
&instcombine::InstCombine,
&separate_const_switch::SeparateConstSwitch,
&const_prop::ConstProp,
&simplify_branches::SimplifyBranches::new("after-const-prop"),
&early_otherwise_branch::EarlyOtherwiseBranch,