From b2586fe0cbe611faf62d1c876afb306a897d8571 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Fri, 7 May 1993 11:15:01 -0600 Subject: [PATCH] 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 --- gcc/loop.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/loop.c b/gcc/loop.c index 5fb4aba0eac..7c72e8c72b8 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -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. */ -- 2.30.2