This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings
- 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: 12 Oct 2005 16:12:33 -0000
- Subject: [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings
- References: <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #14 from pinskia at gcc dot gnu dot org 2005-10-12 16:12 -------
I have a patch which I am testing which should fix this by reducing the number
of referenced variables which in turns reduces virtual operands.
Now we get the following -ftime-report for -O2 on powerpc-darwin with cc1plus
compiled with -O0 and with checking still enabled, a 40x decrease:
garbage collection : 20.72 (10%) usr 0.75 ( 1%) sys 29.13 ( 6%) wall
0 kB ( 0%) ggc
callgraph construction: 9.23 ( 5%) usr 1.00 ( 2%) sys 13.52 ( 3%) wall
25403 kB ( 4%) ggc
callgraph optimization: 0.10 ( 0%) usr 0.00 ( 0%) sys 0.42 ( 0%) wall
0 kB ( 0%) ggc
CFG verifier : 3.70 ( 2%) usr 0.38 ( 1%) sys 6.37 ( 1%) wall
0 kB ( 0%) ggc
rebuild jump labels : 0.64 ( 0%) usr 0.18 ( 0%) sys 1.14 ( 0%) wall
0 kB ( 0%) ggc
preprocessing : 4.47 ( 2%) usr 6.35 (12%) sys 13.55 ( 3%) wall
2112 kB ( 0%) ggc
parser : 64.77 (33%) usr 15.36 (29%) sys 195.42 (37%) wall
299871 kB (42%) ggc
name lookup : 22.59 (11%) usr 23.24 (43%) sys 76.74 (15%) wall
16057 kB ( 2%) ggc
inline heuristics : 0.24 ( 0%) usr 0.01 ( 0%) sys 0.46 ( 0%) wall
662 kB ( 0%) ggc
integration : 0.00 ( 0%) usr 0.02 ( 0%) sys 0.05 ( 0%) wall
0 kB ( 0%) ggc
tree gimplify : 20.46 (10%) usr 0.89 ( 2%) sys 41.40 ( 8%) wall
57280 kB ( 8%) ggc
tree eh : 0.76 ( 0%) usr 0.15 ( 0%) sys 1.19 ( 0%) wall
4251 kB ( 1%) ggc
tree CFG construction : 1.87 ( 1%) usr 0.51 ( 1%) sys 2.91 ( 1%) wall
61517 kB ( 9%) ggc
tree CFG cleanup : 2.34 ( 1%) usr 0.44 ( 1%) sys 4.01 ( 1%) wall
36 kB ( 0%) ggc
tree STMT verifier : 8.10 ( 4%) usr 0.39 ( 1%) sys 11.28 ( 2%) wall
0 kB ( 0%) ggc
expand : 34.94 (18%) usr 2.55 ( 5%) sys 74.96 (14%) wall
240800 kB (34%) ggc
varconst : 2.88 ( 1%) usr 1.34 ( 2%) sys 51.80 (10%) wall
2382 kB ( 0%) ggc
final : 0.50 ( 0%) usr 0.12 ( 0%) sys 1.10 ( 0%) wall
0 kB ( 0%) ggc
symout : 0.00 ( 0%) usr 0.03 ( 0%) sys 0.30 ( 0%) wall
28 kB ( 0%) ggc
TOTAL : 198.38 53.88 526.74
711174 kB
It also fixes the C testcase in comment #8 too.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |pinskia at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304