public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp
@ 2008-05-21 16:08 rguenth at gcc dot gnu dot org
2008-05-22 12:28 ` [Bug tree-optimization/36291] " rguenth at gcc dot gnu dot org
` (14 more replies)
0 siblings, 15 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-21 16:08 UTC (permalink / raw)
To: gcc-bugs
Testcase is from PR30052:
http://gcc.gnu.org/bugzilla/attachment.cgi?id=13678
current GCC 4.3 branch gives us a peak memory usage of 1.8GB on x86_64 and
tree find ref. vars : 15.36 ( 5%) usr 0.80 ( 8%) sys 15.90 ( 5%) wall
817801 kB (35%) ggc
tree alias analysis : 16.27 ( 5%) usr 0.38 ( 4%) sys 16.11 ( 5%) wall
11037 kB ( 0%) ggc
tree call clobbering : 41.35 (14%) usr 0.28 ( 3%) sys 43.00 (14%) wall
3132 kB ( 0%) ggc
tree flow insensitive alias: 31.26 (10%) usr 0.34 ( 3%) sys 31.94 (10%)
wall 0 kB ( 0%) ggc
tree memory partitioning: 83.32 (28%) usr 0.89 ( 9%) sys 84.36 (27%) wall
974 kB ( 0%) ggc
tree SSA incremental : 10.60 ( 4%) usr 0.17 ( 2%) sys 11.11 ( 4%) wall
15755 kB ( 1%) ggc
tree operand scan : 28.71 (10%) usr 0.57 ( 6%) sys 29.59 ( 9%) wall
160271 kB ( 7%) ggc
TOTAL : 301.74 9.75 314.50
2354835 kB
--
Summary: GCC is slow and memory-hungry building sipQtGuipart.cpp
Product: gcc
Version: 4.3.1
Status: UNCONFIRMED
Keywords: memory-hog, compile-time-hog
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
@ 2008-05-22 12:28 ` rguenth at gcc dot gnu dot org
2008-05-22 12:36 ` rguenth at gcc dot gnu dot org
` (13 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 12:28 UTC (permalink / raw)
To: gcc-bugs
------- Comment #1 from rguenth at gcc dot gnu dot org 2008-05-22 12:28 -------
One slow "leaker" of memory for large TUs is the operands_bitmap_obstack from
the operand scanner. From it the stmt annotation loaded and stored symbols
bitmaps are allocated but never freed until after the last function has gone
out of SSA.
We should consider moving these to GC memory or to add support for using alloc
pools for bitmap allocations.
Memory partitioning uses loads of bitmaps for the parent tags:
tree-ssa-alias.c:1311 (update_reference_c 5424467 433957360 433957360
433957360 76199616
Likewise PTA still does that:
tree-ssa-structalias.c:4850 (find_what_p_ 62908 555059880 42045880
42032640 62415
Overall the variable annotations account for most of the GC memory used:
tree-ssanames.c:146 (make_ssa_name_fn) 33297312: 2.1% 0:
0.0% 0: 0.0% 0: 0.0% 346847
bitmap.c:229 (bitmap_element_allocate) 116709320: 7.4% 0:
0.0% 0: 0.0% 16672760:11.7% 2084095
ggc-common.c:179 (ggc_calloc) 409212224:25.8% 12684056:
5.0% 1974632: 2.2% 4572784: 3.2% 194426
tree-dfa.c:153 (create_var_ann) 482008296:30.4% 0:
0.0% 0: 0.0% 43818936:30.6% 5477367
Total 1586488294 255567175
90963544 143104669 18411405
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
2008-05-22 12:28 ` [Bug tree-optimization/36291] " rguenth at gcc dot gnu dot org
@ 2008-05-22 12:36 ` rguenth at gcc dot gnu dot org
2008-05-22 12:49 ` rguenth at gcc dot gnu dot org
` (12 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 12:36 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from rguenth at gcc dot gnu dot org 2008-05-22 12:35 -------
On the trunk things look different:
tree find ref. vars : 22.59 (13%) usr 1.08 (13%) sys 24.42 (14%) wall
815888 kB (47%) ggc
tree PTA : 1.43 ( 1%) usr 0.08 ( 1%) sys 1.39 ( 1%) wall
19446 kB ( 1%) ggc
tree alias analysis : 5.64 ( 3%) usr 0.15 ( 2%) sys 5.71 ( 3%) wall
1611 kB ( 0%) ggc
tree call clobbering : 15.15 ( 9%) usr 0.07 ( 1%) sys 15.56 ( 9%) wall
613 kB ( 0%) ggc
tree flow sensitive alias: 1.85 ( 1%) usr 0.09 ( 1%) sys 2.06 ( 1%) wall
96898 kB ( 6%) ggc
tree flow insensitive alias: 1.79 ( 1%) usr 0.00 ( 0%) sys 1.68 ( 1%)
wall 0 kB ( 0%) ggc
tree memory partitioning: 38.40 (23%) usr 0.53 ( 7%) sys 38.68 (22%) wall
820 kB ( 0%) ggc
tree operand scan : 11.31 ( 7%) usr 0.16 ( 2%) sys 11.76 ( 7%) wall
58545 kB ( 3%) ggc
TOTAL : 169.77 8.02 177.99
1747899 kB
but the memory situation isn't different.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
2008-05-22 12:28 ` [Bug tree-optimization/36291] " rguenth at gcc dot gnu dot org
2008-05-22 12:36 ` rguenth at gcc dot gnu dot org
@ 2008-05-22 12:49 ` rguenth at gcc dot gnu dot org
2008-05-22 14:40 ` rguenth at gcc dot gnu dot org
` (11 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 12:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2008-05-22 12:48 -------
The root of all evil is the following code in add_referenced_var():
/* Scan DECL_INITIAL for pointer variables as they may contain
address arithmetic referencing the address of other
variables.
Even non-constant intializers need to be walked, because
IPA passes might prove that their are invariant later on. */
if (DECL_INITIAL (var)
/* Initializers of external variables are not useful to the
optimizers. */
&& !DECL_EXTERNAL (var))
walk_tree (&DECL_INITIAL (var), find_vars_r, NULL, 0);
this causes us to basically add all globals to all functions referenced
vars once they reference one of the chained structs.
We shouldn't be doing this but instead who needs those vars should add them.
I suppose the IPA passes thing is just the lack of a global DECL_UID to
tree mapping. So I am going to try to change the above to
/* Scan DECL_INITIAL for pointer variables as they may contain
address arithmetic referencing the address of other
variables. As we are only interested in directly referenced
globals or referenced locals restrict this to initializers
than can refer to local variables. */
if (DECL_INITIAL (var)
&& DECL_CONTEXT (var) == current_function_decl)
walk_tree (&DECL_INITIAL (var), find_vars_r, NULL, 0);
This gets memory usage down to about 700MB and compile time down to 50s.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-05-22 12:48:27
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (2 preceding siblings ...)
2008-05-22 12:49 ` rguenth at gcc dot gnu dot org
@ 2008-05-22 14:40 ` rguenth at gcc dot gnu dot org
2008-05-22 19:16 ` rguenth at gcc dot gnu dot org
` (10 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 14:40 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2008-05-22 14:39 -------
I added gcc.c-torture/execute/20080522-1.c which points at two problems.
First we need to add referenced vars as they come (there is already
find_new_referenced_vars and some users,
tree-ssa-ccp.c:get_symbol_constant_value
needs to do it as well).
Second we need to update alias information. This turns out to be a hard
problem. For the testcase we need to add 'i' to the symbols SMT.7 aliases
and update all statements that reference SMT.7 - which is not easily possible
and expensive. We probably also need to update flow-sensitive alias info
which is even harder if not impossible.
So it looks like this is a dead end sofar, but still the root of the
problem remains.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (3 preceding siblings ...)
2008-05-22 14:40 ` rguenth at gcc dot gnu dot org
@ 2008-05-22 19:16 ` rguenth at gcc dot gnu dot org
2008-05-22 19:23 ` rguenth at gcc dot gnu dot org
` (9 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 19:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from rguenth at gcc dot gnu dot org 2008-05-22 19:15 -------
As noted in comment #1 variable annotations are a major problem (they are
duplicated for global variables, for each function the variable is referenced
from).
It happens that sharing variable annotations for globals between functions
reduces peak memory usage by 1GB. So that's were I'm currently looking at.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (4 preceding siblings ...)
2008-05-22 19:16 ` rguenth at gcc dot gnu dot org
@ 2008-05-22 19:23 ` rguenth at gcc dot gnu dot org
2008-05-23 14:16 ` rguenth at gcc dot gnu dot org
` (8 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-22 19:23 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from rguenth at gcc dot gnu dot org 2008-05-22 19:22 -------
That is, var annotations back to sanity:
tree-dfa.c:150 (create_var_ann) 206016: 0.0% 15094400:
3.2% 142592: 0.1% 0: 0.0% 241297
compared to originally
tree-dfa.c:153 (create_var_ann) 482008296:30.4% 0:
0.0% 0: 0.0% 43818936:30.6% 5477367
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (5 preceding siblings ...)
2008-05-22 19:23 ` rguenth at gcc dot gnu dot org
@ 2008-05-23 14:16 ` rguenth at gcc dot gnu dot org
2008-05-23 14:19 ` rguenth at gcc dot gnu dot org
` (7 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-23 14:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from rguenth at gcc dot gnu dot org 2008-05-23 14:16 -------
Ok, apart from the var annotations I give up here as far as 4.3 is concerned.
We cannot really fix the compile-time problem without skewing the heuristics
and risking fallout through that.
We already know from PR33237 that the algorithmic problem is here:
-: 1252:update_reference_counts (struct mem_ref_stats_d *mem_ref_stats)
6274: 1253:{
...
62908: 1296: if (MTAG_ALIASES (tag))
76443361: 1297: EXECUTE_IF_SET_IN_BITMAP (MTAG_ALIASES (tag), 0, j,
bj)
-: 1298: {
...
due to the high number of referenced vars the aliases tend to be a lot - and
we visit them multiple times as well (but they are not easy to combine).
For trunk the idea could be to exempt call clobbered vars from the
partitioning heuristics completely and simply partition them into a single
partition up-front. (They all end up in the same partition anyway, but in
some cases are of course not partitioned at all - which is where we would
clearly loose without the alias oracle as a fallback)
Micro-optimizing for this testcase is possible, but several attempts only
result in very minor improvements.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (6 preceding siblings ...)
2008-05-23 14:16 ` rguenth at gcc dot gnu dot org
@ 2008-05-23 14:19 ` rguenth at gcc dot gnu dot org
2008-05-26 14:21 ` hubicka at ucw dot cz
` (6 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-23 14:19 UTC (permalink / raw)
To: gcc-bugs
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |rguenth at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Last reconfirmed|2008-05-22 12:48:27 |2008-05-23 14:19:09
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (7 preceding siblings ...)
2008-05-23 14:19 ` rguenth at gcc dot gnu dot org
@ 2008-05-26 14:21 ` hubicka at ucw dot cz
2008-05-28 13:55 ` rguenth at gcc dot gnu dot org
` (5 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: hubicka at ucw dot cz @ 2008-05-26 14:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from hubicka at ucw dot cz 2008-05-26 14:20 -------
Subject: Re: GCC is slow and memory-hungry building sipQtGuipart.cpp
> As noted in comment #1 variable annotations are a major problem (they are
> duplicated for global variables, for each function the variable is referenced
> from).
>
> It happens that sharing variable annotations for globals between functions
> reduces peak memory usage by 1GB. So that's were I'm currently looking at.
The problem of var annotations is that they contain a lot of local stuff
+ little of stuff that is specific per function (that is aliasing info,
for instance).
Breaking out the local stuff and allocating the global stuff only where
needed is way I wanted to go for a while, but we never got actually into
agreement how to get there.
Honza
>
>
> --
>
>
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
>
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug, or are watching someone who is.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (8 preceding siblings ...)
2008-05-26 14:21 ` hubicka at ucw dot cz
@ 2008-05-28 13:55 ` rguenth at gcc dot gnu dot org
2008-05-28 13:57 ` rguenth at gcc dot gnu dot org
` (4 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-28 13:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from rguenth at gcc dot gnu dot org 2008-05-28 13:54 -------
Subject: Bug 36291
Author: rguenth
Date: Wed May 28 13:54:05 2008
New Revision: 136095
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136095
Log:
2008-05-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36291
* tree-flow. h (struct gimple_df): Remove var_anns member.
* tree-flow-inline.h (gimple_var_anns): Remove.
(var_ann): Simplify.
* tree-dfa.c (create_var_ann): Simplify.
(remove_referenced_var): Clear alias info from var_anns of globals.
* tree-ssa.c (init_tree_ssa): Do not allocate var_anns.
(delete_tree_ssa): Clear alias info from var_anns of globals.
Do not free var_anns.
(var_ann_eq): Remove.
(var_ann_hash): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-dfa.c
trunk/gcc/tree-flow-inline.h
trunk/gcc/tree-flow.h
trunk/gcc/tree-ssa.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (9 preceding siblings ...)
2008-05-28 13:55 ` rguenth at gcc dot gnu dot org
@ 2008-05-28 13:57 ` rguenth at gcc dot gnu dot org
2008-06-05 14:41 ` rguenth at gcc dot gnu dot org
` (3 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-05-28 13:57 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from rguenth at gcc dot gnu dot org 2008-05-28 13:57 -------
The situation on the trunk should be much better now. A trivial backport to
the
4.3 branch failed during bootstrap though, so that has to wait for some
investigation.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (10 preceding siblings ...)
2008-05-28 13:57 ` rguenth at gcc dot gnu dot org
@ 2008-06-05 14:41 ` rguenth at gcc dot gnu dot org
2008-06-06 20:13 ` rguenth at gcc dot gnu dot org
` (2 subsequent siblings)
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-06-05 14:41 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from rguenth at gcc dot gnu dot org 2008-06-05 14:40 -------
I have a working backport for 4.3.2 that get's memory usage down.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (11 preceding siblings ...)
2008-06-05 14:41 ` rguenth at gcc dot gnu dot org
@ 2008-06-06 20:13 ` rguenth at gcc dot gnu dot org
2008-06-06 20:27 ` [Bug tree-optimization/36291] [4.3/4.4 Regression] " rguenth at gcc dot gnu dot org
2009-04-08 16:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-06-06 20:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from rguenth at gcc dot gnu dot org 2008-06-06 20:13 -------
Subject: Bug 36291
Author: rguenth
Date: Fri Jun 6 20:12:27 2008
New Revision: 136502
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136502
Log:
2008-06-06 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36291
* tree-flow. h (struct gimple_df): Remove var_anns member.
* tree-flow-inline.h (gimple_var_anns): Remove.
(var_ann): Simplify.
* tree-dfa.c (create_var_ann): Simplify.
(remove_referenced_var): Clear alias info from var_anns of globals.
* tree-ssa.c (init_tree_ssa): Do not allocate var_anns.
(delete_tree_ssa): Clear alias info from var_anns of globals.
Do not free var_anns.
(var_ann_eq): Remove.
(var_ann_hash): Likewise.
Modified:
branches/gcc-4_3-branch/gcc/ChangeLog
branches/gcc-4_3-branch/gcc/tree-dfa.c
branches/gcc-4_3-branch/gcc/tree-flow-inline.h
branches/gcc-4_3-branch/gcc/tree-flow.h
branches/gcc-4_3-branch/gcc/tree-ssa.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] [4.3/4.4 Regression] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (12 preceding siblings ...)
2008-06-06 20:13 ` rguenth at gcc dot gnu dot org
@ 2008-06-06 20:27 ` rguenth at gcc dot gnu dot org
2009-04-08 16:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2008-06-06 20:27 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from rguenth at gcc dot gnu dot org 2008-06-06 20:26 -------
Fixed. The remaining slowness is a dup of PR33237.
Memory usage on the branch is now down to ~700MB peak VM usage on a 3GB machine
at -O on x86_64. Compile time is down to
tree find ref. vars : 12.26 (10%) usr 0.27 ( 4%) sys 12.44 (10%) wall
199898 kB (18%) ggc
tree alias analysis : 5.04 ( 4%) usr 0.10 ( 2%) sys 5.15 ( 4%) wall
1716 kB ( 0%) ggc
tree call clobbering : 12.50 (10%) usr 0.05 ( 1%) sys 12.54 (10%) wall
592 kB ( 0%) ggc
tree memory partitioning: 32.74 (26%) usr 0.23 ( 4%) sys 32.94 (25%) wall
880 kB ( 0%) ggc
tree SSA incremental : 3.29 ( 3%) usr 0.04 ( 1%) sys 3.25 ( 3%) wall
3714 kB ( 0%) ggc
tree operand scan : 8.62 ( 7%) usr 0.17 ( 3%) sys 8.59 ( 7%) wall
59455 kB ( 5%) ggc
TOTAL : 121.52 6.89 128.51
1141231 kB
of course 4.1 took 34s and only 600MB.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Known to fail| |4.3.1
Known to work| |4.1.3
Resolution| |FIXED
Summary|GCC is slow and memory- |[4.3/4.4 Regression] GCC is
|hungry building |slow and memory-hungry
|sipQtGuipart.cpp |building sipQtGuipart.cpp
Target Milestone|--- |4.3.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Bug tree-optimization/36291] [4.3/4.4 Regression] GCC is slow and memory-hungry building sipQtGuipart.cpp
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
` (13 preceding siblings ...)
2008-06-06 20:27 ` [Bug tree-optimization/36291] [4.3/4.4 Regression] " rguenth at gcc dot gnu dot org
@ 2009-04-08 16:34 ` rguenth at gcc dot gnu dot org
14 siblings, 0 replies; 16+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-08 16:34 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from rguenth at gcc dot gnu dot org 2009-04-08 16:33 -------
Subject: Bug 36291
Author: rguenth
Date: Wed Apr 8 16:33:08 2009
New Revision: 145757
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145757
Log:
2009-04-08 Richard Guenther <rguenther@suse.de>
PR middle-end/36291
* tree-dfa.c (add_referenced_var): Do not recurse into
global initializers.
* tree-ssa-ccp.c (get_symbol_constant_value): Add newly
exposed variables.
(fold_const_aggregate_ref): Likewise.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-dfa.c
trunk/gcc/tree-ssa-ccp.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36291
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2009-04-08 16:34 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-21 16:08 [Bug tree-optimization/36291] New: GCC is slow and memory-hungry building sipQtGuipart.cpp rguenth at gcc dot gnu dot org
2008-05-22 12:28 ` [Bug tree-optimization/36291] " rguenth at gcc dot gnu dot org
2008-05-22 12:36 ` rguenth at gcc dot gnu dot org
2008-05-22 12:49 ` rguenth at gcc dot gnu dot org
2008-05-22 14:40 ` rguenth at gcc dot gnu dot org
2008-05-22 19:16 ` rguenth at gcc dot gnu dot org
2008-05-22 19:23 ` rguenth at gcc dot gnu dot org
2008-05-23 14:16 ` rguenth at gcc dot gnu dot org
2008-05-23 14:19 ` rguenth at gcc dot gnu dot org
2008-05-26 14:21 ` hubicka at ucw dot cz
2008-05-28 13:55 ` rguenth at gcc dot gnu dot org
2008-05-28 13:57 ` rguenth at gcc dot gnu dot org
2008-06-05 14:41 ` rguenth at gcc dot gnu dot org
2008-06-06 20:13 ` rguenth at gcc dot gnu dot org
2008-06-06 20:27 ` [Bug tree-optimization/36291] [4.3/4.4 Regression] " rguenth at gcc dot gnu dot org
2009-04-08 16:34 ` rguenth at gcc dot gnu dot org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).