On Thu, Jan 24, 2019 at 8:51 PM Giuliano Belinassi <giuliano.belina...@usp.br> wrote: > > This patch adds two variables named 'TV_CGRAPH_FUNC_EXPANSION' and > 'TV_CGRAPH_IPA_PASSES' that count the elapsed time of the functions > 'expand_all_functions' and 'ipa_passes', respectivelly. > > The main point of this is that these functions takes a very long time > when compiling the 'gimple-match.c' file, and therefore may also take > a long time when compiling other large files.
But as implemented those shouldn't accumulate a lot of time because other timevars are pushed for them. I think you want to instead split TV_PHASE_OPT_GEN into TV_PHASE_OPT_GIMPLE TV_PHASE_IPA and TV_PHASE_RTL which probably can be easiest managed by the pass manager pushing/popping those appropriately depending on the pass kind that is invoked? Richard. > I also accept suggestions about how to improve this :-) > > ChangeLog: > > 2019-01-24 Giuliano Belinassi <giuliano.belina...@usp.br> > > * cgraph_unit.c (compile): TV_CGRAPH_FUNC_EXPANSION and > TV_CGRAPH_IPA_PASSES start, stop. > * timevar.def (TV_CGRAPH_IPA_PASSES, TV_CGRAPH_FUNC_EXPANSION): New. > >