cse.c (cse_insn): Fix loop which deletes insns after a jump that has become an unconditional jump.
* cse.c (cse_insn): Fix loop which deletes insns after a jump that has become an unconditional jump. From-SVN: r28388
This commit is contained in:
parent
63429dd7f8
commit
eec9ef57bf
2 changed files with 7 additions and 1 deletions
|
@ -1,5 +1,8 @@
|
||||||
Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
|
Sun Aug 1 22:46:42 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* cse.c (cse_insn): Fix loop which deletes insns after a jump
|
||||||
|
that has become an unconditional jump.
|
||||||
|
|
||||||
* m68k.c (output_function_prologue): Fix typo in CPU32 case.
|
* m68k.c (output_function_prologue): Fix typo in CPU32 case.
|
||||||
(output_function_epilogue): Similarly.
|
(output_function_epilogue): Similarly.
|
||||||
|
|
||||||
|
|
|
@ -7424,9 +7424,12 @@ cse_insn (insn, libcall_insn)
|
||||||
&& GET_CODE (NEXT_INSN (p)) != BARRIER
|
&& GET_CODE (NEXT_INSN (p)) != BARRIER
|
||||||
&& GET_CODE (NEXT_INSN (p)) != CODE_LABEL)
|
&& GET_CODE (NEXT_INSN (p)) != CODE_LABEL)
|
||||||
{
|
{
|
||||||
|
/* Note, we must update P with the return value from
|
||||||
|
delete_insn, otherwise we could get an infinite loop
|
||||||
|
if NEXT_INSN (p) had INSN_DELETED_P set. */
|
||||||
if (GET_CODE (NEXT_INSN (p)) != NOTE
|
if (GET_CODE (NEXT_INSN (p)) != NOTE
|
||||||
|| NOTE_LINE_NUMBER (NEXT_INSN (p)) == NOTE_INSN_DELETED)
|
|| NOTE_LINE_NUMBER (NEXT_INSN (p)) == NOTE_INSN_DELETED)
|
||||||
delete_insn (NEXT_INSN (p));
|
p = delete_insn (NEXT_INSN (p));
|
||||||
else
|
else
|
||||||
p = NEXT_INSN (p);
|
p = NEXT_INSN (p);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue