From e3f6ee2303845a686d15fdbf83a9e5e7275f7a9d Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Tue, 1 Dec 1998 23:19:12 +0000 Subject: [PATCH] flow.c (delete_block): Call set_last_insn if we end up deleting the last insn in the rtl chain. * flow.c (delete_block): Call set_last_insn if we end up deleting the last insn in the rtl chain. From-SVN: r24052 --- gcc/ChangeLog | 3 +++ gcc/flow.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f571a34ff1..9b51c349562 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -59,6 +59,9 @@ Tue Dec 1 15:03:30 1998 Herman A.J. ten Brugge Tue Dec 1 15:20:44 1998 Jeffrey A Law (law@cygnus.com) + * flow.c (delete_block): Call set_last_insn if we end up deleting the + last insn in the rtl chain. + * reload1.c (reload): Do not set reload_completed or split insns here. Instead... * toplev.c (rest_of_compilation): Set reload_completed after diff --git a/gcc/flow.c b/gcc/flow.c index 510c011677f..825bf22294b 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -1018,12 +1018,16 @@ delete_block (i) NEXT_INSN (PREV_INSN (basic_block_head[i])) = insn; if (insn != 0) PREV_INSN (insn) = PREV_INSN (basic_block_head[i]); + else + set_last_insn (PREV_INSN (basic_block_head[i])); } else { NEXT_INSN (PREV_INSN (basic_block_head[i])) = kept_head; if (insn != 0) PREV_INSN (insn) = kept_tail; + else + set_last_insn (kept_tail); PREV_INSN (kept_head) = PREV_INSN (basic_block_head[i]); NEXT_INSN (kept_tail) = insn; -- 2.30.2