* flow.c (merge_blocks_move_predecessor_nojumps): Cope
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 1999 03:24:24 +0000 (03:24 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 27 Oct 1999 03:24:24 +0000 (03:24 +0000)
        with already adjacent blocks, but no fallthru.
        (merge_blocks_move_successor_nojumps): Simplify.
        (debug_flow_info): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30203 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/flow.c

index bbec9cf..49d4fe2 100644 (file)
@@ -1,3 +1,13 @@
+Tue Oct 26 20:21:02 1999  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (merge_blocks_move_predecessor_nojumps): Cope
+       with already adjacent blocks, but no fallthru.
+       (merge_blocks_move_successor_nojumps): Simplify.
+       (debug_flow_info): New.
+
+       * toplev.c (rest_of_compilation): Open jump1 dump file before
+       jump and close after, as opposed to just using dump_rtl.
+
 Wed Oct 27 03:09:23 1999  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * reload.h (earlyclobber_operand_p): Declare.
index 35a8ad5..8ff7b92 100644 (file)
@@ -2011,12 +2011,11 @@ static int
 merge_blocks_move_predecessor_nojumps (a, b)
      basic_block a, b;
 {
-  rtx start, end, insertpoint, barrier;
+  rtx start, end, barrier;
   int index;
 
   start = a->head;
   end = a->end;
-  insertpoint = PREV_INSN (b->head);
 
   /* We want to delete the BARRIER after the end of the insns we are
      going to move.  If we don't find a BARRIER, then do nothing.  This
@@ -2042,7 +2041,8 @@ merge_blocks_move_predecessor_nojumps (a, b)
   start = squeeze_notes (start, end);
 
   /* Scramble the insn chain.  */
-  reorder_insns (start, end, insertpoint);
+  if (end != PREV_INSN (b->head))
+    reorder_insns (start, end, PREV_INSN (b->head));
 
   if (rtl_dump_file)
     {
@@ -2073,11 +2073,10 @@ static int
 merge_blocks_move_successor_nojumps (a, b)
      basic_block a, b;
 {
-  rtx start, end, insertpoint, barrier;
+  rtx start, end, barrier;
 
   start = b->head;
   end = b->end;
-  insertpoint = a->end;
 
   /* We want to delete the BARRIER after the end of the insns we are
      going to move.  If we don't find a BARRIER, then do nothing.  This
@@ -2103,7 +2102,7 @@ merge_blocks_move_successor_nojumps (a, b)
   start = squeeze_notes (start, end);
 
   /* Scramble the insn chain.  */
-  reorder_insns (start, end, insertpoint);
+  reorder_insns (start, end, a->end);
 
   /* Now blocks A and B are contiguous.  Merge them.  */
   merge_blocks_nomove (a, b);
@@ -4966,6 +4965,12 @@ dump_flow_info (file)
   putc('\n', file);
 }
 
+void
+debug_flow_info ()
+{
+  dump_flow_info (stderr);
+}
+
 static void
 dump_edge_info (file, e, do_succ)
      FILE *file;