re PR bootstrap/25397 (Bootstrap failed)
authorJ"orn Rennecke <joern.rennecke@st.com>
Wed, 14 Dec 2005 13:41:22 +0000 (13:41 +0000)
committerJoern Rennecke <amylaar@gcc.gnu.org>
Wed, 14 Dec 2005 13:41:22 +0000 (13:41 +0000)
2005-12-14  J"orn Rennecke <joern.rennecke@st.com>

PR bootstrap/25397:

* struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing
of STACK_REGS bits.

* struct-euiv.c (rtx_equiv_p): Remove SUBREG case.

From-SVN: r108508

gcc/ChangeLog
gcc/struct-equiv.c

index a58022f12efbe8f11c65e66ff691a3686d60d153..7951f9f367e0d4611b1f7ebc43e246bff6c8695a 100644 (file)
@@ -1,3 +1,12 @@
+2005-12-14  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR bootstrap/25397:
+
+       * struct-equiv.c (struct_equiv_init): Fix off-by-one error in clearing
+       of STACK_REGS bits.
+
+       * struct-euiv.c (rtx_equiv_p): Remove SUBREG case.
+
 2005-12-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/25254
index 60f146f9a56ff44a3662fa467098193dabe34ad8..3e6ba5deaba950797c728533e50e308dcfcada69 100644 (file)
@@ -367,10 +367,6 @@ rtx_equiv_p (rtx *xp, rtx y, int rvalue, struct equiv_info *info)
   /* ??? could extend to allow CONST_INT inputs.  */
   switch (code)
     {
-    case SUBREG:
-      gcc_assert (!reload_completed
-                 || !info->live_update);
-      break;
     case REG:
       {
        unsigned x_regno = REGNO (x);
@@ -1001,7 +997,7 @@ struct_equiv_init (int mode, struct equiv_info *info)
         these regs are not necessarily all dead - we swap random bogosity
         against constant bogosity.  However, clearing these bits at
         least makes the regsets comparable.  */
-      for (rn = FIRST_STACK_REG; rn < LAST_STACK_REG; rn++)
+      for (rn = FIRST_STACK_REG; rn <= LAST_STACK_REG; rn++)
        {
          CLEAR_REGNO_REG_SET (info->x_block->il.rtl->global_live_at_end, rn);
          CLEAR_REGNO_REG_SET (info->y_block->il.rtl->global_live_at_end, rn);