This moves the 2nd VRP pass to run befoe phi_only_cprop as VRP performs jump-threading which can result in BBs with PHI singletons.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2014-06-06 Richard Biener <rguent...@suse.de> * passes.def: Move 2nd VRP pass before phi-only-cprop. Index: gcc/passes.def =================================================================== --- gcc/passes.def (revision 211271) +++ gcc/passes.def (working copy) @@ -240,13 +240,13 @@ along with GCC; see the file COPYING3. NEXT_PASS (pass_reassoc); NEXT_PASS (pass_strength_reduction); NEXT_PASS (pass_dominator); + NEXT_PASS (pass_vrp); /* The only const/copy propagation opportunities left after - DOM should be due to degenerate PHI nodes. So rather than + DOM and VRP should be due to degenerate PHI nodes. So rather than run the full propagators, run a specialized pass which only examines PHIs to discover const/copy propagation opportunities. */ NEXT_PASS (pass_phi_only_cprop); - NEXT_PASS (pass_vrp); NEXT_PASS (pass_cd_dce); NEXT_PASS (pass_tracer); NEXT_PASS (pass_dse);