(try_combine): If I2DEST was used in I2SRC, it isn't unused just
authorRichard Kenner <kenner@gcc.gnu.org>
Tue, 5 Jul 1994 20:59:42 +0000 (16:59 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Tue, 5 Jul 1994 20:59:42 +0000 (16:59 -0400)
because there is no SET for I2 anymore.

From-SVN: r7653

gcc/combine.c

index 38dca46f704ec14f6c7e7d74d5a3854338ed6557..0cd1ee879aebbabd1425706384fd3268c77d7109 100644 (file)
@@ -2262,7 +2262,7 @@ try_combine (i3, i2, i1)
 
        /* If the reg formerly set in I2 died only once and that was in I3,
           zero its use count so it won't make `reload' do any work.  */
-       if (! added_sets_2 && newi2pat == 0)
+       if (! added_sets_2 && newi2pat == 0 && ! i2dest_in_i2src)
          {
            regno = REGNO (i2dest);
            reg_n_sets[regno]--;
@@ -2286,7 +2286,7 @@ try_combine (i3, i2, i1)
        record_value_for_reg (i1dest, i1_insn, i1_val);
 
        regno = REGNO (i1dest);
-       if (! added_sets_1)
+       if (! added_sets_1 && ! i1dest_in_i1src)
          {
            reg_n_sets[regno]--;
            if (reg_n_sets[regno] == 0