Home | History | Annotate | Download | only in include
      1 /* This file contains the definitions for timing variables used to
      2    measure run-time performance of the compiler.
      3    Copyright (C) 2000-2013 Free Software Foundation, Inc.
      4    Contributed by Alex Samuel <samuel (at) codesourcery.com>
      5 
      6    This file is part of GCC.
      7 
      8    GCC is free software; you can redistribute it and/or modify
      9    it under the terms of the GNU General Public License as published by
     10    the Free Software Foundation; either version 3, or (at your option)
     11    any later version.
     12 
     13    GCC is distributed in the hope that it will be useful,
     14    but WITHOUT ANY WARRANTY; without even the implied warranty of
     15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     16    GNU General Public License for more details.
     17 
     18    You should have received a copy of the GNU General Public License
     19    along with GCC; see the file COPYING3.  If not see
     20    <http://www.gnu.org/licenses/>.  */
     21 
     22 /* This file contains timing variable definitions, used by timevar.h
     23    and timevar.c.
     24 
     25    Syntax:
     26 
     27      DEFTIMEVAR (id, name)
     28 
     29    where ID is the enumeral value used to identify the timing
     30    variable, and NAME is a character string describing its purpose.  */
     31 
     32 /* The total execution time.  */
     33 DEFTIMEVAR (TV_TOTAL                 , "total time")
     34 /* The compiler phases.  These must be mutually exclusive.
     35    Ideally, they would sum to near the total time.  */
     36 DEFTIMEVAR (TV_PHASE_SETUP           , "phase setup")
     37 DEFTIMEVAR (TV_PHASE_PARSING         , "phase parsing")
     38 DEFTIMEVAR (TV_PHASE_DEFERRED        , "phase lang. deferred")
     39 DEFTIMEVAR (TV_PHASE_OPT_GEN         , "phase opt and generate")
     40 DEFTIMEVAR (TV_PHASE_DBGINFO         , "phase debug info")
     41 DEFTIMEVAR (TV_PHASE_CHECK_DBGINFO   , "phase check & debug info")
     42 DEFTIMEVAR (TV_PHASE_LATE_ASM        , "phase last asm")
     43 DEFTIMEVAR (TV_PHASE_STREAM_IN       , "phase stream in")
     44 DEFTIMEVAR (TV_PHASE_STREAM_OUT      , "phase stream out")
     45 DEFTIMEVAR (TV_PHASE_FINALIZE        , "phase finalize")
     46 
     47 /* Concurrent timers, indicated by "|".  */
     48 DEFTIMEVAR (TV_NAME_LOOKUP           , "|name lookup")
     49 DEFTIMEVAR (TV_OVERLOAD              , "|overload resolution")
     50 
     51 /* Time spent garbage-collecting.  */
     52 DEFTIMEVAR (TV_GC                    , "garbage collection")
     53 
     54 /* Time spent generating dump files.  */
     55 DEFTIMEVAR (TV_DUMP                  , "dump files")
     56 
     57 /* Time spent saving/restoring PCH state.  */
     58 DEFTIMEVAR (TV_PCH_SAVE              , "PCH main state save")
     59 DEFTIMEVAR (TV_PCH_CPP_SAVE          , "PCH preprocessor state save")
     60 DEFTIMEVAR (TV_PCH_PTR_REALLOC       , "PCH pointer reallocation")
     61 DEFTIMEVAR (TV_PCH_PTR_SORT          , "PCH pointer sort")
     62 DEFTIMEVAR (TV_PCH_RESTORE           , "PCH main state restore")
     63 DEFTIMEVAR (TV_PCH_CPP_RESTORE       , "PCH preprocessor state restore")
     64 
     65 DEFTIMEVAR (TV_CGRAPH                , "callgraph construction")
     66 DEFTIMEVAR (TV_CGRAPHOPT             , "callgraph optimization")
     67 DEFTIMEVAR (TV_IPA_CONSTANT_PROP     , "ipa cp")
     68 DEFTIMEVAR (TV_IPA_INLINING          , "ipa inlining heuristics")
     69 DEFTIMEVAR (TV_IPA_FNSPLIT           , "ipa function splitting")
     70 DEFTIMEVAR (TV_IPA_OPT		     , "ipa various optimizations")
     71 DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN     , "ipa lto gimple in")
     72 DEFTIMEVAR (TV_IPA_LTO_GIMPLE_OUT    , "ipa lto gimple out")
     73 DEFTIMEVAR (TV_IPA_LTO_DECL_IN       , "ipa lto decl in")
     74 DEFTIMEVAR (TV_IPA_LTO_DECL_OUT      , "ipa lto decl out")
     75 DEFTIMEVAR (TV_IPA_LTO_DECL_INIT_IO  , "ipa lto decl init I/O")
     76 DEFTIMEVAR (TV_IPA_LTO_CGRAPH_IO     , "ipa lto cgraph I/O")
     77 DEFTIMEVAR (TV_IPA_LTO_DECL_MERGE    , "ipa lto decl merge")
     78 DEFTIMEVAR (TV_IPA_LTO_CGRAPH_MERGE  , "ipa lto cgraph merge")
     79 DEFTIMEVAR (TV_LTO                   , "lto")
     80 DEFTIMEVAR (TV_WHOPR_WPA             , "whopr wpa")
     81 DEFTIMEVAR (TV_WHOPR_WPA_IO          , "whopr wpa I/O")
     82 DEFTIMEVAR (TV_WHOPR_PARTITIONING    , "whopr partitioning")
     83 DEFTIMEVAR (TV_WHOPR_LTRANS          , "whopr ltrans")
     84 DEFTIMEVAR (TV_IPA_REFERENCE         , "ipa reference")
     85 DEFTIMEVAR (TV_IPA_PROFILE           , "ipa profile")
     86 DEFTIMEVAR (TV_IPA_PURE_CONST        , "ipa pure const")
     87 DEFTIMEVAR (TV_IPA_PTA               , "ipa points-to")
     88 DEFTIMEVAR (TV_IPA_SRA               , "ipa SRA")
     89 DEFTIMEVAR (TV_IPA_FREE_LANG_DATA    , "ipa free lang data")
     90 DEFTIMEVAR (TV_IPA_FREE_INLINE_SUMMARY, "ipa free inline summary")
     91 /* Time spent by constructing CFG.  */
     92 DEFTIMEVAR (TV_CFG                   , "cfg construction")
     93 /* Time spent by cleaning up CFG.  */
     94 DEFTIMEVAR (TV_CLEANUP_CFG           , "cfg cleanup")
     95 DEFTIMEVAR (TV_CFG_VERIFY            , "CFG verifier")
     96 DEFTIMEVAR (TV_DELETE_TRIVIALLY_DEAD , "trivially dead code")
     97 
     98 /* Time spent in dataflow problems.  */
     99 DEFTIMEVAR (TV_DF_SCAN		     , "df scan insns")
    100 DEFTIMEVAR (TV_DF_MD		     , "df multiple defs")
    101 DEFTIMEVAR (TV_DF_RD		     , "df reaching defs")
    102 DEFTIMEVAR (TV_DF_LR		     , "df live regs")
    103 DEFTIMEVAR (TV_DF_LIVE		     , "df live&initialized regs")
    104 DEFTIMEVAR (TV_DF_CHAIN		     , "df use-def / def-use chains")
    105 DEFTIMEVAR (TV_DF_WORD_LR	     , "df live reg subwords")
    106 DEFTIMEVAR (TV_DF_NOTE		     , "df reg dead/unused notes")
    107 DEFTIMEVAR (TV_REG_STATS	     , "register information")
    108 
    109 DEFTIMEVAR (TV_ALIAS_ANALYSIS	     , "alias analysis")
    110 DEFTIMEVAR (TV_ALIAS_STMT_WALK	     , "alias stmt walking")
    111 DEFTIMEVAR (TV_REG_SCAN		     , "register scan")
    112 DEFTIMEVAR (TV_REBUILD_JUMP	     , "rebuild jump labels")
    113 /* Timing in various stages of the compiler.  */
    114 DEFTIMEVAR (TV_CPP		     , "preprocessing")
    115 DEFTIMEVAR (TV_LEX		     , "lexical analysis")
    116 DEFTIMEVAR (TV_PARSE_GLOBAL          , "parser (global)")
    117 DEFTIMEVAR (TV_PARSE_STRUCT          , "parser struct body")
    118 DEFTIMEVAR (TV_PARSE_ENUM            , "parser enumerator list")
    119 DEFTIMEVAR (TV_PARSE_FUNC            , "parser function body")
    120 DEFTIMEVAR (TV_PARSE_INLINE          , "parser inl. func. body")
    121 DEFTIMEVAR (TV_PARSE_INMETH          , "parser inl. meth. body")
    122 DEFTIMEVAR (TV_TEMPLATE_INST         , "template instantiation")
    123 DEFTIMEVAR (TV_FLATTEN_INLINING      , "flatten inlining")
    124 DEFTIMEVAR (TV_EARLY_INLINING        , "early inlining heuristics")
    125 DEFTIMEVAR (TV_INLINE_PARAMETERS     , "inline parameters")
    126 DEFTIMEVAR (TV_INTEGRATION           , "integration")
    127 DEFTIMEVAR (TV_TREE_GIMPLIFY	     , "tree gimplify")
    128 DEFTIMEVAR (TV_TREE_EH		     , "tree eh")
    129 DEFTIMEVAR (TV_TREE_CFG		     , "tree CFG construction")
    130 DEFTIMEVAR (TV_TREE_CLEANUP_CFG	     , "tree CFG cleanup")
    131 DEFTIMEVAR (TV_TREE_TAIL_MERGE       , "tree tail merge")
    132 DEFTIMEVAR (TV_TREE_VRP              , "tree VRP")
    133 DEFTIMEVAR (TV_TREE_COPY_PROP        , "tree copy propagation")
    134 DEFTIMEVAR (TV_FIND_REFERENCED_VARS  , "tree find ref. vars")
    135 DEFTIMEVAR (TV_TREE_PTA		     , "tree PTA")
    136 DEFTIMEVAR (TV_TREE_INSERT_PHI_NODES , "tree PHI insertion")
    137 DEFTIMEVAR (TV_TREE_SSA_REWRITE_BLOCKS, "tree SSA rewrite")
    138 DEFTIMEVAR (TV_TREE_SSA_OTHER	     , "tree SSA other")
    139 DEFTIMEVAR (TV_TREE_SSA_INCREMENTAL  , "tree SSA incremental")
    140 DEFTIMEVAR (TV_TREE_OPS	             , "tree operand scan")
    141 DEFTIMEVAR (TV_TREE_SSA_DOMINATOR_OPTS   , "dominator optimization")
    142 DEFTIMEVAR (TV_TREE_SRA              , "tree SRA")
    143 DEFTIMEVAR (TV_TREE_CCP		     , "tree CCP")
    144 DEFTIMEVAR (TV_TREE_PHI_CPROP	     , "tree PHI const/copy prop")
    145 DEFTIMEVAR (TV_TREE_SPLIT_EDGES      , "tree split crit edges")
    146 DEFTIMEVAR (TV_TREE_REASSOC          , "tree reassociation")
    147 DEFTIMEVAR (TV_TREE_PRE		     , "tree PRE")
    148 DEFTIMEVAR (TV_TREE_FRE		     , "tree FRE")
    149 DEFTIMEVAR (TV_TREE_SINK             , "tree code sinking")
    150 DEFTIMEVAR (TV_TREE_PHIOPT	     , "tree linearize phis")
    151 DEFTIMEVAR (TV_TREE_FORWPROP	     , "tree forward propagate")
    152 DEFTIMEVAR (TV_TREE_PHIPROP	     , "tree phiprop")
    153 DEFTIMEVAR (TV_TREE_DCE		     , "tree conservative DCE")
    154 DEFTIMEVAR (TV_TREE_CD_DCE	     , "tree aggressive DCE")
    155 DEFTIMEVAR (TV_TREE_CALL_CDCE	     , "tree buildin call DCE")
    156 DEFTIMEVAR (TV_TREE_DSE		     , "tree DSE")
    157 DEFTIMEVAR (TV_TREE_MERGE_PHI	     , "PHI merge")
    158 DEFTIMEVAR (TV_TREE_LOOP	     , "tree loop optimization")
    159 DEFTIMEVAR (TV_TREE_LOOP_BOUNDS	     , "tree loop bounds")
    160 DEFTIMEVAR (TV_LIM                   , "tree loop invariant motion")
    161 DEFTIMEVAR (TV_TREE_LOOP_IVCANON     , "tree canonical iv")
    162 DEFTIMEVAR (TV_SCEV_CONST            , "scev constant prop")
    163 DEFTIMEVAR (TV_TREE_LOOP_UNSWITCH    , "tree loop unswitching")
    164 DEFTIMEVAR (TV_COMPLETE_UNROLL       , "complete unrolling")
    165 DEFTIMEVAR (TV_TREE_PARALLELIZE_LOOPS, "tree parallelize loops")
    166 DEFTIMEVAR (TV_TREE_VECTORIZATION    , "tree vectorization")
    167 DEFTIMEVAR (TV_TREE_SLP_VECTORIZATION, "tree slp vectorization")
    168 DEFTIMEVAR (TV_GRAPHITE              , "Graphite")
    169 DEFTIMEVAR (TV_GRAPHITE_TRANSFORMS   , "Graphite loop transforms")
    170 DEFTIMEVAR (TV_GRAPHITE_DATA_DEPS    , "Graphite data dep analysis")
    171 DEFTIMEVAR (TV_GRAPHITE_CODE_GEN     , "Graphite code generation")
    172 DEFTIMEVAR (TV_TREE_LOOP_DISTRIBUTION, "tree loop distribution")
    173 DEFTIMEVAR (TV_CHECK_DATA_DEPS       , "tree check data dependences")
    174 DEFTIMEVAR (TV_TREE_PREFETCH	     , "tree prefetching")
    175 DEFTIMEVAR (TV_TREE_LOOP_IVOPTS	     , "tree iv optimization")
    176 DEFTIMEVAR (TV_PREDCOM		     , "predictive commoning")
    177 DEFTIMEVAR (TV_TREE_CH		     , "tree copy headers")
    178 DEFTIMEVAR (TV_TREE_SSA_UNCPROP	     , "tree SSA uncprop")
    179 DEFTIMEVAR (TV_TREE_NRV		     , "tree NRV optimization")
    180 DEFTIMEVAR (TV_TREE_COPY_RENAME	     , "tree rename SSA copies")
    181 DEFTIMEVAR (TV_TREE_SSA_VERIFY       , "tree SSA verifier")
    182 DEFTIMEVAR (TV_TREE_STMT_VERIFY      , "tree STMT verifier")
    183 DEFTIMEVAR (TV_TREE_SWITCH_CONVERSION, "tree switch conversion")
    184 DEFTIMEVAR (TV_TRANS_MEM             , "transactional memory")
    185 DEFTIMEVAR (TV_TREE_STRLEN           , "tree strlen optimization")
    186 DEFTIMEVAR (TV_CGRAPH_VERIFY         , "callgraph verifier")
    187 DEFTIMEVAR (TV_DOM_FRONTIERS         , "dominance frontiers")
    188 DEFTIMEVAR (TV_DOMINANCE             , "dominance computation")
    189 DEFTIMEVAR (TV_CONTROL_DEPENDENCES   , "control dependences")
    190 DEFTIMEVAR (TV_OUT_OF_SSA	     , "out of ssa")
    191 DEFTIMEVAR (TV_VAR_EXPAND	     , "expand vars")
    192 DEFTIMEVAR (TV_EXPAND		     , "expand")
    193 DEFTIMEVAR (TV_POST_EXPAND	     , "post expand cleanups")
    194 DEFTIMEVAR (TV_VARCONST              , "varconst")
    195 DEFTIMEVAR (TV_LOWER_SUBREG	     , "lower subreg")
    196 DEFTIMEVAR (TV_JUMP                  , "jump")
    197 DEFTIMEVAR (TV_FWPROP                , "forward prop")
    198 DEFTIMEVAR (TV_CSE                   , "CSE")
    199 DEFTIMEVAR (TV_DCE                   , "dead code elimination")
    200 DEFTIMEVAR (TV_DSE1                  , "dead store elim1")
    201 DEFTIMEVAR (TV_DSE2                  , "dead store elim2")
    202 DEFTIMEVAR (TV_LOOP                  , "loop analysis")
    203 DEFTIMEVAR (TV_LOOP_INIT	     , "loop init")
    204 DEFTIMEVAR (TV_LOOP_MOVE_INVARIANTS  , "loop invariant motion")
    205 DEFTIMEVAR (TV_LOOP_UNSWITCH         , "loop unswitching")
    206 DEFTIMEVAR (TV_LOOP_UNROLL           , "loop unrolling")
    207 DEFTIMEVAR (TV_LOOP_DOLOOP           , "loop doloop")
    208 DEFTIMEVAR (TV_LOOP_FINI	     , "loop fini")
    209 DEFTIMEVAR (TV_CPROP                 , "CPROP")
    210 DEFTIMEVAR (TV_PRE                   , "PRE")
    211 DEFTIMEVAR (TV_HOIST                 , "code hoisting")
    212 DEFTIMEVAR (TV_LSM                   , "LSM")
    213 DEFTIMEVAR (TV_TRACER                , "tracer")
    214 DEFTIMEVAR (TV_WEB                   , "web")
    215 DEFTIMEVAR (TV_AUTO_INC_DEC          , "auto inc dec")
    216 DEFTIMEVAR (TV_CSE2                  , "CSE 2")
    217 DEFTIMEVAR (TV_BRANCH_PROB           , "branch prediction")
    218 DEFTIMEVAR (TV_COMBINE               , "combiner")
    219 DEFTIMEVAR (TV_IFCVT		     , "if-conversion")
    220 DEFTIMEVAR (TV_REGMOVE               , "regmove")
    221 DEFTIMEVAR (TV_MODE_SWITCH           , "mode switching")
    222 DEFTIMEVAR (TV_SMS		     , "sms modulo scheduling")
    223 DEFTIMEVAR (TV_SCHED                 , "scheduling")
    224 DEFTIMEVAR (TV_IRA		     , "integrated RA")
    225 DEFTIMEVAR (TV_LRA		     , "LRA non-specific")
    226 DEFTIMEVAR (TV_LRA_ELIMINATE	     , "LRA virtuals elimination")
    227 DEFTIMEVAR (TV_LRA_INHERITANCE	     , "LRA reload inheritance")
    228 DEFTIMEVAR (TV_LRA_CREATE_LIVE_RANGES, "LRA create live ranges")
    229 DEFTIMEVAR (TV_LRA_ASSIGN	     , "LRA hard reg assignment")
    230 DEFTIMEVAR (TV_LRA_COALESCE	     , "LRA coalesce pseudo regs")
    231 DEFTIMEVAR (TV_RELOAD		     , "reload")
    232 DEFTIMEVAR (TV_RELOAD_CSE_REGS       , "reload CSE regs")
    233 DEFTIMEVAR (TV_GCSE_AFTER_RELOAD     , "load CSE after reload")
    234 DEFTIMEVAR (TV_REE		     , "ree")
    235 DEFTIMEVAR (TV_THREAD_PROLOGUE_AND_EPILOGUE, "thread pro- & epilogue")
    236 DEFTIMEVAR (TV_IFCVT2		     , "if-conversion 2")
    237 DEFTIMEVAR (TV_COMBINE_STACK_ADJUST  , "combine stack adjustments")
    238 DEFTIMEVAR (TV_PEEPHOLE2             , "peephole 2")
    239 DEFTIMEVAR (TV_RENAME_REGISTERS      , "rename registers")
    240 DEFTIMEVAR (TV_CPROP_REGISTERS       , "hard reg cprop")
    241 DEFTIMEVAR (TV_SCHED2                , "scheduling 2")
    242 DEFTIMEVAR (TV_MACH_DEP              , "machine dep reorg")
    243 DEFTIMEVAR (TV_DBR_SCHED             , "delay branch sched")
    244 DEFTIMEVAR (TV_REORDER_BLOCKS        , "reorder blocks")
    245 DEFTIMEVAR (TV_SHORTEN_BRANCH        , "shorten branches")
    246 DEFTIMEVAR (TV_REG_STACK             , "reg stack")
    247 DEFTIMEVAR (TV_FINAL                 , "final")
    248 DEFTIMEVAR (TV_VAROUT                , "variable output")
    249 DEFTIMEVAR (TV_SYMOUT                , "symout")
    250 DEFTIMEVAR (TV_VAR_TRACKING          , "variable tracking")
    251 DEFTIMEVAR (TV_VAR_TRACKING_DATAFLOW , "var-tracking dataflow")
    252 DEFTIMEVAR (TV_VAR_TRACKING_EMIT     , "var-tracking emit")
    253 DEFTIMEVAR (TV_TREE_IFCOMBINE        , "tree if-combine")
    254 DEFTIMEVAR (TV_TREE_UNINIT           , "uninit var analysis")
    255 DEFTIMEVAR (TV_PLUGIN_INIT           , "plugin initialization")
    256 DEFTIMEVAR (TV_PLUGIN_RUN            , "plugin execution")
    257 DEFTIMEVAR (TV_GIMPLE_SLSR           , "straight-line strength reduction")
    258 
    259 /* Everything else in rest_of_compilation not included above.  */
    260 DEFTIMEVAR (TV_EARLY_LOCAL	     , "early local passes")
    261 DEFTIMEVAR (TV_OPTIMIZE		     , "unaccounted optimizations")
    262 DEFTIMEVAR (TV_REST_OF_COMPILATION   , "rest of compilation")
    263 DEFTIMEVAR (TV_POSTRELOAD	     , "unaccounted post reload")
    264 DEFTIMEVAR (TV_REMOVE_UNUSED	     , "remove unused locals")
    265 DEFTIMEVAR (TV_ADDRESS_TAKEN	     , "address taken")
    266 DEFTIMEVAR (TV_TODO		     , "unaccounted todo")
    267 DEFTIMEVAR (TV_VERIFY_LOOP_CLOSED    , "verify loop closed")
    268 DEFTIMEVAR (TV_VERIFY_RTL_SHARING    , "verify RTL sharing")
    269 DEFTIMEVAR (TV_REBUILD_FREQUENCIES   , "rebuild frequencies")
    270 DEFTIMEVAR (TV_REPAIR_LOOPS	     , "repair loop structures")
    271