X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fgcov-io.h;h=a874b32dc629d20a2ab3480a4534d49bf6b2ef89;hb=c40c91207ed7775fbc0e7affe3ff9cf0c61995fa;hp=e819eb3fa2ac33fb35bbe1a165ac2cb08023bade;hpb=167b550bfc882bd2fd23b33ca65ad2a6be197771;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h index e819eb3fa2a..a874b32dc62 100644 --- a/gcc/gcov-io.h +++ b/gcc/gcov-io.h @@ -329,16 +329,21 @@ typedef HOST_WIDEST_INT gcov_type; consecutive values of expression. */ #define GCOV_COUNTER_V_INDIR 5 /* The most common indirect address */ -#define GCOV_LAST_VALUE_COUNTER 5 /* The last of counters used for value +#define GCOV_COUNTER_AVERAGE 6 /* Compute average value passed to the + counter. */ +#define GCOV_COUNTER_IOR 7 /* IOR of the all values passed to + counter. */ +#define GCOV_LAST_VALUE_COUNTER 7 /* The last of counters used for value profiling. */ -#define GCOV_COUNTERS 6 +#define GCOV_COUNTERS 8 /* Number of counters used for value profiling. */ #define GCOV_N_VALUE_COUNTERS \ (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1) /* A list of human readable names of the counters */ -#define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", "delta", "indirect_call"} +#define GCOV_COUNTER_NAMES {"arcs", "interval", "pow2", "single", \ + "delta","indirect_call", "average", "ior"} /* Names of merge functions for counters. */ #define GCOV_MERGE_FUNCTIONS {"__gcov_merge_add", \ @@ -346,7 +351,9 @@ typedef HOST_WIDEST_INT gcov_type; "__gcov_merge_add", \ "__gcov_merge_single", \ "__gcov_merge_delta", \ - "__gcov_merge_single" } + "__gcov_merge_single", \ + "__gcov_merge_add", \ + "__gcov_merge_ior"} /* Convert a counter index to a tag. */ #define GCOV_TAG_FOR_COUNTER(COUNT) \ @@ -464,6 +471,10 @@ extern void __gcov_merge_delta (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; extern void __gcov_interval_profiler (gcov_type *, gcov_type, int, unsigned); extern void __gcov_pow2_profiler (gcov_type *, gcov_type); extern void __gcov_one_value_profiler (gcov_type *, gcov_type); +extern void __gcov_indirect_call_profiler (gcov_type *, gcov_type, void *, void *); +extern void __gcov_average_profiler (gcov_type *, gcov_type); +extern void __gcov_ior_profiler (gcov_type *, gcov_type); +extern void __gcov_merge_ior (gcov_type *, unsigned); #ifndef inhibit_libc /* The wrappers around some library functions.. */