diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/combine.c | 6 |
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. |