mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 10:29:06 +08:00
combine.c (try_combine): Before fixing up LOG_LINKS for the i3_subst_into_i2 case...
* combine.c (try_combine): Before fixing up LOG_LINKS for the i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL. From-SVN: r30762
This commit is contained in:
parent
63357d93b3
commit
e6770d3c8c
@ -1,3 +1,8 @@
|
||||
Thu Dec 2 18:59:48 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
* combine.c (try_combine): Before fixing up LOG_LINKS for the
|
||||
i3_subst_into_i2 case, check that GET_CODE (PATTERN (i2)) == PARALLEL.
|
||||
|
||||
1999-12-02 Gavin Romig-Koch <gavin@cygnus.com>
|
||||
|
||||
* invoke.texi: Document the mips option -mno-crt0
|
||||
|
@ -2448,19 +2448,22 @@ try_combine (i3, i2, i1)
|
||||
|
||||
if (i3_subst_into_i2)
|
||||
{
|
||||
for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
|
||||
if (GET_CODE (SET_DEST (XVECEXP (PATTERN (i2), 0, i))) == REG
|
||||
&& SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest
|
||||
&& ! find_reg_note (i2, REG_UNUSED,
|
||||
SET_DEST (XVECEXP (PATTERN (i2), 0, i))))
|
||||
for (temp = NEXT_INSN (i2);
|
||||
temp && (this_basic_block == n_basic_blocks - 1
|
||||
|| BLOCK_HEAD (this_basic_block) != temp);
|
||||
temp = NEXT_INSN (temp))
|
||||
if (temp != i3 && GET_RTX_CLASS (GET_CODE (temp)) == 'i')
|
||||
for (link = LOG_LINKS (temp); link; link = XEXP (link, 1))
|
||||
if (XEXP (link, 0) == i2)
|
||||
XEXP (link, 0) = i3;
|
||||
if (GET_CODE (PATTERN (i2)) == PARALLEL)
|
||||
{
|
||||
for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++)
|
||||
if (GET_CODE (SET_DEST (XVECEXP (PATTERN (i2), 0, i))) == REG
|
||||
&& SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest
|
||||
&& ! find_reg_note (i2, REG_UNUSED,
|
||||
SET_DEST (XVECEXP (PATTERN (i2), 0, i))))
|
||||
for (temp = NEXT_INSN (i2);
|
||||
temp && (this_basic_block == n_basic_blocks - 1
|
||||
|| BLOCK_HEAD (this_basic_block) != temp);
|
||||
temp = NEXT_INSN (temp))
|
||||
if (temp != i3 && GET_RTX_CLASS (GET_CODE (temp)) == 'i')
|
||||
for (link = LOG_LINKS (temp); link; link = XEXP (link, 1))
|
||||
if (XEXP (link, 0) == i2)
|
||||
XEXP (link, 0) = i3;
|
||||
}
|
||||
|
||||
if (i3notes)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user