re PR target/23832 (libjava build failure on sh64)
authorKaz Kojima <kkojima@gcc.gnu.org>
Sun, 23 Oct 2005 21:15:18 +0000 (21:15 +0000)
committerKaz Kojima <kkojima@gcc.gnu.org>
Sun, 23 Oct 2005 21:15:18 +0000 (21:15 +0000)
PR target/23832
* recog.c (peephole2_optimize): Increment peep2_current_count
only when the slot is empty.

From-SVN: r105827

gcc/ChangeLog
gcc/recog.c

index 2b8de76..f659e64 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-23  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/23832
+       * recog.c (peephole2_optimize): Increment peep2_current_count
+       only when the slot is empty.
+
 2005-10-23  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR ada/23957
index 1b8394c..111f9cb 100644 (file)
@@ -3091,7 +3091,8 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
              /* Record this insn.  */
              if (--peep2_current < 0)
                peep2_current = MAX_INSNS_PER_PEEP2;
-             if (peep2_current_count < MAX_INSNS_PER_PEEP2)
+             if (peep2_current_count < MAX_INSNS_PER_PEEP2
+                 && peep2_insn_data[peep2_current].insn == NULL_RTX)
                peep2_current_count++;
              peep2_insn_data[peep2_current].insn = insn;
              propagate_one_insn (pbi, insn);
@@ -3253,7 +3254,8 @@ peephole2_optimize (FILE *dump_file ATTRIBUTE_UNUSED)
                        {
                          if (--i < 0)
                            i = MAX_INSNS_PER_PEEP2;
-                         if (peep2_current_count < MAX_INSNS_PER_PEEP2)
+                         if (peep2_current_count < MAX_INSNS_PER_PEEP2
+                             && peep2_insn_data[i].insn == NULL_RTX)
                            peep2_current_count++;
                          peep2_insn_data[i].insn = x;
                          propagate_one_insn (pbi, x);