From 8a34409df67594337075cf40e4a8f23f3102ab95 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Thu, 2 Sep 1999 21:51:35 -0700 Subject: [PATCH] reload1.c (eliminate_regs_in_insn): Avoid eliminating the reg notes on a deleted insn. * 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 | 6 ++++++ gcc/gcse.c | 2 +- gcc/reload1.c | 5 ++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 771d3af6832..05d4d2eedf8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Thu Sep 2 21:49:52 1999 Richard Henderson + + * 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. diff --git a/gcc/gcse.c b/gcc/gcse.c index 2c299a2188f..40ff243f2eb 100644 --- a/gcc/gcse.c +++ b/gcc/gcse.c @@ -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 8b92b431eff..2a107e8e0a0 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; }