profile.c (output_arc_profiler): Verify next_insert_after is an INSN before and after skipping a stack pop.

* profile.c (output_arc_profiler): Verify next_insert_after is an
        INSN before and after skipping a stack pop.

From-SVN: r15076
This commit is contained in:
Jim Wilson 1997-09-04 15:54:24 +00:00 committed by Jeff Law
parent d30e0541de
commit 6030b6afe7
2 changed files with 11 additions and 5 deletions

View File

@ -1,3 +1,8 @@
Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
* profile.c (output_arc_profiler): Verify next_insert_after is an
INSN before and after skipping a stack pop.
Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
* final.c (shorten_branches): Don't count the lengths of deleted

View File

@ -1536,13 +1536,14 @@ output_arc_profiler (arcno, insert_after)
rtx return_reg;
rtx next_insert_after = next_nonnote_insn (insert_after);
/* The first insn after the call may be a stack pop, skip it. */
if (GET_CODE (next_insert_after) == INSN
&& GET_CODE (PATTERN (next_insert_after)) == SET
&& SET_DEST (PATTERN (next_insert_after)) == stack_pointer_rtx)
next_insert_after = next_nonnote_insn (next_insert_after);
if (GET_CODE (next_insert_after) == INSN)
{
/* The first insn after the call may be a stack pop, skip it. */
if (GET_CODE (PATTERN (next_insert_after)) == SET
&& SET_DEST (PATTERN (next_insert_after)) == stack_pointer_rtx)
next_insert_after = next_nonnote_insn (next_insert_after);
if (GET_CODE (PATTERN (insert_after)) == SET)
return_reg = SET_DEST (PATTERN (insert_after));
else