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: Fri, 11 Feb 2005 23:13:24 +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: 24653k
Peak memory use before GGC: 9354k
Peak memory use after GGC: 8668k
Maximum of released memory in single GGC run: 2864k
Garbage: 41669k
Leak: 6391k
Overhead: 5772k
GGC runs: 328
comparing combine.c compilation at -O1 level:
Overall memory needed: 25541k
Peak memory use before GGC: 9231k
Peak memory use after GGC: 8736k
Maximum of released memory in single GGC run: 2029k
Garbage: 60295k
Leak: 6751k
Overhead: 9904k
GGC runs: 501
comparing combine.c compilation at -O2 level:
Overall memory needed: 29561k -> 28805k
Peak memory use before GGC: 12666k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 2597k
Garbage: 78450k
Leak: 6588k
Overhead: 14032k
GGC runs: 513
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 20236k to 31585k, overall 56.08%
Overall memory needed: 20236k -> 31585k
Peak memory use before GGC: 12769k
Peak memory use after GGC: 12540k
Maximum of released memory in single GGC run: 3407k
Garbage: 105847k
Leak: 7096k
Overhead: 18831k
GGC runs: 581
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 114132k
Peak memory use before GGC: 74743k
Peak memory use after GGC: 45489k
Maximum of released memory in single GGC run: 39341k
Garbage: 152665k
Leak: 10979k
Overhead: 19970k
GGC runs: 274
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 124248k
Peak memory use before GGC: 78751k
Peak memory use after GGC: 70098k
Maximum of released memory in single GGC run: 40780k
Garbage: 366123k
Leak: 11356k
Overhead: 69302k
GGC runs: 396
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 147420k
Peak memory use before GGC: 98352k
Peak memory use after GGC: 83469k
Maximum of released memory in single GGC run: 39384k
Garbage: 480550k
Leak: 11237k
Overhead: 84546k
GGC runs: 340
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 147412k
Peak memory use before GGC: 98354k
Peak memory use after GGC: 83470k
Maximum of released memory in single GGC run: 39384k
Garbage: 481356k
Leak: 11275k
Overhead: 84675k
GGC runs: 346
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 111048k
Peak memory use before GGC: 87151k
Peak memory use after GGC: 85890k
Maximum of released memory in single GGC run: 19511k
Garbage: 246099k -> 246094k
Leak: 55517k
Overhead: 43324k -> 43324k
GGC runs: 366
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 103889k -> 103897k
Peak memory use before GGC: 86009k
Peak memory use after GGC: 85108k
Maximum of released memory in single GGC run: 18951k
Garbage: 433610k -> 433609k
Leak: 56851k
Overhead: 64544k
GGC runs: 511
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 104897k -> 104113k
Peak memory use before GGC: 86009k
Peak memory use after GGC: 85109k
Maximum of released memory in single GGC run: 18950k
Garbage: 476185k -> 476184k
Leak: 57419k
Overhead: 74274k
GGC runs: 573
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 105985k -> 105205k
Peak memory use before GGC: 87145k
Peak memory use after GGC: 86188k
Maximum of released memory in single GGC run: 19399k
Garbage: 480821k -> 480820k
Leak: 57558k
Overhead: 74874k
GGC runs: 557
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2005-02-11 17:44:20.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2005-02-11 22:14:03.000000000 +0000
@@ -1,3 +1,34 @@
+2005-02-11 Steven Bosscher <stevenb@suse.de>
+
+ PR tree-optimization/19876
+ Partially revert my change from 2005-01-14
+ * tree-ssa-pre.c (compute_antic_aux): Make recursive once again...
+ (compute_antic): ...and remove the loop here.
+
+2005-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/19858
+ * fold-const.c (make_bit_field_ref): If bitpos == 0 and bitsize
+ is number of inner's bits, avoid creating a BIT_FIELD_REF.
+
+ * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
+ crtend.o if -pie. Use %{x:a;:b} spec syntax.
+
+2005-02-11 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/mips/linux-unwind.h (mips_fallback_frame_state): Adjust
+ offsets for the big-endian 32-bit case.
+
+2005-02-11 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/ia64/hpux.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Define.
+
+2005-02-11 Dale Johannesen <dalej@apple.com>
+
+ * cselib.c (cselib_process_insn): Clear out regs where
+ HARD_REGNO_CALL_PART_CLOBBERED is true at a call.
+ * reload.c (find_equiv_reg): Ditto.
+
2005-02-11 Ian Lance Taylor <ian@airs.com>
* read-rtl.c (read_rtx_1): Give fatal error if we see a vector
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2005-02-11 17:44:20.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2005-02-11 22:14:10.000000000 +0000
@@ -1,3 +1,9 @@
+2005-02-11 Richard Henderson <rth@redhat.com>
+
+ PR c++/19632
+ * pt.c (get_mostly_instantiated_function_type): Save and restore
+ flag_access_control instead of push/pop_access_scope.
+
2005-02-10 Mark Mitchell <mark@codesourcery.com>
PR c++/19755
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.