bb-reorder.c (make_reorder_chain_1): Protect against when redundant edges are omitted.

* bb-reorder.c (make_reorder_chain_1): Protect against
when redundant edges are omitted.
* predict.c (dump_prediction): Likewise.

From-SVN: r51160
This commit is contained in:
DJ Delorie 2002-03-21 21:50:15 -05:00 committed by DJ Delorie
parent c0561434cd
commit fbc2782eff
3 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,9 @@
2002-03-21 DJ Delorie <dj@redhat.com>
* bb-reorder.c (make_reorder_chain_1): Protect against
when redundant edges are omitted.
* predict.c (dump_prediction): Likewise.
2002-03-21 Richard Henderson <rth@redhat.com>
PR target/5996

View File

@ -205,7 +205,7 @@ make_reorder_chain_1 (bb, prev)
e_taken = e;
}
next = (taken ? e_taken : e_fall)->dest;
next = ((taken && e_taken) ? e_taken : e_fall)->dest;
}
/* In the absence of a prediction, disturb things as little as possible

View File

@ -194,7 +194,7 @@ dump_prediction (predictor, probability, bb, used)
if (!rtl_dump_file)
return;
while (e->flags & EDGE_FALLTHRU)
while (e && (e->flags & EDGE_FALLTHRU))
e = e->succ_next;
fprintf (rtl_dump_file, " %s heuristics%s: %.1f%%",
@ -205,9 +205,12 @@ dump_prediction (predictor, probability, bb, used)
{
fprintf (rtl_dump_file, " exec ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, bb->count);
fprintf (rtl_dump_file, " hit ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, e->count);
fprintf (rtl_dump_file, " (%.1f%%)", e->count * 100.0 / bb->count);
if (e)
{
fprintf (rtl_dump_file, " hit ");
fprintf (rtl_dump_file, HOST_WIDEST_INT_PRINT_DEC, e->count);
fprintf (rtl_dump_file, " (%.1f%%)", e->count * 100.0 / bb->count);
}
}
fprintf (rtl_dump_file, "\n");