loop.c (strength_reduce): Handle case where loop_end is the end of the current function.

* loop.c (strength_reduce): Handle case where loop_end is the
	end of the current function.

From-SVN: r4378
This commit is contained in:
Jeff Law 1993-05-07 11:15:01 -06:00
parent 6cecf4ce3c
commit b2586fe0cb
1 changed files with 8 additions and 2 deletions

View File

@ -3148,9 +3148,15 @@ strength_reduce (scan_start, end, loop_top, insn_count,
/* Save insn immediately after the loop_end. Insns inserted after loop_end
must be put before this insn, so that they will appear in the right
order (i.e. loop order). */
order (i.e. loop order).
end_insert_before = NEXT_INSN (loop_end);
If loop_end is the end of the current function, then emit a
NOTE_INSN_DELETED after loop_end and set end_insert_before to the
dummy note insn. */
if (NEXT_INSN (loop_end) != 0)
end_insert_before = NEXT_INSN (loop_end);
else
end_insert_before = emit_note_after (NOTE_INSN_DELETED, loop_end);
/* Scan through loop to find all possible bivs. */