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
This commit is contained in:
Jeffrey A Law 1999-11-15 07:01:22 +00:00 committed by Jeff Law
parent b71a2ff8fc
commit 38e90e6c3b
4 changed files with 5 additions and 170 deletions

View File

@ -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

View File

@ -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));

View File

@ -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

View File

@ -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. */