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 tree-optimization/19097] [4.3/4.4/4.5 regression] Quadratic behavior with many sets for the same register in VRP



------- Comment #53 from steven at gcc dot gnu dot org  2009-12-24 13:02 -------
I cannot reproduce this anymore on ia64 -- at least not for VRP and CPROP. The
slowest pass is now expand:

 dominator optimization:   0.40 ( 1%) usr   0.00 ( 0%) sys   0.40 ( 1%) wall   
2188 kB ( 3%) ggc
 tree CCP              :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PHI const/copy prop:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall 
     0 kB ( 0%) ggc
 tree split crit edges :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree reassociation    :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree PRE              :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   1 kB ( 0%) ggc
 tree FRE              :   0.12 ( 0%) usr   0.00 ( 1%) sys   0.12 ( 0%) wall   
   1 kB ( 0%) ggc
 tree code sinking     :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree linearize phis   :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.08 ( 0%) usr   0.01 ( 2%) sys   0.10 ( 0%) wall   
   0 kB ( 0%) ggc
 tree aggressive DCE   :   0.28 ( 0%) usr   0.00 ( 1%) sys   0.28 ( 0%) wall   
   3 kB ( 0%) ggc
 tree buildin call DCE :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree DSE              :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 PHI merge             :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 complete unrolling    :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree loop init        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree copy headers     :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree SSA uncprop      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree rename SSA copies:   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 tree switch initialization conversion:   0.01 ( 0%) usr   0.00 ( 0%) sys  
0.01 ( 0%) wall       0 kB ( 0%) ggc
 dominance frontiers   :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 dominance computation :   0.62 ( 1%) usr   0.00 ( 1%) sys   0.64 ( 1%) wall   
   0 kB ( 0%) ggc
 control dependences   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 expand                :   3.13 ( 5%) usr   0.06 ( 7%) sys   3.21 ( 5%) wall  
17093 kB (26%) ggc
 forward prop          :   0.79 ( 1%) usr   0.00 ( 1%) sys   0.79 ( 1%) wall   
 703 kB ( 1%) ggc
 CSE                   :   1.36 ( 2%) usr   0.00 ( 0%) sys   1.36 ( 2%) wall   
   0 kB ( 0%) ggc
 dead code elimination :   0.15 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
   0 kB ( 0%) ggc
 dead store elim1      :   0.39 ( 1%) usr   0.00 ( 0%) sys   0.39 ( 1%) wall   
 390 kB ( 1%) ggc
 loop analysis         :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
   0 kB ( 0%) ggc
 CPROP                 :   1.96 ( 3%) usr   0.18 (23%) sys   2.15 ( 3%) wall   
6094 kB ( 9%) ggc
 PRE                   :   1.26 ( 2%) usr   0.20 (27%) sys   1.46 ( 2%) wall   
   0 kB ( 0%) ggc
 auto inc dec          :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 CSE 2                 :   1.69 ( 3%) usr   0.00 ( 0%) sys   1.69 ( 3%) wall   
1288 kB ( 2%) ggc
 branch prediction     :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall   
   0 kB ( 0%) ggc
 combiner              :   0.62 ( 1%) usr   0.00 ( 0%) sys   0.62 ( 1%) wall   
 234 kB ( 0%) ggc
 if-conversion         :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling            :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 integrated RA         :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
 512 kB ( 1%) ggc
 reload                :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 scheduling 2          :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   8 kB ( 0%) ggc
 tree if-combine       :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 TOTAL                 :  61.41             0.77            62.18             
66790 kB

But this expand slowness also manifests itself at -O0 (IRA and gimplifier
slow), and at -O1 and -O3 (expand). I don't find this unreasnable at all, for
20000 conditionals and 20000 function calls (and all the stack and temp slots
saving/restoring involved). Closing.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |WORKSFORME


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


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