This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
GCC memory consumption increased by recent patch!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Mon, 13 Dec 2004 00:01:30 +0000
- Subject: GCC memory consumption increased by recent patch!
Hi,
Comparing memory consumption on compilation of combine.i and generate-3.4.ii I got:
comparing combine.c compilation at -O0 level:
Overall memory needed: 25257k -> 25253k
Peak memory use before GGC: 9310k
Peak memory use after GGC: 8624k
Maximum of released memory in single GGC run: 2912k
Garbage: 42433k
Leak: 6088k
Overhead: 5717k
GGC runs: 353
comparing combine.c compilation at -O1 level:
Overall memory needed: 26101k -> 26097k
Peak memory use before GGC: 9199k
Peak memory use after GGC: 8723k
Maximum of released memory in single GGC run: 2062k
Garbage: 67980k -> 67980k
Leak: 6484k
Overhead: 10665k -> 10665k
GGC runs: 545
comparing combine.c compilation at -O2 level:
Overall memory needed: 29909k -> 29905k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 2574k
Garbage: 82166k -> 82167k
Leak: 6301k
Overhead: 14822k -> 14822k
GGC runs: 547
comparing combine.c compilation at -O3 level:
Amount of memory still referenced at the end of compilation increased from 6832k to 6848k, overall 0.23%
Overall memory needed: 20728k -> 20744k
Peak memory use before GGC: 12987k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 3410k -> 3409k
Garbage: 111062k -> 111090k
Leak: 6832k -> 6848k
Overhead: 19897k -> 19898k
GGC runs: 615 -> 614
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118468k
Peak memory use before GGC: 79386k
Peak memory use after GGC: 46137k
Maximum of released memory in single GGC run: 43335k
Garbage: 161982k
Leak: 10609k
Overhead: 21242k
GGC runs: 296
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 129924k -> 130048k
Peak memory use before GGC: 85238k
Peak memory use after GGC: 70037k
Maximum of released memory in single GGC run: 41130k -> 41104k
Garbage: 449224k -> 449183k
Leak: 10955k
Overhead: 79590k -> 79605k
GGC runs: 430
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 154180k
Peak memory use before GGC: 101250k
Peak memory use after GGC: 85450k
Maximum of released memory in single GGC run: 42173k -> 42091k
Garbage: 496242k -> 496074k
Leak: 10875k
Overhead: 87865k -> 87880k
GGC runs: 364
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 154192k
Peak memory use before GGC: 101252k
Peak memory use after GGC: 85452k
Maximum of released memory in single GGC run: 42173k -> 42091k
Garbage: 497520k -> 497353k
Leak: 10920k
Overhead: 88046k -> 88061k
GGC runs: 372
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 113400k
Peak memory use before GGC: 89922k -> 89918k
Peak memory use after GGC: 89028k -> 89024k
Maximum of released memory in single GGC run: 19900k -> 19896k
Garbage: 248777k -> 248717k
Leak: 57790k
Overhead: 45380k -> 45380k
GGC runs: 362
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95920k
Peak memory use before GGC: 88919k -> 88914k
Peak memory use after GGC: 87945k -> 87941k
Maximum of released memory in single GGC run: 19406k -> 19401k
Garbage: 552832k -> 552907k
Leak: 59824k -> 59825k
Overhead: 115305k -> 115305k
GGC runs: 611 -> 613
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95920k
Peak memory use before GGC: 88919k -> 88915k
Peak memory use after GGC: 87945k -> 87942k
Maximum of released memory in single GGC run: 19405k -> 19402k
Garbage: 601724k -> 601898k
Leak: 60406k -> 60407k
Overhead: 137343k -> 137374k
GGC runs: 654 -> 653
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 98548k -> 98272k
Peak memory use before GGC: 90316k -> 90311k
Peak memory use after GGC: 88778k -> 88774k
Maximum of released memory in single GGC run: 20095k -> 20091k
Garbage: 641839k -> 641771k
Leak: 60738k -> 60746k
Overhead: 148779k -> 148779k
GGC runs: 647 -> 646
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-12-12 05:37:28.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-12-12 22:57:18.000000000 +0000
@@ -1,3 +1,50 @@
+2004-12-12 Di-an Jan <dianj@freeshell.org>
+
+ * doc/passes.texi (Pass Manager): Correct list of source files.
+
+2004-12-12 Richard Henderson <rth@redhat.com>
+
+ * expr.c (emit_move_change_mode): New.
+ (emit_move_via_alt_mode): Use it.
+
+2004-12-12 Nathanael Nerode <neroden@gcc.gnu.org>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/17564
+ * dojump.c (do_compare_and_jump): Only canonicalize function pointers
+ in a comparison if both sides are function pointers.
+
+2004-12-12 Richard Henderson <rth@redhat.com>
+
+ PR target/18932
+ * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
+ and compare_operator to propagate the input CC mode to the output.
+ * config/i386/predicates.md (compare_operator): New.
+
+2004-12-12 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/18040
+ * expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
+ CONVERT_EXPR cases.
+ (handled_component_p): Likewise.
+
+2004-12-12 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reg-stack.c (convert_regs_2): Free stack.
+
+ * tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
+ comment typos.
+
+2004-12-12 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
+ * tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
+ inner loop.
+
+2004-12-12 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-gimple.c (get_base_address): Update documentation.
+
2004-12-12 Kazu Hirata <kazu@cs.umass.edu>
* lcm.c (optimize_mode_switching): Free ptr even when mode_set
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2004-12-10 16:39:02.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2004-12-12 22:57:19.000000000 +0000
@@ -1,3 +1,9 @@
+2004-12-12 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/12454
+ * cp-gimplify.c (gimplify_if_stmt): Optimize the case where the
+ condition is a constant and the unexecuted clause is empty.
+
2004-12-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/18731
I am friendly script caring about memory consumption in GCC. Please contact
jh@suse.cz if something is going wrong.
The results can be reproduced by building compiler with
--enable-gather-detailed-mem-stats targetting x86-64 and compiling preprocessed
combine.c or testcase from PR8632 with:
-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q
The memory consumption summary appears in the dump after detailed listing of
the places they are allocated in. Peak memory consumption is actually computed
by looking for maximal value in {GC XXXX -> YYYY} report.
Yours testing script.