aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/combine.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 253a559..fade7da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-04-24 Hiroyuki Machida <machida@sm.sony.co.jp>
+
+ * combine.c (try_combine): Update reg_nonzero_bits of
+ newi2pat before newpat.
+
Mon Apr 24 10:19:48 MET DST 2000 Jan Hubicka <jh@suse.cz>
* loop.c (strength_reduce): Simplify test to INSN_P.
diff --git a/gcc/combine.c b/gcc/combine.c
index 4bcaf38..9396959 100644
--- a/gcc/combine.c
+++ b/gcc/combine.c
@@ -2714,11 +2714,11 @@ try_combine (i3, i2, i1, new_direct_jump_p)
}
/* Update reg_nonzero_bits et al for any changes that may have been made
- to this insn. */
-
- note_stores (newpat, set_nonzero_bits_and_sign_copies, NULL);
+ to this insn. The order of set_nonzero_bits_and_sign_copies() is
+ important. Because newi2pat can affect nonzero_bits of newpat */
if (newi2pat)
note_stores (newi2pat, set_nonzero_bits_and_sign_copies, NULL);
+ note_stores (newpat, set_nonzero_bits_and_sign_copies, NULL);
/* Set new_direct_jump_p if a new return or simple jump instruction
has been created.