aboutsummaryrefslogtreecommitdiff
path: root/gcc/statistics.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/statistics.c')
-rw-r--r--gcc/statistics.c14
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))