Hello,

so there seems to be a fallout caused by moving peephole2 pass. See PR/61608.
So we need indeed 2 peephole2 passes.

ChangeLog

2014-06-25  Kai Tietz  <kti...@redhat.com>

    PR rtl-optimization/61608
    * passes.def (peephole2): Readd peephole2 pass
    before if-after-reload pass.

Tested for arm*-none-*, i686-w64-cygwin, x86_64-unknown-linux-gnu.  Ok
for apply?

Regards,
Kai

Index: passes.def
===================================================================
--- passes.def    (Revision 211971)
+++ passes.def    (Arbeitskopie)
@@ -396,6 +396,7 @@ along with GCC; see the file COPYING3.  If not see
       NEXT_PASS (pass_rtl_dse2);
       NEXT_PASS (pass_stack_adjustments);
       NEXT_PASS (pass_jump2);
+      NEXT_PASS (pass_peephole2);
       NEXT_PASS (pass_if_after_reload);
       NEXT_PASS (pass_regrename);
       NEXT_PASS (pass_cprop_hardreg);
@@ -407,8 +408,7 @@ along with GCC; see the file COPYING3.  If not see
          We have a single indirect branch in the entire function
          before duplicate-compute-gotos pass.  This vastly reduces
          the size of the CFG.
-         For preventing to run peephole2 pass twice, its run after
-         the jump2 got removed.  */
+         We need to run peephole2 pass twice. See PR/61608.  */
       NEXT_PASS (pass_peephole2);
       NEXT_PASS (pass_branch_target_load_optimize2);
       NEXT_PASS (pass_leaf_regs);

Reply via email to