diff options
author | Jeffrey A Law <law@cygnus.com> | 1999-11-15 07:01:22 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-11-15 00:01:22 -0700 |
commit | 38e90e6c3bf7ff3c4a80f95a8c405fc2a69745a7 (patch) | |
tree | 56c2aa15712f8c8be8e5efa3256fc0cf80e4178f | |
parent | b71a2ff8fc8d43ee51b3f7a5d646c6f812954359 (diff) | |
download | gcc-38e90e6c3bf7ff3c4a80f95a8c405fc2a69745a7.zip gcc-38e90e6c3bf7ff3c4a80f95a8c405fc2a69745a7.tar.gz gcc-38e90e6c3bf7ff3c4a80f95a8c405fc2a69745a7.tar.bz2 |
basic-block.h (dump_bb_data): Remove declaration.
* basic-block.h (dump_bb_data): Remove declaration.
* flow.c (dump_bb_data): Remove function.
* sbitmap.c (sbitmap_intersect_of_predsucc): Delete function.
(sbitmap_union_of_predsucc): Likewise.
From-SVN: r30530
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/basic-block.h | 2 | ||||
-rw-r--r-- | gcc/flow.c | 48 | ||||
-rw-r--r-- | gcc/sbitmap.c | 120 |
4 files changed, 5 insertions, 170 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4222fd6..a5845e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ Sun Nov 14 23:11:05 1999 Jeffrey A Law (law@cygnus.com) + * basic-block.h (dump_bb_data): Remove declaration. + * flow.c (dump_bb_data): Remove function. + * sbitmap.c (sbitmap_intersect_of_predsucc): Delete function. + (sbitmap_union_of_predsucc): Likewise. + * gcse.c (delete_null_pointer_checks_1): Kill unused s_preds argument. All callers changed. (delete_null_pointer_checks_1): No longer need to compute the diff --git a/gcc/basic-block.h b/gcc/basic-block.h index c5ea81c..c511bc6 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -247,8 +247,6 @@ extern void compute_bb_for_insn PROTO ((int)); extern void set_block_for_insn PROTO ((rtx, basic_block)); extern void set_block_num PROTO ((rtx, int)); -extern void dump_bb_data PROTO ((FILE *, int_list_ptr *, - int_list_ptr *, int)); extern void free_bb_mem PROTO ((void)); extern void free_basic_block_vars PROTO ((int)); @@ -5261,54 +5261,6 @@ compute_preds_succs (s_preds, s_succs, num_preds, num_succs) num_preds, num_succs); } -void -dump_bb_data (file, preds, succs, live_info) - FILE *file; - int_list_ptr *preds; - int_list_ptr *succs; - int live_info; -{ - int bb; - int_list_ptr p; - - fprintf (file, "BB data\n\n"); - for (bb = 0; bb < n_basic_blocks; bb++) - { - fprintf (file, "BB %d, start %d, end %d\n", bb, - INSN_UID (BLOCK_HEAD (bb)), INSN_UID (BLOCK_END (bb))); - fprintf (file, " preds:"); - for (p = preds[bb]; p != NULL; p = p->next) - { - int pred_bb = INT_LIST_VAL (p); - if (pred_bb == ENTRY_BLOCK) - fprintf (file, " entry"); - else - fprintf (file, " %d", pred_bb); - } - fprintf (file, "\n"); - fprintf (file, " succs:"); - for (p = succs[bb]; p != NULL; p = p->next) - { - int succ_bb = INT_LIST_VAL (p); - if (succ_bb == EXIT_BLOCK) - fprintf (file, " exit"); - else - fprintf (file, " %d", succ_bb); - } - if (live_info) - { - int regno; - fprintf (file, "\nRegisters live at start:"); - for (regno = 0; regno < max_regno; regno++) - if (REGNO_REG_SET_P (BASIC_BLOCK (bb)->global_live_at_start, regno)) - fprintf (file, " %d", regno); - fprintf (file, "\n"); - } - fprintf (file, "\n"); - } - fprintf (file, "\n"); -} - /* Free basic block data storage. */ void diff --git a/gcc/sbitmap.c b/gcc/sbitmap.c index 8aae23a..4cc7c85 100644 --- a/gcc/sbitmap.c +++ b/gcc/sbitmap.c @@ -318,126 +318,6 @@ sbitmap_a_and_b_or_c (dst, a, b, c) return changed; } -/* Set the bitmap DST to the intersection of SRC of all predecessors or - successors of block number BB (PRED_SUCC says which). */ - -void -sbitmap_intersect_of_predsucc (dst, src, bb, pred_succ) - sbitmap dst; - sbitmap *src; - int bb; - int_list_ptr *pred_succ; -{ - int_list_ptr ps; - int ps_bb; - int set_size = dst->size; - - ps = pred_succ[bb]; - - /* It is possible that there are no predecessors(/successors). - This can happen for example in unreachable code. */ - - if (ps == NULL) - { - /* In APL-speak this is the `and' reduction of the empty set and thus - the result is the identity for `and'. */ - sbitmap_ones (dst); - return; - } - - /* Set result to first predecessor/successor. */ - - for ( ; ps != NULL; ps = ps->next) - { - ps_bb = INT_LIST_VAL (ps); - if (ps_bb == ENTRY_BLOCK || ps_bb == EXIT_BLOCK) - continue; - sbitmap_copy (dst, src[ps_bb]); - /* Break out since we're only doing first predecessor. */ - break; - } - if (ps == NULL) - return; - - /* Now do the remaining predecessors/successors. */ - - for (ps = ps->next; ps != NULL; ps = ps->next) - { - int i; - sbitmap_ptr p,r; - - ps_bb = INT_LIST_VAL (ps); - if (ps_bb == ENTRY_BLOCK || ps_bb == EXIT_BLOCK) - continue; - - p = src[ps_bb]->elms; - r = dst->elms; - - for (i = 0; i < set_size; i++) - *r++ &= *p++; - } -} - -/* Set the bitmap DST to the union of SRC of all predecessors/successors of - block number BB. */ - -void -sbitmap_union_of_predsucc (dst, src, bb, pred_succ) - sbitmap dst; - sbitmap *src; - int bb; - int_list_ptr *pred_succ; -{ - int_list_ptr ps; - int ps_bb; - int set_size = dst->size; - - ps = pred_succ[bb]; - - /* It is possible that there are no predecessors(/successors). - This can happen for example in unreachable code. */ - - if (ps == NULL) - { - /* In APL-speak this is the `or' reduction of the empty set and thus - the result is the identity for `or'. */ - sbitmap_zero (dst); - return; - } - - /* Set result to first predecessor/successor. */ - - for ( ; ps != NULL; ps = ps->next) - { - ps_bb = INT_LIST_VAL (ps); - if (ps_bb == ENTRY_BLOCK || ps_bb == EXIT_BLOCK) - continue; - sbitmap_copy (dst, src[ps_bb]); - /* Break out since we're only doing first predecessor. */ - break; - } - if (ps == NULL) - return; - - /* Now do the remaining predecessors/successors. */ - - for (ps = ps->next; ps != NULL; ps = ps->next) - { - int i; - sbitmap_ptr p,r; - - ps_bb = INT_LIST_VAL (ps); - if (ps_bb == ENTRY_BLOCK || ps_bb == EXIT_BLOCK) - continue; - - p = src[ps_bb]->elms; - r = dst->elms; - - for (i = 0; i < set_size; i++) - *r++ |= *p++; - } -} - /* Set the bitmap DST to the intersection of SRC of successors of block number BB, using the new flow graph structures. */ |