Commit eec9ef57 by Jeffrey A Law Committed by Jeff Law

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
parent 63429dd7
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) ...@@ -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);
} }
......
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