(try_merge_delay_insns): Account for resources set/used by a filled insn before...
authorJim Wilson <wilson@gcc.gnu.org>
Mon, 11 Apr 1994 17:48:47 +0000 (10:48 -0700)
committerJim Wilson <wilson@gcc.gnu.org>
Mon, 11 Apr 1994 17:48:47 +0000 (10:48 -0700)
(try_merge_delay_insns): Account for resources set/used
by a filled insn before trying to simplify insns in delay slots.

From-SVN: r7035

gcc/reorg.c

index df4d79c..6b8ec2f 100644 (file)
@@ -1779,6 +1779,11 @@ try_merge_delay_insns (insn, thread)
       && ! INSN_ANNULLED_BRANCH_P (XVECEXP (PATTERN (trial), 0, 0)))
     {
       rtx pat = PATTERN (trial);
+      rtx filled_insn = XVECEXP (pat, 0, 0);
+
+      /* Account for resources set/needed by the filled insn.  */
+      mark_set_resources (filled_insn, &set, 0, 1);
+      mark_referenced_resources (filled_insn, &needed, 1);
 
       for (i = 1; i < XVECLEN (pat, 0); i++)
        {