diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gcse.c | 2 | ||||
-rw-r--r-- | gcc/reload1.c | 5 |
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 771d3af..05d4d2e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. @@ -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 diff --git a/gcc/reload1.c b/gcc/reload1.c index 8b92b43..2a107e8 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -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; } |