[Bug c++/13776] [tree-ssa] Many C++ compile-time regression in 3.5-tree-ssa 040120

rguenth at tat dot physik dot uni-tuebingen dot de gcc-bugzilla@gcc.gnu.org
Sat Mar 13 16:44:00 GMT 2004


------- Additional Comments From rguenth at tat dot physik dot uni-tuebingen dot de  2004-03-13 16:44 -------
Subject: Re:  [tree-ssa] Many C++ compile-time regression in
 3.5-tree-ssa 040120

Note that the reported times are a huge regression compared to
g++ (GCC) 3.5-tree-ssa 20040209 (merged 20040126)
which shows

Execution times (seconds)
  garbage collection    :  26.06 ( 7%) usr   0.00 ( 0%) sys  26.06 ( 6%) 
wall
  callgraph construction:   1.29 ( 0%) usr   0.00 ( 0%) sys   1.29 ( 0%) 
wall
  callgraph optimization:   1.39 ( 0%) usr   0.05 ( 1%) sys   1.44 ( 0%) 
wall
  cfg construction      :   1.71 ( 0%) usr   0.02 ( 0%) sys   1.73 ( 0%) 
wall
  cfg cleanup           :   3.49 ( 1%) usr   0.02 ( 0%) sys   3.51 ( 1%) 
wall
  trivially dead code   :   2.85 ( 1%) usr   0.01 ( 0%) sys   2.86 ( 1%) 
wall
  life analysis         :   5.88 ( 1%) usr   0.00 ( 0%) sys   5.88 ( 1%) 
wall
  life info update      :   2.81 ( 1%) usr   0.00 ( 0%) sys   2.81 ( 1%) 
wall
  alias analysis        :   4.46 ( 1%) usr   0.02 ( 0%) sys   4.48 ( 1%) 
wall
  register scan         :   1.96 ( 0%) usr   0.00 ( 0%) sys   1.96 ( 0%) 
wall
  rebuild jump labels   :   0.88 ( 0%) usr   0.01 ( 0%) sys   0.89 ( 0%) 
wall
  preprocessing         :   0.61 ( 0%) usr   0.15 ( 3%) sys   0.76 ( 0%) 
wall
  parser                :  19.47 ( 5%) usr   1.10 (23%) sys  21.16 ( 5%) 
wall
  name lookup           :  12.05 ( 3%) usr   1.54 (33%) sys  13.75 ( 3%) 
wall
  integration           :  47.73 (12%) usr   0.14 ( 3%) sys  47.87 (12%) 
wall
  tree gimplify         :   3.05 ( 1%) usr   0.06 ( 1%) sys   3.19 ( 1%) 
wall
  tree eh               :   5.32 ( 1%) usr   0.01 ( 0%) sys   5.34 ( 1%) 
wall
  tree CFG construction :   2.74 ( 1%) usr   0.08 ( 2%) sys   2.82 ( 1%) 
wall
  tree CFG cleanup      :   6.10 ( 2%) usr   0.00 ( 0%) sys   6.10 ( 2%) 
wall
  tree alias analysis   :   1.11 ( 0%) usr   0.00 ( 0%) sys   1.11 ( 0%) 
wall
  tree PHI insertion    :  17.62 ( 4%) usr   0.01 ( 0%) sys  17.63 ( 4%) 
wall
  tree SSA rewrite      :   5.90 ( 1%) usr   0.02 ( 0%) sys   5.92 ( 1%) 
wall
  tree SSA other        :  10.18 ( 3%) usr   0.04 ( 1%) sys  10.22 ( 3%) 
wall
  dominator optimization:  31.18 ( 8%) usr   0.25 ( 5%) sys  31.43 ( 8%) 
wall
  tree SRA              :   0.42 ( 0%) usr   0.00 ( 0%) sys   0.42 ( 0%) 
wall
  tree CCP              :   6.99 ( 2%) usr   0.05 ( 1%) sys   7.04 ( 2%) 
wall
  tree split crit edges :   0.53 ( 0%) usr   0.01 ( 0%) sys   0.54 ( 0%) 
