diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a9336e1e7b29..e400a76f5761 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,23 @@ +2012-08-15 Steven Bosscher + + * 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. + 2012-08-15 Ramana Radhakrishnan * config/arm/neon.md (neon_vaba VDQIW): Canonicalize diff --git a/gcc/final.c b/gcc/final.c index ed8624ee6009..dddb78a01855 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -4377,7 +4377,7 @@ struct rtl_opt_pass pass_shorten_branches = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_FINAL, /* tv_id */ + TV_SHORTEN_BRANCH, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index 453d685e8357..9f96ca8a3baa 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -2274,7 +2274,7 @@ struct gimple_opt_pass pass_inline_parameters = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_INLINE_HEURISTICS, /* tv_id */ + TV_INLINE_PARAMETERS, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ diff --git a/gcc/ipa-inline.c b/gcc/ipa-inline.c index c43ce25e19ea..5215049bc05a 100644 --- a/gcc/ipa-inline.c +++ b/gcc/ipa-inline.c @@ -1941,7 +1941,7 @@ struct gimple_opt_pass pass_early_inline = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_INLINE_HEURISTICS, /* tv_id */ + TV_EARLY_INLINING, /* tv_id */ PROP_ssa, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ @@ -1973,7 +1973,7 @@ struct ipa_opt_pass_d pass_ipa_inline = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_INLINE_HEURISTICS, /* tv_id */ + TV_IPA_INLINING, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ diff --git a/gcc/loop-init.c b/gcc/loop-init.c index a463777a9b63..438c66e0400b 100644 --- a/gcc/loop-init.c +++ b/gcc/loop-init.c @@ -40,6 +40,7 @@ along with GCC; see the file COPYING3. If not see void loop_optimizer_init (unsigned flags) { + timevar_push (TV_LOOP_INIT); if (!current_loops) { struct loops *loops = ggc_alloc_cleared_loops (); @@ -104,6 +105,8 @@ loop_optimizer_init (unsigned flags) #ifdef ENABLE_CHECKING verify_loop_structure (); #endif + + timevar_pop (TV_LOOP_INIT); } /* Finalize loop structures. */ @@ -115,6 +118,8 @@ loop_optimizer_finalize (void) struct loop *loop; basic_block bb; + timevar_push (TV_LOOP_FINI); + if (loops_state_satisfies_p (LOOPS_HAVE_RECORDED_EXITS)) release_recorded_exits (); @@ -128,7 +133,7 @@ loop_optimizer_finalize (void) | LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES | LOOPS_HAVE_FALLTHRU_PREHEADERS); - return; + goto loop_fini_done; } gcc_assert (current_loops != NULL); @@ -147,6 +152,9 @@ loop_optimizer_finalize (void) { bb->loop_father = NULL; } + +loop_fini_done: + timevar_pop (TV_LOOP_FINI); } diff --git a/gcc/timevar.def b/gcc/timevar.def index 8fa1a2bf4aa9..149066e9f43c 100644 --- a/gcc/timevar.def +++ b/gcc/timevar.def @@ -66,8 +66,8 @@ DEFTIMEVAR (TV_PCH_CPP_RESTORE , "PCH preprocessor state restore") DEFTIMEVAR (TV_CGRAPH , "callgraph construction") DEFTIMEVAR (TV_CGRAPHOPT , "callgraph optimization") -DEFTIMEVAR (TV_VARPOOL , "varpool construction") DEFTIMEVAR (TV_IPA_CONSTANT_PROP , "ipa cp") +DEFTIMEVAR (TV_IPA_INLINING , "ipa inlining heuristics") DEFTIMEVAR (TV_IPA_FNSPLIT , "ipa function splitting") DEFTIMEVAR (TV_IPA_OPT , "ipa various optimizations") DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN , "ipa lto gimple in") @@ -82,7 +82,6 @@ DEFTIMEVAR (TV_LTO , "lto") DEFTIMEVAR (TV_WHOPR_WPA , "whopr wpa") DEFTIMEVAR (TV_WHOPR_WPA_IO , "whopr wpa I/O") DEFTIMEVAR (TV_WHOPR_LTRANS , "whopr ltrans") -DEFTIMEVAR (TV_WHOPR_WPA_LTRANS_EXEC , "whopr wpa->ltrans") DEFTIMEVAR (TV_IPA_REFERENCE , "ipa reference") DEFTIMEVAR (TV_IPA_PROFILE , "ipa profile") DEFTIMEVAR (TV_IPA_PURE_CONST , "ipa pure const") @@ -96,9 +95,6 @@ DEFTIMEVAR (TV_CFG , "cfg construction") DEFTIMEVAR (TV_CLEANUP_CFG , "cfg cleanup") DEFTIMEVAR (TV_CFG_VERIFY , "CFG verifier") DEFTIMEVAR (TV_DELETE_TRIVIALLY_DEAD , "trivially dead code") -/* Time spent by life analysis. */ -DEFTIMEVAR (TV_LIFE , "life analysis") -DEFTIMEVAR (TV_LIFE_UPDATE , "life info update") /* Time spent in dataflow problems. */ DEFTIMEVAR (TV_DF_SCAN , "df scan insns") @@ -106,7 +102,6 @@ DEFTIMEVAR (TV_DF_MD , "df multiple defs") DEFTIMEVAR (TV_DF_RD , "df reaching defs") DEFTIMEVAR (TV_DF_LR , "df live regs") DEFTIMEVAR (TV_DF_LIVE , "df live&initialized regs") -DEFTIMEVAR (TV_DF_UREC , "df uninitialized regs 2") DEFTIMEVAR (TV_DF_CHAIN , "df use-def / def-use chains") DEFTIMEVAR (TV_DF_WORD_LR , "df live reg subwords") DEFTIMEVAR (TV_DF_NOTE , "df reg dead/unused notes") @@ -126,7 +121,9 @@ DEFTIMEVAR (TV_PARSE_FUNC , "parser function body") DEFTIMEVAR (TV_PARSE_INLINE , "parser inl. func. body") DEFTIMEVAR (TV_PARSE_INMETH , "parser inl. meth. body") DEFTIMEVAR (TV_TEMPLATE_INST , "template instantiation") -DEFTIMEVAR (TV_INLINE_HEURISTICS , "inline heuristics") +DEFTIMEVAR (TV_FLATTEN_INLINING , "flatten inlining") +DEFTIMEVAR (TV_EARLY_INLINING , "early inlining heuristics") +DEFTIMEVAR (TV_INLINE_PARAMETERS , "inline parameters") DEFTIMEVAR (TV_INTEGRATION , "integration") DEFTIMEVAR (TV_TREE_GIMPLIFY , "tree gimplify") DEFTIMEVAR (TV_TREE_EH , "tree eh") @@ -173,22 +170,18 @@ DEFTIMEVAR (TV_GRAPHITE , "Graphite") DEFTIMEVAR (TV_GRAPHITE_TRANSFORMS , "Graphite loop transforms") DEFTIMEVAR (TV_GRAPHITE_DATA_DEPS , "Graphite data dep analysis") DEFTIMEVAR (TV_GRAPHITE_CODE_GEN , "Graphite code generation") -DEFTIMEVAR (TV_TREE_LINEAR_TRANSFORM , "tree loop linear") DEFTIMEVAR (TV_TREE_LOOP_DISTRIBUTION, "tree loop distribution") DEFTIMEVAR (TV_CHECK_DATA_DEPS , "tree check data dependences") DEFTIMEVAR (TV_TREE_PREFETCH , "tree prefetching") DEFTIMEVAR (TV_TREE_LOOP_IVOPTS , "tree iv optimization") DEFTIMEVAR (TV_PREDCOM , "predictive commoning") -DEFTIMEVAR (TV_TREE_LOOP_INIT , "tree loop init") -DEFTIMEVAR (TV_TREE_LOOP_FINI , "tree loop fini") DEFTIMEVAR (TV_TREE_CH , "tree copy headers") DEFTIMEVAR (TV_TREE_SSA_UNCPROP , "tree SSA uncprop") -DEFTIMEVAR (TV_TREE_SSA_TO_NORMAL , "tree SSA to normal") DEFTIMEVAR (TV_TREE_NRV , "tree NRV optimization") DEFTIMEVAR (TV_TREE_COPY_RENAME , "tree rename SSA copies") DEFTIMEVAR (TV_TREE_SSA_VERIFY , "tree SSA verifier") DEFTIMEVAR (TV_TREE_STMT_VERIFY , "tree STMT verifier") -DEFTIMEVAR (TV_TREE_SWITCH_CONVERSION, "tree switch initialization conversion") +DEFTIMEVAR (TV_TREE_SWITCH_CONVERSION, "tree switch conversion") DEFTIMEVAR (TV_TRANS_MEM , "transactional memory") DEFTIMEVAR (TV_TREE_STRLEN , "tree strlen optimization") DEFTIMEVAR (TV_CGRAPH_VERIFY , "callgraph verifier") @@ -208,10 +201,12 @@ DEFTIMEVAR (TV_DCE , "dead code elimination") DEFTIMEVAR (TV_DSE1 , "dead store elim1") DEFTIMEVAR (TV_DSE2 , "dead store elim2") DEFTIMEVAR (TV_LOOP , "loop analysis") +DEFTIMEVAR (TV_LOOP_INIT , "loop init") DEFTIMEVAR (TV_LOOP_MOVE_INVARIANTS , "loop invariant motion") DEFTIMEVAR (TV_LOOP_UNSWITCH , "loop unswitching") DEFTIMEVAR (TV_LOOP_UNROLL , "loop unrolling") DEFTIMEVAR (TV_LOOP_DOLOOP , "loop doloop") +DEFTIMEVAR (TV_LOOP_FINI , "loop fini") DEFTIMEVAR (TV_CPROP , "CPROP") DEFTIMEVAR (TV_PRE , "PRE") DEFTIMEVAR (TV_HOIST , "code hoisting") @@ -221,19 +216,15 @@ DEFTIMEVAR (TV_WEB , "web") DEFTIMEVAR (TV_AUTO_INC_DEC , "auto inc dec") DEFTIMEVAR (TV_CSE2 , "CSE 2") DEFTIMEVAR (TV_BRANCH_PROB , "branch prediction") -DEFTIMEVAR (TV_VPT , "value profile opts") DEFTIMEVAR (TV_COMBINE , "combiner") DEFTIMEVAR (TV_IFCVT , "if-conversion") DEFTIMEVAR (TV_REGMOVE , "regmove") DEFTIMEVAR (TV_MODE_SWITCH , "mode switching") DEFTIMEVAR (TV_SMS , "sms modulo scheduling") DEFTIMEVAR (TV_SCHED , "scheduling") -DEFTIMEVAR (TV_LOCAL_ALLOC , "local alloc") -DEFTIMEVAR (TV_GLOBAL_ALLOC , "global alloc") DEFTIMEVAR (TV_IRA , "integrated RA") DEFTIMEVAR (TV_RELOAD , "reload") DEFTIMEVAR (TV_RELOAD_CSE_REGS , "reload CSE regs") -DEFTIMEVAR (TV_SEQABSTR , "sequence abstraction") DEFTIMEVAR (TV_GCSE_AFTER_RELOAD , "load CSE after reload") DEFTIMEVAR (TV_REE , "ree") DEFTIMEVAR (TV_THREAD_PROLOGUE_AND_EPILOGUE, "thread pro- & epilogue") diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c index 33c00f0fd211..6dc64b036c13 100644 --- a/gcc/tree-ssa-loop.c +++ b/gcc/tree-ssa-loop.c @@ -87,7 +87,7 @@ struct gimple_opt_pass pass_tree_loop_init = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_TREE_LOOP_INIT, /* tv_id */ + TV_NONE, /* tv_id */ PROP_cfg, /* properties_required */ PROP_loops, /* properties_provided */ 0, /* properties_destroyed */ @@ -659,7 +659,7 @@ struct gimple_opt_pass pass_tree_loop_done = NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - TV_TREE_LOOP_FINI, /* tv_id */ + TV_NONE, /* tv_id */ PROP_cfg, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */