This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
cfgcleanup rtl dump patchlet
- From: Richard Henderson <rth at redhat dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 1 May 2002 13:21:39 -0700
- Subject: 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.