This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] timevar TLC


On 12-08-14 14:26 , Steven Bosscher wrote:
Hello,

Many unused timevars, many timevars that measure completely different
passes, passes with the wrong timevar, etc.

Time for a bit of maintenance / janitorial.

Bootstrapped&tested on powerpc64-unknown-linux-gnu. OK for trunk?

Ciao!
Steven

	* timevar.def (TV_VARPOOL, TV_WHOPR_WPA_LTRANS_EXEC, TV_LIFE,
	TV_LIFE_UPDATE, TV_DF_UREC, TV_INLINE_HEURISTICS,
	TV_TREE_LINEAR_TRANSFORM, TV_TREE_LOOP_INIT, TV_TREE_LOOP_FINI,
	TV_VPT, TV_LOCAL_ALLOC, TV_GLOBAL_ALLOC, TV_SEQABSTR): Remove.
	(TV_IPA_INLINING, TV_FLATTEN_INLINING, TV_EARLY_INLINING,
	TV_INLINE_PARAMETERS, TV_LOOP_INIT, TV_LOOP_FINI): New.
	* timevar.c (timevar_print): Make printing width of timevar names
	more flexible, but enforce maximum length.
	* ipa-inline.c (pass_early_inline): Use TV_EARLY_INLINING.
	(pass_ipa_inline): Use TV_IPA_INLINING.
	* ipa-inline-analysis.c (pass_inline_parameters): Use
	TV_INLINE_HEURISTICS.
	* tree-ssa-loop.c (pass_tree_loop_init): No timevar for wrapper pass.
	(pass_tree_loop_done): Likewise.
	* final.c (pass_shorten_branches): Use TV_SHORTEN_BRANCH.
	* loop-init.c (loop_optimizer_init): Push/pop TV_LOOP_INIT.
	(loop_optimizer_finalize): Push/pop TV_LOOP_FINI.

Looks fine, except:


@@ -505,6 +507,16 @@ timevar_print (FILE *fp)
      TIMEVAR.  */
   start_time = now;

+#ifdef ENABLE_CHECKING
+  /* Pester those who add timevars with too long names.  */
+  for (id = 0; id < (unsigned int) TIMEVAR_LAST; ++id)
+    {
+      struct timevar_def *tv = &timevars[(timevar_id_t) id];
+      if ((timevar_id_t) id != TV_TOTAL && tv->used)
+	gcc_assert (strlen (tv->name) <= name_width);
+    }
+#endif

I'm not liking this too much. I would rather do truncation or wrapping. Not ICEing. And we'd do this all the time, not just with checking enabled.


I suppose this works with -ftime-report right? (I'm thinking about the new code that emits phase-level timers).


Thanks. Diego.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]