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