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, 16 Dec 2004 00:17:33 +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: 24581k
Peak memory use before GGC: 9310k
Peak memory use after GGC: 8624k
Maximum of released memory in single GGC run: 2912k
Garbage: 42433k
Leak: 6088k
Overhead: 5717k
GGC runs: 353
comparing combine.c compilation at -O1 level:
Overall memory needed: 25637k -> 25489k
Peak memory use before GGC: 9198k
Peak memory use after GGC: 8720k
Maximum of released memory in single GGC run: 2060k
Garbage: 68024k -> 68023k
Leak: 6484k
Overhead: 10667k -> 10667k
GGC runs: 545
comparing combine.c compilation at -O2 level:
Overall memory needed: 29305k -> 29073k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 2574k
Garbage: 82249k
Leak: 6301k
Overhead: 14829k
GGC runs: 547
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 20724k to 31501k, overall 52.00%
Overall memory needed: 20724k -> 31501k
Peak memory use before GGC: 12987k
Peak memory use after GGC: 12578k
Maximum of released memory in single GGC run: 3408k
Garbage: 111192k
Leak: 6848k
Overhead: 19907k
GGC runs: 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: 161980k
Leak: 10609k
Overhead: 21242k
GGC runs: 296
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 129432k
Peak memory use before GGC: 83952k
Peak memory use after GGC: 70040k
Maximum of released memory in single GGC run: 41104k
Garbage: 445754k
Leak: 10955k
Overhead: 79294k
GGC runs: 430
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 153912k
Peak memory use before GGC: 99964k
Peak memory use after GGC: 85453k
Maximum of released memory in single GGC run: 42091k
Garbage: 492646k
Leak: 10875k
Overhead: 87569k
GGC runs: 364
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 153920k
Peak memory use before GGC: 99966k
Peak memory use after GGC: 85455k
Maximum of released memory in single GGC run: 42091k
Garbage: 493925k
Leak: 10920k
Overhead: 87750k
GGC runs: 372
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 113400k
Peak memory use before GGC: 89919k
Peak memory use after GGC: 89025k
Maximum of released memory in single GGC run: 19896k
Garbage: 248727k
Leak: 57791k
Overhead: 45380k
GGC runs: 362
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95920k
Peak memory use before GGC: 88916k
Peak memory use after GGC: 87943k
Maximum of released memory in single GGC run: 19402k
Garbage: 552642k
Leak: 59827k
Overhead: 115285k
GGC runs: 612
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95920k
Peak memory use before GGC: 88916k
Peak memory use after GGC: 87943k
Maximum of released memory in single GGC run: 19401k
Garbage: 601971k
Leak: 60409k
Overhead: 137370k
GGC runs: 651
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 98436k
Peak memory use before GGC: 90313k
Peak memory use after GGC: 88776k
Maximum of released memory in single GGC run: 20091k
Garbage: 641871k
Leak: 60739k
Overhead: 148762k
GGC runs: 646
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-12-15 17:45:26.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-12-15 23:11:31.000000000 +0000
@@ -1,3 +1,40 @@
+2004-12-15 Daniel Berlin <dberlin@dberlin.org>
+
+ * cfgloop.c (flow_loops_dump): Don't print out levels.
+ (flow_loops_find): Don't set loop->levels.
+ (flow_loops_level_compute): Make void.
+ * cfgloop.h (struct loops): Remove levels member.
+ Add comment about loops in parray possibly being NULL.
+
+2004-12-15 Alexandre Oliva <aoliva@redhat.com>
+
+ * reload.c (SMALL_REGISTER_CLASS_P): New.
+ (push_secondary_reload, find_reusable_reload, find_reloads): Use
+ it instead of testing only the class size.
+
+2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c++/17972
+ * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
+ on the STMT_EXPR wrapping up the inlined body.
+
+2004-12-15 Vladimir Makarov <vmakarov@redhat.com>
+ Steven Bosscher <stevenb@suse.de>
+ PR middle end/17340
+
+ * global.c: Update comments in a few places.
+ (check_earlyclobber): Return true if there are early clobber
+ classes.
+ (calculate_local_reg_bb_info): Do not try to mark earlyclobber
+ regs if there are none.
+ (bb_info, allocate_bb_info, free_bb_info, modify_reg_pav,
+ make_accurate_live_analysis): Rename pavin, pavout to live_pavin,
+ live_pavout.
+ (modify_bb_reg_pav): Remove.
+ (calculate_reg_pav): Use code from modify_bb_reg_pav.
+ (temp_bitmap): New variable.
+ (calculate_reg_pav): Allocate/deallocate temp_bitmap.
+
2004-12-15 Richard Henderson <rth@redhat.com>
PR target/19010
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.