This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Compilation times in mode that matters to me (leafify enabled) degraded 
half an order of magnitude:

g++-ssa (GCC) 3.5-tree-ssa 20040311 (merged 20040307)

bellatrix:/tmp$ g++-ssa -O2 -o tramp3d-v2 tramp3d-v2.cpp -static 
-ftime-report

Execution times (seconds)
  garbage collection    :  38.48 ( 3%) usr   0.15 ( 1%) sys  38.90 ( 3%) 
wall
  callgraph construction:   1.49 ( 0%) usr   0.00 ( 0%) sys   1.49 ( 0%) 
wall
  callgraph optimization:   1.54 ( 0%) usr   0.08 ( 0%) sys   1.63 ( 0%) 
wall
  cfg construction      :   1.35 ( 0%) usr   0.17 ( 1%) sys   1.52 ( 0%) 
wall
  cfg cleanup           :   5.68 ( 0%) usr   0.03 ( 0%) sys   5.74 ( 0%) 
wall
  trivially dead code   :   5.11 ( 0%) usr   0.01 ( 0%) sys   5.16 ( 0%) 
wall
  life analysis         :   9.41 ( 1%) usr   0.05 ( 0%) sys   9.59 ( 1%) 
wall
  life info update      :   5.78 ( 0%) usr   0.00 ( 0%) sys   5.81 ( 0%) 
wall
  alias analysis        :   7.50 ( 1%) usr   0.03 ( 0%) sys   7.58 ( 1%) 
wall
  register scan         :   3.92 ( 0%) usr   0.01 ( 0%) sys   3.95 ( 0%) 
wall
  rebuild jump labels   :   1.37 ( 0%) usr   0.00 ( 0%) sys   1.41 ( 0%) 
wall
  preprocessing         :   0.51 ( 0%) usr   0.10 ( 0%) sys   0.64 ( 0%) 
wall
  parser                :  18.60 ( 2%) usr   1.47 ( 7%) sys  20.14 ( 2%) 
wall
  name lookup           :   6.55 ( 1%) usr   1.53 ( 7%) sys   8.10 ( 1%) 
wall
  integration           :  67.76 ( 6%) usr   1.46 ( 7%) sys  69.59 ( 6%) 
wall
  tree gimplify         :   3.44 ( 0%) usr   0.04 ( 0%) sys   3.50 ( 0%) 
wall
  tree eh               :   7.64 ( 1%) usr   0.25 ( 1%) sys   7.96 ( 1%) 
wall
  tree CFG construction :   4.54 ( 0%) usr   0.53 ( 3%) sys   5.07 ( 0%) 
wall
  tree CFG cleanup      :   9.67 ( 1%) usr   0.08 ( 0%) sys   9.81 ( 1%) 
wall
  tree PTA              :   1.26 ( 0%) usr   0.05 ( 0%) sys   1.31 ( 0%) 
wall
  tree alias analysis   :   1.37 ( 0%) usr   0.01 ( 0%) sys   1.38 ( 0%) 
wall
  tree PHI insertion    :  74.91 ( 6%) usr   0.24 ( 1%) sys  75.62 ( 6%) 
wall
  tree SSA rewrite      :   7.46 ( 1%) usr   0.21 ( 1%) sys   7.72 ( 1%) 
wall
  tree SSA other        :  10.67 ( 1%) usr   0.79 ( 4%) sys  11.58 ( 1%) 
wall
  tree operand scan     :   6.77 ( 1%) usr   0.61 ( 3%) sys   7.41 ( 1%) 
wall
  dominator optimization:  46.56 ( 4%) usr   1.54 ( 8%) sys  48.39 ( 4%) 
wall
  tree SRA              :   0.79 ( 0%) usr   0.02 ( 0%) sys   0.83 ( 0%) 
wall
  tree CCP              :   4.88 ( 0%) usr   0.02 ( 0%) sys   4.97 ( 0%) 
wall
  tree split crit edges :   0.64 ( 0%) usr   0.06 ( 0%) sys   0.70 ( 0%) 
wall
  tree PRE              : 583.13 (49%) usr   6.18 (30%) sys 592.99 (48%) 
wall
  tree linearize phis   :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) 
wall
  tree forward propagate:   3.51 ( 0%) usr   0.00 ( 0%) sys   3.53 ( 0%) 
wall
  tree conservative DCE :   6.95 ( 1%) usr   0.08 ( 0%) sys   7.05 ( 1%) 
wall
  tree aggressive DCE   :   2.89 ( 0%) usr   0.03 ( 0%) sys   2.93 ( 0%) 
