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, 21 Feb 2005 22:52:05 +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: 24669k
Peak memory use before GGC: 9358k
Peak memory use after GGC: 8673k
Maximum of released memory in single GGC run: 2863k
Garbage: 41664k
Leak: 6395k
Overhead: 5772k
GGC runs: 327
comparing combine.c compilation at -O1 level:
Overall memory needed: 25525k -> 25521k
Peak memory use before GGC: 9235k -> 9225k
Peak memory use after GGC: 8740k
Maximum of released memory in single GGC run: 2026k
Garbage: 60531k -> 60443k
Leak: 6755k -> 6755k
Overhead: 9935k -> 9933k
GGC runs: 500 -> 501
comparing combine.c compilation at -O2 level:
Overall memory needed: 29161k -> 28905k
Peak memory use before GGC: 12670k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 2597k
Garbage: 78472k -> 78378k
Leak: 6593k -> 6593k
Overhead: 13977k -> 13973k
GGC runs: 510
comparing combine.c compilation at -O3 level:
Overall memory needed: 31541k -> 31545k
Peak memory use before GGC: 12773k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 3434k
Garbage: 105792k -> 105659k
Leak: 7120k -> 7104k
Overhead: 18741k -> 18737k
GGC runs: 577
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 114136k
Peak memory use before GGC: 74747k
Peak memory use after GGC: 45493k
Maximum of released memory in single GGC run: 39340k
Garbage: 152668k
Leak: 10984k
Overhead: 19970k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 123612k to 124000k, overall 0.31%
Overall memory needed: 123612k -> 124000k
Peak memory use before GGC: 78747k
Peak memory use after GGC: 70087k
Maximum of released memory in single GGC run: 40781k -> 40780k
Garbage: 370047k -> 369645k
Leak: 11361k
Overhead: 69439k -> 69421k
GGC runs: 398
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 147756k -> 147644k
Peak memory use before GGC: 97758k
Peak memory use after GGC: 83478k
Maximum of released memory in single GGC run: 39384k
Garbage: 483932k -> 483554k
Leak: 11242k
Overhead: 84527k -> 84511k
GGC runs: 342
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 147792k -> 147696k
Peak memory use before GGC: 97759k
Peak memory use after GGC: 83480k
Maximum of released memory in single GGC run: 39384k
Garbage: 484743k -> 484361k
Leak: 11279k
Overhead: 84657k -> 84640k
GGC runs: 348
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111056k
Peak memory use before GGC: 87156k
Peak memory use after GGC: 85895k
Maximum of released memory in single GGC run: 19511k
Garbage: 246036k
Leak: 55506k
Overhead: 43254k
GGC runs: 366
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 103917k -> 103909k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85113k
Maximum of released memory in single GGC run: 18951k
Garbage: 435921k -> 435750k
Leak: 56840k
Overhead: 65020k -> 65009k
GGC runs: 513
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104149k
Peak memory use before GGC: 86014k
Peak memory use after GGC: 85114k
Maximum of released memory in single GGC run: 18951k
Garbage: 479123k -> 478931k
Leak: 57408k
Overhead: 74626k -> 74613k
GGC runs: 573 -> 572
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 105209k -> 105205k
Peak memory use before GGC: 87150k
Peak memory use after GGC: 86193k
Maximum of released memory in single GGC run: 19400k
Garbage: 483908k -> 483658k
Leak: 57579k -> 57571k
Overhead: 75245k -> 75221k
GGC runs: 560 -> 559
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-21 12:41:16.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-21 21:53:24.000000000 +0000
@@ -1,3 +1,36 @@
+2005-02-21 Stan Cox <scox@redhat.com>
+
+ * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
+
+2005-02-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-cfg.c (fold_cond_expr_cond): New.
+ (make_edges): Call fold_cond_expr_cond.
+ (find_taken_edge): Accept nothing but INTEGER_CST.
+ (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
+ and 1.
+ (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
+
+ * flow.c (delete_dead_jumptables): Speed up by scanning insns
+ that do not belong to any basic block.
+
+2005-02-21 Jeff Law <law@redhat.com>
+
+ * cfganal.c (find_unreachable_blocks): Manually CSE load of
+ e->dest.
+
+2005-02-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
+ (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
+ Adjust their definitions.
+ (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
+ (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
+
+ * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
+ genautomata.c, langhooks.c, langhooks.h, system.h,
+ config/arm/lib1funcs.asm: Update copyright.
+
2005-02-21 Ulrich Weigand <uweigand@de.ibm.com>
* dbxout.c (dbxout_function_end): Emit Lscope label always.
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.