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/26854] Inordinate compile times on large routines



------- Comment #22 from lucier at math dot purdue dot edu  2006-12-08 01:24 -------
Subject: Re:  Inordinate compile times on large routines

And here's the same data for 4.2.0 branch; Dan, your changes have  
clearly helped a lot.

It seems to take about 5% more memory at the maximum, though, on  
4.3.0 (6.9GB vs 6.6GB); but both these numbers are just from visual  
inspection of "top" as things were running, so they are likely not  
accurate.

Brad

euler-56% time /pkgs/gcc-4.2.0-test/bin/gcc  -no-cpp-precomp -Wall -W  
-Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math - 
fno-strict-aliasing -fwrapv -fomit-frame-pointer -fPIC -fno-common - 
ftime-report -fmem-report -c all.i
gcc: unrecognized option '-no-cpp-precomp'
Memory still allocated at the end of the compilation process
Size   Allocated        Used    Overhead
8             16k         13k        480
16          8556k       7998k        183k
64            36M         22M        587k
256         4096        2816          56
512         4096        1536          56
1024         224k        222k       3136
2048          40k         26k        560
4096          76k         76k       1064
8192          64k         64k        448
16384         16k         16k         56
32768         64k         64k        112
65536        704k        704k        616
131072        512k        512k        224
262144        768k        768k        168
1048576       6144k       5120k        336
2097152       2048k       2048k         56
112          144k         92k       2016
208           44k         40k        616
192           14M         10M        209k
160           40k         37k        560
176         7996k       4802k        109k
96            19M         16M        267k
416           28k         23k        392
128           10M       7187k        142k
48            18M       9508k        302k
224          420k        384k       5880
32            71M         71M       1279k
80            62M         46M        880k
Total        261M        205M       3979k

String pool
entries         125047
identifiers     125047 (100.00%)
slots           262144
bytes           1675k (137k overhead)
table size      2048k
coll/search     0.8967
ins/search      0.1974
avg. entry      13.72 bytes (+/- 8.99)
longest entry   71

??? tree nodes created

(No per-node statistics)
Type hash: size 1021, 573 elements, 0.687728 collisions
DECL_DEBUG_EXPR  hash: size 8191, 2981 elements, 0.983076 collisions
DECL_VALUE_EXPR  hash: size 1021, 0 elements, 0.000000 collisions

