diff options
Diffstat (limited to 'gcc/statistics.c')
-rw-r--r-- | gcc/statistics.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/gcc/statistics.c b/gcc/statistics.c index d2f665f..b7bfd45 100644 --- a/gcc/statistics.c +++ b/gcc/statistics.c @@ -82,7 +82,10 @@ hash_statistics_free (void *p) static htab_t curr_statistics_hash (void) { - unsigned idx = current_pass->static_pass_number; + unsigned idx; + + gcc_assert (current_pass->static_pass_number >= 0); + idx = current_pass->static_pass_number; if (idx < nr_statistics_hashes && statistics_hashes[idx] != NULL) @@ -294,9 +297,12 @@ statistics_counter_event (struct function *fn, const char *id, int incr) || incr == 0) return; - counter = lookup_or_add_counter (curr_statistics_hash (), id, 0, false); - gcc_assert (!counter->histogram_p); - counter->count += incr; + if (current_pass->static_pass_number != -1) + { + counter = lookup_or_add_counter (curr_statistics_hash (), id, 0, false); + gcc_assert (!counter->histogram_p); + counter->count += incr; + } if (!statistics_dump_file || !(statistics_dump_flags & TDF_DETAILS)) |