passes.c (execute_todo): Do not push/pop TV_TODO.
authorRichard Biener <rguenther@suse.de>
Fri, 12 Aug 2016 07:38:24 +0000 (07:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 12 Aug 2016 07:38:24 +0000 (07:38 +0000)
commit8df06bd0eb37240c40140bf2d2528ad6a665474a
treeec56bb1a6459b7d3c0776301373c8e2067935fae
parent663eecfd13dbedddf6fccc1a857dd1728078040b
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
gcc/ChangeLog
gcc/common.opt
gcc/doc/invoke.texi
gcc/passes.c
gcc/timevar.c
gcc/timevar.h