------- Comment #14 from pinskia at gcc dot gnu dot org  2005-10-12 16:12 
-------
I have a patch which I am testing which should fix this by reducing the number
of referenced variables which in turns reduces virtual operands.
Now we get the following -ftime-report for -O2 on powerpc-darwin with cc1plus
compiled with -O0 and with checking still enabled, a 40x decrease:
 garbage collection    :  20.72 (10%) usr   0.75 ( 1%) sys  29.13 ( 6%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   9.23 ( 5%) usr   1.00 ( 2%) sys  13.52 ( 3%) wall  
25403 kB ( 4%) ggc
 callgraph optimization:   0.10 ( 0%) usr   0.00 ( 0%) sys   0.42 ( 0%) wall   
   0 kB ( 0%) ggc
 CFG verifier          :   3.70 ( 2%) usr   0.38 ( 1%) sys   6.37 ( 1%) wall   
   0 kB ( 0%) ggc
 rebuild jump labels   :   0.64 ( 0%) usr   0.18 ( 0%) sys   1.14 ( 0%) wall   
   0 kB ( 0%) ggc
 preprocessing         :   4.47 ( 2%) usr   6.35 (12%) sys  13.55 ( 3%) wall   
2112 kB ( 0%) ggc
 parser                :  64.77 (33%) usr  15.36 (29%) sys 195.42 (37%) wall 
299871 kB (42%) ggc
 name lookup           :  22.59 (11%) usr  23.24 (43%) sys  76.74 (15%) wall  
16057 kB ( 2%) ggc
 inline heuristics     :   0.24 ( 0%) usr   0.01 ( 0%) sys   0.46 ( 0%) wall   
 662 kB ( 0%) ggc
 integration           :   0.00 ( 0%) usr   0.02 ( 0%) sys   0.05 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify         :  20.46 (10%) usr   0.89 ( 2%) sys  41.40 ( 8%) wall  
57280 kB ( 8%) ggc
 tree eh               :   0.76 ( 0%) usr   0.15 ( 0%) sys   1.19 ( 0%) wall   
4251 kB ( 1%) ggc
 tree CFG construction :   1.87 ( 1%) usr   0.51 ( 1%) sys   2.91 ( 1%) wall  
61517 kB ( 9%) ggc
 tree CFG cleanup      :   2.34 ( 1%) usr   0.44 ( 1%) sys   4.01 ( 1%) wall   
  36 kB ( 0%) ggc
 tree STMT verifier    :   8.10 ( 4%) usr   0.39 ( 1%) sys  11.28 ( 2%) wall   
   0 kB ( 0%) ggc
 expand                :  34.94 (18%) usr   2.55 ( 5%) sys  74.96 (14%) wall 
240800 kB (34%) ggc
 varconst              :   2.88 ( 1%) usr   1.34 ( 2%) sys  51.80 (10%) wall   
2382 kB ( 0%) ggc
 final                 :   0.50 ( 0%) usr   0.12 ( 0%) sys   1.10 ( 0%) wall   
   0 kB ( 0%) ggc
 symout                :   0.00 ( 0%) usr   0.03 ( 0%) sys   0.30 ( 0%) wall   
  28 kB ( 0%) ggc
 TOTAL                 : 198.38            53.88           526.74            
711174 kB


It also fixes the C testcase in comment #8 too.


-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
             Status|NEW                         |ASSIGNED


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

Reply via email to