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: 24113k
    Peak memory use before GGC: 9295k
    Peak memory use after GGC: 8606k
    Maximum of released memory in single GGC run: 2870k
    Garbage: 42610k
    Leak: 6105k
    Overhead: 5587k
    GGC runs: 364

comparing combine.c compilation at -O1 level:
    Overall memory needed: 25561k
    Peak memory use before GGC: 9375k
    Peak memory use after GGC: 8797k
    Maximum of released memory in single GGC run: 2030k -> 2031k
    Garbage: 68672k -> 68663k
    Leak: 6671k -> 6672k
    Overhead: 11044k -> 11043k
    GGC runs: 578 -> 576

comparing combine.c compilation at -O2 level:
    Overall memory needed: 28869k -> 28881k
    Peak memory use before GGC: 12771k
    Peak memory use after GGC: 12612k
    Maximum of released memory in single GGC run: 2521k -> 2525k
    Garbage: 83753k -> 83780k
    Leak: 6425k -> 6426k
    Overhead: 15589k -> 15590k
    GGC runs: 572

comparing combine.c compilation at -O3 level:
    Overall memory needed: 20564k -> 20548k
    Peak memory use before GGC: 13015k
    Peak memory use after GGC: 12692k -> 12691k
    Maximum of released memory in single GGC run: 3360k -> 3362k
    Garbage: 111476k -> 111479k
    Leak: 6943k -> 6941k
    Overhead: 20622k -> 20617k
    GGC runs: 640 -> 638

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 116476k
    Peak memory use before GGC: 77100k
    Peak memory use after GGC: 45185k
    Maximum of released memory in single GGC run: 42129k
    Garbage: 159513k
    Leak: 10643k
    Overhead: 19805k
    GGC runs: 310

comparing insn-attrtab.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 132920k to 133128k, overall 0.16%
    Overall memory needed: 132920k -> 133128k
    Peak memory use before GGC: 93160k -> 93161k
    Peak memory use after GGC: 71527k -> 71528k
    Maximum of released memory in single GGC run: 41234k
    Garbage: 452497k -> 452513k
    Leak: 11076k
    Overhead: 73595k -> 73596k
    GGC runs: 462 -> 461

comparing insn-attrtab.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 207344k to 207680k, overall 0.16%
    Overall memory needed: 207344k -> 207680k
    Peak memory use before GGC: 108724k -> 108720k
    Peak memory use after GGC: 87091k -> 87087k
    Maximum of released memory in single GGC run: 35979k -> 34490k
    Garbage: 505009k -> 502023k
    Leak: 11217k -> 11209k
    Overhead: 83704k -> 82989k
    GGC runs: 385 -> 383

