diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-04-16 15:42:19 -0600 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-04-16 15:42:19 -0600 |
commit | 3522e0f2c7c1270b7085698011c8ae61e2f29c4d (patch) | |
tree | 8b18182bceb540d42ab64ae00ab4a94b69a5d488 /gcc | |
parent | 74c5186c2aa6e5c6ca25206ecc949ec6bec62e1c (diff) | |
download | gcc-3522e0f2c7c1270b7085698011c8ae61e2f29c4d.zip gcc-3522e0f2c7c1270b7085698011c8ae61e2f29c4d.tar.gz gcc-3522e0f2c7c1270b7085698011c8ae61e2f29c4d.tar.bz2 |
flow.c (dump_sbitmap, [...]): New debugging functions.
8
* flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
functions.
* basic-block.h: Declare them.
From-SVN: r19242
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/basic-block.h | 3 | ||||
-rw-r--r-- | gcc/flow.c | 40 |
2 files changed, 43 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 01a682e..048cbde 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -190,6 +190,9 @@ extern int *uid_block_number; extern void compute_preds_succs PROTO ((int_list_ptr *, int_list_ptr *, int *, int *)); extern void dump_bb_data PROTO ((FILE *, int_list_ptr *, int_list_ptr *)); +extern void dump_sbitmap PROTO ((FILE *, sbitmap)); +extern void dump_sbitmap_vector PROTO ((FILE *, char *, char *, + sbitmap *, int)); extern void free_bb_mem PROTO ((void)); extern void free_basic_block_vars PROTO ((int)); @@ -3416,6 +3416,46 @@ dump_bb_data (file, preds, succs) fprintf (file, "\n"); } +void +dump_sbitmap (file, bmap) + FILE *file; + sbitmap bmap; +{ + int i,j,n; + int set_size = bmap->size; + int total_bits = bmap->n_bits; + + fprintf (file, " "); + for (i = n = 0; i < set_size && n < total_bits; i++) + { + for (j = 0; j < SBITMAP_ELT_BITS && n < total_bits; j++, n++) + { + if (n != 0 && n % 10 == 0) + fprintf (file, " "); + fprintf (file, "%d", (bmap->elms[i] & (1L << j)) != 0); + } + } + fprintf (file, "\n"); +} + +void +dump_sbitmap_vector (file, title, subtitle, bmaps, n_maps) + FILE *file; + char *title, *subtitle; + sbitmap *bmaps; + int n_maps; +{ + int bb; + + fprintf (file, "%s\n", title); + for (bb = 0; bb < n_maps; bb++) + { + fprintf (file, "%s %d\n", subtitle, bb); + dump_sbitmap (file, bmaps[bb]); + } + fprintf (file, "\n"); +} + /* Free basic block data storage. */ void |