aboutsummaryrefslogtreecommitdiff
path: root/gcc/timevar.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-08-12 07:38:24 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-08-12 07:38:24 +0000
commit8df06bd0eb37240c40140bf2d2528ad6a665474a (patch)
treeec56bb1a6459b7d3c0776301373c8e2067935fae /gcc/timevar.h
parent663eecfd13dbedddf6fccc1a857dd1728078040b (diff)
downloadgcc-8df06bd0eb37240c40140bf2d2528ad6a665474a.zip
gcc-8df06bd0eb37240c40140bf2d2528ad6a665474a.tar.gz
gcc-8df06bd0eb37240c40140bf2d2528ad6a665474a.tar.bz2
passes.c (execute_todo): Do not push/pop TV_TODO.
2016-08-12 Richard Biener <rguenther@suse.de> * passes.c (execute_todo): Do not push/pop TV_TODO. (execute_one_ipa_transform_pass): Move timevar push/pop TODO execution. (execute_one_pass): Likewise. * common.opt (ftime-report-details): New switch. * doc/invoke.texi (ftime-report-details): Document. * timevar.h (timer::print_row): Adjust signature. (timer::all_zero): New static helper. (timer::child_map_t): New typedef. (timer::time_var_def): Add children field. * timevar.c (timer::named_items::print): Adjust. (timer::~timer): Free timevar recorded children. (timer::pop_internal): When -ftime-report-details record time spent in sub-timevars. (timer::print_row): Adjust. (timer::print): Print sub-timevar stats, use all_zero. * timevar.def (TV_TODO): Remove. From-SVN: r239406
Diffstat (limited to 'gcc/timevar.h')
-rw-r--r--gcc/timevar.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/timevar.h b/gcc/timevar.h
index 3465304..8ba7e5c 100644
--- a/gcc/timevar.h
+++ b/gcc/timevar.h
@@ -131,9 +131,11 @@ class timer
void pop_internal ();
static void print_row (FILE *fp,
const timevar_time_def *total,
- const timevar_def *tv);
+ const char *name, const timevar_time_def &elapsed);
+ static bool all_zero (const timevar_time_def &elapsed);
private:
+ typedef hash_map<timevar_def *, timevar_time_def> child_map_t;
/* Private type: a timing variable. */
struct timevar_def
@@ -155,6 +157,8 @@ class timer
/* Nonzero if this timing variable was ever started or pushed onto
the timing stack. */
unsigned used : 1;
+
+ child_map_t *children;
};
/* Private type: an element on the timing stack