This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
Re: A recent patch increased GCC's memory consumption!
- From: jh at suse dot cz
- To: gcctest at suse dot de, rguenther at suse dot de, dodji at redhat dot com
- Cc: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Sat, 4 Apr 2009 13:19:23 +0200 (CEST)
- Subject: Re: A recent patch increased GCC's memory consumption!
- References: <49D5038E.mailGJJ11TJR2@suse.de>
Hi,
this is another interesting memory use increase. I believe it is same as
seen in C++ tester quite noticeably in tramp3d.
It might be my ehcleanup removal patch, but it seems to do nothing on
gerald's testcase on mainline now. Can it be the C++ patch?
Honza
> Hi,
>
> I am a friendly script caring about memory consumption in GCC. Please
> contact jh@suse.cz if something is going wrong.
>
> Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
> and generate-3.4.ii I got:
>
>
> comparing empty function compilation at -O0 level:
> Overall memory needed: 8422k -> 8421k
> Peak memory use before GGC: 1488k
> Peak memory use after GGC: 1436k
> Maximum of released memory in single GGC run: 87k
> Garbage: 219k
> Leak: 1536k
> Overhead: 187k
> GGC runs: 4
> Pre-IPA-Garbage: 209k
> Pre-IPA-Leak: 1539k
> Pre-IPA-Overhead: 186k
> Post-IPA-Garbage: 209k
> Post-IPA-Leak: 1539k
> Post-IPA-Overhead: 186k
>
> comparing empty function compilation at -O0 -g level:
> Overall memory needed: 8446k -> 8445k
> Peak memory use before GGC: 1515k
> Peak memory use after GGC: 1464k
> Maximum of released memory in single GGC run: 87k
> Garbage: 220k
> Leak: 1569k
> Overhead: 191k
> GGC runs: 4
> Pre-IPA-Garbage: 209k
> Pre-IPA-Leak: 1539k
> Pre-IPA-Overhead: 186k
> Post-IPA-Garbage: 209k
> Post-IPA-Leak: 1539k
> Post-IPA-Overhead: 186k
>
> comparing empty function compilation at -O1 level:
> Overall memory needed: 8454k -> 8453k
> Peak memory use before GGC: 1488k
> Peak memory use after GGC: 1436k
> Maximum of released memory in single GGC run: 90k
> Garbage: 222k
> Leak: 1536k
> Overhead: 188k
> GGC runs: 4
> Pre-IPA-Garbage: 209k
> Pre-IPA-Leak: 1539k
> Pre-IPA-Overhead: 186k
> Post-IPA-Garbage: 209k
> Post-IPA-Leak: 1539k
> Post-IPA-Overhead: 186k
>
> comparing empty function compilation at -O2 level:
> Overall memory needed: 8474k -> 8469k
> Peak memory use before GGC: 1488k
> Peak memory use after GGC: 1437k
> Maximum of released memory in single GGC run: 89k
> Garbage: 227k
> Leak: 1537k
> Overhead: 189k
> GGC runs: 5
> Pre-IPA-Garbage: 209k
> Pre-IPA-Leak: 1540k
> Pre-IPA-Overhead: 186k
> Post-IPA-Garbage: 209k
> Post-IPA-Leak: 1540k
> Post-IPA-Overhead: 186k
>
> comparing empty function compilation at -O3 level:
> Overall memory needed: 8474k -> 8473k
> Peak memory use before GGC: 1488k
> Peak memory use after GGC: 1437k
> Maximum of released memory in single GGC run: 89k
> Garbage: 227k
> Leak: 1537k
> Overhead: 189k
> GGC runs: 5
> Pre-IPA-Garbage: 209k
> Pre-IPA-Leak: 1540k
> Pre-IPA-Overhead: 186k
> Post-IPA-Garbage: 209k
> Post-IPA-Leak: 1540k
> Post-IPA-Overhead: 186k
>
> comparing combine.c compilation at -O0 level:
> Overall memory needed: 32426k -> 32425k
> Peak memory use before GGC: 18523k
> Peak memory use after GGC: 18312k
> Maximum of released memory in single GGC run: 1806k
> Garbage: 38624k
> Leak: 7129k
> Overhead: 5699k
> GGC runs: 333
> Pre-IPA-Garbage: 12666k
> Pre-IPA-Leak: 20017k
> Pre-IPA-Overhead: 2751k
> Post-IPA-Garbage: 12666k
> Post-IPA-Leak: 20017k
> Post-IPA-Overhead: 2751k
>
> comparing combine.c compilation at -O0 -g level:
> Overall memory needed: 34454k -> 34453k
> Peak memory use before GGC: 20364k
> Peak memory use after GGC: 20148k
> Maximum of released memory in single GGC run: 1815k
> Garbage: 38842k
> Leak: 10414k
> Overhead: 6510k
> GGC runs: 317
> Pre-IPA-Garbage: 12684k
> Pre-IPA-Leak: 22263k
> Pre-IPA-Overhead: 3232k
> Post-IPA-Garbage: 12684k
> Post-IPA-Leak: 22263k
> Post-IPA-Overhead: 3232k
>
> comparing combine.c compilation at -O1 level:
> Overall memory needed: 31778k -> 31777k
> Peak memory use before GGC: 16632k
> Peak memory use after GGC: 16460k
> Maximum of released memory in single GGC run: 1360k
> Garbage: 46251k -> 46250k
> Leak: 7114k
> Overhead: 6331k -> 6331k
> GGC runs: 395
> Pre-IPA-Garbage: 13185k -> 13184k
> Pre-IPA-Leak: 17990k
> Pre-IPA-Overhead: 2666k -> 2666k
> Post-IPA-Garbage: 13185k -> 13184k
> Post-IPA-Leak: 17990k
> Post-IPA-Overhead: 2666k -> 2666k
>
> comparing combine.c compilation at -O2 level:
> Overall memory needed: 32514k -> 32773k
> Peak memory use before GGC: 16749k
> Peak memory use after GGC: 16583k
> Maximum of released memory in single GGC run: 1322k -> 1321k
> Garbage: 60126k -> 60113k
> Leak: 7144k
> Overhead: 8328k -> 8327k
> GGC runs: 455
> Pre-IPA-Garbage: 13328k -> 13326k
> Pre-IPA-Leak: 18033k
> Pre-IPA-Overhead: 2686k -> 2686k
> Post-IPA-Garbage: 13328k -> 13326k
> Post-IPA-Leak: 18033k
> Post-IPA-Overhead: 2686k -> 2686k
>
> comparing combine.c compilation at -O3 level:
> Overall memory needed: 32846k -> 33005k
> Peak memory use before GGC: 16892k
> Peak memory use after GGC: 16660k
> Maximum of released memory in single GGC run: 1636k
> Garbage: 72680k -> 72672k
> Leak: 8445k
> Overhead: 9836k -> 9837k
> GGC runs: 481
> Pre-IPA-Garbage: 13328k -> 13326k
> Pre-IPA-Leak: 18033k
> Pre-IPA-Overhead: 2686k -> 2686k
> Post-IPA-Garbage: 13328k -> 13326k
> Post-IPA-Leak: 18033k
> Post-IPA-Overhead: 2686k -> 2686k
>
> comparing insn-attrtab.c compilation at -O0 level:
> Overall memory needed: 155250k -> 155249k
> Peak memory use before GGC: 64959k
> Peak memory use after GGC: 53884k
> Maximum of released memory in single GGC run: 26945k
> Garbage: 130452k
> Leak: 9534k
> Overhead: 17044k
> GGC runs: 259
> Pre-IPA-Garbage: 41075k
> Pre-IPA-Leak: 56273k
> Pre-IPA-Overhead: 8428k
> Post-IPA-Garbage: 41075k
> Post-IPA-Leak: 56273k
> Post-IPA-Overhead: 8428k
>
> comparing insn-attrtab.c compilation at -O0 -g level:
> Overall memory needed: 156542k -> 156541k
> Peak memory use before GGC: 66224k
> Peak memory use after GGC: 55146k
> Maximum of released memory in single GGC run: 26945k
> Garbage: 130788k
> Leak: 11165k
> Overhead: 17496k
> GGC runs: 252
> Pre-IPA-Garbage: 41083k
> Pre-IPA-Leak: 57797k
> Pre-IPA-Overhead: 8757k
> Post-IPA-Garbage: 41083k
> Post-IPA-Leak: 57797k
> Post-IPA-Overhead: 8757k
>
> comparing insn-attrtab.c compilation at -O1 level:
> Overall memory needed: 132434k -> 132437k
> Peak memory use before GGC: 50565k
> Peak memory use after GGC: 43998k
> Maximum of released memory in single GGC run: 20902k
> Garbage: 181540k
> Leak: 8913k
> Overhead: 25141k
> GGC runs: 299
> Pre-IPA-Garbage: 46301k
> Pre-IPA-Leak: 44095k
> Pre-IPA-Overhead: 7852k
> Post-IPA-Garbage: 46301k
> Post-IPA-Leak: 44095k
> Post-IPA-Overhead: 7852k
>
> comparing insn-attrtab.c compilation at -O2 level:
> Overall memory needed: 146898k -> 146893k
> Peak memory use before GGC: 50625k
> Peak memory use after GGC: 45040k
> Maximum of released memory in single GGC run: 17007k
> Garbage: 205438k
> Leak: 16575k
> Overhead: 30623k
> GGC runs: 325
> Pre-IPA-Garbage: 46369k
> Pre-IPA-Leak: 44103k
> Pre-IPA-Overhead: 7861k
> Post-IPA-Garbage: 46369k
> Post-IPA-Leak: 44103k
> Post-IPA-Overhead: 7861k
>
> comparing insn-attrtab.c compilation at -O3 level:
> Overall memory needed: 163354k -> 163341k
> Peak memory use before GGC: 62449k
> Peak memory use after GGC: 59479k
> Maximum of released memory in single GGC run: 18460k
> Garbage: 243330k -> 243325k
> Leak: 8937k
> Overhead: 34084k -> 34084k
> GGC runs: 336
> Pre-IPA-Garbage: 46369k
> Pre-IPA-Leak: 44103k
> Pre-IPA-Overhead: 7861k
> Post-IPA-Garbage: 46369k
> Post-IPA-Leak: 44103k
> Post-IPA-Overhead: 7861k
>
> comparing Gerald's testcase PR8361 compilation at -O0 level:
> Overall memory allocated via mmap and sbrk increased from 149007k to
> 153123k, overall 2.76%
> Peak amount of GGC memory allocated before garbage collecting increased
> from 81789k to 84851k, overall 3.74%
> Peak amount of GGC memory still allocated after garbage collecting
> increased from 80979k to 84005k, overall 3.74%
> Amount of produced GGC garbage increased from 199558k to 200311k,
> overall 0.38%
> Amount of memory still referenced at the end of compilation increased
> from 51860k to 55317k, overall 6.67%
> Overall memory needed: 149007k -> 153123k
> Peak memory use before GGC: 81789k -> 84851k
> Peak memory use after GGC: 80979k -> 84005k
> Maximum of released memory in single GGC run: 14288k -> 14300k
> Garbage: 199558k -> 200311k
> Leak: 51860k -> 55317k
> Overhead: 28059k -> 28496k
> GGC runs: 452 -> 441
> Amount of produced pre-ipa-GGC garbage increased from 109476k to
> 110229k, overall 0.69%
> Amount of memory referenced pre-ipa increased from 87516k to 90902k,
> overall 3.87%
> Pre-IPA-Garbage: 109476k -> 110229k
> Pre-IPA-Leak: 87516k -> 90902k
> Pre-IPA-Overhead: 15207k -> 15638k
> Amount of produced post-ipa-GGC garbage increased from 109476k to
> 110229k, overall 0.69%
> Amount of memory referenced post-ipa increased from 87516k to 90902k,
> overall 3.87%
> Post-IPA-Garbage: 109476k -> 110229k
> Post-IPA-Leak: 87516k -> 90902k
> Post-IPA-Overhead: 15207k -> 15638k
>
> comparing Gerald's testcase PR8361 compilation at -O0 -g level:
> Overall memory allocated via mmap and sbrk increased from 166543k to
> 171059k, overall 2.71%
> Peak amount of GGC memory allocated before garbage collecting increased
> from 95466k to 99246k, overall 3.96%
> Peak amount of GGC memory still allocated after garbage collecting
> increased from 94520k to 98263k, overall 3.96%
> Amount of memory still referenced at the end of compilation increased
> from 78317k to 83391k, overall 6.48%
> Overall memory needed: 166543k -> 171059k
> Peak memory use before GGC: 95466k -> 99246k
> Peak memory use after GGC: 94520k -> 98263k
> Maximum of released memory in single GGC run: 14721k -> 14516k
> Garbage: 204513k -> 204717k
> Leak: 78317k -> 83391k
> Overhead: 34615k -> 35306k
> GGC runs: 418 -> 415
> Amount of produced pre-ipa-GGC garbage increased from 109841k to
> 110594k, overall 0.69%
> Amount of memory referenced pre-ipa increased from 103909k to 107802k,
> overall 3.75%
> Pre-IPA-Garbage: 109841k -> 110594k
> Pre-IPA-Leak: 103909k -> 107802k
> Pre-IPA-Overhead: 18692k -> 19226k
> Amount of produced post-ipa-GGC garbage increased from 109841k to
> 110594k, overall 0.69%
> Amount of memory referenced post-ipa increased from 103909k to 107802k,
> overall 3.75%
> Post-IPA-Garbage: 109841k -> 110594k
> Post-IPA-Leak: 103909k -> 107802k
> Post-IPA-Overhead: 18692k -> 19226k
>
> comparing Gerald's testcase PR8361 compilation at -O1 level:
> Overall memory allocated via mmap and sbrk increased from 104791k to
> 107974k, overall 3.04%
> Peak amount of GGC memory allocated before garbage collecting increased
> from 78893k to 82085k, overall 4.05%
> Peak amount of GGC memory still allocated after garbage collecting
> increased from 78111k to 81263k, overall 4.04%
> Amount of produced GGC garbage increased from 261800k to 262723k,
> overall 0.35%
> Amount of memory still referenced at the end of compilation increased
> from 48458k to 52085k, overall 7.48%
> Overall memory needed: 104791k -> 107974k
> Peak memory use before GGC: 78893k -> 82085k
> Peak memory use after GGC: 78111k -> 81263k
> Maximum of released memory in single GGC run: 14230k -> 14130k
> Garbage: 261800k -> 262723k
> Leak: 48458k -> 52085k
> Overhead: 30768k -> 31292k
> GGC runs: 528 -> 522
> Amount of produced pre-ipa-GGC garbage increased from 153270k to
> 154019k, overall 0.49%
> Amount of memory referenced pre-ipa increased from 81980k to 85583k,
> overall 4.39%
> Pre-IPA-Garbage: 153270k -> 154019k
> Pre-IPA-Leak: 81980k -> 85583k
> Pre-IPA-Overhead: 19389k -> 19872k
> Amount of produced post-ipa-GGC garbage increased from 153270k to
> 154019k, overall 0.49%
> Amount of memory referenced post-ipa increased from 81980k to 85583k,
> overall 4.39%
> Post-IPA-Garbage: 153270k -> 154019k
> Post-IPA-Leak: 81980k -> 85583k
> Post-IPA-Overhead: 19389k -> 19872k
>
> comparing Gerald's testcase PR8361 compilation at -O2 level:
> Overall memory allocated via mmap and sbrk increased from 105259k to
> 108350k, overall 2.94%
> Peak amount of GGC memory allocated before garbage collecting increased
> from 79117k to 82250k, overall 3.96%
> Peak amount of GGC memory still allocated after garbage collecting
> increased from 78326k to 81432k, overall 3.97%
> Amount of produced GGC garbage increased from 317929k to 319225k,
> overall 0.41%
> Amount of memory still referenced at the end of compilation increased
> from 48442k to 52137k, overall 7.63%
> Overall memory needed: 105259k -> 108350k
> Peak memory use before GGC: 79117k -> 82250k
> Peak memory use after GGC: 78326k -> 81432k
> Maximum of released memory in single GGC run: 14160k -> 14096k
> Garbage: 317929k -> 319225k
> Leak: 48442k -> 52137k
> Overhead: 37594k -> 38173k
> GGC runs: 607 -> 593
> Amount of produced pre-ipa-GGC garbage increased from 157610k to
> 158356k, overall 0.47%
> Amount of memory referenced pre-ipa increased from 81448k to 85041k,
> overall 4.41%
> Pre-IPA-Garbage: 157610k -> 158356k
> Pre-IPA-Leak: 81448k -> 85041k
> Pre-IPA-Overhead: 19859k -> 20325k
> Amount of produced post-ipa-GGC garbage increased from 157610k to
> 158356k, overall 0.47%
> Amount of memory referenced post-ipa increased from 81448k to 85041k,
> overall 4.41%
> Post-IPA-Garbage: 157610k -> 158356k
> Post-IPA-Leak: 81448k -> 85041k
> Post-IPA-Overhead: 19859k -> 20325k
>
> comparing Gerald's testcase PR8361 compilation at -O3 level:
> Overall memory allocated via mmap and sbrk increased from 105451k to
> 108594k, overall 2.98%
> Peak amount of GGC memory allocated before garbage collecting increased
> from 79117k to 82250k, overall 3.96%
> Peak amount of GGC memory still allocated after garbage collecting
> increased from 78326k to 81432k, overall 3.97%
> Amount of produced GGC garbage increased from 350674k to 351998k,
> overall 0.38%
> Amount of memory still referenced at the end of compilation increased
> from 48447k to 52136k, overall 7.61%
> Overall memory needed: 105451k -> 108594k
> Peak memory use before GGC: 79117k -> 82250k
> Peak memory use after GGC: 78326k -> 81432k
> Maximum of released memory in single GGC run: 14160k -> 14096k
> Garbage: 350674k -> 351998k
> Leak: 48447k -> 52136k
> Overhead: 41126k -> 41684k
> GGC runs: 643 -> 630
> Amount of produced pre-ipa-GGC garbage increased from 157672k to
> 158418k, overall 0.47%
> Amount of memory referenced pre-ipa increased from 81883k to 85478k,
> overall 4.39%
> Pre-IPA-Garbage: 157672k -> 158418k
> Pre-IPA-Leak: 81883k -> 85478k
> Pre-IPA-Overhead: 19893k -> 20360k
> Amount of produced post-ipa-GGC garbage increased from 157672k to
> 158418k, overall 0.47%
> Amount of memory referenced post-ipa increased from 81883k to 85478k,
> overall 4.39%
> Post-IPA-Garbage: 157672k -> 158418k
> Post-IPA-Leak: 81883k -> 85478k
> Post-IPA-Overhead: 19893k -> 20360k
>
> comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
> Overall memory needed: 358115k -> 358117k
> Peak memory use before GGC: 76702k
> Peak memory use after GGC: 49081k
> Maximum of released memory in single GGC run: 36523k
> Garbage: 139139k
> Leak: 8223k
> Overhead: 24351k
> GGC runs: 86
> Pre-IPA-Garbage: 13104k
> Pre-IPA-Leak: 20336k
> Pre-IPA-Overhead: 2318k
> Post-IPA-Garbage: 13104k
> Post-IPA-Leak: 20336k
> Post-IPA-Overhead: 2318k
>
> comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
> Overall memory needed: 358799k -> 358797k
> Peak memory use before GGC: 77385k
> Peak memory use after GGC: 49765k
> Maximum of released memory in single GGC run: 36507k
> Garbage: 139273k
> Leak: 10219k
> Overhead: 24933k
> GGC runs: 93
> Pre-IPA-Garbage: 13106k
> Pre-IPA-Leak: 20582k
> Pre-IPA-Overhead: 2371k
> Post-IPA-Garbage: 13106k
> Post-IPA-Leak: 20582k
> Post-IPA-Overhead: 2371k
>
> comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
> Overall memory needed: 225382k -> 225381k
> Peak memory use before GGC: 72540k
> Peak memory use after GGC: 66333k
> Maximum of released memory in single GGC run: 32083k
> Garbage: 214365k
> Leak: 8163k
> Overhead: 30575k
> GGC runs: 94
> Pre-IPA-Garbage: 45855k
> Pre-IPA-Leak: 63229k
> Pre-IPA-Overhead: 8876k
> Post-IPA-Garbage: 45855k
> Post-IPA-Leak: 63229k
> Post-IPA-Overhead: 8876k
>
> comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
> Overall memory needed: 491470k -> 491789k
> Peak memory use before GGC: 72541k
> Peak memory use after GGC: 66334k
> Maximum of released memory in single GGC run: 33418k
> Garbage: 255770k
> Leak: 8164k
> Overhead: 38646k
> GGC runs: 103
> Pre-IPA-Garbage: 103136k
> Pre-IPA-Leak: 72023k
> Pre-IPA-Overhead: 14557k
> Post-IPA-Garbage: 103136k
> Post-IPA-Leak: 72023k
> Post-IPA-Overhead: 14557k
>
> comparing PR rtl-optimization/28071 testcase compilation at -O3
> -fno-tree-pre -fno-tree-fre level:
> Overall memory needed: 1021754k -> 1021689k
> Peak memory use before GGC: 135724k
> Peak memory use after GGC: 125553k
> Maximum of released memory in single GGC run: 62483k
> Garbage: 348115k
> Leak: 9720k
> Overhead: 45112k
> GGC runs: 99
> Pre-IPA-Garbage: 103136k
> Pre-IPA-Leak: 72023k
> Pre-IPA-Overhead: 14557k
> Post-IPA-Garbage: 103136k
> Post-IPA-Leak: 72023k
> Post-IPA-Overhead: 14557k
>
> Head of the ChangeLog is:
>
> ---
> /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2009-04-01
> 22:48:10.000000000 +0000
> +++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2009-04-02
> 15:12:05.000000000 +0000
> @@ -1,3 +1,55 @@
> +2009-04-02 Jan Hubicka <jh@suse.cz>
> +
> + * passes.c (init_optimization_passes): Remove two copies of ehcleanup
> + pass.
> +
> +2009-04-02 H.J. Lu <hongjiu.lu@intel.com>
> +
> + * config/i386/i386.c (ix86_abi): Move initialization to ...
> + (override_options): Here.
> +
> +2009-04-02 Christian Bruel <christian.bruel@st.com>
> +
> + * config/sh/sh.c (sh_dwarf_register_span): New function.
> + (TARGET_DWARF_REGISTER_SPAN): Define.
> + * config/sh/sh-protos.h (sh_dwarf_register_span): Declare.
> +
> +2009-04-02 Ira Rosen <irar@il.ibm.com>
> +
> + PR tree-optimization/39595
> + * tree-vect-slp.c (vect_build_slp_tree): Check that the size of
> + interleaved loads group is not greater than the SLP group size.
> +
> +2009-04-02 Rafael Avila de Espindola <espindola@google.com>
> +
> + * builtins.c (is_builtin_name): New.
> + (called_as_built_in): Use is_builtin_name.
> + * tree.h (is_builtin_name): New.
> + * varasm.c (incorporeal_function_p): Use is_builtin_name
> +
> +2009-04-02 Andrew Stubbs <ams@codesourcery.com>
> +
> + * config/sh/linux-unwind.h: Disable when inhibit_libc is defined.
> +
> +2009-04-02 Dodji Seketeli <dodji@redhat.com>
> +
> + PR c++/26693
> + * c-decl.c: (clone_underlying_type): Move this ...
> + * c-common.c (set_underlying_type): ... here.
> + Also, make sure the function properly sets TYPE_STUB_DECL() on
> + the newly created typedef variant type.
> + * c-common.h (is_typedef_decl, set_underlying_type): Declare ...
> + * c-common.c (is_typedef_decl, set_underlying_type): ... new entry
> points.
> +
> +2009-04-02 Richard Guenther <rguenther@suse.de>
> +
> + PR tree-optimization/37221
> + * tree-flow.h (degenerate_phi_result): Declare.
> + * tree-ssa-dom.c (degenerate_phi_result): Export.
> + * tree-scalar-evolution.c (analyze_initial_condition): If
> + the initial condition is defined by a degenerate PHI node
> + use the degenerate value.
> +
> 2009-04-01 Eric Botcazou <ebotcazou@adacore.com>
>
> PR rtl-optimization/39588
> ---
> /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp 2009-04-01
> 06:27:27.000000000 +0000
> +++
> /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog 2009-04-02
> 15:12:04.000000000 +0000
> @@ -1,3 +1,36 @@
> +2009-04-02 Dodji Seketeli <dodji@redhat.com>
> +
> + PR c++/26693
> + * decl2.c (grokfield): when a typedef appears in a
> + class, create the typedef variant type node for it.
> + (save_template_attributes): Creating typedef variant type node
> + here is now useless.
> + * decl.c (grokdeclarator): If the typedef'ed struct/class was
> + anonymous, set the proper type name to all its type variants.
> + (xref_basetypes) : Fixup the variant types after setting
> + TYPE_BINFO on REF.
> + * name-lookup.c (pushdecl_maybe_friend): Reuse the
> + set_underlying_type function to install typedef variant types.
> + * cp-tree.h (MEMBER_TYPES_NEEDING_ACCESS_CHECK): New template accessor
> + macro.
> + (append_type_to_template_for_access_check): New entry points.
> + * semantics.c (check_accessibility_of_qualified_id):
> + When a typedef that is a member of a class appears in a template,
> + add it to the template. It will be ...
> + * class.c (finish_struct_bits): Split type variant fixup into ...
> + (fixup_type_variants): A new entry point.
> + * pt.c (instantiate_class_template, instantiate_template ): ... access
> + checked at template instantiation time.
> + (resolve_type_name_type): The type name should be the name of the
> + main type variant.
> + (retrieve_specialization): Specializations of template typedefs aren't
> + to looked up in DECL_TEMPLATE_INSTANTIATIONS (tmpl).
> + (append_type_to_template_for_access_check): New entry point.
> + (tsubst_decl): For typedefs, build the variant type from the correct
> + original type.
> + (get_class_bindings): Fix function comment.
> + (perform_typedefs_access_check): New entry point.
> +
> 2009-03-31 Jason Merrill <jason@redhat.com>
>
> PR c++/34691
>
>
> The results can be reproduced by building a 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.
>
> Your testing script.
>