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: Thu, 16 Sep 2004 01:55:19 +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: 17776k
Peak memory use before GGC: 9294k
Peak memory use after GGC: 8606k
Maximum of released memory in single GGC run: 2870k
Garbage: 42611k
Leak: 6103k
Overhead: 5586k
GGC runs: 365
comparing combine.c compilation at -O1 level:
Overall memory needed: 18660k
Peak memory use before GGC: 9786k
Peak memory use after GGC: 8800k
Maximum of released memory in single GGC run: 2068k
Garbage: 80496k -> 80496k
Leak: 6669k
Overhead: 14316k -> 14316k
GGC runs: 598
comparing combine.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 22224k to 22272k, overall 0.22%
Amount of memory still referenced at the end of compilation increased from 6412k to 6424k, overall 0.19%
Overall memory needed: 22224k -> 22272k
Peak memory use before GGC: 12769k
Peak memory use after GGC: 12610k
Maximum of released memory in single GGC run: 2578k
Garbage: 96593k -> 96605k
Leak: 6412k -> 6424k
Overhead: 19112k -> 19132k
GGC runs: 587
comparing combine.c compilation at -O3 level:
Overall memory needed: 24468k -> 23752k
Peak memory use before GGC: 13443k
Peak memory use after GGC: 12733k
Maximum of released memory in single GGC run: 3484k
Garbage: 129467k -> 129502k
Leak: 6991k -> 6990k
Overhead: 25312k -> 25298k
GGC runs: 651 -> 650
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 132860k
Peak memory use before GGC: 77100k
Peak memory use after GGC: 45185k
Maximum of released memory in single GGC run: 42129k
Garbage: 159511k
Leak: 10618k
Overhead: 19798k
GGC runs: 310
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 150312k
Peak memory use before GGC: 97475k
Peak memory use after GGC: 71695k
Maximum of released memory in single GGC run: 41239k
Garbage: 491599k
Leak: 11052k
Overhead: 85803k
GGC runs: 469
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 224512k
Peak memory use before GGC: 113028k
Peak memory use after GGC: 87248k
Maximum of released memory in single GGC run: 35988k
Garbage: 544301k -> 544311k
Leak: 11207k -> 11207k
Overhead: 95951k -> 95955k
GGC runs: 389
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 224504k
Peak memory use before GGC: 113029k
Peak memory use after GGC: 87248k
Maximum of released memory in single GGC run: 35988k
Garbage: 546681k -> 546684k
Leak: 11271k -> 11271k
Overhead: 96738k -> 96739k
GGC runs: 398
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 114844k
Peak memory use before GGC: 92009k
Peak memory use after GGC: 90476k
Maximum of released memory in single GGC run: 20897k
Garbage: 274942k
Leak: 59855k
Overhead: 35160k
GGC runs: 556
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 126236k
Peak memory use before GGC: 96401k
Peak memory use after GGC: 89741k
Maximum of released memory in single GGC run: 20069k
Garbage: 695316k -> 695316k
Leak: 62395k
Overhead: 151705k
GGC runs: 820
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 127448k
Peak memory use before GGC: 96402k
Peak memory use after GGC: 89741k
Maximum of released memory in single GGC run: 20070k
Garbage: 763256k -> 763256k
Leak: 62960k
Overhead: 182224k
GGC runs: 854
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 126236k
Peak memory use before GGC: 92886k
Peak memory use after GGC: 90752k
Maximum of released memory in single GGC run: 20814k
Garbage: 805937k -> 805938k
Leak: 63365k
Overhead: 195460k -> 195460k
GGC runs: 841
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-09-15 20:40:32.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-09-16 01:02:35.000000000 +0000
@@ -1,3 +1,52 @@
+2004-09-13 Jan Hubicka <jh@suse.cz>
+
+ * predict.c (expr_expected_value, strip_builtin_expect): New function.
+ (tree_predict_by_opcode): Use it.
+ (tree_estimate_probability): Add, for now disabled,
+ strip_builtin_expect call.
+
+2004-09-15 James E Wilson <wilson@specifixinc.com>
+
+ PR target/17455
+ * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
+ if current_function_decl is a sibcall.
+
+2004-09-15 Mark Mitchell <mark@codesourcery.com>
+
+ * varasm.c (default_function_rdodata_section): Make sure to pass
+ along a decl for a link-once section.
+
+2004-09-15 Richard Henderson <rth@redhat.com>
+
+ * tree-ssa-operands.c (add_call_clobber_ops): Fix unused variable
+ warning with code disable. Fix formatting.
+
+2004-09-15 Steven Bosscher <stevenb@suse.de>
+
+ * Makefile.in (tree-ssa-dom.o): Depend on tree-ssa-propagate.h.
+ * tree-ssa-dom.c (cprop_into_stmt): Recompute TREE_INVARIANT
+ after propagating into an ADDR_EXPR.
+
+2004-09-15 Andrew Pinski <apinski@apple.com>
+
+ PR rtl-opt/17427
+ * gcse.c (process_insert_insn): insn_invalid_p has side effects.
+ Move it out of gcc_assert.
+
+2004-09-15 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * attribs.c, builtins.c, c-format.c, c-pch.c, coverage.c,
+ except.c, fold-const.c, function.c, langhooks.c, params.c,
+ reload.c, reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
+ tree-dump.c, tree-mudflap.c, tree.c, varasm.c: Use %<, %> and %q
+ for quoting in diagnostics going through pretty-print.c. Use ''
+ for quoting in other diagnostic text.
+ * langhooks.c: Include intl.h. Mark text locating diagnostics for
+ translation.
+ * Makefile.in (langhooks.o): Update dependencies.
+ * pretty-print.h (pp_printf): Mark as accepting GCC diagnostic
+ formats.
+
2004-09-15 Mark Mitchell <mark@codesourcery.com>
* configure.ac: Check for COMDAT support. Robustify check for
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.