wall
  tree DSE              :   6.33 ( 1%) usr   0.19 ( 1%) sys   6.56 ( 1%) 
wall
  tree copy headers     :   5.00 ( 0%) usr   0.05 ( 0%) sys   5.09 ( 0%) 
wall
  tree SSA to normal    :   9.60 ( 1%) usr   0.42 ( 2%) sys  10.09 ( 1%) 
wall
  tree rename SSA copies:   2.11 ( 0%) usr   0.05 ( 0%) sys   2.17 ( 0%) 
wall
  dominance frontiers   :   0.86 ( 0%) usr   0.00 ( 0%) sys   0.89 ( 0%) 
wall
  control dependences   :   0.49 ( 0%) usr   0.00 ( 0%) sys   0.51 ( 0%) 
wall
  expand                :  42.02 ( 3%) usr   1.38 ( 7%) sys  43.63 ( 4%) 
wall
  varconst              :   0.82 ( 0%) usr   0.01 ( 0%) sys   0.83 ( 0%) 
wall
  jump                  :   8.24 ( 1%) usr   0.36 ( 2%) sys   8.64 ( 1%) 
wall
  CSE                   :  14.22 ( 1%) usr   0.08 ( 0%) sys  14.39 ( 1%) 
wall
  global CSE            :  67.80 ( 6%) usr   0.84 ( 4%) sys  69.06 ( 6%) 
wall
  loop analysis         :  11.90 ( 1%) usr   0.02 ( 0%) sys  12.02 ( 1%) 
wall
  bypass jumps          :   2.48 ( 0%) usr   0.12 ( 1%) sys   2.60 ( 0%) 
wall
  CSE 2                 :   6.33 ( 1%) usr   0.04 ( 0%) sys   6.38 ( 1%) 
wall
  branch prediction     :   8.78 ( 1%) usr   0.03 ( 0%) sys   8.88 ( 1%) 
wall
  flow analysis         :   0.28 ( 0%) usr   0.00 ( 0%) sys   0.29 ( 0%) 
wall
  combiner              :   6.32 ( 1%) usr   0.08 ( 0%) sys   6.46 ( 1%) 
wall
  if-conversion         :   1.72 ( 0%) usr   0.02 ( 0%) sys   1.74 ( 0%) 
wall
  regmove               :   2.47 ( 0%) usr   0.00 ( 0%) sys   2.48 ( 0%) 
wall
  local alloc           :   6.16 ( 1%) usr   0.03 ( 0%) sys   6.25 ( 1%) 
wall
  global alloc          :  13.97 ( 1%) usr   0.21 ( 1%) sys  14.22 ( 1%) 
wall
  reload CSE regs       :   5.61 ( 0%) usr   0.07 ( 0%) sys   5.75 ( 0%) 
wall
  flow 2                :   1.31 ( 0%) usr   0.07 ( 0%) sys   1.41 ( 0%) 
wall
  if-conversion 2       :   0.90 ( 0%) usr   0.00 ( 0%) sys   0.91 ( 0%) 
wall
  peephole 2            :   0.94 ( 0%) usr   0.02 ( 0%) sys   0.97 ( 0%) 
wall
  rename registers      :   1.66 ( 0%) usr   0.07 ( 0%) sys   1.75 ( 0%) 
wall
  scheduling 2          :   8.51 ( 1%) usr   0.13 ( 1%) sys   8.67 ( 1%) 
wall
  machine dep reorg     :   1.74 ( 0%) usr   0.00 ( 0%) sys   1.76 ( 0%) 
wall
  reorder blocks        :   1.06 ( 0%) usr   0.04 ( 0%) sys   1.10 ( 0%) 
wall
  shorten branches      :   1.87 ( 0%) usr   0.05 ( 0%) sys   1.94 ( 0%) 
wall
  reg stack             :   0.36 ( 0%) usr   0.00 ( 0%) sys   0.36 ( 0%) 
wall
  final                 :   2.55 ( 0%) usr   0.18 ( 1%) sys   2.74 ( 0%) 
wall
  symout                :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) 
wall
  rest of compilation   :   4.92 ( 0%) usr   0.07 ( 0%) sys   4.99 ( 0%) 
wall
  TOTAL                 :1201.61            20.47          1229.69

Look at the PRE times!!!

Also the resulting binary segfaults and such is miscompiled (for both 
leafify enabled and disabled compilation). Ugh.

For reference, the leafify patch still sits at 
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/leafify-ssa-2

Building an instrumented compiler now.

Richard.


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]