c++/7086: [3.3/3.4 regression] compile time regression

Daniel Jacobowitz drow@mvista.com
Tue Mar 11 07:27:00 GMT 2003


Just FYI, I tried this with -O2 on:

g++ (GCC) 3.3 20030129 (prerelease)

The -ftime-report output was:

Execution times (seconds)
 garbage collection    :   1.56 ( 2%) usr   0.03 ( 3%) sys   3.00 ( 3%) wall
 cfg construction      :   0.33 ( 0%) usr   0.02 ( 2%) sys   0.00 ( 0%) wall
 cfg cleanup           :   1.38 ( 1%) usr   0.00 ( 0%) sys   1.00 ( 1%) wall
 trivially dead code   :   0.30 ( 0%) usr   0.00 ( 0%) sys   1.00 ( 1%) wall
 life analysis         :   0.33 ( 0%) usr   0.05 ( 5%) sys   0.00 ( 0%) wall
 life info update      :   0.13 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 preprocessing         :   0.13 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 lexical analysis      :   0.10 ( 0%) usr   0.05 ( 5%) sys   0.00 ( 0%) wall
 parser                :   0.95 ( 1%) usr   0.07 ( 7%) sys   1.00 ( 1%) wall
 expand                :  85.42 (88%) usr   0.24 (25%) sys  86.00 (88%) wall
 varconst              :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 integration           :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 jump                  :   0.92 ( 1%) usr   0.10 (10%) sys   1.00 ( 1%) wall
 CSE                   :   0.93 ( 1%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 global CSE            :   0.73 ( 1%) usr   0.05 ( 5%) sys   1.00 ( 1%) wall
 loop analysis         :   0.86 ( 1%) usr   0.23 (24%) sys   2.00 ( 2%) wall
 CSE 2                 :   0.33 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 branch prediction     :   0.19 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 flow analysis         :   0.06 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 combiner              :   0.13 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 if-conversion         :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 regmove               :   0.11 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 mode switching        :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 local alloc           :   0.23 ( 0%) usr   0.03 ( 3%) sys   0.00 ( 0%) wall
 global alloc          :   0.40 ( 0%) usr   0.00 ( 0%) sys   1.00 ( 1%) wall
 reload CSE regs       :   0.30 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 flow 2                :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 peephole 2            :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 rename registers      :   0.10 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 scheduling 2          :   0.19 ( 0%) usr   0.01 ( 1%) sys   0.00 ( 0%) wall
 shorten branches      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 final                 :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 rest of compilation   :   0.55 ( 1%) usr   0.00 ( 0%) sys   1.00 ( 1%) wall
 TOTAL                 :  97.10             0.96            98.00


I couldn't try the testcase on HEAD because it includes preprocessed output
from the STL; the new parser rejects lots of it, for already well-discussed
reasons.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



More information about the Gcc-bugs mailing list