* [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
@ 2005-10-12 16:12 ` pinskia at gcc dot gnu dot org
2005-10-13 3:10 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-12 16:12 UTC (permalink / raw)
To: gcc-bugs
------- 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
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
2005-10-12 16:12 ` [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings pinskia at gcc dot gnu dot org
@ 2005-10-13 3:10 ` pinskia at gcc dot gnu dot org
2005-10-14 3:01 ` cvs-commit at gcc dot gnu dot org
` (4 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-13 3:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from pinskia at gcc dot gnu dot org 2005-10-13 03:09 -------
Patch posted here: http://gcc.gnu.org/ml/gcc-patches/2005-10/msg00737.html
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
URL| |http://gcc.gnu.org/ml/gcc-
| |patches/2005-
| |10/msg00737.html
Keywords| |patch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
2005-10-12 16:12 ` [Bug tree-optimization/21304] [4.0/4.1 regression] very long compile times with large cpp file from kdebindings pinskia at gcc dot gnu dot org
2005-10-13 3:10 ` pinskia at gcc dot gnu dot org
@ 2005-10-14 3:01 ` cvs-commit at gcc dot gnu dot org
2005-10-14 3:02 ` [Bug tree-optimization/21304] [4.0 " pinskia at gcc dot gnu dot org
` (3 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-10-14 3:01 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from cvs-commit at gcc dot gnu dot org 2005-10-14 03:01 -------
Subject: Bug 21304
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: pinskia@gcc.gnu.org 2005-10-14 03:01:42
Modified files:
gcc : ChangeLog tree-dfa.c
Log message:
2005-10-13 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/21304
* tree-dfa.c (add_referenced_var): Only look at decls which
have TREE_CONSTANT or TREE_READONLY set instead of if
!TREE_PUBLIC or !TREE_CONSTANT.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.10155&r2=2.10156
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-dfa.c.diff?cvsroot=gcc&r1=2.64&r2=2.65
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2005-10-14 3:01 ` cvs-commit at gcc dot gnu dot org
@ 2005-10-14 3:02 ` pinskia at gcc dot gnu dot org
2005-10-16 0:35 ` pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
6 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-14 3:02 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from pinskia at gcc dot gnu dot org 2005-10-14 03:02 -------
Fixed on the mainline, if someone wants to back port the patch, that is fine
with me but I don't have time to do it.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|pinskia at gcc dot gnu dot |unassigned at gcc dot gnu
|org |dot org
Status|ASSIGNED |NEW
Summary|[4.0/4.1 regression] very |[4.0 regression] very long
|long compile times with |compile times with large cpp
|large cpp file from |file from kdebindings
|kdebindings |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2005-10-14 3:02 ` [Bug tree-optimization/21304] [4.0 " pinskia at gcc dot gnu dot org
@ 2005-10-16 0:35 ` pinskia at gcc dot gnu dot org
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
2007-01-18 4:05 ` gdr at gcc dot gnu dot org
6 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-10-16 0:35 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from pinskia at gcc dot gnu dot org 2005-10-16 00:35 -------
(In reply to comment #17)
Oh and you need also to backport:
2005-03-03 Jan Hubicka <jh@suse.cz>
* tree-dfa.c (add_referenced_var): Don't walk initializer of external
and non-constant public variables.
http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00209.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2005-10-16 0:35 ` pinskia at gcc dot gnu dot org
@ 2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
2007-01-18 4:05 ` gdr at gcc dot gnu dot org
6 siblings, 0 replies; 7+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2006-03-11 3:17 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.0.3 |4.0.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug tree-optimization/21304] [4.0 regression] very long compile times with large cpp file from kdebindings
[not found] <bug-21304-1216@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-03-11 3:17 ` mmitchel at gcc dot gnu dot org
@ 2007-01-18 4:05 ` gdr at gcc dot gnu dot org
6 siblings, 0 replies; 7+ messages in thread
From: gdr at gcc dot gnu dot org @ 2007-01-18 4:05 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from gdr at gcc dot gnu dot org 2007-01-18 04:05 -------
Fixed in GCC-4.1.1 and higher.
Won't fix in GCC-4.0.x
--
gdr at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|4.0.4 |4.1.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21304
^ permalink raw reply [flat|nested] 7+ messages in thread