This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/12322] [3.4 Regression] [gcse-lm] Significant slowdown when compiling computed-goto code in Parrot, GCSE is slower
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Nov 2003 02:47:30 -0000
- Subject: [Bug optimization/12322] [3.4 Regression] [gcse-lm] Significant slowdown when compiling computed-goto code in Parrot, GCSE is slower
- References: <20030917233348.12322.ahaas@airmail.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From pinskia at gcc dot gnu dot org 2003-11-23 02:47 -------
Here are the time-reports:
il0503a-dhcp84:~/src/gccPRs peg$ ~/fsf-clean-nocheck/bin/gcc pr12322.c -S -O3 -ftime-report
Execution times (seconds)
garbage collection : 0.63 ( 1%) usr 0.03 ( 0%) sys 0.68 ( 1%) wall
callgraph construction: 0.05 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
cfg construction : 0.05 ( 0%) usr 0.01 ( 0%) sys 0.06 ( 0%) wall
cfg cleanup : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.28 ( 0%) wall
trivially dead code : 0.33 ( 1%) usr 0.02 ( 0%) sys 0.37 ( 1%) wall
life analysis : 0.80 ( 1%) usr 0.06 ( 1%) sys 0.83 ( 1%) wall
life info update : 0.55 ( 1%) usr 0.13 ( 2%) sys 0.70 ( 1%) wall
alias analysis : 0.48 ( 1%) usr 0.05 ( 1%) sys 0.52 ( 1%) wall
register scan : 0.20 ( 0%) usr 0.00 ( 0%) sys 0.23 ( 0%) wall
rebuild jump labels : 0.10 ( 0%) usr 0.00 ( 0%) sys 0.07 ( 0%) wall
preprocessing : 0.23 ( 0%) usr 0.45 ( 6%) sys 0.67 ( 1%) wall
lexical analysis : 0.47 ( 1%) usr 0.75 (11%) sys 1.28 ( 2%) wall
parser : 0.52 ( 1%) usr 0.41 ( 6%) sys 0.90 ( 1%) wall
expand : 0.25 ( 0%) usr 0.01 ( 0%) sys 0.26 ( 0%) wall
varconst : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.01 ( 0%) wall
integration : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
jump : 0.30 ( 0%) usr 0.06 ( 1%) sys 0.39 ( 1%) wall
CSE : 0.64 ( 1%) usr 0.00 ( 0%) sys 0.62 ( 1%) wall
global CSE : 42.62 (66%) usr 0.39 ( 6%) sys 43.47 (59%) wall
loop analysis : 0.32 ( 0%) usr 0.33 ( 5%) sys 0.74 ( 1%) wall
bypass jumps : 0.15 ( 0%) usr 0.05 ( 1%) sys 0.20 ( 0%) wall
web : 0.68 ( 1%) usr 0.11 ( 2%) sys 0.83 ( 1%) wall
CSE 2 : 0.21 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall
branch prediction : 0.16 ( 0%) usr 0.03 ( 0%) sys 0.20 ( 0%) wall
flow analysis : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
combiner : 0.51 ( 1%) usr 0.00 ( 0%) sys 0.56 ( 1%) wall
if-conversion : 0.07 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
regmove : 0.11 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
scheduling : 7.55 (12%) usr 3.79 (54%) sys 11.88 (16%) wall
local alloc : 0.36 ( 1%) usr 0.02 ( 0%) sys 0.37 ( 1%) wall
global alloc : 0.95 ( 1%) usr 0.13 ( 2%) sys 1.12 ( 2%) wall
reload CSE regs : 0.33 ( 1%) usr 0.00 ( 0%) sys 0.35 ( 0%) wall
flow 2 : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
if-conversion 2 : 2.33 ( 4%) usr 0.00 ( 0%) sys 2.34 ( 3%) wall
rename registers : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.30 ( 0%) wall
scheduling 2 : 1.37 ( 2%) usr 0.02 ( 0%) sys 1.40 ( 2%) wall
reorder blocks : 0.38 ( 1%) usr 0.15 ( 2%) sys 0.56 ( 1%) wall
shorten branches : 0.06 ( 0%) usr 0.00 ( 0%) sys 0.05 ( 0%) wall
final : 0.16 ( 0%) usr 0.01 ( 0%) sys 0.18 ( 0%) wall
symout : 0.02 ( 0%) usr 0.01 ( 0%) sys 0.02 ( 0%) wall
rest of compilation : 0.41 ( 1%) usr 0.00 ( 0%) sys 0.39 ( 1%) wall
TOTAL : 64.98 7.04 73.37
il0503a-dhcp84:~/src/gccPRs peg$ ~/fsf-clean-nocheck/bin/gcc pr12322.c -S -O3 -ftime-report
-fno-gcse-lm
Execution times (seconds)
garbage collection : 0.65 ( 2%) usr 0.02 ( 0%) sys 0.64 ( 1%) wall
callgraph construction: 0.04 ( 0%) usr 0.01 ( 0%) sys 0.05 ( 0%) wall
cfg construction : 0.05 ( 0%) usr 0.02 ( 0%) sys 0.09 ( 0%) wall
cfg cleanup : 0.27 ( 1%) usr 0.00 ( 0%) sys 0.28 ( 1%) wall
trivially dead code : 0.33 ( 1%) usr 0.01 ( 0%) sys 0.33 ( 1%) wall
life analysis : 0.68 ( 2%) usr 0.12 ( 2%) sys 0.83 ( 2%) wall
life info update : 0.53 ( 1%) usr 0.13 ( 2%) sys 0.65 ( 1%) wall
alias analysis : 0.47 ( 1%) usr 0.03 ( 0%) sys 0.50 ( 1%) wall
register scan : 0.19 ( 0%) usr 0.00 ( 0%) sys 0.21 ( 0%) wall
rebuild jump labels : 0.08 ( 0%) usr 0.00 ( 0%) sys 0.08 ( 0%) wall
preprocessing : 0.26 ( 1%) usr 0.55 ( 8%) sys 0.66 ( 1%) wall
lexical analysis : 0.52 ( 1%) usr 0.77 (12%) sys 1.40 ( 3%) wall
parser : 0.31 ( 1%) usr 0.35 ( 5%) sys 0.71 ( 2%) wall
expand : 0.23 ( 1%) usr 0.03 ( 0%) sys 0.26 ( 1%) wall
varconst : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall
integration : 0.03 ( 0%) usr 0.00 ( 0%) sys 0.03 ( 0%) wall
jump : 0.30 ( 1%) usr 0.09 ( 1%) sys 0.36 ( 1%) wall
CSE : 0.58 ( 1%) usr 0.01 ( 0%) sys 0.58 ( 1%) wall
global CSE : 18.94 (48%) usr 0.35 ( 5%) sys 19.28 (41%) wall
loop analysis : 0.32 ( 1%) usr 0.28 ( 4%) sys 0.64 ( 1%) wall
bypass jumps : 0.14 ( 0%) usr 0.05 ( 1%) sys 0.19 ( 0%) wall
web : 0.67 ( 2%) usr 0.08 ( 1%) sys 0.75 ( 2%) wall
CSE 2 : 0.21 ( 1%) usr 0.00 ( 0%) sys 0.20 ( 0%) wall
branch prediction : 0.16 ( 0%) usr 0.02 ( 0%) sys 0.17 ( 0%) wall
flow analysis : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall
combiner : 0.49 ( 1%) usr 0.01 ( 0%) sys 0.51 ( 1%) wall
if-conversion : 0.04 ( 0%) usr 0.00 ( 0%) sys 0.06 ( 0%) wall
regmove : 0.09 ( 0%) usr 0.00 ( 0%) sys 0.10 ( 0%) wall
scheduling : 6.52 (16%) usr 3.47 (52%) sys 9.98 (21%) wall
local alloc : 0.36 ( 1%) usr 0.01 ( 0%) sys 0.37 ( 1%) wall
global alloc : 0.96 ( 2%) usr 0.13 ( 2%) sys 1.09 ( 2%) wall
reload CSE regs : 0.31 ( 1%) usr 0.01 ( 0%) sys 0.31 ( 1%) wall
flow 2 : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.02 ( 0%) wall
if-conversion 2 : 2.25 ( 6%) usr 0.01 ( 0%) sys 2.25 ( 5%) wall
rename registers : 0.28 ( 1%) usr 0.00 ( 0%) sys 0.27 ( 1%) wall
scheduling 2 : 1.36 ( 3%) usr 0.01 ( 0%) sys 1.37 ( 3%) wall
reorder blocks : 0.49 ( 1%) usr 0.05 ( 1%) sys 0.54 ( 1%) wall
shorten branches : 0.04 ( 0%) usr 0.01 ( 0%) sys 0.05 ( 0%) wall
final : 0.17 ( 0%) usr 0.00 ( 0%) sys 0.17 ( 0%) wall
symout : 0.01 ( 0%) usr 0.01 ( 0%) sys 0.02 ( 0%) wall
rest of compilation : 0.38 ( 1%) usr 0.01 ( 0%) sys 0.42 ( 1%) wall
TOTAL : 39.79 6.69 46.49
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12322