gcov-counter.def 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /* Definitions for the gcov counters in the GNU compiler.
  2. Copyright (C) 2001-2019 Free Software Foundation, Inc.
  3. This file is part of GCC.
  4. GCC is free software; you can redistribute it and/or modify it under
  5. the terms of the GNU General Public License as published by the Free
  6. Software Foundation; either version 3, or (at your option) any later
  7. version.
  8. GCC is distributed in the hope that it will be useful, but WITHOUT ANY
  9. WARRANTY; without even the implied warranty of MERCHANTABILITY or
  10. FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
  11. for more details.
  12. You should have received a copy of the GNU General Public License
  13. along with GCC; see the file COPYING3. If not see
  14. <http://www.gnu.org/licenses/>. */
  15. /* Before including this file, define a macro:
  16. DEF_GCOV_COUNTER(COUNTER, NAME, FN_TYPE)
  17. This macro will be expanded to all supported gcov counters, their
  18. names, or the type of handler functions. FN_TYPE will be
  19. expanded to a handler function, like in gcov_merge, it is
  20. expanded to __gcov_merge ## FN_TYPE. */
  21. /* Arc transitions. */
  22. DEF_GCOV_COUNTER(GCOV_COUNTER_ARCS, "arcs", _add)
  23. /* Histogram of value inside an interval. */
  24. DEF_GCOV_COUNTER(GCOV_COUNTER_V_INTERVAL, "interval", _add)
  25. /* Histogram of exact power2 logarithm of a value. */
  26. DEF_GCOV_COUNTER(GCOV_COUNTER_V_POW2, "pow2", _add)
  27. /* The most common value of expression. */
  28. DEF_GCOV_COUNTER(GCOV_COUNTER_V_SINGLE, "single", _single)
  29. /* The most common indirect address. */
  30. DEF_GCOV_COUNTER(GCOV_COUNTER_V_INDIR, "indirect_call", _single)
  31. /* Compute average value passed to the counter. */
  32. DEF_GCOV_COUNTER(GCOV_COUNTER_AVERAGE, "average", _add)
  33. /* IOR of the all values passed to counter. */
  34. DEF_GCOV_COUNTER(GCOV_COUNTER_IOR, "ior", _ior)
  35. /* Time profile collecting first run of a function */
  36. DEF_GCOV_COUNTER(GCOV_TIME_PROFILER, "time_profiler", _time_profile)
  37. /* Top N value tracking for indirect calls. */
  38. DEF_GCOV_COUNTER(GCOV_COUNTER_ICALL_TOPNV, "indirect_call_topn", _icall_topn)