Execution times (seconds)
garbage collection    :   1.10 ( 0%) usr   0.00 ( 0%) sys   1.10  
( 0%) wall       0 kB ( 0%) ggc
callgraph construction:   0.60 ( 0%) usr   0.12 ( 1%) sys   0.74  
( 0%) wall   17017 kB ( 2%) ggc
callgraph optimization:   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04  
( 0%) wall       0 kB ( 0%) ggc
ipa reference         :   0.17 ( 0%) usr   0.05 ( 0%) sys   0.25  
( 0%) wall       7 kB ( 0%) ggc
cfg cleanup           :   7.68 ( 0%) usr   0.00 ( 0%) sys   7.69  
( 0%) wall      38 kB ( 0%) ggc
trivially dead code   :   1.13 ( 0%) usr   0.00 ( 0%) sys   1.10  
( 0%) wall       0 kB ( 0%) ggc
life analysis         :  20.05 ( 1%) usr   0.01 ( 0%) sys  20.10  
( 1%) wall   12032 kB ( 2%) ggc
life info update      :   0.61 ( 0%) usr   0.00 ( 0%) sys   0.61  
( 0%) wall       0 kB ( 0%) ggc
alias analysis        :   0.92 ( 0%) usr   0.00 ( 0%) sys   0.89  
( 0%) wall    7174 kB ( 1%) ggc
register scan         :   0.51 ( 0%) usr   0.00 ( 0%) sys   0.50  
( 0%) wall       1 kB ( 0%) ggc
rebuild jump labels   :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.20  
( 0%) wall       0 kB ( 0%) ggc
preprocessing         :   0.63 ( 0%) usr   0.92 ( 8%) sys   1.50  
( 0%) wall    1794 kB ( 0%) ggc
lexical analysis      :   0.61 ( 0%) usr   1.67 (14%) sys   2.39  
( 0%) wall       0 kB ( 0%) ggc
parser                :   1.27 ( 0%) usr   0.82 ( 7%) sys   2.30  
( 0%) wall   59584 kB ( 8%) ggc
integration           :   0.27 ( 0%) usr   0.10 ( 1%) sys   0.39  
( 0%) wall       0 kB ( 0%) ggc
tree gimplify         :   0.68 ( 0%) usr   0.02 ( 0%) sys   0.75  
( 0%) wall   23041 kB ( 3%) ggc
tree eh               :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.10  
( 0%) wall       0 kB ( 0%) ggc
tree CFG construction :   0.32 ( 0%) usr   0.06 ( 0%) sys   0.40  
( 0%) wall   59313 kB ( 8%) ggc
tree CFG cleanup      :   4.18 ( 0%) usr   0.00 ( 0%) sys   4.20  
( 0%) wall    3716 kB ( 1%) ggc
tree copy propagation :   1.51 ( 0%) usr   0.01 ( 0%) sys   1.55  
( 0%) wall    2219 kB ( 0%) ggc
tree store copy prop  :   0.50 ( 0%) usr   0.00 ( 0%) sys   0.51  
( 0%) wall     576 kB ( 0%) ggc
tree find ref. vars   :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.13  
( 0%) wall    1186 kB ( 0%) ggc
tree PTA              : 857.74 (53%) usr   0.47 ( 4%) sys 859.20  
(53%) wall    2331 kB ( 0%) ggc
tree alias analysis   : 383.35 (24%) usr   0.64 ( 5%) sys 385.19  
(24%) wall   15963 kB ( 2%) ggc
tree PHI insertion    :   1.57 ( 0%) usr   0.10 ( 1%) sys   1.75  
( 0%) wall   69532 kB (10%) ggc
tree SSA rewrite      :   3.05 ( 0%) usr   0.03 ( 0%) sys   3.07  
( 0%) wall   28127 kB ( 4%) ggc
tree SSA other        :   0.18 ( 0%) usr   0.10 ( 1%) sys   0.26  
( 0%) wall       0 kB ( 0%) ggc
tree SSA incremental  :   9.45 ( 1%) usr   0.07 ( 1%) sys   9.53  
( 1%) wall   20443 kB ( 3%) ggc
tree operand scan     :   6.22 ( 0%) usr   0.53 ( 4%) sys   7.09  
( 0%) wall   26490 kB ( 4%) ggc
dominator optimization:   3.86 ( 0%) usr   0.05 ( 0%) sys   3.92  
( 0%) wall   48855 kB ( 7%) ggc
tree STORE-CCP        :   0.47 ( 0%) usr   0.00 ( 0%) sys   0.47  
( 0%) wall       8 kB ( 0%) ggc
tree CCP              :   0.63 ( 0%) usr   0.00 ( 0%) sys   0.63  
( 0%) wall      16 kB ( 0%) ggc
tree PHI const/copy prop:   0.25 ( 0%) usr   0.00 ( 0%) sys   0.26  
( 0%) wall       9 kB ( 0%) ggc
tree split crit edges :   0.12 ( 0%) usr   0.04 ( 0%) sys   0.17  
( 0%) wall   27005 kB ( 4%) ggc
tree reassociation    :   0.53 ( 0%) usr   0.00 ( 0%) sys   0.53  
( 0%) wall       0 kB ( 0%) ggc
tree FRE              : 181.71 (11%) usr   0.02 ( 0%) sys 181.71  
(11%) wall   18940 kB ( 3%) ggc
tree code sinking     :   0.57 ( 0%) usr   0.00 ( 0%) sys   0.58  
( 0%) wall       0 kB ( 0%) ggc
tree linearize phis   :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13  
( 0%) wall       0 kB ( 0%) ggc
tree forward propagate:   0.14 ( 0%) usr   0.00 ( 0%) sys   0.15  
( 0%) wall       0 kB ( 0%) ggc
tree conservative DCE :   1.32 ( 0%) usr   0.00 ( 0%) sys   1.31  
( 0%) wall       0 kB ( 0%) ggc
tree aggressive DCE   :   0.52 ( 0%) usr   0.00 ( 0%) sys   0.51  
( 0%) wall       0 kB ( 0%) ggc
tree DSE              :   0.41 ( 0%) usr   0.00 ( 0%) sys   0.40  
( 0%) wall       1 kB ( 0%) ggc
PHI merge             :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01  
( 0%) wall       2 kB ( 0%) ggc
tree loop bounds      :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.23  
( 0%) wall       0 kB ( 0%) ggc
loop invariant motion :   0.37 ( 0%) usr   0.00 ( 0%) sys   0.37  
( 0%) wall       0 kB ( 0%) ggc
tree canonical iv     :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.12  
( 0%) wall       0 kB ( 0%) ggc
scev constant prop    :   0.67 ( 0%) usr   0.00 ( 0%) sys   0.66  
( 0%) wall    1756 kB ( 0%) ggc
complete unrolling    :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06  
( 0%) wall       0 kB ( 0%) ggc
tree iv optimization  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01  
( 0%) wall       0 kB ( 0%) ggc
tree loop init        :   2.35 ( 0%) usr   0.08 ( 1%) sys   2.47  
( 0%) wall   45903 kB ( 6%) ggc
tree copy headers     :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13  
( 0%) wall       1 kB ( 0%) ggc
tree SSA uncprop      :   0.27 ( 0%) usr   0.00 ( 0%) sys   0.26  
( 0%) wall       0 kB ( 0%) ggc
tree SSA to normal    :  56.18 ( 4%) usr   0.05 ( 0%) sys  56.26  
( 3%) wall   55617 kB ( 8%) ggc
tree rename SSA copies:   0.45 ( 0%) usr   0.00 ( 0%) sys   0.45  
( 0%) wall       0 kB ( 0%) ggc
dominance frontiers   :   0.49 ( 0%) usr   0.00 ( 0%) sys   0.51  
( 0%) wall       0 kB ( 0%) ggc
dominance computation :   2.43 ( 0%) usr   0.01 ( 0%) sys   2.39  
( 0%) wall       0 kB ( 0%) ggc
expand                :   7.24 ( 0%) usr   0.08 ( 1%) sys   7.44  
( 0%) wall   95504 kB (13%) ggc
jump                  :   0.11 ( 0%) usr   0.00 ( 0%) sys   0.11  
( 0%) wall       0 kB ( 0%) ggc
CSE                   :   0.82 ( 0%) usr   0.00 ( 0%) sys   0.83  
( 0%) wall    1108 kB ( 0%) ggc
loop analysis         :  18.66 ( 1%) usr   5.45 (45%) sys  24.87  
( 2%) wall    5844 kB ( 1%) ggc
branch prediction     :   0.92 ( 0%) usr   0.01 ( 0%) sys   0.93  
( 0%) wall    1532 kB ( 0%) ggc
flow analysis         :   0.17 ( 0%) usr   0.00 ( 0%) sys   0.15  
( 0%) wall       0 kB ( 0%) ggc
combiner              :   1.60 ( 0%) usr   0.02 ( 0%) sys   1.63  
( 0%) wall   19153 kB ( 3%) ggc
if-conversion         :   0.63 ( 0%) usr   0.01 ( 0%) sys   0.65  
( 0%) wall     365 kB ( 0%) ggc
mode switching        :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01  
( 0%) wall       0 kB ( 0%) ggc
local alloc           :   1.32 ( 0%) usr   0.01 ( 0%) sys   1.32  
( 0%) wall    5154 kB ( 1%) ggc
global alloc          :   7.14 ( 0%) usr   0.37 ( 3%) sys   7.57  
( 0%) wall    9514 kB ( 1%) ggc
reload CSE regs       :   0.82 ( 0%) usr   0.00 ( 0%) sys   0.83  
( 0%) wall   11516 kB ( 2%) ggc
flow 2                :   0.40 ( 0%) usr   0.00 ( 0%) sys   0.41  
( 0%) wall    2940 kB ( 0%) ggc
if-conversion 2       :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.25  
( 0%) wall       1 kB ( 0%) ggc
rename registers      :   0.58 ( 0%) usr   0.03 ( 0%) sys   0.60  
( 0%) wall      15 kB ( 0%) ggc
scheduling 2          :   2.33 ( 0%) usr   0.03 ( 0%) sys   2.38  
( 0%) wall   10644 kB ( 1%) ggc
machine dep reorg     :   0.49 ( 0%) usr   0.00 ( 0%) sys   0.49  
( 0%) wall      91 kB ( 0%) ggc
final                 :   1.23 ( 0%) usr   0.02 ( 0%) sys   1.25  
( 0%) wall    2050 kB ( 0%) ggc
TOTAL                 :1604.05            12.16           
1620.25             716501 kB
1604.799u 13.117s 27:05.13 99.5%        0+0k 0+0io 0pf+0w
euler-57% /pkgs/gcc-4.2.0-test/bin/gcc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/pkgs/gcc-4.2.0-test --with- 
gmp=/pkgs/gmp-4.2.1 --with-mpfr=/pkgs/gmp-4.2.1 --enable-checking=no  
--enable-languages=c
Thread model: posix
gcc version 4.2.0 20061207 (prerelease)


-- 


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


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