Commit 787ccee0 by Richard Henderson Committed by Richard Henderson

rtlanal.c (single_set): Reject if the parallel has anything except SET or USE or CLOBBER.

        * rtlanal.c (single_set): Reject if the parallel has anything
        except SET or USE or CLOBBER.

From-SVN: r32614
parent 7d89dda5
2000-03-17 Richard Henderson <rth@cygnus.com>
* rtlanal.c (single_set): Reject if the parallel has anything
except SET or USE or CLOBBER.
2000-03-17 Jeff Law <law@cygnus.com> 2000-03-17 Jeff Law <law@cygnus.com>
Richard Henderson <rth@cygnus.com> Richard Henderson <rth@cygnus.com>
......
...@@ -703,16 +703,30 @@ single_set (insn) ...@@ -703,16 +703,30 @@ single_set (insn)
else if (GET_CODE (PATTERN (insn)) == PARALLEL) else if (GET_CODE (PATTERN (insn)) == PARALLEL)
{ {
for (i = 0, set = 0; i < XVECLEN (PATTERN (insn), 0); i++) for (i = 0, set = 0; i < XVECLEN (PATTERN (insn), 0); i++)
if (GET_CODE (XVECEXP (PATTERN (insn), 0, i)) == SET {
&& (! find_reg_note (insn, REG_UNUSED, rtx sub = XVECEXP (PATTERN (insn), 0, i);
SET_DEST (XVECEXP (PATTERN (insn), 0, i)))
|| side_effects_p (XVECEXP (PATTERN (insn), 0, i)))) switch (GET_CODE (sub))
{ {
if (set) case USE:
case CLOBBER:
break;
case SET:
if (! find_reg_note (insn, REG_UNUSED, SET_DEST (sub))
|| side_effects_p (sub))
{
if (set)
return 0;
else
set = sub;
}
break;
default:
return 0; return 0;
else }
set = XVECEXP (PATTERN (insn), 0, i); }
}
return set; return set;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment