NEXT_PASS (pass_merge_phi);
NEXT_PASS (pass_dominator);
+ /* The only copy propagation opportunities left after DOM
+ should be due to degenerate PHI nodes. So rather than
+ run the full copy propagator, just discover and copy
+ propagate away the degenerate PHI nodes. */
+ NEXT_PASS (pass_phi_only_copy_prop);
+
NEXT_PASS (pass_phiopt);
NEXT_PASS (pass_may_alias);
NEXT_PASS (pass_tail_recursion);
NEXT_PASS (pass_may_alias);
NEXT_PASS (pass_rename_ssa_copies);
NEXT_PASS (pass_dominator);
- NEXT_PASS (pass_copy_prop);
+
+ /* The only copy propagation opportunities left after DOM
+ should be due to degenerate PHI nodes. So rather than
+ run the full copy propagator, just discover and copy
+ propagate away the degenerate PHI nodes. */
+ NEXT_PASS (pass_phi_only_copy_prop);
+
NEXT_PASS (pass_dce);
NEXT_PASS (pass_dse);
NEXT_PASS (pass_may_alias);
NEXT_PASS (pass_sink_code);
NEXT_PASS (pass_tree_loop);
NEXT_PASS (pass_dominator);
- NEXT_PASS (pass_copy_prop);
+
+ /* The only copy propagation opportunities left after DOM
+ should be due to degenerate PHI nodes. So rather than
+ run the full copy propagator, just discover and copy
+ propagate away the degenerate PHI nodes. */
+ NEXT_PASS (pass_phi_only_copy_prop);
+
NEXT_PASS (pass_cd_dce);
/* FIXME: If DCE is not run before checking for uninitialized uses,
NEXT_PASS (pass_tree_loop_done);
*p = NULL;
+ p = &pass_vectorize.sub;
+ NEXT_PASS (pass_dce);
+ *p = NULL;
+
p = &pass_loop2.sub;
NEXT_PASS (pass_rtl_loop_init);
NEXT_PASS (pass_rtl_move_loop_invariants);