wall
  tree PRE              :  67.53 (17%) usr   0.08 ( 2%) sys  67.92 (17%) 
wall
  tree conservative DCE :   5.12 ( 1%) usr   0.01 ( 0%) sys   5.13 ( 1%) 
wall
  tree aggressive DCE   :   2.41 ( 1%) usr   0.00 ( 0%) sys   2.41 ( 1%) 
wall
  tree SSA to normal    :   5.69 ( 1%) usr   0.17 ( 4%) sys   5.86 ( 1%) 
wall
  dominance frontiers   :   0.65 ( 0%) usr   0.00 ( 0%) sys   0.65 ( 0%) 
wall
  control dependences   :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.35 ( 0%) 
wall
  expand                :  20.80 ( 5%) usr   0.07 ( 1%) sys  20.88 ( 5%) 
wall
  varconst              :   0.81 ( 0%) usr   0.04 ( 1%) sys   0.85 ( 0%) 
wall
  jump                  :   1.72 ( 0%) usr   0.13 ( 3%) sys   1.86 ( 0%) 
wall
  CSE                   :   8.43 ( 2%) usr   0.00 ( 0%) sys   8.43 ( 2%) 
wall
  global CSE            :  10.58 ( 3%) usr   0.15 ( 3%) sys  10.74 ( 3%) 
wall
  loop analysis         :   2.59 ( 1%) usr   0.01 ( 0%) sys   2.60 ( 1%) 
wall
  bypass jumps          :   1.95 ( 0%) usr   0.03 ( 1%) sys   1.98 ( 0%) 
wall
  CSE 2                 :   3.57 ( 1%) usr   0.00 ( 0%) sys   3.57 ( 1%) 
wall
  branch prediction     :   4.66 ( 1%) usr   0.01 ( 0%) sys   4.69 ( 1%) 
wall
  flow analysis         :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) 
wall
  combiner              :   3.53 ( 1%) usr   0.00 ( 0%) sys   3.53 ( 1%) 
wall
  if-conversion         :   0.92 ( 0%) usr   0.00 ( 0%) sys   0.92 ( 0%) 
wall
  regmove               :   1.29 ( 0%) usr   0.00 ( 0%) sys   1.29 ( 0%) 
wall
  local alloc           :   3.36 ( 1%) usr   0.01 ( 0%) sys   3.37 ( 1%) 
wall
  global alloc          :   7.97 ( 2%) usr   0.13 ( 3%) sys   8.10 ( 2%) 
wall
  reload CSE regs       :   3.79 ( 1%) usr   0.00 ( 0%) sys   3.79 ( 1%) 
wall
  flow 2                :   0.78 ( 0%) usr   0.00 ( 0%) sys   0.78 ( 0%) 
wall
  if-conversion 2       :   0.46 ( 0%) usr   0.00 ( 0%) sys   0.46 ( 0%) 
wall
  peephole 2            :   0.83 ( 0%) usr   0.01 ( 0%) sys   0.84 ( 0%) 
wall
  rename registers      :   1.16 ( 0%) usr   0.05 ( 1%) sys   1.21 ( 0%) 
wall
  scheduling 2          :   4.62 ( 1%) usr   0.06 ( 1%) sys   4.68 ( 1%) 
wall
  reorder blocks        :   0.73 ( 0%) usr   0.00 ( 0%) sys   0.73 ( 0%) 
wall
  shorten branches      :   1.16 ( 0%) usr   0.02 ( 0%) sys   1.18 ( 0%) 
wall
  reg stack             :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) 
wall
  final                 :   1.79 ( 0%) usr   0.13 ( 3%) sys   1.92 ( 0%) 
wall
  symout                :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) 
wall
  rest of compilation   :   2.76 ( 1%) usr   0.02 ( 0%) sys   2.78 ( 1%) 
wall
  TOTAL                 : 396.23             4.72           402.15

So appearantly PRE got a factor of 10 slower!?

Richard.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13776



More information about the Gcc-bugs mailing list