aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1999-09-02 21:51:35 -0700
committerRichard Henderson <rth@gcc.gnu.org>1999-09-02 21:51:35 -0700
commit8a34409df67594337075cf40e4a8f23f3102ab95 (patch)
tree3f20e6062b217a74b198f0bee02d536a7fe51ce3
parent42f7a8d48f5fe360f7ec514f8bfaa69a574a16d4 (diff)
downloadgcc-8a34409df67594337075cf40e4a8f23f3102ab95.zip
gcc-8a34409df67594337075cf40e4a8f23f3102ab95.tar.gz
gcc-8a34409df67594337075cf40e4a8f23f3102ab95.tar.bz2
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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/gcse.c2
-rw-r--r--gcc/reload1.c5
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.
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 2c299a2..40ff243 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 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;
}