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: Tue, 15 Feb 2005 19:11:12 +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: 24661k
Peak memory use before GGC: 9359k
Peak memory use after GGC: 8673k
Maximum of released memory in single GGC run: 2864k
Garbage: 41665k
Leak: 6395k
Overhead: 5773k
GGC runs: 327
comparing combine.c compilation at -O1 level:
Overall memory needed: 25525k -> 25517k
Peak memory use before GGC: 9236k
Peak memory use after GGC: 8740k
Maximum of released memory in single GGC run: 2028k
Garbage: 60286k
Leak: 6752k
Overhead: 9904k
GGC runs: 500
comparing combine.c compilation at -O2 level:
Overall memory needed: 29153k -> 29141k
Peak memory use before GGC: 12671k
Peak memory use after GGC: 12545k
Maximum of released memory in single GGC run: 2597k
Garbage: 78219k
Leak: 6593k
Overhead: 13952k
GGC runs: 508
comparing combine.c compilation at -O3 level:
Amount of memory still referenced at the end of compilation increased from 7104k to 7120k, overall 0.22%
Overall memory needed: 31577k -> 31581k
Peak memory use before GGC: 12773k
Peak memory use after GGC: 12545k
Maximum of released memory in single GGC run: 3407k
Garbage: 105570k -> 105554k
Leak: 7104k -> 7120k
Overhead: 18721k -> 18720k
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:
Overall memory needed: 124320k
Peak memory use before GGC: 78756k
Peak memory use after GGC: 70103k
Maximum of released memory in single GGC run: 40779k
Garbage: 366124k
Leak: 11361k
Overhead: 69303k
GGC runs: 396
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 147328k -> 147340k
Peak memory use before GGC: 98356k
Peak memory use after GGC: 83473k
Maximum of released memory in single GGC run: 39384k
Garbage: 479990k
Leak: 11242k
Overhead: 84391k
GGC runs: 340
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 147356k
Peak memory use before GGC: 98358k
Peak memory use after GGC: 83475k
Maximum of released memory in single GGC run: 39384k
Garbage: 480803k
Leak: 11279k
Overhead: 84520k
GGC runs: 346
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:
Overall memory needed: 103913k -> 103909k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85113k
Maximum of released memory in single GGC run: 18951k
Garbage: 433596k
Leak: 56857k
Overhead: 64546k
GGC runs: 511
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104129k -> 104133k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85114k
Maximum of released memory in single GGC run: 18951k
Garbage: 475756k
Leak: 57425k
Overhead: 74090k
GGC runs: 571
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 105209k
Peak memory use before GGC: 87150k
Peak memory use after GGC: 86193k
Maximum of released memory in single GGC run: 19400k
Garbage: 480391k
Leak: 57571k
Overhead: 74690k
GGC runs: 557
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-15 13:40:15.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-15 18:12:48.000000000 +0000
@@ -1,3 +1,18 @@
+2005-02-15 Jeff Law <law@redhat.com>
+
+ * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
+ bitmap.
+ (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
+ (canon_list_insert, record_last_mem_set_info): Similarly.
+ (clear_modify_mem_tables): Similarly.
+
+2005-02-15 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
+ tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
+ config/mips/mips.md, config/rs6000/aix.h,
+ config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
+
2005-02-15 Richard Henderson <rth@redhat.com>
* bb-reorder.c (find_traces_1_round): Force fallthru edge from a
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.