comparing insn-attrtab.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 207344k to 207680k, overall 0.16%
    Overall memory needed: 207344k -> 207680k
    Peak memory use before GGC: 108729k
    Peak memory use after GGC: 87096k
    Maximum of released memory in single GGC run: 35979k -> 34491k
    Garbage: 506097k -> 503097k
    Leak: 11263k -> 11263k
    Overhead: 84096k -> 83380k
    GGC runs: 394 -> 392

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 115352k
    Peak memory use before GGC: 92230k
    Peak memory use after GGC: 90024k
    Maximum of released memory in single GGC run: 20138k
    Garbage: 269032k
    Leak: 60278k
    Overhead: 47201k
    GGC runs: 383

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 109420k -> 109432k
    Peak memory use before GGC: 95749k
    Peak memory use after GGC: 88881k
    Maximum of released memory in single GGC run: 19568k
    Garbage: 588973k -> 588928k
    Leak: 62423k -> 62427k
    Overhead: 130834k -> 130835k
    GGC runs: 607

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 110388k
    Peak memory use before GGC: 95750k
    Peak memory use after GGC: 88882k
    Maximum of released memory in single GGC run: 19569k
    Garbage: 642082k -> 641827k
    Leak: 62984k -> 62981k
    Overhead: 154142k -> 154097k
    GGC runs: 635

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 108032k -> 108088k
    Peak memory use before GGC: 91495k -> 91498k
    Peak memory use after GGC: 90193k -> 90197k
    Maximum of released memory in single GGC run: 20251k
    Garbage: 672995k -> 672736k
    Leak: 63388k -> 63378k
    Overhead: 163212k -> 163164k
    GGC runs: 628

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-09-22 20:19:28.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-09-23 08:31:11.000000000 +0000
@@ -1,3 +1,76 @@
+2004-09-22  Eric Christopher  <echristo@redhat.com>
+
+	* builtins.c (simplify_builtin_va_start): Remove.
+	(simplify_builtin): Ditto.
+	(fold_builtin_strchr): Ditto.
+	(simplify_builtin_*): Rename remainders to fold_builtin_*.
+	(expand_builtin): Fix up for above changes.
+	(fold_builtin_1): Add new folders. Change for above.
+	(expand_builtin_va_start): Call fold_builtin_next_arg.
+	* gimplify.c (gimplify_call_expr): Fix calls to simplify_builtin.
+	* tree.h: Remove prototype for simplify_builtin.
+
+2004-09-23  Jan Hubicka  <jh@suse.cz>
+
+	PR debug/17389
+	* dwarf2out.c (dwarf2out_finish): Deal with nested functions
+	of fully inlined functions.
+	* tree-inline.c (inline_forbidden_p_1): Nested functions can be
+	inlined.
+
+	* cfgexpand.c (add_reg_br_prob_note): New function.
+	(expand_gimple_cond_expr): Use it.
+	(tree_expand_cfg): No longer kill the profile.
+	* cfgrt.c (rtl_verify_flow_info_1): Check profile consistency
+	only if it is present.
+	* passes.c (rest_of_handle_loop_optimize): Kill the profile.
+	* predict.c (combine_predictions_for_insn): Set the probabilities
+	based on REG_BR_PROB note if present.
+	* predict.c (branch_prob): Profile is read only with
+	flag_branch_probabilities.
+
+2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+
+	* aclocal.m4: Add in gettext's m4 includes.
+	(AC_ICONV, AC_LCMESSAGES, GCC_PATH_PROG): Remove.
+	* configure.ac: Add in check for iconv.h
+	* configure: Regenerate.
+
+2004-09-22  Kelley Cook  <kcook@gcc.gnu.org>
+
+	* aclocal.m4: Update for rename of gettext-sister.m4.
+
+2004-09-22  Daniel Berlin <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/17587
+	* tree-ssa-pre.c (fini_pre): Commit edge inserts here.
+	(insert_aux): Instead of here.
+
+2004-09-22  Diego Novillo  <dnovillo@redhat.com>
+
+	PR tree-optimization/16721
+	* tree-dfa.c (dump_variable): Show TREE_THIS_VOLATILE.
+	* tree-ssa-alias.c (create_memory_tag): Move setting of
+	TREE_THIS_VOLATILE ...
+	(get_tmt_for): ... here.
+
+2004-09-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* config/sparc/sparc.md (cmove splitter): Fix formatting.
+	(conditional_trap expander): Reject inappropriate CCmodes.
+	(conditional trap insn): Use V9 syntax if possible.
+
+2004-09-22  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+	PR c/16566
+	* c-typeck.c (build_component_ref): Don't special-case
+	COMPOUND_EXPR.
+
+2004-09-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* dominance.c (verify_dominators): Don't SEGV if recount_dominator
+	returns NULL.
+
 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
 
 	* doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR,
@@ -8,7 +81,7 @@
 
 	* config/darwin.c (darwin_make_decl_one_only)
 	Allow coalesced symbol to appear in static archive's table of contents
-	
+
 2004-09-22  Kazu Hirata  <kazu@cs.umass.edu>
 
 	PR tree-optimization/17512
@@ -104,7 +177,7 @@
 	the initial lattice value.
 	(substitute_and_fold): Transfer equivalences discovered into
 	SSA_NAME_EQUIV.
- 
+
 	* tree.h (SSA_NAME_EQUIV): Add comments.
 	(SET_SSA_NAME_EQUIV): Similarly.
 
@@ -123,12 +196,12 @@
 
 	* tree.def (VEC_COND_EXPR): New tree node.
 	* tree-ssa-operands.c (get_expr_operands): Handle VEC_COND_EXPR.
-	
+
 2004-09-21  Stan Shebs  <shebs@apple.com>
 
 	* config/rs6000/darwin-tramp.asm: Add __ppc64__ case.
 	* config/rs6000/darwin-world.asm: Likewise.
-	
+
 2004-09-21  Daniel Berlin  <dberlin@dberlin.org>
 
 	* tree-ssa.c (verify_def): Use print_generic_stmt,

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]