diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/Makefile.in | 2 | ||||
-rw-r--r-- | gcc/gcov-counter.def | 3 | ||||
-rw-r--r-- | gcc/gcov-io.h | 6 |
3 files changed, 10 insertions, 1 deletions
diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 1dba76f..e4c791f 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -2574,7 +2574,7 @@ gcov-dump$(exeext): $(GCOV_DUMP_OBJS) $(LIBDEPS) GCOV_TOOL_DEP_FILES = $(srcdir)/../libgcc/libgcov-util.c gcov-io.c $(GCOV_IO_H) \ $(srcdir)/../libgcc/libgcov-driver.c $(srcdir)/../libgcc/libgcov-driver-system.c \ - $(srcdir)/../libgcc/libgcov-merge.c \ + $(srcdir)/../libgcc/libgcov-merge.c $(srcdir)/../libgcc/libgcov.h \ $(SYSTEM_H) coretypes.h $(TM_H) $(CONFIG_H) version.h intl.h $(DIAGNOSTIC_H) libgcov-util.o: $(srcdir)/../libgcc/libgcov-util.c $(GCOV_TOOL_DEP_FILES) +$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) -o $@ $< diff --git a/gcc/gcov-counter.def b/gcc/gcov-counter.def index 77affd4..b1831ea 100644 --- a/gcc/gcov-counter.def +++ b/gcc/gcov-counter.def @@ -52,3 +52,6 @@ DEF_GCOV_COUNTER(GCOV_COUNTER_IOR, "ior", _ior) /* Time profile collecting first run of a function */ DEF_GCOV_COUNTER(GCOV_TIME_PROFILER, "time_profiler", _time_profile) + +/* Top N value tracking for indirect calls. */ +DEF_GCOV_COUNTER(GCOV_COUNTER_ICALL_TOPNV, "indirect_call_topn", _icall_topn) diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h index 16e6c71..6fc1268 100644 --- a/gcc/gcov-io.h +++ b/gcc/gcov-io.h @@ -270,6 +270,12 @@ GCOV_COUNTERS #define GCOV_N_VALUE_COUNTERS \ (GCOV_LAST_VALUE_COUNTER - GCOV_FIRST_VALUE_COUNTER + 1) +/* The number of hottest callees to be tracked. */ +#define GCOV_ICALL_TOPN_VAL 2 + +/* The number of counter entries per icall callsite. */ +#define GCOV_ICALL_TOPN_NCOUNTS (1 + GCOV_ICALL_TOPN_VAL * 4) + /* Convert a counter index to a tag. */ #define GCOV_TAG_FOR_COUNTER(COUNT) \ (GCOV_TAG_COUNTER_BASE + ((gcov_unsigned_t)(COUNT) << 17)) |