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: Wed, 16 Feb 2005 23:50:27 +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: 24665k -> 24669k
Peak memory use before GGC: 9358k
Peak memory use after GGC: 8673k
Maximum of released memory in single GGC run: 2863k
Garbage: 41664k
Leak: 6395k
Overhead: 5773k
GGC runs: 327
comparing combine.c compilation at -O1 level:
Amount of produced GGC garbage increased from 60283k to 60532k, overall 0.41%
Overall memory needed: 25533k -> 25521k
Peak memory use before GGC: 9235k
Peak memory use after GGC: 8740k
Maximum of released memory in single GGC run: 2028k -> 2026k
Garbage: 60283k -> 60532k
Leak: 6756k
Overhead: 9906k -> 9936k
GGC runs: 501 -> 500
comparing combine.c compilation at -O2 level:
Amount of produced GGC garbage increased from 78211k to 78473k, overall 0.34%
Overall memory needed: 29153k
Peak memory use before GGC: 12670k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 2597k
Garbage: 78211k -> 78473k
Leak: 6593k
Overhead: 13950k -> 13978k
GGC runs: 508 -> 510
comparing combine.c compilation at -O3 level:
Amount of produced GGC garbage increased from 105562k to 105794k, overall 0.22%
Overall memory needed: 31617k -> 31505k
Peak memory use before GGC: 12773k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 3407k -> 3434k
Garbage: 105562k -> 105794k
Leak: 7120k -> 7120k
Overhead: 18707k -> 18743k
GGC runs: 577
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 114136k
Peak memory use before GGC: 74747k
Peak memory use after GGC: 45493k
Maximum of released memory in single GGC run: 39340k
Garbage: 152668k
Leak: 10984k
Overhead: 19970k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Amount of produced GGC garbage increased from 366124k to 370048k, overall 1.07%
Overall memory needed: 124228k -> 123624k
Peak memory use before GGC: 78756k -> 78747k
Peak memory use after GGC: 70103k -> 70087k
Maximum of released memory in single GGC run: 40779k -> 40781k
Garbage: 366124k -> 370048k
Leak: 11361k
Overhead: 69303k -> 69439k
GGC runs: 396 -> 398
comparing insn-attrtab.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 147332k to 147756k, overall 0.29%
Amount of produced GGC garbage increased from 479990k to 483932k, overall 0.82%
Overall memory needed: 147332k -> 147756k
Peak memory use before GGC: 98356k -> 97758k
Peak memory use after GGC: 83473k -> 83478k
Maximum of released memory in single GGC run: 39384k
Garbage: 479990k -> 483932k
Leak: 11242k
Overhead: 84391k -> 84528k
GGC runs: 340 -> 342
comparing insn-attrtab.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 147356k to 147792k, overall 0.30%
Amount of produced GGC garbage increased from 480803k to 484744k, overall 0.82%
Overall memory needed: 147356k -> 147792k
Peak memory use before GGC: 98358k -> 97759k
Peak memory use after GGC: 83475k -> 83480k
Maximum of released memory in single GGC run: 39384k
Garbage: 480803k -> 484744k
Leak: 11279k
Overhead: 84520k -> 84658k
GGC runs: 346 -> 348
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111056k
Peak memory use before GGC: 87156k
Peak memory use after GGC: 85895k
Maximum of released memory in single GGC run: 19511k
Garbage: 246085k
Leak: 55523k
Overhead: 43324k
GGC runs: 366
comparing Gerald's testcase PR8361 compilation at -O1 level:
Amount of produced GGC garbage increased from 433596k to 435965k, overall 0.55%
Overall memory needed: 103909k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85113k
Maximum of released memory in single GGC run: 18951k
Garbage: 433596k -> 435965k
Leak: 56857k
Overhead: 64546k -> 65091k
GGC runs: 511 -> 513
comparing Gerald's testcase PR8361 compilation at -O2 level:
Amount of produced GGC garbage increased from 475756k to 479185k, overall 0.72%
Overall memory needed: 104133k -> 104149k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85114k
Maximum of released memory in single GGC run: 18951k
Garbage: 475756k -> 479185k
Leak: 57425k -> 57424k
Overhead: 74090k -> 74698k
GGC runs: 571 -> 572
comparing Gerald's testcase PR8361 compilation at -O3 level:
Amount of produced GGC garbage increased from 480397k to 483943k, overall 0.74%
Overall memory needed: 105213k -> 105205k
Peak memory use before GGC: 87150k
Peak memory use after GGC: 86193k
Maximum of released memory in single GGC run: 19400k
Garbage: 480397k -> 483943k
Leak: 57563k -> 57595k
Overhead: 74689k -> 75313k
GGC runs: 557 -> 559
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-16 18:19:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-16 22:50:37.000000000 +0000
@@ -1,3 +1,43 @@
+2005-02-16 Richard Earnshaw <rearnsha@arm.com>
+
+ * PR target/19162
+ * arm.c (arm_apply_result_size): New function.
+ * arm.h (APPLY_RESULT_SIZE): Define.
+ * arm-protos.h (arm_apply_result_size): Add prototype.
+ * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+ (movxf): New expand.
+ (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+ (call_value_symbol): Remove predicate for operand 0.
+ (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+ (untyped_call): Rework to correclty return values for any type.
+ (untyped_return): New expand.
+ * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+
+2005-02-16 Stan Shebs <shebs@apple.com>
+
+ * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+ * config/rs6000/t-darwin8: New, for 64-bit multilib.
+
+2005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * doc/install.texi (sparc-sun-solaris2*): Document required
+ configure settings on Solaris 7 and later.
+
+2005-02-16 Diego Novillo <dnovillo@redhat.com>
+
+ PR tree-optimization/19865
+ * tree-optimize.c (init_tree_optimization_passes): Run
+ pass_may_alias after pass_sra.
+
+2005-02-16 Richard Henderson <rth@redhat.com>
+ Stuart Hastings <stuart@apple.com>
+
+ PR debug/19521
+ * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+ Do nothing if debug info suppressed for this function.
+ (dbxout_begin_function): Early exit if debug info suppressed for
+ this function.
+
2005-02-16 Kazu Hirata <kazu@cs.umass.edu>
PR target/20007
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.