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, 20 Jan 2005 20:08:25 +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: 24613k -> 24625k
Peak memory use before GGC: 9345k
Peak memory use after GGC: 8659k
Maximum of released memory in single GGC run: 2864k
Garbage: 41727k -> 41728k
Leak: 6379k -> 6379k
Overhead: 5777k -> 5777k
GGC runs: 329
comparing combine.c compilation at -O1 level:
Overall memory needed: 27013k -> 27017k
Peak memory use before GGC: 9229k -> 9227k
Peak memory use after GGC: 8728k
Maximum of released memory in single GGC run: 2026k -> 2025k
Garbage: 65778k -> 65778k
Leak: 6747k -> 6748k
Overhead: 10435k -> 10435k
GGC runs: 518
comparing combine.c compilation at -O2 level:
Overall memory needed: 29541k -> 29545k
Peak memory use before GGC: 12665k -> 12666k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 2534k -> 2533k
Garbage: 79800k -> 79803k
Leak: 6578k -> 6579k
Overhead: 14294k -> 14295k
GGC runs: 519
comparing combine.c compilation at -O3 level:
Overall memory needed: 20156k -> 20152k
Peak memory use before GGC: 12811k -> 12812k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 3346k -> 3347k
Garbage: 107764k -> 107748k
Leak: 7092k -> 7077k
Overhead: 18990k -> 18990k
GGC runs: 586
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 117548k
Peak memory use before GGC: 78061k -> 78062k
Peak memory use after GGC: 45541k -> 45542k
Maximum of released memory in single GGC run: 42606k
Garbage: 159286k -> 159298k
Leak: 10949k -> 10950k
Overhead: 20803k -> 20804k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 128292k to 128728k, overall 0.34%
Overall memory needed: 128292k -> 128728k
Peak memory use before GGC: 83579k
Peak memory use after GGC: 69298k
Maximum of released memory in single GGC run: 40617k -> 40616k
Garbage: 441378k -> 441377k
Leak: 11294k -> 11295k
Overhead: 77391k -> 77391k
GGC runs: 406
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 153408k -> 153424k
Peak memory use before GGC: 99340k
Peak memory use after GGC: 84460k -> 84461k
Maximum of released memory in single GGC run: 41525k -> 41524k
Garbage: 487877k -> 487881k
Leak: 11218k -> 11218k
Overhead: 85488k -> 85488k
GGC runs: 342
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 153408k -> 153396k
Peak memory use before GGC: 99341k -> 99342k
Peak memory use after GGC: 84462k
Maximum of released memory in single GGC run: 41525k
Garbage: 488914k -> 488909k
Leak: 11256k -> 11256k
Overhead: 85635k -> 85635k
GGC runs: 348
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111088k
Peak memory use before GGC: 86883k
Peak memory use after GGC: 85932k -> 85933k
Maximum of released memory in single GGC run: 19284k -> 19283k
Garbage: 246367k -> 246358k
Leak: 55491k -> 55492k
Overhead: 43354k -> 43354k
GGC runs: 367
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 104609k -> 104625k
Peak memory use before GGC: 85965k
Peak memory use after GGC: 84929k
Maximum of released memory in single GGC run: 18947k
Garbage: 456297k -> 456274k
Leak: 56812k -> 56812k
Overhead: 66454k -> 66452k
GGC runs: 541
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104681k -> 104685k
Peak memory use before GGC: 85965k
Peak memory use after GGC: 84929k
Maximum of released memory in single GGC run: 18947k
Garbage: 490964k -> 490949k
Leak: 57401k -> 57401k
Overhead: 75932k -> 75935k
GGC runs: 587
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 112417k
Peak memory use before GGC: 92703k
Peak memory use after GGC: 86223k
Maximum of released memory in single GGC run: 19713k -> 19712k
Garbage: 506367k -> 506354k
Leak: 57572k -> 57572k
Overhead: 77457k -> 77457k
GGC runs: 574
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-01-20 14:35:49.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-01-20 19:07:27.000000000 +0000
@@ -1,3 +1,31 @@
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/19418
+ * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128): New.
+ (_mm_castps_pd, _mm_castps_si128): New.
+ (_mm_castsi128_ps, _mm_castsi128_pd): New.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/19530
+ * config/i386/mmintrin.h (_mm_cvtsi32_si64): Use
+ __builtin_ia32_vec_init_v2si.
+ (_mm_cvtsi64_si32): Use __builtin_ia32_vec_ext_v2si.
+ * config/i386/i386.c (IX86_BUILTIN_VEC_EXT_V2SI): New.
+ (ix86_init_mmx_sse_builtins): Create it.
+ (ix86_expand_builtin): Expand it.
+ (ix86_expand_vector_set): Handle V2SFmode and V2SImode.
+ * config/i386/mmx.md (vec_extractv2sf_0, vec_extractv2sf_1): New.
+ (vec_extractv2si_0, vec_extractv2si_1): New.
+
+2005-01-20 Richard Henderson <rth@redhat.com>
+
+ PR target/16533
+ * config/i386/i386.c (ix86_expand_push): New.
+ * config/i386/mmx.md (push<MMXMODE>1): New.
+ * config/i386/sse.md (push<SSEMODE>1): New.
+ * config/i386/i386-protos.h: Update.
+
2005-01-20 Kazu Hirata <kazu@cs.umass.edu>
* params.def, params.h, predict.c, tree-ssa-loop-im.c: Update
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.