* flow.c (delete_block): Call set_last_insn if we end up deleting the
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Dec 1998 23:19:12 +0000 (23:19 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 1 Dec 1998 23:19:12 +0000 (23:19 +0000)
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
gcc/flow.c

index 8f571a3..9b51c34 100644 (file)
@@ -59,6 +59,9 @@ Tue Dec  1 15:03:30 1998  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
        
 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
index 510c011..825bf22 100644 (file)
@@ -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;