(distribute_notes): Delete instructions without side effect that set a
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 20 Oct 1995 23:14:10 +0000 (19:14 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 20 Oct 1995 23:14:10 +0000 (19:14 -0400)
subreg of an unused register.

From-SVN: r10491

gcc/combine.c

index cd7dc12eb3e6b9afbcff54e08e504f128a95a310..3cdfb32dd3e92a9da9811f74fd3dc78323bac265 100644 (file)
@@ -10745,7 +10745,10 @@ distribute_notes (notes, from_insn, i3, i2, elim_i2, elim_i1)
                         modified the register.  */
 
                      if (set != 0 && ! side_effects_p (SET_SRC (set))
-                         && rtx_equal_p (XEXP (note, 0), SET_DEST (set)))
+                         && (rtx_equal_p (XEXP (note, 0), SET_DEST (set))
+                             || (GET_CODE (SET_DEST (set)) == SUBREG
+                                 && rtx_equal_p (XEXP (note, 0),
+                                                 XEXP (SET_DEST (set), 0)))))
                        {
                          /* Move the notes and links of TEM elsewhere.
                             This might delete other dead insns recursively.