GCC Middle and Back End API Reference
|
#include "timevar.def"
Go to the source code of this file.
Data Structures | |
struct | timevar_time_def |
Macros | |
#define | DEFTIMEVAR(identifier__, name__) identifier__, |
Enumerations | |
enum | timevar_id_t { TV_NONE, DEFTIMEVAR } |
Functions | |
void | timevar_init (void) |
void | timevar_push_1 (timevar_id_t) |
void | timevar_pop_1 (timevar_id_t) |
void | timevar_start (timevar_id_t) |
void | timevar_stop (timevar_id_t) |
bool | timevar_cond_start (timevar_id_t) |
void | timevar_cond_stop (timevar_id_t, bool) |
void | timevar_print (FILE *) |
static void | timevar_push () |
static void | timevar_pop () |
void | print_time (const char *, long) |
Variables | |
bool | timevar_enable |
size_t | timevar_ggc_mem_total |
#define DEFTIMEVAR | ( | identifier__, | |
name__ | |||
) | identifier__, |
An enumeration of timing variable identifiers. Constructed from the contents of timevar.def.
enum timevar_id_t |
TV_NONE | |
DEFTIMEVAR |
This file contains the definitions for timing variables used to measure run-time performance of the compiler. Copyright (C) 2000-2013 Free Software Foundation, Inc. Contributed by Alex Samuel samue l@co desou rcer y.com 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/. This file contains timing variable definitions, used by timevar.h and timevar.c. Syntax: DEFTIMEVAR (id, name) where ID is the enumeral value used to identify the timing variable, and NAME is a character string describing its purpose. The total execution time. |
void print_time | ( | const char * | , |
long | |||
) |
bool timevar_cond_start | ( | timevar_id_t | ) |
void timevar_cond_stop | ( | timevar_id_t | , |
bool | |||
) |
void timevar_init | ( | void | ) |
Initialize timing variables.
Zero all elapsed times.
Initialize the names of timing variables.
This file contains the definitions for timing variables used to measure run-time performance of the compiler. Copyright (C) 2000-2013 Free Software Foundation, Inc. Contributed by Alex Samuel samue l@co desou rcer y.com
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/.
This file contains timing variable definitions, used by timevar.h and timevar.c.
Syntax:
DEFTIMEVAR (id, name)
where ID is the enumeral value used to identify the timing variable, and NAME is a character string describing its purpose.
The total execution time.
The compiler phases. These must be mutually exclusive. Ideally, they would sum to near the total time.
Concurrent timers, indicated by "|".
Time spent garbage-collecting.
Time spent generating dump files.
Time spent saving/restoring PCH state.
Time spent by constructing CFG.
Time spent by cleaning up CFG.
Time spent in dataflow problems.
Timing in various stages of the compiler.
Everything else in rest_of_compilation not included above.
References timevar_def::elapsed, gcc_assert, get_time(), NULL, timevar_def::standalone, start_time, timevar_stack_def::timevar, timevar_accumulate(), timevars, and timevar_def::used.
|
inlinestatic |
void timevar_pop_1 | ( | timevar_id_t | ) |
void timevar_print | ( | FILE * | ) |
|
inlinestatic |
Provided for backward compatibility.
Referenced by cleanup_tree_cfg_1(), coalescable_pseudo_p(), find_and_remove_re(), ipa_write_summaries(), remove_death(), rest_of_type_compilation(), and split_live_ranges_for_shrink_wrap().
void timevar_push_1 | ( | timevar_id_t | ) |
void timevar_start | ( | timevar_id_t | ) |
void timevar_stop | ( | timevar_id_t | ) |
bool timevar_enable |
True if timevars should be used. In GCC, this happens with the -ftime-report flag.
Prefer times to getrusage to clock (each gives successively less information). libc is very likely to have snuck a call to sysconf() into one of the underlying constants, and that can be very slow, so we have to precompute them. Whose wonderful idea was it to make all those constants variable at run time, anyway? True if timevars should be used. In GCC, this happens with the -ftime-report flag.
Referenced by timevar_start(), timevar_stop(), and validate_phases().
size_t timevar_ggc_mem_total |
Total amount of memory allocated by garbage collector.