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, 09 Dec 2004 12:20:58 +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: 25261k -> 25253k
Peak memory use before GGC: 9310k
Peak memory use after GGC: 8624k
Maximum of released memory in single GGC run: 2912k
Garbage: 42434k -> 42433k
Leak: 6088k
Overhead: 5717k -> 5717k
GGC runs: 354 -> 353
comparing combine.c compilation at -O1 level:
Overall memory needed: 26161k -> 26165k
Peak memory use before GGC: 9199k
Peak memory use after GGC: 8723k
Maximum of released memory in single GGC run: 2062k
Garbage: 67984k -> 67984k
Leak: 6484k
Overhead: 10665k
GGC runs: 546 -> 545
comparing combine.c compilation at -O2 level:
Overall memory needed: 29941k -> 29969k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 2574k
Garbage: 82177k -> 82176k
Leak: 6299k
Overhead: 14822k
GGC runs: 548 -> 547
comparing combine.c compilation at -O3 level:
Amount of memory still referenced at the end of compilation increased from 6832k to 6848k, overall 0.23%
Overall memory needed: 20804k -> 20720k
Peak memory use before GGC: 12987k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 3411k
Garbage: 111098k -> 111130k
Leak: 6832k -> 6848k
Overhead: 19898k -> 19898k
GGC runs: 616 -> 614
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118468k
Peak memory use before GGC: 79386k
Peak memory use after GGC: 46137k
Maximum of released memory in single GGC run: 43335k
Garbage: 161983k -> 161982k
Leak: 10609k
Overhead: 21242k
GGC runs: 295 -> 296
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 132256k
Peak memory use before GGC: 85238k
Peak memory use after GGC: 70037k
Maximum of released memory in single GGC run: 41132k
Garbage: 449302k -> 449300k
Leak: 10955k
Overhead: 79597k -> 79597k
GGC runs: 429 -> 430
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 154184k
Peak memory use before GGC: 101254k -> 101250k
Peak memory use after GGC: 85454k -> 85450k
Maximum of released memory in single GGC run: 42175k
Garbage: 496306k -> 496321k
Leak: 10883k -> 10875k
Overhead: 87871k -> 87871k
GGC runs: 363 -> 364
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 154200k
Peak memory use before GGC: 101255k -> 101251k
Peak memory use after GGC: 85456k -> 85452k
Maximum of released memory in single GGC run: 42175k
Garbage: 497584k -> 497599k
Leak: 10928k -> 10920k
Overhead: 88052k -> 88052k
GGC runs: 371 -> 372
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 113408k
Peak memory use before GGC: 89927k
Peak memory use after GGC: 89033k
Maximum of released memory in single GGC run: 19901k
Garbage: 248762k -> 248762k
Leak: 57794k
Overhead: 45380k -> 45380k
GGC runs: 362
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95924k
Peak memory use before GGC: 88924k
Peak memory use after GGC: 87950k
Maximum of released memory in single GGC run: 19406k
Garbage: 553036k -> 553024k
Leak: 59829k
Overhead: 115303k -> 115300k
GGC runs: 611
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95924k
Peak memory use before GGC: 88924k
Peak memory use after GGC: 87951k
Maximum of released memory in single GGC run: 19405k
Garbage: 601967k -> 601999k
Leak: 60410k
Overhead: 137344k -> 137350k
GGC runs: 653
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 98432k -> 98420k
Peak memory use before GGC: 90321k
Peak memory use after GGC: 88783k
Maximum of released memory in single GGC run: 20095k
Garbage: 642048k -> 642094k
Leak: 60750k -> 60742k
Overhead: 148777k -> 148779k
GGC runs: 647 -> 648
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-12-09 02:01:49.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-12-09 11:15:57.000000000 +0000
@@ -1,3 +1,56 @@
+2004-12-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * genopinit.c (vec_realign_store_optab): Initialization removed.
+ * optabs.c (optab_for_tree_code): REALIGN_STORE_EXPR case removed.
+ * optabs.h (optab_index): OTI_vec_realign_store Removed.
+ (vec_realign_store_optab): Removed.
+ * target-def.h (TARGET_VECTORIZE_BUILTIN_MASK_FOR_STORE): Removed.
+ * target.h (builtin_mask_for_store): Removed.
+ * tree.def (REALIGN_STORE_EXPR): Removed.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_for_store): Removed.
+ (altivec_builtin_mask_for_store): Removed.
+ (altivec_init_builtins): Removed initialization of
+ altivec_builtin_mask_for_store.
+
+ * doc/tm.texi (TARGET_VECTORIZE_MISALIGNED_MEM_OK): New.
+ (TARGET_VECTORIZE_BUILTIN_MASK_FOR_LOAD): New.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * tree.def (SET_TYPE): Remove.
+ (CONSTRUCTOR): Update description.
+ * builtins.c (type_to_class) Remove SET_TYPE case.
+ * dbxout.c (dbxout_type): Likewise.
+ * dwarf2out.c (is_base_type): Likewise.
+ (gen_set_type_die): Remove.
+ (gen_type_die): Remove SET_TYPE case.
+ * expr.c (count_type_elements): Likewise.
+ (mostly_zeroes_p): Likewise.
+ (store_constructor): Likewise.
+ * print_tree.c (print_node): Likewise.
+ * stor-layout.c (layout_type): Likewise.
+ * tree-browser.c (browse_tree): Likewise.
+ * tree-inline.c (remap_type): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree.c (type_contains_plaeholder_1, type_hash_eq,
+ variably_modified_type_p, initializer_zerop): Likewise.
+ * tree.h (SET_OR_ARRAY_CHECK): Remove.
+ (AGGREGATE_TYPE_P): Remove SET_TYPE check.
+ (TYPE_DOMAIN): Use ARRAY_TYPE_CHECK.
+ * typeclass.h (enum type_class): Remove set_type_class.
+ * varasm.c (const_hash_1): Remove SET_TYPE case.
+ (compare_constant, copy_constant, output_constant): Likewise.
+ * config/i386/i386.c (classify_argument): Likewise.
+ * config/ia64/ia64.c (hfa_element_mode): Likewise.
+ * config/sparc/sparc.c (sparc_type_code): Likewise.
+
+ PR c++/16681
+ * tree-inline.c (estimate_num_insns_1): Add RANGE_EXPR case.
+
+2004-12-08 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.md: Use FLAGS_REG everywhere.
+
2004-12-08 Eric Christopher <echristo@redhat.com>
* config/mips/mips.c (mips_scalar_mode_supported_p): Rewrite
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2004-12-09 02:01:55.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2004-12-09 11:16:08.000000000 +0000
@@ -1,3 +1,14 @@
+2004-12-09 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/18073
+ * typeck.c (build_reinterpret_cast_1): Allow cast from vector type.
+
+2004-12-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR c++/16681
+ * init.c (build_zero_init): Build a RANGE_EXPR for an array
+ initializer.
+
2004-12-08 Kelley Cook <kcook@gcc.gnu.org>
* typeck.c: Remove DOS line endings.
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.