diff options
author | Richard Biener <rguenther@suse.de> | 2016-08-12 07:38:24 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-08-12 07:38:24 +0000 |
commit | 8df06bd0eb37240c40140bf2d2528ad6a665474a (patch) | |
tree | ec56bb1a6459b7d3c0776301373c8e2067935fae /gcc/timevar.h | |
parent | 663eecfd13dbedddf6fccc1a857dd1728078040b (diff) | |
download | gcc-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.h | 6 |
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 |