GCC Middle and Back End API Reference
|
#include "config.h"
#include "system.h"
#include "coretypes.h"
#include "tm.h"
#include "version.h"
#include "intl.h"
#include "diagnostic.h"
#include <getopt.h>
#include "gcov-io.h"
#include "gcov-io.cc"
#include "gcov-counter.def"
Data Structures | |
struct | tag_format |
Macros | |
#define | INCLUDE_VECTOR |
#define | IN_GCOV (-1) |
#define | VALUE_PADDING_PREFIX " " |
#define | VALUE_PREFIX "%2d: " |
#define | DEF_GCOV_COUNTER(COUNTER, NAME, MERGE_FN) |
Typedefs | |
typedef struct tag_format | tag_format_t |
Functions | |
static void | dump_gcov_file (const char *) |
static void | print_prefix (const char *, unsigned, gcov_position_t) |
static void | print_usage (void) |
static void | print_version (void) |
static void | tag_function (const char *, unsigned, int, unsigned) |
static void | tag_blocks (const char *, unsigned, int, unsigned) |
static void | tag_arcs (const char *, unsigned, int, unsigned) |
static void | tag_conditions (const char *, unsigned, int, unsigned) |
static void | tag_lines (const char *, unsigned, int, unsigned) |
static void | tag_counters (const char *, unsigned, int, unsigned) |
static void | tag_summary (const char *, unsigned, int, unsigned) |
int | main (int, char **) |
Variables | |
static int | flag_dump_contents = 0 |
static int | flag_dump_positions = 0 |
static int | flag_dump_raw = 0 |
static int | flag_dump_stable = 0 |
static const struct option | options [] |
static const tag_format_t | tag_table [] |
#define DEF_GCOV_COUNTER | ( | COUNTER, | |
NAME, | |||
MERGE_FN ) |
#define IN_GCOV (-1) |
#define INCLUDE_VECTOR |
Dump a gcov file, for debugging use. Copyright (C) 2002-2024 Free Software Foundation, Inc. Contributed by Nathan Sidwell <nathan@codesourcery.com> Gcov is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. Gcov is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Gcov; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
#define VALUE_PADDING_PREFIX " " |
Referenced by tag_arcs(), tag_conditions(), tag_counters(), and tag_lines().
#define VALUE_PREFIX "%2d: " |
Referenced by tag_counters().
typedef struct tag_format tag_format_t |
|
static |
References error(), flag_dump_contents, gcov_close(), GCOV_DATA_MAGIC, gcov_is_error(), gcov_magic(), GCOV_NOTE_MAGIC, gcov_open(), gcov_position(), gcov_read_string(), gcov_read_unsigned(), gcov_sync(), GCOV_TAG_IS_COUNTER, GCOV_TAG_IS_SUBTAG, GCOV_TAG_MASK, GCOV_UNSIGNED2STRING, tag_format::name, print_prefix(), tag_format::proc, tag_format::tag, and tag_table.
Referenced by main().
|
extern |
|
static |
References flag_dump_positions.
Referenced by dump_gcov_file(), tag_arcs(), tag_conditions(), tag_counters(), and tag_lines().
|
static |
Referenced by main(), main(), process_args(), and process_args().
|
static |
Referenced by main().
|
static |
|
static |
References gcov_read_unsigned().
|
static |
Print number of conditions (not outcomes, i.e. if (x && y) is 2, not 4).
References flag_dump_contents, gcov_position(), gcov_read_unsigned(), GCOV_TAG_CONDS_NUM, print_prefix(), and VALUE_PADDING_PREFIX.
|
static |
Definitions for the gcov counters in the GNU compiler. Copyright (C) 2001-2024 Free Software Foundation, Inc. This file is part of GCC. GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>.
Before including this file, define a macro: DEF_GCOV_COUNTER(COUNTER, NAME, FN_TYPE) This macro will be expanded to all supported gcov counters, their names, or the type of handler functions. FN_TYPE will be expanded to a handler function, like in gcov_merge, it is expanded to __gcov_merge ## FN_TYPE.
Arc transitions.
Histogram of value inside an interval.
Histogram of exact power2 logarithm of a value.
The most common value of expression.
The most common indirect address.
Compute average value passed to the counter.
IOR of the all values passed to counter.
Time profile collecting first run of a function
Conditions. The counter is interpreted as a bit-set.
References abort, flag_dump_contents, flag_dump_raw, flag_dump_stable, GCOV_COUNTER_FOR_TAG, gcov_position(), gcov_read_counter(), GCOV_TAG_COUNTER_NUM, i, PRId64, print_prefix(), VALUE_PADDING_PREFIX, and VALUE_PREFIX.
|
static |
References gcov_position(), gcov_read_string(), gcov_read_unsigned(), and line_start().
|
static |
References flag_dump_contents, gcov_position(), gcov_read_string(), gcov_read_unsigned(), NULL, print_prefix(), and VALUE_PADDING_PREFIX.
|
static |
References gcov_read_summary(), PRId64, gcov_summary::runs, and gcov_summary::sum_max.
|
static |
Referenced by dump_gcov_file(), main(), tag_arcs(), tag_conditions(), tag_counters(), and tag_lines().
|
static |
Referenced by main(), and print_prefix().
|
static |
Referenced by main(), and tag_counters().
|
static |
Referenced by main(), and tag_counters().
|
static |
|
static |
Referenced by dump_gcov_file().