diff options
Diffstat (limited to 'gcc/profile.c')
-rw-r--r-- | gcc/profile.c | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/gcc/profile.c b/gcc/profile.c index 2200e76399d..2472ab1f035 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -149,8 +149,7 @@ instrument_edges (struct edge_list *el) if (!inf->ignore && !inf->on_tree) { - if (e->flags & EDGE_ABNORMAL) - abort (); + gcc_assert (!(e->flags & EDGE_ABNORMAL)); if (dump_file) fprintf (dump_file, "Edge %d to %d instrumented%s\n", e->src->index, e->dest->index, @@ -196,7 +195,7 @@ instrument_values (histogram_values values) break; default: - abort (); + gcc_unreachable (); } if (!coverage_counter_alloc (t, hist->n_counters)) continue; @@ -220,7 +219,7 @@ instrument_values (histogram_values values) break; default: - abort (); + gcc_unreachable (); } } } @@ -420,8 +419,7 @@ compute_branch_probabilities (void) /* Calculate count for remaining edge by conservation. */ total = bb->count - total; - if (! e) - abort (); + gcc_assert (e); EDGE_INFO (e)->count_valid = 1; e->count = total; bi->succ_count--; @@ -447,8 +445,7 @@ compute_branch_probabilities (void) /* Calculate count for remaining edge by conservation. */ total = bb->count - total + e->count; - if (! e) - abort (); + gcc_assert (e); EDGE_INFO (e)->count_valid = 1; e->count = total; bi->pred_count--; @@ -466,17 +463,18 @@ compute_branch_probabilities (void) if (dump_file) fprintf (dump_file, "Graph solving took %d passes.\n\n", passes); +#ifdef ENABLE_CHECKING /* If the graph has been correctly solved, every block will have a succ and pred count of zero. */ FOR_EACH_BB (bb) { - if (BB_INFO (bb)->succ_count || BB_INFO (bb)->pred_count) - abort (); + gcc_assert (!BB_INFO (bb)->succ_count); + gcc_assert (!BB_INFO (bb)->pred_count); } - +#endif + /* For every edge, calculate its branch probability and add a reg_note to the branch insn to indicate this. */ - for (i = 0; i < 20; i++) hist_br_prob[i] = 0; num_never_executed = 0; @@ -984,8 +982,7 @@ branch_prob (void) { unsigned n_instrumented = instrument_edges (el); - if (n_instrumented != num_instrumented) - abort (); + gcc_assert (n_instrumented == num_instrumented); if (flag_profile_values) instrument_values (values); @@ -1044,8 +1041,7 @@ union_groups (basic_block bb1, basic_block bb2) /* ??? I don't have a place for the rank field. OK. Lets go w/o it, this code is unlikely going to be performance problem anyway. */ - if (bb1g == bb2g) - abort (); + gcc_assert (bb1g != bb2g); bb1g->aux = bb2g; } @@ -1190,8 +1186,7 @@ void tree_register_profile_hooks (void) { profile_hooks = &tree_profile_hooks; - if (!ir_type ()) - abort (); + gcc_assert (ir_type ()); } /* Set up hooks to enable RTL-based profiling. */ @@ -1200,6 +1195,5 @@ void rtl_register_profile_hooks (void) { profile_hooks = &rtl_profile_hooks; - if (ir_type ()) - abort (); + gcc_assert (!ir_type ()); } |