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,
5 Free Software Foundation
, Inc.
6 Contributed by Alex Samuel
<samuel@codesourcery.com
>
8 This file is part of GCC.
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
)
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.
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
/>.
*/
24 /* This file contains timing variable definitions
, used by timevar.h
31 where ID is the enumeral value used to identify the timing
32 variable
, and NAME is a character string describing its purpose.
*/
34 /* The total execution time.
*/
35 DEFTIMEVAR (TV_TOTAL
, "total time")
36 /* The compiler phases. These must be mutually exclusive.
37 Ideally
, they would sum to near the total time.
*/
38 DEFTIMEVAR (TV_PHASE_SETUP
, "phase setup")
39 DEFTIMEVAR (TV_PHASE_PARSING
, "phase parsing")
40 DEFTIMEVAR (TV_PHASE_DEFERRED
, "phase lang. deferred")
41 DEFTIMEVAR (TV_PHASE_OPT_GEN
, "phase opt and generate")
42 DEFTIMEVAR (TV_PHASE_DBGINFO
, "phase debug info")
43 DEFTIMEVAR (TV_PHASE_CHECK_DBGINFO
, "phase check & debug info")
44 DEFTIMEVAR (TV_PHASE_LATE_ASM
, "phase last asm")
45 DEFTIMEVAR (TV_PHASE_STREAM_IN
, "phase stream in")
46 DEFTIMEVAR (TV_PHASE_STREAM_OUT
, "phase stream out")
47 DEFTIMEVAR (TV_PHASE_FINALIZE
, "phase finalize")
49 /* Concurrent timers
, indicated by
"|".
*/
50 DEFTIMEVAR (TV_NAME_LOOKUP
, "|name lookup")
51 DEFTIMEVAR (TV_OVERLOAD
, "|overload resolution")
53 /* Time spent garbage
-collecting.
*/
54 DEFTIMEVAR (TV_GC
, "garbage collection")
56 /* Time spent generating dump files.
*/
57 DEFTIMEVAR (TV_DUMP
, "dump files")
59 /* Time spent saving
/restoring PCH state.
*/
60 DEFTIMEVAR (TV_PCH_SAVE
, "PCH main state save")
61 DEFTIMEVAR (TV_PCH_CPP_SAVE
, "PCH preprocessor state save")
62 DEFTIMEVAR (TV_PCH_PTR_REALLOC
, "PCH pointer reallocation")
63 DEFTIMEVAR (TV_PCH_PTR_SORT
, "PCH pointer sort")
64 DEFTIMEVAR (TV_PCH_RESTORE
, "PCH main state restore")
65 DEFTIMEVAR (TV_PCH_CPP_RESTORE
, "PCH preprocessor state restore")
67 DEFTIMEVAR (TV_CGRAPH
, "callgraph construction")
68 DEFTIMEVAR (TV_CGRAPHOPT
, "callgraph optimization")
69 DEFTIMEVAR (TV_IPA_CONSTANT_PROP
, "ipa cp")
70 DEFTIMEVAR (TV_IPA_INLINING
, "ipa inlining heuristics")
71 DEFTIMEVAR (TV_IPA_FNSPLIT
, "ipa function splitting")
72 DEFTIMEVAR (TV_IPA_OPT
, "ipa various optimizations")
73 DEFTIMEVAR (TV_IPA_LTO_GIMPLE_IN
, "ipa lto gimple in")
74 DEFTIMEVAR (TV_IPA_LTO_GIMPLE_OUT
, "ipa lto gimple out")
75 DEFTIMEVAR (TV_IPA_LTO_DECL_IN
, "ipa lto decl in")
76 DEFTIMEVAR (TV_IPA_LTO_DECL_OUT
, "ipa lto decl out")
77 DEFTIMEVAR (TV_IPA_LTO_DECL_INIT_IO
, "ipa lto decl init I/O")
78 DEFTIMEVAR (TV_IPA_LTO_CGRAPH_IO
, "ipa lto cgraph I/O")
79 DEFTIMEVAR (TV_IPA_LTO_DECL_MERGE
, "ipa lto decl merge")
80 DEFTIMEVAR (TV_IPA_LTO_CGRAPH_MERGE
, "ipa lto cgraph merge")
81 DEFTIMEVAR (TV_LTO
, "lto")
82 DEFTIMEVAR (TV_WHOPR_WPA
, "whopr wpa")
83 DEFTIMEVAR (TV_WHOPR_WPA_IO
, "whopr wpa I/O")
84 DEFTIMEVAR (TV_WHOPR_LTRANS
, "whopr ltrans")
85 DEFTIMEVAR (TV_IPA_REFERENCE
, "ipa reference")
86 DEFTIMEVAR (TV_IPA_PROFILE
, "ipa profile")
87 DEFTIMEVAR (TV_IPA_PURE_CONST
, "ipa pure const")
88 DEFTIMEVAR (TV_IPA_PTA
, "ipa points-to")
89 DEFTIMEVAR (TV_IPA_SRA
, "ipa SRA")
90 DEFTIMEVAR (TV_IPA_FREE_LANG_DATA
, "ipa free lang data")
91 DEFTIMEVAR (TV_IPA_FREE_INLINE_SUMMARY
, "ipa free inline summary")
92 /* Time spent by constructing CFG.
*/
93 DEFTIMEVAR (TV_CFG
, "cfg construction")
94 /* Time spent by cleaning up CFG.
*/
95 DEFTIMEVAR (TV_CLEANUP_CFG
, "cfg cleanup")
96 DEFTIMEVAR (TV_CFG_VERIFY
, "CFG verifier")
97 DEFTIMEVAR (TV_DELETE_TRIVIALLY_DEAD
, "trivially dead code")
99 /* Time spent in dataflow problems.
*/
100 DEFTIMEVAR (TV_DF_SCAN
, "df scan insns")
101 DEFTIMEVAR (TV_DF_MD
, "df multiple defs")
102 DEFTIMEVAR (TV_DF_RD
, "df reaching defs")
103 DEFTIMEVAR (TV_DF_LR
, "df live regs")
104 DEFTIMEVAR (TV_DF_LIVE
, "df live&initialized regs")
105 DEFTIMEVAR (TV_DF_CHAIN
, "df use-def / def-use chains")
106 DEFTIMEVAR (TV_DF_WORD_LR
, "df live reg subwords")
107 DEFTIMEVAR (TV_DF_NOTE
, "df reg dead/unused notes")
108 DEFTIMEVAR (TV_REG_STATS
, "register information")
110 DEFTIMEVAR (TV_ALIAS_ANALYSIS
, "alias analysis")
111 DEFTIMEVAR (TV_ALIAS_STMT_WALK
, "alias stmt walking")
112 DEFTIMEVAR (TV_REG_SCAN
, "register scan")
113 DEFTIMEVAR (TV_REBUILD_JUMP
, "rebuild jump labels")
114 /* Timing in various stages of the compiler.
*/
115 DEFTIMEVAR (TV_CPP
, "preprocessing")
116 DEFTIMEVAR (TV_LEX
, "lexical analysis")
117 DEFTIMEVAR (TV_PARSE_GLOBAL
, "parser (global)")
118 DEFTIMEVAR (TV_PARSE_STRUCT
, "parser struct body")
119 DEFTIMEVAR (TV_PARSE_ENUM
, "parser enumerator list")
120 DEFTIMEVAR (TV_PARSE_FUNC
, "parser function body")
121 DEFTIMEVAR (TV_PARSE_INLINE
, "parser inl. func. body")
122 DEFTIMEVAR (TV_PARSE_INMETH
, "parser inl. meth. body")
123 DEFTIMEVAR (TV_TEMPLATE_INST
, "template instantiation")
124 DEFTIMEVAR (TV_FLATTEN_INLINING
, "flatten inlining")
125 DEFTIMEVAR (TV_EARLY_INLINING
, "early inlining heuristics")
126 DEFTIMEVAR (TV_INLINE_PARAMETERS
, "inline parameters")
127 DEFTIMEVAR (TV_INTEGRATION
, "integration")
128 DEFTIMEVAR (TV_TREE_GIMPLIFY
, "tree gimplify")
129 DEFTIMEVAR (TV_TREE_EH
, "tree eh")
130 DEFTIMEVAR (TV_TREE_CFG
, "tree CFG construction")
131 DEFTIMEVAR (TV_TREE_CLEANUP_CFG
, "tree CFG cleanup")
132 DEFTIMEVAR (TV_TREE_TAIL_MERGE
, "tree tail merge")
133 DEFTIMEVAR (TV_TREE_VRP
, "tree VRP")
134 DEFTIMEVAR (TV_TREE_COPY_PROP
, "tree copy propagation")
135 DEFTIMEVAR (TV_FIND_REFERENCED_VARS
, "tree find ref. vars")
136 DEFTIMEVAR (TV_TREE_PTA
, "tree PTA")
137 DEFTIMEVAR (TV_TREE_INSERT_PHI_NODES
, "tree PHI insertion")
138 DEFTIMEVAR (TV_TREE_SSA_REWRITE_BLOCKS
, "tree SSA rewrite")
139 DEFTIMEVAR (TV_TREE_SSA_OTHER
, "tree SSA other")
140 DEFTIMEVAR (TV_TREE_SSA_INCREMENTAL
, "tree SSA incremental")
141 DEFTIMEVAR (TV_TREE_OPS
, "tree operand scan")
142 DEFTIMEVAR (TV_TREE_SSA_DOMINATOR_OPTS
, "dominator optimization")
143 DEFTIMEVAR (TV_TREE_SRA
, "tree SRA")
144 DEFTIMEVAR (TV_TREE_CCP
, "tree CCP")
145 DEFTIMEVAR (TV_TREE_PHI_CPROP
, "tree PHI const/copy prop")
146 DEFTIMEVAR (TV_TREE_SPLIT_EDGES
, "tree split crit edges")
147 DEFTIMEVAR (TV_TREE_REASSOC
, "tree reassociation")
148 DEFTIMEVAR (TV_TREE_PRE
, "tree PRE")
149 DEFTIMEVAR (TV_TREE_FRE
, "tree FRE")
150 DEFTIMEVAR (TV_TREE_SINK
, "tree code sinking")
151 DEFTIMEVAR (TV_TREE_PHIOPT
, "tree linearize phis")
152 DEFTIMEVAR (TV_TREE_FORWPROP
, "tree forward propagate")
153 DEFTIMEVAR (TV_TREE_PHIPROP
, "tree phiprop")
154 DEFTIMEVAR (TV_TREE_DCE
, "tree conservative DCE")
155 DEFTIMEVAR (TV_TREE_CD_DCE
, "tree aggressive DCE")
156 DEFTIMEVAR (TV_TREE_CALL_CDCE
, "tree buildin call DCE")
157 DEFTIMEVAR (TV_TREE_DSE
, "tree DSE")
158 DEFTIMEVAR (TV_TREE_MERGE_PHI
, "PHI merge")
159 DEFTIMEVAR (TV_TREE_LOOP
, "tree loop optimization")
160 DEFTIMEVAR (TV_TREE_LOOP_BOUNDS
, "tree loop bounds")
161 DEFTIMEVAR (TV_LIM
, "tree loop invariant motion")
162 DEFTIMEVAR (TV_TREE_LOOP_IVCANON
, "tree canonical iv")
163 DEFTIMEVAR (TV_SCEV_CONST
, "scev constant prop")
164 DEFTIMEVAR (TV_TREE_LOOP_UNSWITCH
, "tree loop unswitching")
165 DEFTIMEVAR (TV_COMPLETE_UNROLL
, "complete unrolling")
166 DEFTIMEVAR (TV_TREE_PARALLELIZE_LOOPS
, "tree parallelize loops")
167 DEFTIMEVAR (TV_TREE_VECTORIZATION
, "tree vectorization")
168 DEFTIMEVAR (TV_TREE_SLP_VECTORIZATION
, "tree slp vectorization")
169 DEFTIMEVAR (TV_GRAPHITE
, "Graphite")
170 DEFTIMEVAR (TV_GRAPHITE_TRANSFORMS
, "Graphite loop transforms")
171 DEFTIMEVAR (TV_GRAPHITE_DATA_DEPS
, "Graphite data dep analysis")
172 DEFTIMEVAR (TV_GRAPHITE_CODE_GEN
, "Graphite code generation")
173 DEFTIMEVAR (TV_TREE_LOOP_DISTRIBUTION
, "tree loop distribution")
174 DEFTIMEVAR (TV_CHECK_DATA_DEPS
, "tree check data dependences")
175 DEFTIMEVAR (TV_TREE_PREFETCH
, "tree prefetching")
176 DEFTIMEVAR (TV_TREE_LOOP_IVOPTS
, "tree iv optimization")
177 DEFTIMEVAR (TV_PREDCOM
, "predictive commoning")
178 DEFTIMEVAR (TV_TREE_CH
, "tree copy headers")
179 DEFTIMEVAR (TV_TREE_SSA_UNCPROP
, "tree SSA uncprop")
180 DEFTIMEVAR (TV_TREE_NRV
, "tree NRV optimization")
181 DEFTIMEVAR (TV_TREE_COPY_RENAME
, "tree rename SSA copies")
182 DEFTIMEVAR (TV_TREE_SSA_VERIFY
, "tree SSA verifier")
183 DEFTIMEVAR (TV_TREE_STMT_VERIFY
, "tree STMT verifier")
184 DEFTIMEVAR (TV_TREE_SWITCH_CONVERSION
, "tree switch conversion")
185 DEFTIMEVAR (TV_TRANS_MEM
, "transactional memory")
186 DEFTIMEVAR (TV_TREE_STRLEN
, "tree strlen optimization")
187 DEFTIMEVAR (TV_CGRAPH_VERIFY
, "callgraph verifier")
188 DEFTIMEVAR (TV_DOM_FRONTIERS
, "dominance frontiers")
189 DEFTIMEVAR (TV_DOMINANCE
, "dominance computation")
190 DEFTIMEVAR (TV_CONTROL_DEPENDENCES
, "control dependences")
191 DEFTIMEVAR (TV_OUT_OF_SSA
, "out of ssa")
192 DEFTIMEVAR (TV_VAR_EXPAND
, "expand vars")
193 DEFTIMEVAR (TV_EXPAND
, "expand")
194 DEFTIMEVAR (TV_POST_EXPAND
, "post expand cleanups")
195 DEFTIMEVAR (TV_VARCONST
, "varconst")
196 DEFTIMEVAR (TV_LOWER_SUBREG
, "lower subreg")
197 DEFTIMEVAR (TV_JUMP
, "jump")
198 DEFTIMEVAR (TV_FWPROP
, "forward prop")
199 DEFTIMEVAR (TV_CSE
, "CSE")
200 DEFTIMEVAR (TV_DCE
, "dead code elimination")
201 DEFTIMEVAR (TV_DSE1
, "dead store elim1")
202 DEFTIMEVAR (TV_DSE2
, "dead store elim2")
203 DEFTIMEVAR (TV_LOOP
, "loop analysis")
204 DEFTIMEVAR (TV_LOOP_INIT
, "loop init")
205 DEFTIMEVAR (TV_LOOP_MOVE_INVARIANTS
, "loop invariant motion")
206 DEFTIMEVAR (TV_LOOP_UNSWITCH
, "loop unswitching")
207 DEFTIMEVAR (TV_LOOP_UNROLL
, "loop unrolling")
208 DEFTIMEVAR (TV_LOOP_DOLOOP
, "loop doloop")
209 DEFTIMEVAR (TV_LOOP_FINI
, "loop fini")
210 DEFTIMEVAR (TV_CPROP
, "CPROP")
211 DEFTIMEVAR (TV_PRE
, "PRE")
212 DEFTIMEVAR (TV_HOIST
, "code hoisting")
213 DEFTIMEVAR (TV_LSM
, "LSM")
214 DEFTIMEVAR (TV_TRACER
, "tracer")
215 DEFTIMEVAR (TV_WEB
, "web")
216 DEFTIMEVAR (TV_AUTO_INC_DEC
, "auto inc dec")
217 DEFTIMEVAR (TV_CSE2
, "CSE 2")
218 DEFTIMEVAR (TV_BRANCH_PROB
, "branch prediction")
219 DEFTIMEVAR (TV_COMBINE
, "combiner")
220 DEFTIMEVAR (TV_IFCVT
, "if-conversion")
221 DEFTIMEVAR (TV_REGMOVE
, "regmove")
222 DEFTIMEVAR (TV_MODE_SWITCH
, "mode switching")
223 DEFTIMEVAR (TV_SMS
, "sms modulo scheduling")
224 DEFTIMEVAR (TV_SCHED
, "scheduling")
225 DEFTIMEVAR (TV_IRA
, "integrated RA")
226 DEFTIMEVAR (TV_RELOAD
, "reload")
227 DEFTIMEVAR (TV_RELOAD_CSE_REGS
, "reload CSE regs")
228 DEFTIMEVAR (TV_GCSE_AFTER_RELOAD
, "load CSE after reload")
229 DEFTIMEVAR (TV_REE
, "ree")
230 DEFTIMEVAR (TV_THREAD_PROLOGUE_AND_EPILOGUE
, "thread pro- & epilogue")
231 DEFTIMEVAR (TV_IFCVT2
, "if-conversion 2")
232 DEFTIMEVAR (TV_COMBINE_STACK_ADJUST
, "combine stack adjustments")
233 DEFTIMEVAR (TV_PEEPHOLE2
, "peephole 2")
234 DEFTIMEVAR (TV_RENAME_REGISTERS
, "rename registers")
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")
254 /* Everything else in rest_of_compilation not included above.
*/
255 DEFTIMEVAR (TV_EARLY_LOCAL
, "early local passes")
256 DEFTIMEVAR (TV_OPTIMIZE
, "unaccounted optimizations")
257 DEFTIMEVAR (TV_REST_OF_COMPILATION
, "rest of compilation")
258 DEFTIMEVAR (TV_POSTRELOAD
, "unaccounted post reload")
259 DEFTIMEVAR (TV_REMOVE_UNUSED
, "remove unused locals")
260 DEFTIMEVAR (TV_ADDRESS_TAKEN
, "address taken")
261 DEFTIMEVAR (TV_TODO
, "unaccounted todo")
262 DEFTIMEVAR (TV_VERIFY_LOOP_CLOSED
, "verify loop closed")
263 DEFTIMEVAR (TV_VERIFY_RTL_SHARING
, "verify RTL sharing")
264 DEFTIMEVAR (TV_REBUILD_FREQUENCIES
, "rebuild frequencies")
265 DEFTIMEVAR (TV_REPAIR_LOOPS
, "repair loop structures")