diff --git a/juno_frontend/src/lib.rs b/juno_frontend/src/lib.rs index c06ebf34e293afc10ff84e45fa422c3c2dabad5d..d9a59a38567f24dda3d94e2bcc742655615110fc 100644 --- a/juno_frontend/src/lib.rs +++ b/juno_frontend/src/lib.rs @@ -149,8 +149,13 @@ pub fn compile_ir( pm.add_pass(hercules_opt::pass::Pass::Verify); } add_verified_pass!(pm, verify, GVN); + add_pass!(pm, verify, DCE); add_verified_pass!(pm, verify, PhiElim); add_pass!(pm, verify, DCE); + add_pass!(pm, verify, CRC); + add_pass!(pm, verify, DCE); + add_pass!(pm, verify, SLF); + add_pass!(pm, verify, DCE); if x_dot { pm.add_pass(hercules_opt::pass::Pass::Xdot(true)); } @@ -167,7 +172,7 @@ pub fn compile_ir( // Run SROA pretty early (though after inlining which can make SROA more effective) so that // CCP, GVN, etc. can work on the result of SROA add_pass!(pm, verify, InterproceduralSROA); - //add_pass!(pm, verify, SROA); + add_pass!(pm, verify, SROA); // We run phi-elim again because SROA can introduce new phis that might be able to be // simplified add_verified_pass!(pm, verify, PhiElim); @@ -205,7 +210,7 @@ pub fn compile_ir( add_pass!(pm, verify, DCE); add_pass!(pm, verify, Outline); add_pass!(pm, verify, InterproceduralSROA); - //add_pass!(pm, verify, SROA); + add_pass!(pm, verify, SROA); add_pass!(pm, verify, InferSchedules); add_verified_pass!(pm, verify, DCE); if x_dot {