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: Fri, 11 Feb 2005 04:23:43 +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: 24649k -> 24653k
Peak memory use before GGC: 9354k
Peak memory use after GGC: 8668k
Maximum of released memory in single GGC run: 2864k
Garbage: 41669k
Leak: 6391k
Overhead: 5772k
GGC runs: 328
comparing combine.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 25513k to 25541k, overall 0.11%
Overall memory needed: 25513k -> 25541k
Peak memory use before GGC: 9231k
Peak memory use after GGC: 8736k
Maximum of released memory in single GGC run: 2028k -> 2029k
Garbage: 60441k -> 60295k
Leak: 6752k -> 6751k
Overhead: 9920k -> 9904k
GGC runs: 502 -> 501
comparing combine.c compilation at -O2 level:
Overall memory needed: 29557k -> 29561k
Peak memory use before GGC: 12666k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 2597k
Garbage: 78642k -> 78450k
Leak: 6589k -> 6588k
Overhead: 14076k -> 14032k
GGC runs: 515 -> 513
comparing combine.c compilation at -O3 level:
Overall memory needed: 20232k -> 20236k
Peak memory use before GGC: 12769k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 3407k
Garbage: 106110k -> 105847k
Leak: 7111k -> 7096k
Overhead: 18852k -> 18831k
GGC runs: 581
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 114132k
Peak memory use before GGC: 74743k
Peak memory use after GGC: 45489k
Maximum of released memory in single GGC run: 39341k
Garbage: 152665k
Leak: 10979k
Overhead: 19970k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 124248k
Peak memory use before GGC: 78751k
Peak memory use after GGC: 70098k
Maximum of released memory in single GGC run: 40780k
Garbage: 366124k -> 366123k
Leak: 11356k
Overhead: 69302k -> 69302k
GGC runs: 396
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 147420k
Peak memory use before GGC: 98352k
Peak memory use after GGC: 83469k
Maximum of released memory in single GGC run: 39384k
Garbage: 480572k -> 480550k
Leak: 11237k
Overhead: 84549k -> 84546k
GGC runs: 340
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 147412k
Peak memory use before GGC: 98354k
Peak memory use after GGC: 83470k
Maximum of released memory in single GGC run: 39384k
Garbage: 481454k -> 481356k
Leak: 11278k -> 11275k
Overhead: 84701k -> 84675k
GGC runs: 346
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111048k
Peak memory use before GGC: 87151k
Peak memory use after GGC: 85890k
Maximum of released memory in single GGC run: 19511k
Garbage: 246099k
Leak: 55517k
Overhead: 43324k
GGC runs: 366
comparing Gerald's testcase PR8361 compilation at -O1 level:
Amount of memory still referenced at the end of compilation increased from 56774k to 56851k, overall 0.14%
Overall memory needed: 103889k -> 103893k
Peak memory use before GGC: 86009k
Peak memory use after GGC: 85108k
Maximum of released memory in single GGC run: 18951k
Garbage: 433691k -> 433610k
Leak: 56774k -> 56851k
Overhead: 64560k -> 64544k
GGC runs: 511
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104893k -> 104897k
Peak memory use before GGC: 86009k
Peak memory use after GGC: 85109k
Maximum of released memory in single GGC run: 18950k
Garbage: 476285k -> 476185k
Leak: 57372k -> 57419k
Overhead: 74299k -> 74274k
GGC runs: 574 -> 573
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 105981k
Peak memory use before GGC: 87145k
Peak memory use after GGC: 86188k
Maximum of released memory in single GGC run: 19399k
Garbage: 480878k -> 480821k
Leak: 57556k -> 57558k
Overhead: 74886k -> 74874k
GGC runs: 557
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-10 13:15:22.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-11 03:23:44.000000000 +0000
@@ -1,3 +1,65 @@
+2005-02-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa/linux-unwind.h (pa32_fallback_frame_state): Handle misaligned
+ signal trampolines.
+
+2005-02-10 David Daney <ddaney@avtrex.com>
+
+ * config/alpha/linux-unwind.h: Add exception clause to copyright.
+ * config/i386/linux-unwind.h: Likewise.
+ * config/ia64/linux-unwind.h: Likewise.
+ * config/mips/linux-unwind.h: Likewise.
+ * config/pa/linux-unwind.h: Likewise.
+ * config/rs6000/linux-unwind.h: Likewise.
+ * config/s390/linux-unwind.h: Likewise.
+ * config/sh/linux-unwind.h: Likewise.
+ * config/sparc/linux-unwind.h: Likewise.
+
+2005-02-10 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/17549
+ * tree-outof-ssa.c (find_replaceable_in_bb): Do not allow
+ TER to replace a DEF with its expression if the DEF and the
+ rhs of the expression we replace into have the same root
+ variable.
+
+2005-02-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Fix the placement of the match_scratch in the
+ lea64 peephole2.
+
+2005-02-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c, tree-ssa-loop-ivopts.c, config/rs6000/linux-unwind.h:
+ Fix comment typos.
+
+2005-02-10 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-loop-ivopts.c (determine_base_object): Ignore casts.
+ (strip_offset): Handle addresses.
+ (add_address_candidates): Use strip_offset.
+ (difference_cost): Reflect strip_offset change.
+ (force_var_cost, difference_cost): Strip nops.
+
+2005-02-10 Kazu Hirata <kazu@cs.umass.edu>
+
+ * df.h (DF_REF_MODE_CHANGE, DF_REF_MEM_OK): Remove.
+
+ * builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
+ tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
+ config/cris/cris-protos.h, config/cris/cris.c: Update
+ copyright.
+
+2005-02-10 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (thread_across_edge): Use xmalloc, not xcalloc.
+ (lookup_avail_expr): Similarly.
+
+2005-02-10 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * builtins.c (fold_builtin_powi): New function.
+ (fold_builtin_1): Call it.
+
2005-02-10 Steven Bosscher <stevenb@suse.de>
PR documentation/19309
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.