This is the mail archive of the gcc-regression@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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: 25257k -> 25253k
    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: 26101k -> 26097k
    Peak memory use before GGC: 9199k
    Peak memory use after GGC: 8723k
    Maximum of released memory in single GGC run: 2062k
    Garbage: 67980k -> 67980k
    Leak: 6484k
    Overhead: 10665k -> 10665k
    GGC runs: 545

comparing combine.c compilation at -O2 level:
    Overall memory needed: 29909k -> 29905k
    Peak memory use before GGC: 12705k
    Peak memory use after GGC: 12578k
    Maximum of released memory in single GGC run: 2574k
    Garbage: 82166k -> 82167k
    Leak: 6301k
    Overhead: 14822k -> 14822k
    GGC runs: 547

comparing combine.c compilation at -O3 level:
  Amount of memory still referenced at the end of compilation increased from 6832k to 6848k, overall 0.23%
    Overall memory needed: 20728k -> 20744k
    Peak memory use before GGC: 12987k
    Peak memory use after GGC: 12578k
    Maximum of released memory in single GGC run: 3410k -> 3409k
    Garbage: 111062k -> 111090k
    Leak: 6832k -> 6848k
    Overhead: 19897k -> 19898k
    GGC runs: 615 -> 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: 161982k
    Leak: 10609k
    Overhead: 21242k
    GGC runs: 296

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 129924k -> 130048k
    Peak memory use before GGC: 85238k
    Peak memory use after GGC: 70037k
    Maximum of released memory in single GGC run: 41130k -> 41104k
    Garbage: 449224k -> 449183k
    Leak: 10955k
    Overhead: 79590k -> 79605k
    GGC runs: 430

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 154180k
    Peak memory use before GGC: 101250k
    Peak memory use after GGC: 85450k
    Maximum of released memory in single GGC run: 42173k -> 42091k
    Garbage: 496242k -> 496074k
    Leak: 10875k
    Overhead: 87865k -> 87880k
    GGC runs: 364

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 154192k
    Peak memory use before GGC: 101252k
    Peak memory use after GGC: 85452k
    Maximum of released memory in single GGC run: 42173k -> 42091k
    Garbage: 497520k -> 497353k
    Leak: 10920k
    Overhead: 88046k -> 88061k
    GGC runs: 372

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 113400k
    Peak memory use before GGC: 89922k -> 89918k
    Peak memory use after GGC: 89028k -> 89024k
    Maximum of released memory in single GGC run: 19900k -> 19896k
    Garbage: 248777k -> 248717k
    Leak: 57790k
    Overhead: 45380k -> 45380k
    GGC runs: 362

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 95920k
    Peak memory use before GGC: 88919k -> 88914k
    Peak memory use after GGC: 87945k -> 87941k
    Maximum of released memory in single GGC run: 19406k -> 19401k
    Garbage: 552832k -> 552907k
    Leak: 59824k -> 59825k
    Overhead: 115305k -> 115305k
    GGC runs: 611 -> 613

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 95920k
    Peak memory use before GGC: 88919k -> 88915k
    Peak memory use after GGC: 87945k -> 87942k
    Maximum of released memory in single GGC run: 19405k -> 19402k
    Garbage: 601724k -> 601898k
    Leak: 60406k -> 60407k
    Overhead: 137343k -> 137374k
    GGC runs: 654 -> 653

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 98548k -> 98272k
    Peak memory use before GGC: 90316k -> 90311k
    Peak memory use after GGC: 88778k -> 88774k
    Maximum of released memory in single GGC run: 20095k -> 20091k
    Garbage: 641839k -> 641771k
    Leak: 60738k -> 60746k
    Overhead: 148779k -> 148779k
    GGC runs: 647 -> 646

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-12-12 05:37:28.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-12-12 22:57:18.000000000 +0000
@@ -1,3 +1,50 @@
+2004-12-12  Di-an Jan  <dianj@freeshell.org>  
+
+	* doc/passes.texi (Pass Manager): Correct list of source files.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+	* expr.c (emit_move_change_mode): New.
+	(emit_move_via_alt_mode): Use it.
+
+2004-12-12  Nathanael Nerode  <neroden@gcc.gnu.org>
+	    John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/17564
+	* dojump.c (do_compare_and_jump): Only canonicalize function pointers
+	in a comparison if both sides are function pointers.
+
+2004-12-12  Richard Henderson  <rth@redhat.com>
+
+	PR target/18932
+	* config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
+	and compare_operator to propagate the input CC mode to the output.
+	* config/i386/predicates.md (compare_operator): New.
+
+2004-12-12  Andrew Pinski  <pinskia@physics.uc.edu>
+
+	PR tree-opt/18040
+	* expr.c (get_inner_reference): Remove NON_LVALUE_EXPR, NOP_EXPR,
+	CONVERT_EXPR cases.
+	(handled_component_p): Likewise.
+
+2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* reg-stack.c (convert_regs_2): Free stack.
+
+	* tree-ssa-dom.c (thread_across_edge, dom_opt_finalize_block): Fix
+	comment typos.
+
+2004-12-12  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-loop-ch.c (copy_loop_headers): Loop can be null.
+	* tree-ssa-loop-im.c (determine_lsm): tree_root may not have a real
+	inner loop.
+
+2004-12-12  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-gimple.c (get_base_address): Update documentation.
+
 2004-12-12  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* lcm.c (optimize_mode_switching): Free ptr even when mode_set
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2004-12-10 16:39:02.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2004-12-12 22:57:19.000000000 +0000
@@ -1,3 +1,9 @@
+2004-12-12  Roger Sayle  <roger@eyesopen.com>
+
+	PR middle-end/12454
+	* cp-gimplify.c (gimplify_if_stmt): Optimize the case where the
+	condition is a constant and the unexecuted clause is empty.
+
 2004-12-10  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
 
 	PR c++/18731

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]