GCC memory consumption increased by recent patch!
gcctest@suse.de
gcctest@suse.de
Tue Mar 8 14:16:00 GMT 2005
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: 24661k
Peak memory use before GGC: 9359k
Peak memory use after GGC: 8673k
Maximum of released memory in single GGC run: 2865k
Garbage: 41675k
Leak: 6395k
Overhead: 5772k
GGC runs: 327
comparing combine.c compilation at -O1 level:
Overall memory needed: 24517k -> 24521k
Peak memory use before GGC: 8674k
Peak memory use after GGC: 8094k
Maximum of released memory in single GGC run: 2025k
Garbage: 58425k
Leak: 6756k
Overhead: 9858k
GGC runs: 501
comparing combine.c compilation at -O2 level:
Overall memory needed: 29137k -> 29141k
Peak memory use before GGC: 12671k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 2532k
Garbage: 78317k
Leak: 6594k
Overhead: 14181k
GGC runs: 520
comparing combine.c compilation at -O3 level:
Overall memory needed: 30789k -> 30809k
Peak memory use before GGC: 12707k
Peak memory use after GGC: 12544k
Maximum of released memory in single GGC run: 3384k
Garbage: 105965k
Leak: 7189k
Overhead: 19040k
GGC runs: 582
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 114212k
Peak memory use before GGC: 74821k
Peak memory use after GGC: 45494k
Maximum of released memory in single GGC run: 39413k
Garbage: 152830k
Leak: 10984k
Overhead: 19970k
GGC runs: 273
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 124728k -> 124404k
Peak memory use before GGC: 78641k
Peak memory use after GGC: 70036k
Maximum of released memory in single GGC run: 40773k
Garbage: 369239k
Leak: 11360k
Overhead: 71916k
GGC runs: 400
comparing insn-attrtab.c compilation at -O2 level:
Overall memory allocated via mmap and sbrk increased from 137764k to 147436k, overall 7.02%
Overall memory needed: 137764k -> 147436k
Peak memory use before GGC: 97674k
Peak memory use after GGC: 83493k
Maximum of released memory in single GGC run: 39163k
Garbage: 487109k
Leak: 11244k
Overhead: 87133k
GGC runs: 343
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 148928k
Peak memory use before GGC: 97680k
Peak memory use after GGC: 83499k
Maximum of released memory in single GGC run: 39162k
Garbage: 487899k
Leak: 11287k
Overhead: 87262k
GGC runs: 349
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111952k
Peak memory use before GGC: 87325k
Peak memory use after GGC: 85900k
Maximum of released memory in single GGC run: 19511k
Garbage: 246370k
Leak: 55513k
Overhead: 43275k
GGC runs: 366
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 104025k
Peak memory use before GGC: 86183k
Peak memory use after GGC: 85119k
Maximum of released memory in single GGC run: 18950k
Garbage: 435089k
Leak: 56863k
Overhead: 65187k
GGC runs: 513
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104249k
Peak memory use before GGC: 86184k
Peak memory use after GGC: 85119k
Maximum of released memory in single GGC run: 18951k
Garbage: 476540k
Leak: 57427k
Overhead: 74952k
GGC runs: 569
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 105349k
Peak memory use before GGC: 87323k
Peak memory use after GGC: 86199k
Maximum of released memory in single GGC run: 19400k
Garbage: 481661k
Leak: 57631k
Overhead: 75643k
GGC runs: 557
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-03-08 06:06:39.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-03-08 13:08:05.000000000 +0000
@@ -1,3 +1,41 @@
+2005-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-phiopt.c: Fix a comment typo.
+
+ * c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
+ loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
+ config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
+ copyright.
+
+2005-03-08 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (code_for_builtin): Replace special-case
+ builtin codes with ctzdi2, clzdi2, popcountdi2.
+ (struct alpha_builtin_def): Add is_const.
+ (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
+ (alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
+ (alpha_init_builtins): Init them. Set nothrow and const attributes
+ on builtins.
+ (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
+ alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
+ alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
+ alpha_fold_vector_minmax, alpha_fold_builtin_perr,
+ alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
+ alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
+ alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
+ alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
+ (TARGET_FOLD_BUILTIN): New.
+ * config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
+ (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
+ (ffsdi2): Use ctz.
+ (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
+
+2005-03-08 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/20122
+ * tree-vect-analyze.c (vect_object_analysis): Analyze initial
+ condition of access function instead of base.
+
2005-03-07 Jeff Law <law@redhat.com>
Steven Bosscher <stevenb@suse.de>
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.
More information about the Gcc-regression
mailing list