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