timevar.def 15 KB

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