------- Additional Comments From lucier at math dot purdue dot edu 2004-11-10 16:31 ------- Subject: Re: Tremendous increase in compile times for 3.4.1 with -mcpu=G5
The G5 time is cut in half from 3.4.*, but the G4 time is 4 times as long (roughly). I don't think this is "FIXED". Or should I just open another PR? Brad [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1 -mcpu=G4 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num ___init_proc ____20___num Execution times (seconds) cfg construction : 0.07 ( 0%) usr 0.06 ( 0%) sys 0.14 ( 0%) wall cfg cleanup : 1.63 ( 2%) usr 0.03 ( 0%) sys 2.23 ( 2%) wall trivially dead code : 0.35 ( 1%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall life analysis : 2.29 ( 3%) usr 0.92 ( 6%) sys 4.42 ( 4%) wall life info update : 0.73 ( 1%) usr 0.00 ( 0%) sys 1.07 ( 1%) wall alias analysis : 0.25 ( 0%) usr 0.00 ( 0%) sys 0.33 ( 0%) wall register scan : 0.16 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall preprocessing : 1.66 ( 3%) usr 2.69 (16%) sys 6.03 ( 5%) wall lexical analysis : 2.76 ( 4%) usr 5.50 (34%) sys 12.20 (10%) wall parser : 2.27 ( 3%) usr 2.45 (15%) sys 7.22 ( 6%) wall tree gimplify : 0.26 ( 0%) usr 0.02 ( 0%) sys 0.39 ( 0%) wall tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree CFG construction : 0.10 ( 0%) usr 0.03 ( 0%) sys 0.17 ( 0%) wall tree CFG cleanup : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.80 ( 1%) wall tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall tree PTA : 23.55 (36%) usr 0.18 ( 1%) sys 32.78 (28%) wall tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall tree PHI insertion : 0.79 ( 1%) usr 0.31 ( 2%) sys 1.46 ( 1%) wall tree SSA rewrite : 2.08 ( 3%) usr 0.02 ( 0%) sys 3.17 ( 3%) wall tree SSA other : 2.37 ( 4%) usr 0.90 ( 6%) sys 4.40 ( 4%) wall tree operand scan : 0.71 ( 1%) usr 1.11 ( 7%) sys 2.76 ( 2%) wall dominator optimization: 4.21 ( 6%) usr 0.21 ( 1%) sys 6.41 ( 5%) wall tree CCP : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.30 ( 0%) wall tree split crit edges : 0.21 ( 0%) usr 0.01 ( 0%) sys 0.32 ( 0%) wall tree PRE : 0.62 ( 1%) usr 0.10 ( 1%) sys 1.04 ( 1%) wall tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall tree forward propagate: 0.15 ( 0%) usr 0.01 ( 0%) sys 0.21 ( 0%) wall tree conservative DCE : 0.31 ( 0%) usr 0.00 ( 0%) sys 0.44 ( 0%) wall tree aggressive DCE : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall tree DSE : 0.26 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall tree record loop bounds: 0.04 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall loop invariant motion : 0.16 ( 0%) usr 0.01 ( 0%) sys 0.28 ( 0%) wall tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree iv optimization : 0.26 ( 0%) usr 0.03 ( 0%) sys 0.36 ( 0%) wall tree copy headers : 0.26 ( 0%) usr 0.13 ( 1%) sys 0.50 ( 0%) wall tree SSA to normal : 2.41 ( 4%) usr 0.01 ( 0%) sys 3.56 ( 3%) wall tree rename SSA copies: 0.05 ( 0%) usr 0.01 ( 0%) sys 0.08 ( 0%) wall dominance frontiers : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.18 ( 0%) wall expand : 1.61 ( 2%) usr 0.29 ( 2%) sys 2.56 ( 2%) wall varconst : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall jump : 0.13 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall CSE : 0.41 ( 1%) usr 0.00 ( 0%) sys 0.52 ( 0%) wall loop analysis : 0.34 ( 1%) usr 0.09 ( 1%) sys 0.73 ( 1%) wall branch prediction : 0.54 ( 1%) usr 0.06 ( 0%) sys 0.86 ( 1%) wall flow analysis : 0.14 ( 0%) usr 0.05 ( 0%) sys 0.28 ( 0%) wall combiner : 0.68 ( 1%) usr 0.05 ( 0%) sys 1.09 ( 1%) wall if-conversion : 0.48 ( 1%) usr 0.02 ( 0%) sys 0.71 ( 1%) wall local alloc : 0.43 ( 1%) usr 0.03 ( 0%) sys 0.72 ( 1%) wall global alloc : 3.87 ( 6%) usr 0.59 ( 4%) sys 6.37 ( 5%) wall reload CSE regs : 0.57 ( 1%) usr 0.08 ( 0%) sys 0.90 ( 1%) wall flow 2 : 0.20 ( 0%) usr 0.09 ( 1%) sys 0.43 ( 0%) wall if-conversion 2 : 0.14 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall rename registers : 3.12 ( 5%) usr 0.06 ( 0%) sys 4.71 ( 4%) wall scheduling 2 : 0.55 ( 1%) usr 0.03 ( 0%) sys 0.75 ( 1%) wall shorten branches : 0.12 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall final : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.38 ( 0%) wall symout : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall rest of compilation : 0.17 ( 0%) usr 0.05 ( 0%) sys 0.23 ( 0%) wall TOTAL : 66.02 16.31 116.85 [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/libexec/gcc/powerpc-apple-darwin7.6.0/4.0.0/cc1 -mcpu=G5 -I../include -Wall -W -Wno-unused -O1 -fno-math-errno -fschedule-insns2 -fno-trapping-math -fno-strict-aliasing -fomit-frame-pointer -fPIC -fno-common -DHAVE_CONFIG_H _num.i ___H__20___num ___init_proc ____20___num Execution times (seconds) cfg construction : 0.05 ( 0%) usr 0.07 ( 0%) sys 0.23 ( 0%) wall cfg cleanup : 1.48 ( 2%) usr 0.01 ( 0%) sys 2.21 ( 2%) wall trivially dead code : 0.28 ( 0%) usr 0.01 ( 0%) sys 0.34 ( 0%) wall life analysis : 1.73 ( 3%) usr 0.40 ( 3%) sys 3.12 ( 3%) wall life info update : 0.68 ( 1%) usr 0.01 ( 0%) sys 0.99 ( 1%) wall alias analysis : 0.24 ( 0%) usr 0.00 ( 0%) sys 0.31 ( 0%) wall register scan : 0.18 ( 0%) usr 0.00 ( 0%) sys 0.22 ( 0%) wall rebuild jump labels : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall preprocessing : 1.65 ( 3%) usr 2.56 (16%) sys 6.12 ( 5%) wall lexical analysis : 2.63 ( 4%) usr 5.18 (33%) sys 10.67 ( 9%) wall parser : 2.21 ( 3%) usr 2.64 (17%) sys 7.32 ( 6%) wall tree gimplify : 0.25 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%) wall tree eh : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall tree CFG construction : 0.11 ( 0%) usr 0.02 ( 0%) sys 0.17 ( 0%) wall tree CFG cleanup : 0.52 ( 1%) usr 0.02 ( 0%) sys 0.74 ( 1%) wall tree find referenced vars: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall tree PTA : 22.91 (36%) usr 0.09 ( 1%) sys 32.72 (29%) wall tree alias analysis : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall tree PHI insertion : 0.76 ( 1%) usr 0.31 ( 2%) sys 1.47 ( 1%) wall tree SSA rewrite : 1.96 ( 3%) usr 0.01 ( 0%) sys 2.76 ( 2%) wall tree SSA other : 2.27 ( 4%) usr 1.07 ( 7%) sys 4.77 ( 4%) wall tree operand scan : 0.79 ( 1%) usr 0.99 ( 6%) sys 2.53 ( 2%) wall dominator optimization: 3.98 ( 6%) usr 0.22 ( 1%) sys 5.97 ( 5%) wall tree CCP : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall tree split crit edges : 0.16 ( 0%) usr 0.02 ( 0%) sys 0.29 ( 0%) wall tree PRE : 0.66 ( 1%) usr 0.14 ( 1%) sys 0.96 ( 1%) wall tree linearize phis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.01 ( 0%) wall tree forward propagate: 0.12 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall tree conservative DCE : 0.29 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%) wall tree aggressive DCE : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.19 ( 0%) wall tree DSE : 0.22 ( 0%) usr 0.00 ( 0%) sys 0.24 ( 0%) wall tree record loop bounds: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall loop invariant motion : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.29 ( 0%) wall tree canonical iv creation: 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall tree iv optimization : 0.30 ( 0%) usr 0.00 ( 0%) sys 0.41 ( 0%) wall tree copy headers : 0.23 ( 0%) usr 0.15 ( 1%) sys 0.60 ( 1%) wall tree SSA to normal : 2.31 ( 4%) usr 0.08 ( 1%) sys 3.58 ( 3%) wall tree rename SSA copies: 0.06 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall dominance frontiers : 0.15 ( 0%) usr 0.00 ( 0%) sys 0.14 ( 0%) wall expand : 1.66 ( 3%) usr 0.29 ( 2%) sys 2.47 ( 2%) wall varconst : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.09 ( 0%) wall jump : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall CSE : 0.34 ( 1%) usr 0.02 ( 0%) sys 0.58 ( 1%) wall loop analysis : 0.38 ( 1%) usr 0.13 ( 1%) sys 0.74 ( 1%) wall branch prediction : 0.59 ( 1%) usr 0.03 ( 0%) sys 0.94 ( 1%) wall flow analysis : 0.05 ( 0%) usr 0.00 ( 0%) sys 0.13 ( 0%) wall combiner : 0.77 ( 1%) usr 0.01 ( 0%) sys 1.02 ( 1%) wall if-conversion : 0.50 ( 1%) usr 0.02 ( 0%) sys 0.75 ( 1%) wall local alloc : 0.43 ( 1%) usr 0.01 ( 0%) sys 0.59 ( 1%) wall global alloc : 3.57 ( 6%) usr 0.60 ( 4%) sys 6.21 ( 5%) wall reload CSE regs : 0.62 ( 1%) usr 0.05 ( 0%) sys 1.13 ( 1%) wall flow 2 : 0.11 ( 0%) usr 0.07 ( 0%) sys 0.28 ( 0%) wall if-conversion 2 : 0.14 ( 0%) usr 0.03 ( 0%) sys 0.31 ( 0%) wall rename registers : 2.93 ( 5%) usr 0.14 ( 1%) sys 4.49 ( 4%) wall scheduling 2 : 0.52 ( 1%) usr 0.04 ( 0%) sys 0.92 ( 1%) wall shorten branches : 0.09 ( 0%) usr 0.01 ( 0%) sys 0.11 ( 0%) wall final : 0.23 ( 0%) usr 0.02 ( 0%) sys 0.45 ( 0%) wall symout : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall rest of compilation : 0.18 ( 0%) usr 0.04 ( 0%) sys 0.26 ( 0%) wall TOTAL : 63.28 15.56 112.92 [descartes:gcc/mainline/objdir] lucier% /pkgs/gcc-mainline/bin/gcc -v Reading specs from /pkgs/gcc-mainline/lib/gcc/powerpc-apple-darwin7.6.0/4.0.0/specs Configured with: ../configure --prefix=/pkgs/gcc-mainline --enable-checking=no --enable-languages=c Thread model: posix gcc version 4.0.0 20041110 (experimental) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16975