From 605e86fa3f9faa7f244ead20033aa1263d635c21 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Tue, 30 Jul 2013 14:00:42 +0200 Subject: [PATCH] profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters. * profile.c (compute_value_histograms): Do not ICE when there is mismatch only on some counters. Co-Authored-By: Martin Liska From-SVN: r201333 --- gcc/ChangeLog | 6 ++++++ gcc/profile.c | 8 ++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d073a190471..b99e074067c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2013-07-30 Jan Hubicka + Martin Liska + + * profile.c (compute_value_histograms): Do not ICE when + there is mismatch only on some counters. + 2013-07-30 Zhenqiang Chen PR rtl-optimization/57637 diff --git a/gcc/profile.c b/gcc/profile.c index b8333987e02..4ad7c9f3ab1 100644 --- a/gcc/profile.c +++ b/gcc/profile.c @@ -885,12 +885,16 @@ compute_value_histograms (histogram_values values, unsigned cfg_checksum, t = (int) hist->type; aact_count = act_count[t]; - act_count[t] += hist->n_counters; + if (act_count[t]) + act_count[t] += hist->n_counters; gimple_add_histogram_value (cfun, stmt, hist); hist->hvalue.counters = XNEWVEC (gcov_type, hist->n_counters); for (j = 0; j < hist->n_counters; j++) - hist->hvalue.counters[j] = aact_count[j]; + if (aact_count[t]) + hist->hvalue.counters[j] = aact_count[j]; + else + hist->hvalue.counters[j] = 0; } for (t = 0; t < GCOV_N_VALUE_COUNTERS; t++) -- 2.30.2