------- Comment #2 from lucier at math dot purdue dot edu 2006-03-25 22:22 ------- Subject: Re: Inordinate compile times on large routines
[lindv2:~/Desktop] lucier% /pkgs/gcc-4.0.3/bin/gcc -mcpu=970 -m64 -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 -bundle -flat_namespace -undefined suppress -I/usr/local/Gambit-C/include/ -ftime-report -fmem-report all.i gcc: unrecognized option '-no-cpp-precomp' Memory still allocated at the end of the compilation process Size Allocated Used Overhead 8 16k 11k 480 16 52k 12k 1144 64 10M 1841k 167k 256 4096 512 56 512 12k 4608 168 1024 96k 95k 1344 2048 4096 2048 56 4096 64k 64k 896 8192 16k 16k 112 32768 288k 288k 504 131072 128k 128k 56 1048576 3072k 3072k 168 2097152 4096k 4096k 112 112 19M 16M 272k 208 6360k 4213k 86k 48 7344k 4315k 114k 32 148k 74k 2664 80 16M 1336k 232k Total 67M 35M 881k String pool entries 155812 identifiers 155812 (100.00%) slots 262144 bytes 1952k (167k overhead) table size 2048k coll/search 0.8640 ins/search 0.1923 avg. entry 12.83 bytes (+/- 7.87) longest entry 67 ??? tree nodes created (No per-node statistics) Type hash: size 1021, 551 elements, 0.816291 collisions Execution times (seconds) garbage collection : 2.11 ( 0%) usr 0.04 ( 0%) sys 2.71 ( 0%) wall cfg construction : 0.68 ( 0%) usr 1.22 ( 0%) sys 2.29 ( 0%) wall cfg cleanup : 94.99 ( 9%) usr 0.54 ( 0%) sys 120.62 ( 7%) wall trivially dead code : 2.87 ( 0%) usr 0.06 ( 0%) sys 3.83 ( 0%) wall life analysis : 6.78 ( 1%) usr 3.26 ( 1%) sys 12.56 ( 1%) wall life info update : 1.09 ( 0%) usr 0.01 ( 0%) sys 1.34 ( 0%) wall alias analysis : 1.89 ( 0%) usr 0.04 ( 0%) sys 2.55 ( 0%) wall register scan : 1.25 ( 0%) usr 0.02 ( 0%) sys 1.62 ( 0%) wall rebuild jump labels : 0.34 ( 0%) usr 0.01 ( 0%) sys 0.42 ( 0%) wall preprocessing : 7.70 ( 1%) usr 12.37 ( 4%) sys 25.83 ( 2%) wall lexical analysis : 13.19 ( 1%) usr 25.54 ( 9%) sys 48.16 ( 3%) wall parser : 11.06 ( 1%) usr 13.13 ( 5%) sys 30.20 ( 2%) wall tree gimplify : 1.61 ( 0%) usr 0.07 ( 0%) sys 2.14 ( 0%) wall tree eh : 0.18 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 0%) wall tree CFG construction : 0.63 ( 0%) usr 0.16 ( 0%) sys 0.97 ( 0%) wall tree CFG cleanup : 2.09 ( 0%) usr 0.02 ( 0%) sys 2.62 ( 0%) wall tree find referenced vars: 0.25 ( 0%) usr 0.01 ( 0%) sys 0.37 ( 0%) wall tree PTA : 615.45 (59%) usr 155.84 (55%) sys 967.56 (58%) wall tree alias analysis : 0.63 ( 0%) usr 0.00 ( 0%) sys 0.73 ( 0%) wall tree PHI insertion : 4.27 ( 0%) usr 5.94 ( 2%) sys 12.63 ( 1%) wall tree SSA rewrite : 3.35 ( 0%) usr 0.10 ( 0%) sys 4.61 ( 0%) wall tree SSA other : 8.35 ( 1%) usr 7.78 ( 3%) sys 19.75 ( 1%) wall tree operand scan : 5.80 ( 1%) usr 7.91 ( 3%) sys 17.53 ( 1%) wall dominator optimization: 5.62 ( 1%) usr 0.45 ( 0%) sys 7.42 ( 0%) wall tree CCP : 1.78 ( 0%) usr 0.02 ( 0%) sys 2.18 ( 0%) wall tree split crit edges : 0.30 ( 0%) usr 0.04 ( 0%) sys 0.41 ( 0%) wall tree remove redundant PHIs: 3.92 ( 0%) usr 0.14 ( 0%) sys 4.96 ( 0%) wall tree linearize phis : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree forward propagate: 1.22 ( 0%) usr 0.01 ( 0%) sys 1.51 ( 0%) wall tree conservative DCE : 1.94 ( 0%) usr 0.01 ( 0%) sys 2.51 ( 0%) wall tree aggressive DCE : 0.82 ( 0%) usr 0.06 ( 0%) sys 1.05 ( 0%) wall tree DSE : 1.35 ( 0%) usr 0.05 ( 0%) sys 1.74 ( 0%) wall PHI merge : 0.11 ( 0%) usr 0.01 ( 0%) sys 0.16 ( 0%) wall tree record loop bounds: 0.29 ( 0%) usr 0.01 ( 0%) sys 0.37 ( 0%) wall loop invariant motion : 1.25 ( 0%) usr 0.02 ( 0%) sys 1.58 ( 0%) wall tree canonical iv creation: 0.26 ( 0%) usr 0.01 ( 0%) sys 0.34 ( 0%) wall tree loop init : 8.65 ( 1%) usr 2.11 ( 1%) sys 13.35 ( 1%) wall tree copy headers : 3.03 ( 0%) usr 1.35 ( 0%) sys 5.42 ( 0%) wall tree SSA to normal : 139.82 (13%) usr 1.01 ( 0%) sys 176.26 (11%) wall tree rename SSA copies: 0.72 ( 0%) usr 0.10 ( 0%) sys 0.97 ( 0%) wall dominance frontiers : 0.76 ( 0%) usr 0.01 ( 0%) sys 0.94 ( 0%) wall expand : 5.16 ( 0%) usr 1.32 ( 0%) sys 8.31 ( 0%) wall varconst : 0.13 ( 0%) usr 0.02 ( 0%) sys 0.25 ( 0%) wall jump : 0.80 ( 0%) usr 0.03 ( 0%) sys 1.00 ( 0%) wall CSE : 2.27 ( 0%) usr 1.09 ( 0%) sys 4.26 ( 0%) wall loop analysis : 2.00 ( 0%) usr 0.15 ( 0%) sys 2.60 ( 0%) wall branch prediction : 3.36 ( 0%) usr 0.21 ( 0%) sys 4.44 ( 0%) wall flow analysis : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.33 ( 0%) wall combiner : 3.82 ( 0%) usr 0.09 ( 0%) sys 4.97 ( 0%) wall if-conversion : 2.49 ( 0%) usr 0.08 ( 0%) sys 3.27 ( 0%) wall local alloc : 2.85 ( 0%) usr 0.11 ( 0%) sys 3.78 ( 0%) wall global alloc : 27.34 ( 3%) usr 23.42 ( 8%) sys 61.76 ( 4%) wall reload CSE regs : 27.92 ( 3%) usr 0.77 ( 0%) sys 36.15 ( 2%) wall flow 2 : 1.80 ( 0%) usr 2.14 ( 1%) sys 4.79 ( 0%) wall if-conversion 2 : 1.00 ( 0%) usr 0.06 ( 0%) sys 1.26 ( 0%) wall rename registers : 0.94 ( 0%) usr 0.19 ( 0%) sys 1.41 ( 0%) wall scheduling 2 : 3.49 ( 0%) usr 0.19 ( 0%) sys 4.40 ( 0%) wall shorten branches : 0.90 ( 0%) usr 0.03 ( 0%) sys 1.28 ( 0%) wall final : 1.68 ( 0%) usr 0.10 ( 0%) sys 2.08 ( 0%) wall rest of compilation : 1.52 ( 0%) usr 1.26 ( 0%) sys 3.34 ( 0%) wall TOTAL :1048.39 280.86 1665.66 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26854