This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

cfgcleanup rtl dump patchlet


If you wait until after merge_blocks_nomove, B will have been expunged,
which sets the block number to -3.  Which isn't so useful as debug info.

Mainline only.


r~


        * cfgcleanup.c (merge_blocks_move_successor_nojumps): Emit dump
        info before expunging the block.

Index: cfgcleanup.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgcleanup.c,v
retrieving revision 1.48
diff -c -p -d -r1.48 cfgcleanup.c
*** cfgcleanup.c	10 Apr 2002 00:15:58 -0000	1.48
--- cfgcleanup.c	1 May 2002 20:19:04 -0000
*************** merge_blocks_move_successor_nojumps (a, 
*** 775,786 ****
    /* Restore the real end of b.  */
    b->end = real_b_end;
  
-   /* Now blocks A and B are contiguous.  Merge them.  */
-   merge_blocks_nomove (a, b);
- 
    if (rtl_dump_file)
      fprintf (rtl_dump_file, "Moved block %d after %d and merged.\n",
  	     b->index, a->index);
  }
  
  /* Attempt to merge basic blocks that are potentially non-adjacent.
--- 775,786 ----
    /* Restore the real end of b.  */
    b->end = real_b_end;
  
    if (rtl_dump_file)
      fprintf (rtl_dump_file, "Moved block %d after %d and merged.\n",
  	     b->index, a->index);
+ 
+   /* Now blocks A and B are contiguous.  Merge them.  */
+   merge_blocks_nomove (a, b);
  }
  
  /* Attempt to merge basic blocks that are potentially non-adjacent.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]