This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC inline parameters (PR 10160 testcase)
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: ebotcazou at libertysurf dot fr (Eric Botcazou)
- Cc: mark at codesourcery dot com, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Sat, 3 May 2003 00:18:16 -0400 (EDT)
- Subject: Re: GCC inline parameters (PR 10160 testcase)
> > This has been discussed before and Mark made some improvements.
> > However, PR 10160 hasn't been resolved and the problem with the
> > default inline parameter set remains.
>
> Yes, I personally would consider it as a show stopper. GCC 3.3 will require
> a 2 GHz box with 1 GB of RAM to compile some heavy C++ programs in a
> reasonable amount of time. You'd better live in the x86 world, otherwise...
For the record, I enclose the pass timing for compiling xforms/Dialogs.C
from lyx-1.3.1 with yesterdays 3.3 cvs source:
Execution times (seconds)
garbage collection : 2.71 ( 0%) usr 0.17 ( 1%) sys 2.94 ( 0%) wall
cfg construction : 3.58 ( 0%) usr 0.43 ( 1%) sys 4.56 ( 0%) wall
cfg cleanup : 4.51 ( 0%) usr 0.08 ( 0%) sys 4.75 ( 0%) wall
trivially dead code : 5.71 ( 0%) usr 0.03 ( 0%) sys 6.44 ( 0%) wall
life analysis :17504.87 (96%) usr 9.40 (29%) sys17529.50 (96%) wall
life info update : 97.16 ( 1%) usr 0.03 ( 0%) sys 97.50 ( 1%) wall
preprocessing : 0.63 ( 0%) usr 0.57 ( 2%) sys 2.25 ( 0%) wall
lexical analysis : 0.79 ( 0%) usr 1.29 ( 4%) sys 2.12 ( 0%) wall
parser : 7.64 ( 0%) usr 2.64 ( 8%) sys 14.50 ( 0%) wall
name lookup : 4.51 ( 0%) usr 5.49 (17%) sys 11.06 ( 0%) wall
expand : 18.22 ( 0%) usr 2.71 ( 8%) sys 22.19 ( 0%) wall
varconst : 0.19 ( 0%) usr 0.12 ( 0%) sys 1.44 ( 0%) wall
integration : 2.87 ( 0%) usr 0.37 ( 1%) sys 3.19 ( 0%) wall
jump : 45.77 ( 0%) usr 0.30 ( 1%) sys 46.56 ( 0%) wall
CSE : 13.33 ( 0%) usr 0.52 ( 2%) sys 14.50 ( 0%) wall
global CSE : 0.40 ( 0%) usr 0.03 ( 0%) sys 0.62 ( 0%) wall
loop analysis : 1.49 ( 0%) usr 0.05 ( 0%) sys 1.62 ( 0%) wall
CSE 2 : 5.48 ( 0%) usr 0.19 ( 1%) sys 5.75 ( 0%) wall
branch prediction : 9.14 ( 0%) usr 0.17 ( 1%) sys 9.19 ( 0%) wall
flow analysis : 0.91 ( 0%) usr 0.15 ( 0%) sys 1.12 ( 0%) wall
combiner : 3.48 ( 0%) usr 0.29 ( 1%) sys 3.31 ( 0%) wall
if-conversion : 0.76 ( 0%) usr 0.00 ( 0%) sys 0.62 ( 0%) wall
regmove : 1.93 ( 0%) usr 0.00 ( 0%) sys 1.88 ( 0%) wall
scheduling : 217.26 ( 1%) usr 0.74 ( 2%) sys 218.81 ( 1%) wall
local alloc : 17.04 ( 0%) usr 0.16 ( 1%) sys 16.38 ( 0%) wall
global alloc : 50.31 ( 0%) usr 2.14 ( 7%) sys 54.81 ( 0%) wall
reload CSE regs : 65.66 ( 0%) usr 1.63 ( 5%) sys 67.62 ( 0%) wall
flow 2 : 1.71 ( 0%) usr 0.18 ( 1%) sys 1.62 ( 0%) wall
if-conversion 2 : 0.46 ( 0%) usr 0.00 ( 0%) sys 0.56 ( 0%) wall
peephole 2 : 1.07 ( 0%) usr 0.01 ( 0%) sys 1.00 ( 0%) wall
rename registers : 4.90 ( 0%) usr 0.01 ( 0%) sys 4.62 ( 0%) wall
scheduling 2 : 8.64 ( 0%) usr 0.86 ( 3%) sys 10.75 ( 0%) wall
machine dep reorg : 0.27 ( 0%) usr 0.00 ( 0%) sys 0.38 ( 0%) wall
delay branch sched : 21.61 ( 0%) usr 0.65 ( 2%) sys 22.31 ( 0%) wall
reorder blocks : 1.09 ( 0%) usr 0.09 ( 0%) sys 1.06 ( 0%) wall
shorten branches : 1.73 ( 0%) usr 0.14 ( 0%) sys 1.75 ( 0%) wall
final : 5.22 ( 0%) usr 0.15 ( 0%) sys 6.62 ( 0%) wall
rest of compilation : 28.13 ( 0%) usr 0.19 ( 1%) sys 28.25 ( 0%) wall
TOTAL :18161.22 31.99 18224.25
real 5:04:19.2
user 5:02:41.2
sys 33.1
Compilation would still take approximately 83 minutes on a 2GHz box.
The memory usage peaked at 712MB, so 1GB is marginal with the current
heuristics.
The timings on the PA differ from that on the sparc where most of the
time was consumed in scheduling. On the PA, most of the time is consumed
in register life analysis.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)