From 137c7d42ef172ccb1ced9a9bd212e207eb0bd037 Mon Sep 17 00:00:00 2001 From: law Date: Tue, 1 Dec 1998 23:19:12 +0000 Subject: * flow.c (delete_block): Call set_last_insn if we end up deleting the last insn in the rtl chain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@24052 138bc75d-0d04-0410-961f-82ee72b054a4 --- 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; -- cgit v1.2.1