reload1.c (eliminate_regs_in_insn): Avoid eliminating the reg notes on a deleted...
authorRichard Henderson <rth@cygnus.com>
Fri, 3 Sep 1999 04:51:35 +0000 (21:51 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 3 Sep 1999 04:51:35 +0000 (21:51 -0700)
        * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
        reg notes on a deleted insn.
        * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.

From-SVN: r29076

gcc/ChangeLog
gcc/gcse.c
gcc/reload1.c

index 771d3af68324ffb129b9a95ee9aa87ab6e901fd7..05d4d2eedf82566907b968625de28fc3a6233ca0 100644 (file)
@@ -1,3 +1,9 @@
+Thu Sep  2 21:49:52 1999  Richard Henderson  <rth@cygnus.com>
+
+       * reload1.c (eliminate_regs_in_insn): Avoid eliminating the
+       reg notes on a deleted insn.
+       * gcse.c (hash_expr_1): Use XWINT on a CONST_DOUBLE.
+
 Thu Sep  2 20:18:12 1999  Jeffrey A Law  (law@cygnus.com)
 
        * i386.c (ix86_attr_length_default): Handle TYPE_FXCH.
index 2c299a2188f4bd351d1a82f27b3fafdb41bd3e70..40ff243f2ebbb664703106dd9d21c84aeda93825 100644 (file)
@@ -1363,7 +1363,7 @@ hash_expr_1 (x, mode, do_not_record_p)
       if (GET_MODE (x) != VOIDmode)
        for (i = 2; i < GET_RTX_LENGTH (CONST_DOUBLE); i++)
          {
-           unsigned tem = XINT (x, i);
+           unsigned tem = XWINT (x, i);
            hash += tem;
          }
       else
index 8b92b431effa7d792e651652446b532eaa9dc20b..2a107e8e0a09d2e608bf2a10f0e47c3bf021d34b 100644 (file)
@@ -3355,7 +3355,10 @@ eliminate_regs_in_insn (insn, replace)
               If REPLACE isn't set, we can't delete this insn, but needn't
               process it since it won't be used unless something changes.  */
            if (replace)
-             delete_dead_insn (insn);
+             {
+               delete_dead_insn (insn);
+               return 1;
+             }
            val = 1;
            goto done;
          }