[Bug middle-end/45422] [4.6 Regression] compile time increases 3x.

xinliangli at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Jan 21 21:01:00 GMT 2011


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

--- Comment #31 from davidxl <xinliangli at gmail dot com> 2011-01-21 20:08:11 UTC ---
Comparing this timing with 4.6 results (164s), looks like many other passes
become slower other than ivopt (e.g IRA increases from 3.5s to 11s etc -- ivopt
only account for a small part of the 110s increase.

David


(In reply to comment #18)
> FYI, these are the 4.5 branch timings:
> 
> Execution times (seconds)
>  garbage collection    :   0.47 ( 1%) usr   0.00 ( 0%) sys   0.47 ( 1%) wall   
>    0 kB ( 0%) ggc
>  callgraph construction:   0.05 ( 0%) usr   0.01 ( 1%) sys   0.09 ( 0%) wall   
> 5996 kB ( 1%) ggc
>  callgraph optimization:   0.21 ( 0%) usr   0.02 ( 1%) sys   0.26 ( 0%) wall   
>  606 kB ( 0%) ggc
>  ipa cp                :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall   
> 1381 kB ( 0%) ggc
>  ipa reference         :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
>    0 kB ( 0%) ggc
>  ipa pure const        :   0.06 ( 0%) usr   0.01 ( 1%) sys   0.09 ( 0%) wall   
>    0 kB ( 0%) ggc
>  cfg cleanup           :   0.39 ( 1%) usr   0.00 ( 0%) sys   0.51 ( 1%) wall   
> 2459 kB ( 0%) ggc
>  trivially dead code   :   0.34 ( 1%) usr   0.00 ( 0%) sys   0.30 ( 1%) wall   
>    0 kB ( 0%) ggc
>  df multiple defs      :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall   
>    0 kB ( 0%) ggc
>  df reaching defs      :   0.33 ( 1%) usr   0.00 ( 0%) sys   0.27 ( 1%) wall   
>    0 kB ( 0%) ggc
>  df live regs          :   2.08 ( 4%) usr   0.01 ( 1%) sys   2.19 ( 4%) wall   
>    0 kB ( 0%) ggc
>  df live&initialized regs:   0.98 ( 2%) usr   0.00 ( 0%) sys   0.92 ( 2%) wall 
>      0 kB ( 0%) ggc
>  df use-def / def-use chains:   0.24 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%)
> wall       0 kB ( 0%) ggc
>  df reg dead/unused notes:   0.93 ( 2%) usr   0.00 ( 0%) sys   1.04 ( 2%) wall 
>   5756 kB ( 1%) ggc
>  register information  :   0.51 ( 1%) usr   0.01 ( 1%) sys   0.39 ( 1%) wall   
>    0 kB ( 0%) ggc
>  alias analysis        :   0.78 ( 1%) usr   0.01 ( 1%) sys   0.91 ( 2%) wall  
> 22384 kB ( 3%) ggc
>  alias stmt walking    :   0.50 ( 1%) usr   0.03 ( 2%) sys   0.38 ( 1%) wall   
> 5563 kB ( 1%) ggc
>  register scan         :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
>    0 kB ( 0%) ggc
>  rebuild jump labels   :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
>    0 kB ( 0%) ggc
>  parser                :   0.82 ( 2%) usr   0.13 ( 9%) sys   0.94 ( 2%) wall  
> 55603 kB ( 6%) ggc
>  inline heuristics     :   0.20 ( 0%) usr   0.01 ( 1%) sys   0.16 ( 0%) wall   
>    0 kB ( 0%) ggc
>  tree gimplify         :   0.38 ( 1%) usr   0.03 ( 2%) sys   0.40 ( 1%) wall  
> 46588 kB ( 5%) ggc
>  tree eh               :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
>    0 kB ( 0%) ggc
>  tree CFG construction :   0.04 ( 0%) usr   0.02 ( 1%) sys   0.05 ( 0%) wall  
> 11964 kB ( 1%) ggc
>  tree CFG cleanup      :   0.47 ( 1%) usr   0.00 ( 0%) sys   0.79 ( 1%) wall   
> 1829 kB ( 0%) ggc
>  tree VRP              :   1.46 ( 3%) usr   0.05 ( 4%) sys   1.27 ( 2%) wall  
> 56376 kB ( 6%) ggc
>  tree copy propagation :   0.09 ( 0%) usr   0.02 ( 1%) sys   0.22 ( 0%) wall   
>  746 kB ( 0%) ggc
>  tree find ref. vars   :   0.09 ( 0%) usr   0.01 ( 1%) sys   0.07 ( 0%) wall   
> 3806 kB ( 0%) ggc
>  tree PTA              :   0.30 ( 1%) usr   0.00 ( 0%) sys   0.33 ( 1%) wall   
> 3836 kB ( 0%) ggc
>  tree PHI insertion    :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
> 3194 kB ( 0%) ggc
>  tree SSA rewrite      :   0.24 ( 0%) usr   0.01 ( 1%) sys   0.29 ( 1%) wall  
> 13860 kB ( 2%) ggc
>  tree SSA other        :   0.13 ( 0%) usr   0.02 ( 1%) sys   0.11 ( 0%) wall   
>  418 kB ( 0%) ggc
>  tree SSA incremental  :   0.89 ( 2%) usr   0.06 ( 4%) sys   0.97 ( 2%) wall   
> 6811 kB ( 1%) ggc
>  tree operand scan     :   0.34 ( 1%) usr   0.23 (17%) sys   0.59 ( 1%) wall  
> 44776 kB ( 5%) ggc
>  dominator optimization:   0.29 ( 1%) usr   0.01 ( 1%) sys   0.35 ( 1%) wall   
> 5152 kB ( 1%) ggc
>  tree CCP              :   0.51 ( 1%) usr   0.02 ( 1%) sys   0.43 ( 1%) wall   
> 4620 kB ( 1%) ggc
>  tree PHI const/copy prop:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
>    106 kB ( 0%) ggc
>  tree split crit edges :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
> 2019 kB ( 0%) ggc
>  tree reassociation    :   0.12 ( 0%) usr   0.01 ( 1%) sys   0.12 ( 0%) wall   
> 2946 kB ( 0%) ggc
>  tree PRE              :   0.92 ( 2%) usr   0.00 ( 0%) sys   0.95 ( 2%) wall   
> 7315 kB ( 1%) ggc
>  tree FRE              :   0.45 ( 1%) usr   0.04 ( 3%) sys   0.35 ( 1%) wall   
> 5518 kB ( 1%) ggc
>  tree code sinking     :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
> 1400 kB ( 0%) ggc
>  tree linearize phis   :   0.02 ( 0%) usr   0.01 ( 1%) sys   0.01 ( 0%) wall   
>    0 kB ( 0%) ggc
>  tree forward propagate:   0.18 ( 0%) usr   0.02 ( 1%) sys   0.16 ( 0%) wall  
> 10006 kB ( 1%) ggc
>  tree conservative DCE :   0.05 ( 0%) usr   0.01 ( 1%) sys   0.13 ( 0%) wall   
>  576 kB ( 0%) ggc
>  tree aggressive DCE   :   0.28 ( 1%) usr   0.01 ( 1%) sys   0.37 ( 1%) wall   
> 8853 kB ( 1%) ggc
>  tree buildin call DCE :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
>    0 kB ( 0%) ggc
>  tree DSE              :   0.20 ( 0%) usr   0.00 ( 0%) sys   0.11 ( 0%) wall   
>  132 kB ( 0%) ggc
>  PHI merge             :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
>   37 kB ( 0%) ggc
>  tree loop bounds      :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall   
> 8266 kB ( 1%) ggc
>  tree loop invariant motion:   0.06 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%)
> wall      67 kB ( 0%) ggc
>  tree canonical iv     :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
> 4779 kB ( 1%) ggc
>  scev constant prop    :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
> 2345 kB ( 0%) ggc
>  tree loop unswitching :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
>  573 kB ( 0%) ggc
>  complete unrolling    :   1.05 ( 2%) usr   0.11 ( 8%) sys   1.39 ( 3%) wall  
> 98553 kB (11%) ggc
>  tree vectorization    :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
>  883 kB ( 0%) ggc
>  tree slp vectorization:   0.61 ( 1%) usr   0.00 ( 0%) sys   0.60 ( 1%) wall  
> 53236 kB ( 6%) ggc
>  tree iv optimization  :   5.80 (11%) usr   0.06 ( 4%) sys   5.94 (11%) wall  
> 95356 kB (11%) ggc
>  predictive commoning  :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
> 1054 kB ( 0%) ggc
>  tree loop init        :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
> 1339 kB ( 0%) ggc
>  tree copy headers     :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
> 1613 kB ( 0%) ggc
>  tree SSA uncprop      :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
>    0 kB ( 0%) ggc
>  tree rename SSA copies:   0.06 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
>    0 kB ( 0%) ggc
>  dominance frontiers   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
>    0 kB ( 0%) ggc
>  dominance computation :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall   
>    0 kB ( 0%) ggc
>  expand                :   3.24 ( 6%) usr   0.07 ( 5%) sys   3.34 ( 6%) wall  
> 69633 kB ( 8%) ggc
>  lower subreg          :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
>    0 kB ( 0%) ggc
>  forward prop          :   0.48 ( 1%) usr   0.01 ( 1%) sys   0.48 ( 1%) wall   
> 9984 kB ( 1%) ggc
>  CSE                   :   0.73 ( 1%) usr   0.00 ( 0%) sys   0.92 ( 2%) wall   
>  248 kB ( 0%) ggc
>  dead code elimination :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.28 ( 1%) wall   
>    0 kB ( 0%) ggc
>  dead store elim1      :   0.33 ( 1%) usr   0.01 ( 1%) sys   0.32 ( 1%) wall   
> 5987 kB ( 1%) ggc
>  dead store elim2      :   0.44 ( 1%) usr   0.02 ( 1%) sys   0.39 ( 1%) wall   
> 7831 kB ( 1%) ggc
>  loop analysis         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
>  718 kB ( 0%) ggc
>  loop invariant motion :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
>  305 kB ( 0%) ggc
>  loop unswitching      :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
>    0 kB ( 0%) ggc
>  loop unrolling        :   0.65 ( 1%) usr   0.00 ( 0%) sys   0.62 ( 1%) wall  
> 32780 kB ( 4%) ggc
>  CPROP                 :   0.70 ( 1%) usr   0.00 ( 0%) sys   0.60 ( 1%) wall   
> 7825 kB ( 1%) ggc
>  PRE                   :   0.32 ( 1%) usr   0.00 ( 0%) sys   0.33 ( 1%) wall   
>  719 kB ( 0%) ggc
>  web                   :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
>  594 kB ( 0%) ggc
>  CSE 2                 :   0.75 ( 1%) usr   0.01 ( 1%) sys   0.60 ( 1%) wall   
>  470 kB ( 0%) ggc
>  branch prediction     :   0.19 ( 0%) usr   0.01 ( 1%) sys   0.14 ( 0%) wall   
> 7344 kB ( 1%) ggc
>  combiner              :   1.19 ( 2%) usr   0.01 ( 1%) sys   1.33 ( 2%) wall  
> 19980 kB ( 2%) ggc
>  if-conversion         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
>  746 kB ( 0%) ggc
>  regmove               :   0.37 ( 1%) usr   0.01 ( 1%) sys   0.33 ( 1%) wall   
>    0 kB ( 0%) ggc
>  integrated RA         :   3.51 ( 7%) usr   0.01 ( 1%) sys   3.74 ( 7%) wall  
> 12746 kB ( 1%) ggc
>  reload                :   2.16 ( 4%) usr   0.02 ( 1%) sys   2.01 ( 4%) wall   
> 7755 kB ( 1%) ggc
>  reload CSE regs       :   1.38 ( 3%) usr   0.00 ( 0%) sys   1.26 ( 2%) wall  
> 12331 kB ( 1%) ggc
>  load CSE after reload :   0.18 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall   
>  162 kB ( 0%) ggc
>  thread pro- & epilogue:   0.11 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall   
> 4370 kB ( 0%) ggc
>  if-conversion 2       :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
>  357 kB ( 0%) ggc
>  combine stack adjustments:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
>       0 kB ( 0%) ggc
>  peephole 2            :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
> 1899 kB ( 0%) ggc
>  rename registers      :   0.46 ( 1%) usr   0.00 ( 0%) sys   0.55 ( 1%) wall   
> 2237 kB ( 0%) ggc
>  hard reg cprop        :   0.37 ( 1%) usr   0.00 ( 0%) sys   0.48 ( 1%) wall   
>   13 kB ( 0%) ggc
>  scheduling 2          :   3.30 ( 6%) usr   0.04 ( 3%) sys   3.10 ( 6%) wall   
> 1216 kB ( 0%) ggc
>  machine dep reorg     :   0.38 ( 1%) usr   0.00 ( 0%) sys   0.36 ( 1%) wall   
>   11 kB ( 0%) ggc
>  reorder blocks        :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall   
> 1283 kB ( 0%) ggc
>  final                 :   0.93 ( 2%) usr   0.07 ( 5%) sys   0.84 ( 2%) wall   
> 6610 kB ( 1%) ggc
>  symout                :   0.30 ( 1%) usr   0.03 ( 2%) sys   0.34 ( 1%) wall  
> 27006 kB ( 3%) ggc
>  variable tracking     :   3.86 ( 7%) usr   0.03 ( 2%) sys   3.99 ( 7%) wall  
> 39804 kB ( 4%) ggc
>  plugin execution      :   0.00 ( 0%) usr   0.01 ( 1%) sys   0.05 ( 0%) wall   
>    0 kB ( 0%) ggc
>  rest of compilation   :   0.00 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall   
>    0 kB ( 0%) ggc
>  TOTAL                 :  52.50             1.37            53.88            
> 893901 kB



More information about the Gcc-bugs mailing list