This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch decreased GCC's memory consumption.
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Wed, 10 Sep 2008 20:31:55 +0000
- Subject: A recent patch decreased GCC's memory consumption.
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing empty function compilation at -O0 level:
Overall memory needed: 8184k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1217k
Maximum of released memory in single GGC run: 134k
Garbage: 218k
Leak: 1222k
Overhead: 136k
GGC runs: 4
Pre-IPA-Garbage: 207k
Pre-IPA-Leak: 1224k
Pre-IPA-Overhead: 135k
Post-IPA-Garbage: 207k
Post-IPA-Leak: 1224k
Post-IPA-Overhead: 135k
comparing empty function compilation at -O0 -g level:
Overall memory needed: 8428k
Peak memory use before GGC: 1319k
Peak memory use after GGC: 1245k
Maximum of released memory in single GGC run: 133k
Garbage: 220k
Leak: 1254k
Overhead: 141k
GGC runs: 4
Pre-IPA-Garbage: 207k
Pre-IPA-Leak: 1224k
Pre-IPA-Overhead: 135k
Post-IPA-Garbage: 207k
Post-IPA-Leak: 1224k
Post-IPA-Overhead: 135k
comparing empty function compilation at -O1 level:
Overall memory needed: 8236k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1217k
Maximum of released memory in single GGC run: 134k
Garbage: 221k
Leak: 1222k
Overhead: 137k
GGC runs: 4
Pre-IPA-Garbage: 207k
Pre-IPA-Leak: 1224k
Pre-IPA-Overhead: 135k
Post-IPA-Garbage: 207k
Post-IPA-Leak: 1224k
Post-IPA-Overhead: 135k
comparing empty function compilation at -O2 level:
Overall memory needed: 8456k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1218k
Maximum of released memory in single GGC run: 135k
Garbage: 226k
Leak: 1222k
Overhead: 138k
GGC runs: 4
Pre-IPA-Garbage: 207k
Pre-IPA-Leak: 1225k
Pre-IPA-Overhead: 135k
Post-IPA-Garbage: 207k
Post-IPA-Leak: 1225k
Post-IPA-Overhead: 135k
comparing empty function compilation at -O3 level:
Overall memory needed: 8460k
Peak memory use before GGC: 1291k
Peak memory use after GGC: 1218k
Maximum of released memory in single GGC run: 135k
Garbage: 226k
Leak: 1222k
Overhead: 138k
GGC runs: 4
Pre-IPA-Garbage: 207k
Pre-IPA-Leak: 1225k
Pre-IPA-Overhead: 135k
Post-IPA-Garbage: 207k
Post-IPA-Leak: 1225k
Post-IPA-Overhead: 135k
comparing combine.c compilation at -O0 level:
Overall memory needed: 32044k
Peak memory use before GGC: 18032k
Peak memory use after GGC: 17774k
Maximum of released memory in single GGC run: 1866k
Garbage: 39943k
Leak: 5639k
Overhead: 5266k
GGC runs: 339
Pre-IPA-Garbage: 12581k
Pre-IPA-Leak: 19385k
Pre-IPA-Overhead: 2623k
Post-IPA-Garbage: 12581k
Post-IPA-Leak: 19385k
Post-IPA-Overhead: 2623k
comparing combine.c compilation at -O0 -g level:
Overall memory needed: 34056k
Peak memory use before GGC: 19957k
Peak memory use after GGC: 19629k
Maximum of released memory in single GGC run: 1875k
Garbage: 40245k
Leak: 8928k
Overhead: 6083k
GGC runs: 322
Pre-IPA-Garbage: 12680k
Pre-IPA-Leak: 21658k
Pre-IPA-Overhead: 3113k
Post-IPA-Garbage: 12680k
Post-IPA-Leak: 21658k
Post-IPA-Overhead: 3113k
comparing combine.c compilation at -O1 level:
Overall memory needed: 31024k
Peak memory use before GGC: 15689k
Peak memory use after GGC: 15518k
Maximum of released memory in single GGC run: 1366k
Garbage: 47221k
Leak: 5624k
Overhead: 6102k
GGC runs: 404
Pre-IPA-Garbage: 13457k
Pre-IPA-Leak: 16876k
Pre-IPA-Overhead: 2532k
Post-IPA-Garbage: 13457k
Post-IPA-Leak: 16876k
Post-IPA-Overhead: 2532k
comparing combine.c compilation at -O2 level:
Overall memory needed: 31876k -> 31868k
Peak memory use before GGC: 15780k
Peak memory use after GGC: 15621k
Maximum of released memory in single GGC run: 1326k
Garbage: 61239k
Leak: 5800k
Overhead: 8186k
GGC runs: 474
Pre-IPA-Garbage: 13631k
Pre-IPA-Leak: 16952k
Pre-IPA-Overhead: 2554k
Post-IPA-Garbage: 13631k
Post-IPA-Leak: 16952k
Post-IPA-Overhead: 2554k
comparing combine.c compilation at -O3 level:
Ovarall memory allocated via mmap and sbrk decreased from 36684k to 33128k, overall -10.73%
Overall memory needed: 36684k -> 33128k
Peak memory use before GGC: 15924k
Peak memory use after GGC: 15720k
Maximum of released memory in single GGC run: 1818k
Garbage: 76737k
Leak: 5676k
Overhead: 10029k
GGC runs: 508
Pre-IPA-Garbage: 13632k
Pre-IPA-Leak: 16963k
Pre-IPA-Overhead: 2555k
Post-IPA-Garbage: 13632k
Post-IPA-Leak: 16963k
Post-IPA-Overhead: 2555k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 158228k
Peak memory use before GGC: 65873k
Peak memory use after GGC: 53242k
Maximum of released memory in single GGC run: 28569k
Garbage: 134335k
Leak: 7489k
Overhead: 16157k
GGC runs: 265
Pre-IPA-Garbage: 39228k
Pre-IPA-Leak: 55907k
Pre-IPA-Overhead: 8653k
Post-IPA-Garbage: 39228k
Post-IPA-Leak: 55907k
Post-IPA-Overhead: 8653k
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 159532k
Peak memory use before GGC: 67147k
Peak memory use after GGC: 54514k
Maximum of released memory in single GGC run: 28569k
Garbage: 134814k
Leak: 9140k
Overhead: 16613k
GGC runs: 258
Pre-IPA-Garbage: 39285k
Pre-IPA-Leak: 57449k
Pre-IPA-Overhead: 8988k
Post-IPA-Garbage: 39285k
Post-IPA-Leak: 57449k
Post-IPA-Overhead: 8988k
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 134892k
Peak memory use before GGC: 50247k
Peak memory use after GGC: 43080k
Maximum of released memory in single GGC run: 23393k
Garbage: 184506k
Leak: 6871k
Overhead: 25327k
GGC runs: 305
Pre-IPA-Garbage: 45205k
Pre-IPA-Leak: 43436k
Pre-IPA-Overhead: 8052k
Post-IPA-Garbage: 45205k
Post-IPA-Leak: 43436k
Post-IPA-Overhead: 8052k
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 150260k
Peak memory use before GGC: 50279k
Peak memory use after GGC: 43994k
Maximum of released memory in single GGC run: 22010k
Garbage: 216414k
Leak: 6879k
Overhead: 31033k
GGC runs: 340
Pre-IPA-Garbage: 45283k
Pre-IPA-Leak: 43441k
Pre-IPA-Overhead: 8061k
Post-IPA-Garbage: 45283k
Post-IPA-Leak: 43441k
Post-IPA-Overhead: 8061k
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 162584k
Peak memory use before GGC: 61578k
Peak memory use after GGC: 58454k
Maximum of released memory in single GGC run: 24308k
Garbage: 246737k
Leak: 6886k
Overhead: 34484k
GGC runs: 343
Pre-IPA-Garbage: 45283k
Pre-IPA-Leak: 43441k
Pre-IPA-Overhead: 8061k
Post-IPA-Garbage: 45283k
Post-IPA-Leak: 43441k
Post-IPA-Overhead: 8061k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 150448k -> 150435k
Peak memory use before GGC: 82283k
Peak memory use after GGC: 81468k
Maximum of released memory in single GGC run: 16450k
Garbage: 212604k
Leak: 49791k
Overhead: 27190k
GGC runs: 424
Pre-IPA-Garbage: 114063k
Pre-IPA-Leak: 87272k
Pre-IPA-Overhead: 14907k
Post-IPA-Garbage: 114063k
Post-IPA-Leak: 87272k
Post-IPA-Overhead: 14907k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 167976k -> 168003k
Peak memory use before GGC: 95772k
Peak memory use after GGC: 94820k
Maximum of released memory in single GGC run: 16877k
Garbage: 218255k
Leak: 76354k
Overhead: 33854k
GGC runs: 394
Pre-IPA-Garbage: 114685k
Pre-IPA-Leak: 103786k
Pre-IPA-Overhead: 18410k
Post-IPA-Garbage: 114685k
Post-IPA-Leak: 103786k
Post-IPA-Overhead: 18410k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 112088k -> 112087k
Peak memory use before GGC: 82328k -> 82329k
Peak memory use after GGC: 81502k -> 81503k
Maximum of released memory in single GGC run: 16685k
Garbage: 291436k -> 291411k
Leak: 46577k -> 46585k
Overhead: 32515k -> 32515k
GGC runs: 516
Pre-IPA-Garbage: 167245k -> 167245k
Pre-IPA-Leak: 86055k -> 86056k
Pre-IPA-Overhead: 20408k -> 20408k
Post-IPA-Garbage: 167245k -> 167245k
Post-IPA-Leak: 86055k -> 86056k
Post-IPA-Overhead: 20408k -> 20408k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 115408k -> 115371k
Peak memory use before GGC: 83778k
Peak memory use after GGC: 82799k
Maximum of released memory in single GGC run: 16656k
Garbage: 345503k
Leak: 46506k
Overhead: 39162k
GGC runs: 580
Pre-IPA-Garbage: 171448k
Pre-IPA-Leak: 86362k
Pre-IPA-Overhead: 20902k
Post-IPA-Garbage: 171448k
Post-IPA-Leak: 86362k
Post-IPA-Overhead: 20902k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Ovarall memory allocated via mmap and sbrk decreased from 122752k to 116951k, overall -4.96%
Overall memory needed: 122752k -> 116951k
Peak memory use before GGC: 84478k
Peak memory use after GGC: 83419k
Maximum of released memory in single GGC run: 16656k
Garbage: 376955k
Leak: 46507k
Overhead: 42457k
GGC runs: 615
Pre-IPA-Garbage: 171534k
Pre-IPA-Leak: 87044k
Pre-IPA-Overhead: 20957k
Post-IPA-Garbage: 171534k
Post-IPA-Leak: 87044k
Post-IPA-Overhead: 20957k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 368860k -> 368859k
Peak memory use before GGC: 78451k
Peak memory use after GGC: 49385k
Maximum of released memory in single GGC run: 38763k
Garbage: 147530k
Leak: 6511k
Overhead: 24890k
GGC runs: 87
Pre-IPA-Garbage: 13630k
Pre-IPA-Leak: 20190k
Pre-IPA-Overhead: 2241k
Post-IPA-Garbage: 13630k
Post-IPA-Leak: 20190k
Post-IPA-Overhead: 2241k
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Overall memory needed: 369636k -> 369635k
Peak memory use before GGC: 79148k
Peak memory use after GGC: 50082k
Maximum of released memory in single GGC run: 38748k
Garbage: 147631k
Leak: 8553k
Overhead: 25474k
GGC runs: 93
Pre-IPA-Garbage: 13637k
Pre-IPA-Leak: 20439k
Pre-IPA-Overhead: 2296k
Post-IPA-Garbage: 13637k
Post-IPA-Leak: 20439k
Post-IPA-Overhead: 2296k
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Overall memory needed: 227888k
Peak memory use before GGC: 71433k
Peak memory use after GGC: 63951k
Maximum of released memory in single GGC run: 35392k
Garbage: 226744k
Leak: 7088k
Overhead: 30781k
GGC runs: 98
Pre-IPA-Garbage: 51799k
Pre-IPA-Leak: 62150k
Pre-IPA-Overhead: 8965k
Post-IPA-Garbage: 51799k
Post-IPA-Leak: 62150k
Post-IPA-Overhead: 8965k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Overall memory needed: 376120k -> 369660k
Peak memory use before GGC: 71433k
Peak memory use after GGC: 63952k
Maximum of released memory in single GGC run: 36706k
Garbage: 255087k
Leak: 6910k
Overhead: 36877k
GGC runs: 109
Pre-IPA-Garbage: 111829k
Pre-IPA-Leak: 73071k
Pre-IPA-Overhead: 15408k
Post-IPA-Garbage: 111829k
Post-IPA-Leak: 73071k
Post-IPA-Overhead: 15408k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Overall memory needed: 1024508k
Peak memory use before GGC: 138535k
Peak memory use after GGC: 125812k
Maximum of released memory in single GGC run: 62503k
Garbage: 366227k
Leak: 9422k
Overhead: 45446k
GGC runs: 106
Pre-IPA-Garbage: 111829k
Pre-IPA-Leak: 73071k
Pre-IPA-Overhead: 15408k
Post-IPA-Garbage: 111829k
Post-IPA-Leak: 73071k
Post-IPA-Overhead: 15408k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2008-09-10 11:46:18.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2008-09-10 17:01:39.000000000 +0000
@@ -1,3 +1,41 @@
+2008-09-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (phi_translate_1): Fix memory leak.
+
+2008-09-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/37432
+ * tree-inline.c (insert_init_stmt): Make sure to not
+ insert invalid gimple stores.
+
+2008-09-10 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/37388
+ * toplev.c (process_options): Fail and warn when graphite
+ flags are used, but the compiler has not been configured
+ with graphite libraries.
+ * graphite.c (graphite_transform_loops): Remove printfs
+ to dump_file for the case when graphite is not available.
+
+2008-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/37434:
+ * config/i386/i386.c (ix86_expand_vector_init_interleave): Force
+ the even element into register.
+ (ix86_expand_vector_init_general): Don't use
+ ix86_expand_vector_init_interleave on V16QImode and V8HImode
+ if we can't move from GPR to SSE register directly.
+
+2008-09-10 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.c (workaround_speculation): Correct algorithm to
+ not lose track of the number of NOPs needed. Number of NOPs needed
+ for sync vs. loads workaround was switched; corrected. Run second
+ pass for all workarounds. No NOPs needed after call insns. Change
+ second pass to use find_next_insn_start and find_load helpers in order
+ to properly detect parallel insns.
+ * config/bfin/bfin.md (cbranch_with_nops): Increase length.
+
2008-09-10 Jan Hubicka <jh@suse.cz>
* value-prof.c (gimple_ic): Fix tuplification bug.
@@ -158,7 +196,7 @@
2008-09-09 Andrey Belevantsev <abel@ispras.ru>
- PR rtl-optimization/37360
+ PR rtl-optimization/37360
* haifa-sched.c (max_issue): Do not assert that we never issue more
insns than issue_rate. Add comment.
@@ -302,19 +340,19 @@
2008-09-07 Helge Deller <deller@gmx.de>
- * pa/linux-atomic.c: New file.
+ * pa/linux-atomic.c: New file.
* pa/t-linux (LIB2FUNCS_STATIC_EXTRA): Define.
* pa/t-linux64 (LIB2FUNCS_STATIC_EXTRA): Define.
2008-09-07 Richard Guenther <rguenther@suse.de>
- Ira Rosen <irar@il.ibm.com>
+ Ira Rosen <irar@il.ibm.com>
PR tree-optimization/36630
* tree-vect-transform.c (vect_update_ivs_after_vectorizer):
Call STRIP_NOPS before calling evolution_part_in_loop_num.
2008-09-07 Dorit Nuzman <dorit@il.ibm.com>
- Ira Rosen <irar@il.ibm.com>
+ Ira Rosen <irar@il.ibm.com>
PR tree-optimization/35642
* config/rs6000/altivec.md (mulv8hi3): Implement.
The results can be reproduced by building a 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.
Your testing script.