------- Additional Comments From rguenth at gcc dot gnu dot org 2005-09-18 19:52 ------- With the C++-initializer cleanup and the gcse.c O(n^2) complexity removal (and ipa-eh) I get on x86_64 at -O2
garbage collection : 2.77 ( 1%) usr 0.03 ( 1%) sys 2.82 ( 1%) wall 0 kB ( 0%) ggc callgraph construction: 0.65 ( 0%) usr 0.11 ( 3%) sys 0.74 ( 0%) wall 7688 kB ( 1%) ggc callgraph optimization: 0.10 ( 0%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 4427 kB ( 0%) ggc ipa nothrow : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc ipa reference : 0.23 ( 0%) usr 0.03 ( 1%) sys 0.26 ( 0%) wall 52 kB ( 0%) ggc ipa pure const : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.04 ( 0%) wall 0 kB ( 0%) ggc ipa type escape : 0.24 ( 0%) usr 0.03 ( 1%) sys 0.27 ( 0%) wall 0 kB ( 0%) ggc cfg construction : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%) wall 6596 kB ( 0%) ggc cfg cleanup : 5.26 ( 2%) usr 0.00 ( 0%) sys 5.25 ( 2%) wall 1914 kB ( 0%) ggc trivially dead code : 1.82 ( 1%) usr 0.00 ( 0%) sys 1.85 ( 1%) wall 0 kB ( 0%) ggc life analysis : 6.33 ( 3%) usr 0.00 ( 0%) sys 6.38 ( 3%) wall 12971 kB ( 1%) ggc life info update : 1.23 ( 1%) usr 0.00 ( 0%) sys 1.24 ( 1%) wall 782 kB ( 0%) ggc alias analysis : 2.87 ( 1%) usr 0.00 ( 0%) sys 2.94 ( 1%) wall 19497 kB ( 1%) ggc register scan : 1.29 ( 1%) usr 0.00 ( 0%) sys 1.34 ( 1%) wall 50 kB ( 0%) ggc rebuild jump labels : 0.44 ( 0%) usr 0.00 ( 0%) sys 0.49 ( 0%) wall 0 kB ( 0%) ggc preprocessing : 0.09 ( 0%) usr 0.03 ( 1%) sys 0.15 ( 0%) wall 1293 kB ( 0%) ggc parser : 1.14 ( 1%) usr 0.25 ( 6%) sys 1.34 ( 1%) wall 97198 kB ( 7%) ggc name lookup : 0.33 ( 0%) usr 0.14 ( 3%) sys 0.41 ( 0%) wall 13536 kB ( 1%) ggc inline heuristics : 5.87 ( 3%) usr 0.04 ( 1%) sys 5.91 ( 3%) wall 20103 kB ( 1%) ggc integration : 24.24 (11%) usr 0.17 ( 4%) sys 24.41 (11%) wall 387997 kB (27%) ggc tree gimplify : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall 10383 kB ( 1%) ggc tree eh : 0.64 ( 0%) usr 0.05 ( 1%) sys 0.72 ( 0%) wall 35363 kB ( 3%) ggc tree CFG construction : 0.24 ( 0%) usr 0.08 ( 2%) sys 0.29 ( 0%) wall 40040 kB ( 3%) ggc tree CFG cleanup : 5.55 ( 3%) usr 0.01 ( 0%) sys 5.59 ( 3%) wall 13859 kB ( 1%) ggc tree VRP : 2.37 ( 1%) usr 0.06 ( 1%) sys 2.38 ( 1%) wall 10668 kB ( 1%) ggc tree copy propagation : 4.10 ( 2%) usr 0.17 ( 4%) sys 4.33 ( 2%) wall 571 kB ( 0%) ggc tree store copy prop : 0.93 ( 0%) usr 0.03 ( 1%) sys 0.93 ( 0%) wall 116 kB ( 0%) ggc tree find ref. vars : 0.55 ( 0%) usr 0.03 ( 1%) sys 0.58 ( 0%) wall 45155 kB ( 3%) ggc tree PTA : 6.25 ( 3%) usr 0.06 ( 1%) sys 6.35 ( 3%) wall 18646 kB ( 1%) ggc tree alias analysis : 9.24 ( 4%) usr 0.32 ( 8%) sys 9.74 ( 4%) wall 35335 kB ( 3%) ggc tree PHI insertion : 10.35 ( 5%) usr 0.03 ( 1%) sys 10.40 ( 5%) wall 15152 kB ( 1%) ggc tree SSA rewrite : 3.80 ( 2%) usr 0.06 ( 1%) sys 3.80 ( 2%) wall 76957 kB ( 5%) ggc tree SSA other : 0.70 ( 0%) usr 0.15 ( 4%) sys 0.83 ( 0%) wall 231 kB ( 0%) ggc tree SSA incremental : 10.92 ( 5%) usr 0.03 ( 1%) sys 10.94 ( 5%) wall 13942 kB ( 1%) ggc tree operand scan : 5.05 ( 2%) usr 0.45 (11%) sys 5.22 ( 2%) wall 43681 kB ( 3%) ggc dominator optimization: 12.79 ( 6%) usr 0.06 ( 1%) sys 12.81 ( 6%) wall 125643 kB ( 9%) ggc tree SRA : 0.48 ( 0%) usr 0.00 ( 0%) sys 0.46 ( 0%) wall 6695 kB ( 0%) ggc tree STORE-CCP : 0.91 ( 0%) usr 0.01 ( 0%) sys 0.94 ( 0%) wall 188 kB ( 0%) ggc tree CCP : 1.42 ( 1%) usr 0.01 ( 0%) sys 1.48 ( 1%) wall 3277 kB ( 0%) ggc tree split crit edges : 0.15 ( 0%) usr 0.01 ( 0%) sys 0.14 ( 0%) wall 13889 kB ( 1%) ggc tree reassociation : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 0 kB ( 0%) ggc tree PRE : 2.15 ( 1%) usr 0.58 (14%) sys 2.78 ( 1%) wall 9052 kB ( 1%) ggc tree FRE : 3.13 ( 1%) usr 0.52 (12%) sys 3.58 ( 2%) wall 26639 kB ( 2%) ggc tree code sinking : 0.64 ( 0%) usr 0.04 ( 1%) sys 0.66 ( 0%) wall 88 kB ( 0%) ggc tree linearize phis : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.12 ( 0%) wall 2 kB ( 0%) ggc tree forward propagate: 0.30 ( 0%) usr 0.00 ( 0%) sys 0.40 ( 0%) wall 4303 kB ( 0%) ggc tree conservative DCE : 2.70 ( 1%) usr 0.07 ( 2%) sys 2.80 ( 1%) wall 0 kB ( 0%) ggc tree aggressive DCE : 0.85 ( 0%) usr 0.00 ( 0%) sys 0.85 ( 0%) wall 0 kB ( 0%) ggc tree DSE : 0.93 ( 0%) usr 0.00 ( 0%) sys 0.92 ( 0%) wall 589 kB ( 0%) ggc PHI merge : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall 251 kB ( 0%) ggc tree loop bounds : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 185 kB ( 0%) ggc loop invariant motion : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 0 kB ( 0%) ggc tree canonical iv : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 151 kB ( 0%) ggc scev constant prop : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 60 kB ( 0%) ggc tree iv optimization : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 635 kB ( 0%) ggc tree loop init : 0.54 ( 0%) usr 0.00 ( 0%) sys 0.51 ( 0%) wall 5 kB ( 0%) ggc tree copy headers : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall 851 kB ( 0%) ggc tree SSA uncprop : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 0 kB ( 0%) ggc tree SSA to normal : 2.10 ( 1%) usr 0.03 ( 1%) sys 2.14 ( 1%) wall 4498 kB ( 0%) ggc tree rename SSA copies: 0.50 ( 0%) usr 0.07 ( 2%) sys 0.57 ( 0%) wall 0 kB ( 0%) ggc dominance frontiers : 13.39 ( 6%) usr 0.00 ( 0%) sys 13.37 ( 6%) wall 0 kB ( 0%) ggc control dependences : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 0 kB ( 0%) ggc expand : 8.24 ( 4%) usr 0.06 ( 1%) sys 8.26 ( 4%) wall 146387 kB (10%) ggc varconst : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall 169 kB ( 0%) ggc jump : 0.70 ( 0%) usr 0.01 ( 0%) sys 0.66 ( 0%) wall 14072 kB ( 1%) ggc CSE : 3.68 ( 2%) usr 0.00 ( 0%) sys 3.63 ( 2%) wall 6495 kB ( 0%) ggc loop analysis : 1.12 ( 1%) usr 0.02 ( 0%) sys 1.20 ( 1%) wall 7989 kB ( 1%) ggc global CSE : 0.03 ( 0%) usr 0.02 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc CPROP 1 : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall 874 kB ( 0%) ggc PRE : 0.15 ( 0%) usr 0.02 ( 0%) sys 0.16 ( 0%) wall 185 kB ( 0%) ggc CPROP 2 : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 395 kB ( 0%) ggc bypass jumps : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.16 ( 0%) wall 356 kB ( 0%) ggc CSE 2 : 1.79 ( 1%) usr 0.00 ( 0%) sys 1.76 ( 1%) wall 1696 kB ( 0%) ggc branch prediction : 1.60 ( 1%) usr 0.00 ( 0%) sys 1.67 ( 1%) wall 2539 kB ( 0%) ggc flow analysis : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.26 ( 0%) wall 0 kB ( 0%) ggc combiner : 1.33 ( 1%) usr 0.02 ( 0%) sys 1.36 ( 1%) wall 3503 kB ( 0%) ggc if-conversion : 0.80 ( 0%) usr 0.00 ( 0%) sys 0.77 ( 0%) wall 745 kB ( 0%) ggc regmove : 1.01 ( 0%) usr 0.00 ( 0%) sys 0.99 ( 0%) wall 31 kB ( 0%) ggc mode switching : 0.00 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall 0 kB ( 0%) ggc local alloc : 2.02 ( 1%) usr 0.03 ( 1%) sys 2.07 ( 1%) wall 4515 kB ( 0%) ggc global alloc : 7.72 ( 4%) usr 0.08 ( 2%) sys 7.75 ( 4%) wall 29349 kB ( 2%) ggc reload CSE regs : 17.57 ( 8%) usr 0.01 ( 0%) sys 17.60 ( 8%) wall 15295 kB ( 1%) ggc flow 2 : 0.45 ( 0%) usr 0.00 ( 0%) sys 0.40 ( 0%) wall 2936 kB ( 0%) ggc if-conversion 2 : 0.42 ( 0%) usr 0.00 ( 0%) sys 0.39 ( 0%) wall 0 kB ( 0%) ggc peephole 2 : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.43 ( 0%) wall 293 kB ( 0%) ggc rename registers : 0.60 ( 0%) usr 0.06 ( 1%) sys 0.66 ( 0%) wall 34 kB ( 0%) ggc scheduling 2 : 2.48 ( 1%) usr 0.06 ( 1%) sys 2.57 ( 1%) wall 26856 kB ( 2%) ggc machine dep reorg : 0.40 ( 0%) usr 0.00 ( 0%) sys 0.40 ( 0%) wall 536 kB ( 0%) ggc reorder blocks : 0.72 ( 0%) usr 0.00 ( 0%) sys 0.70 ( 0%) wall 10564 kB ( 1%) ggc final : 1.58 ( 1%) usr 0.01 ( 0%) sys 1.58 ( 1%) wall 3855 kB ( 0%) ggc TOTAL : 215.82 4.16 220.06 1413094 kB -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12392