cse.c (mention_regs): Set SUBREG_TICKED to the register number, not the address of...
authorGeoffrey Keating <geoffk@apple.com>
Sat, 12 Oct 2002 00:00:39 +0000 (00:00 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Sat, 12 Oct 2002 00:00:39 +0000 (00:00 +0000)
* cse.c (mention_regs): Set SUBREG_TICKED to the register number,
not the address of the REG.
(struct cse_reg_info): Make subreg_ticked unsigned.

From-SVN: r58075

gcc/ChangeLog
gcc/cse.c

index af5e345a29b1e863356152054d7d81a2d315aef0..f6b949c85be6d6790684e6cbad49bd5643cd5eda 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-11  Geoffrey Keating  <geoffk@apple.com>
+
+       * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
+       not the address of the REG.
+       (struct cse_reg_info): Make subreg_ticked unsigned.
+
 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
 
        * doc/compat.texi: Add info about C++ libraries.
index f212fd94a98471e2712d459f95b4d10f4b179601..06be4ff74127aaaab1bf7c17a0cf2d1436e49bb5 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -319,7 +319,7 @@ struct cse_reg_info
 
   /* The SUBREG that was set when REG_TICK was last incremented.  Set
      to -1 if the last store was to the whole register, not a subreg.  */
-  int subreg_ticked;
+  unsigned int subreg_ticked;
 };
 
 /* A free list of cse_reg_info entries.  */
@@ -1223,14 +1223,14 @@ mention_regs (x)
             Otherwise, remove any memory of the entire register and
             all its subregs from the table.  */
          if (REG_TICK (i) - REG_IN_TABLE (i) > 1
-             || SUBREG_TICKED (i) != SUBREG_REG (x))
+             || SUBREG_TICKED (i) != REGNO (SUBREG_REG (x)))
            remove_invalid_refs (i);
          else
            remove_invalid_subreg_refs (i, SUBREG_BYTE (x), GET_MODE (x));
        }
 
       REG_IN_TABLE (i) = REG_TICK (i);
-      SUBREG_TICKED (i) = SUBREG_REG (x);
+      SUBREG_TICKED (i) = REGNO (SUBREG_REG (x));
       return 0;
     }