aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1994-04-11 10:48:47 -0700
committerJim Wilson <wilson@gcc.gnu.org>1994-04-11 10:48:47 -0700
commit058acefd54c899a2503b04740b9ba7422f01b216 (patch)
treec1a4d53118034ed62c3d8c280c4663fe9db4ff8b /gcc
parentd7afa8f03409553285799756d5f4a91ed1b6d10f (diff)
downloadgcc-058acefd54c899a2503b04740b9ba7422f01b216.zip
gcc-058acefd54c899a2503b04740b9ba7422f01b216.tar.gz
gcc-058acefd54c899a2503b04740b9ba7422f01b216.tar.bz2
(try_merge_delay_insns): Account for resources set/used by a filled insn before...
(try_merge_delay_insns): Account for resources set/used by a filled insn before trying to simplify insns in delay slots. From-SVN: r7035
Diffstat (limited to 'gcc')
-rw-r--r--gcc/reorg.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index df4d79c..6b8ec2f 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -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++)
{