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: Mon, 17 Jan 2005 14:30:55 +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: 24773k -> 24629k
Peak memory use before GGC: 9345k
Peak memory use after GGC: 8659k
Maximum of released memory in single GGC run: 2864k
Garbage: 41727k
Leak: 6379k
Overhead: 5777k
GGC runs: 329
comparing combine.c compilation at -O1 level:
Overall memory needed: 27181k -> 27033k
Peak memory use before GGC: 9233k
Peak memory use after GGC: 8732k
Maximum of released memory in single GGC run: 2026k
Garbage: 66627k
Leak: 6775k
Overhead: 10514k
GGC runs: 519
comparing combine.c compilation at -O2 level:
Overall memory needed: 29705k -> 29557k
Peak memory use before GGC: 12665k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 2533k
Garbage: 80642k
Leak: 6606k
Overhead: 14368k
GGC runs: 519
comparing combine.c compilation at -O3 level:
Overall memory needed: 20168k
Peak memory use before GGC: 12919k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 3346k
Garbage: 109072k
Leak: 7136k
Overhead: 19196k
GGC runs: 585
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 117548k
Peak memory use before GGC: 78061k
Peak memory use after GGC: 45541k
Maximum of released memory in single GGC run: 42606k
Garbage: 159286k
Leak: 10949k
Overhead: 20803k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 128704k
Peak memory use before GGC: 83579k
Peak memory use after GGC: 69298k
Maximum of released memory in single GGC run: 40617k
Garbage: 441383k
Leak: 11295k
Overhead: 77391k
GGC runs: 406
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 153408k
Peak memory use before GGC: 99340k
Peak memory use after GGC: 84460k
Maximum of released memory in single GGC run: 41525k
Garbage: 487922k
Leak: 11219k
Overhead: 85491k
GGC runs: 342
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 153404k
Peak memory use before GGC: 99341k
Peak memory use after GGC: 84462k
Maximum of released memory in single GGC run: 41525k
Garbage: 489113k
Leak: 11261k
Overhead: 85649k
GGC runs: 349
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
Maximum of released memory in single GGC run: 19284k
Garbage: 246367k
Leak: 55491k
Overhead: 43354k
GGC runs: 367
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 104817k -> 104669k
Peak memory use before GGC: 85965k
Peak memory use after GGC: 84929k
Maximum of released memory in single GGC run: 18947k
Garbage: 466128k -> 466130k
Leak: 57238k -> 57238k
Overhead: 67143k -> 67142k
GGC runs: 550
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 93668k to 104741k, overall 11.82%
Overall memory needed: 93668k -> 104741k
Peak memory use before GGC: 85965k
Peak memory use after GGC: 84929k
Maximum of released memory in single GGC run: 18947k
Garbage: 500461k
Leak: 57816k
Overhead: 76606k
GGC runs: 594
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 101356k to 112473k, overall 10.97%
Overall memory needed: 101356k -> 112473k
Peak memory use before GGC: 92703k
Peak memory use after GGC: 86223k
Maximum of released memory in single GGC run: 19713k
Garbage: 520379k
Leak: 58142k
Overhead: 78451k
GGC runs: 579
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-01-17 04:32:52.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-01-17 13:26:44.000000000 +0000
@@ -1,3 +1,32 @@
+2005-01-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * common.opt (-fnew-ra): Remove.
+ * ra*.*: Remove.
+ * toplev.h (flag_new_regalloc): Remove.
+ * Makefile.in (ra*.*): Don't mention.
+ * passes.c (rest_of_handle_new_regalloc): Remove.
+ (rest_of_handle_combine, rest_of_compilation): Always consider
+ flag_new_regalloc as false.
+ * doc/invoke.texi: Don't document -fnew-ra.
+
+2005-01-17 Paolo Bonzini <bonzini@gnu.org>
+
+ * bb-reorder.c (fix_edges_for_rarely_executed_code): Remove
+ last parameter to reg_scan.
+ * loop.c (loop_optimize): Likewise.
+ * passes.c (rest_of_handle_tracer, rest_of_handle_if_conversion,
+ rest_of_handle_web, rest_of_handle_cfg, rest_of_handle_jump_bypass,
+ rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2,
+ rest_of_handle_gcse, rest_of_handle_loop_optimize,
+ rest_of_handle_loop2, rest_of_handle_jump2): Likewise.
+ * regclass.c (reg_scan): Likewise, for the declaration.
+ * rtl.h (reg_scan): Likewise, for the prototype.
+
+2005-01-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Don't call
+ mark_dfs_back_edges.
+
2005-01-16 Daniel Berlin <dberlin@dberlin.org>
* tree-ssa-pre.c (add_to_sets): s1 may be NULL.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2005-01-15 03:48:47.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2005-01-17 13:26:48.000000000 +0000
@@ -1,3 +1,17 @@
+2005-01-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * class.c (get_enclosing_class): Remove.
+ * cp-tree.h: Remove the corresponding prototypes.
+
+ * cvt.c (convert_lvalue): Remove.
+ * cp-tree.h: Remove the corresponding prototype.
+
+ * pt.c (tinst_for_decl): Remove.
+ * cp-tree.h: Remove the corresponding prototypes.
+
+ * tree.c (hash_chainon): Remove.
+ * cp-tree.h: Remove the corresponding prototypes.
+
2005-01-15 Jakub Jelinek <jakub@redhat.com>
PR c++/19263
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.