combine.c (try_combine): Update reg_nonzero_bits of newi2pat before newpat.
authorHiroyuki Machida <machida@sm.sony.co.jp>
Mon, 24 Apr 2000 08:46:15 +0000 (17:46 +0900)
committerJeff Law <law@gcc.gnu.org>
Mon, 24 Apr 2000 08:46:15 +0000 (02:46 -0600)
        * combine.c (try_combine): Update reg_nonzero_bits of
        newi2pat before newpat.

From-SVN: r33376

gcc/ChangeLog
gcc/combine.c

index 253a559..fade7da 100644 (file)
@@ -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.
index 4bcaf38..9396959 100644 (file)
@@ -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.