emit-rtl.c (try_split): Avoid infinite loop if the split results in a sequence that contains the...
* emit-rtl.c (try_split): Avoid infinite loop if the split results in a sequence that contains the original insn. From-SVN: r33143
This commit is contained in:
parent
460f6b7194
commit
4b5e8abe18
@ -1,3 +1,8 @@
|
||||
Thu Apr 13 19:39:56 2000 Clinton Popetz <cpopetz@cygnus.com>
|
||||
|
||||
* emit-rtl.c (try_split): Avoid infinite loop if the split
|
||||
results in a sequence that contains the original insn.
|
||||
|
||||
2000-04-13 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* config/mips/mips.c (expand_block_move): Pass alignment
|
||||
|
@ -2336,10 +2336,18 @@ try_split (pat, trial, last)
|
||||
it, in turn, will be split (SFmode on the 29k is an example). */
|
||||
if (GET_CODE (seq) == SEQUENCE)
|
||||
{
|
||||
int i;
|
||||
|
||||
/* Avoid infinite loop if any insn of the result matches
|
||||
the original pattern. */
|
||||
for (i = 0; i < XVECLEN (seq, 0); i++)
|
||||
if (GET_CODE (XVECEXP (seq, 0, i)) == INSN
|
||||
&& rtx_equal_p (PATTERN (XVECEXP (seq, 0, i)), pat))
|
||||
return trial;
|
||||
|
||||
/* If we are splitting a JUMP_INSN, look for the JUMP_INSN in
|
||||
SEQ and copy our JUMP_LABEL to it. If JUMP_LABEL is non-zero,
|
||||
increment the usage count so we don't delete the label. */
|
||||
int i;
|
||||
|
||||
if (GET_CODE (trial) == JUMP_INSN)
|
||||
for (i = XVECLEN (seq, 0) - 1; i >= 0; i--)
|
||||
|
Loading…
Reference in New Issue
Block a user