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]

A recent patch increased GCC's memory consumption in some cases!


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: 8801k
    Peak memory use before GGC: 1488k
    Peak memory use after GGC: 1437k
    Maximum of released memory in single GGC run: 85k
    Garbage: 218k
    Leak: 1537k -> 1537k
    Overhead: 187k -> 187k
    GGC runs: 4
    Pre-IPA-Garbage: 210k
    Pre-IPA-Leak: 1539k -> 1539k
    Pre-IPA-Overhead: 186k -> 186k
    Post-IPA-Garbage: 210k
    Post-IPA-Leak: 1539k -> 1539k
    Post-IPA-Overhead: 186k -> 186k

comparing empty function compilation at -O0 -g level:
    Overall memory needed: 8825k
    Peak memory use before GGC: 1516k
    Peak memory use after GGC: 1464k
    Maximum of released memory in single GGC run: 87k
    Garbage: 219k
    Leak: 1570k -> 1570k
    Overhead: 192k -> 192k
    GGC runs: 4
    Pre-IPA-Garbage: 210k
    Pre-IPA-Leak: 1539k -> 1539k
    Pre-IPA-Overhead: 186k -> 186k
    Post-IPA-Garbage: 210k
    Post-IPA-Leak: 1539k -> 1539k
    Post-IPA-Overhead: 186k -> 186k

comparing empty function compilation at -O1 level:
    Overall memory needed: 8929k -> 8801k
    Peak memory use before GGC: 1488k
    Peak memory use after GGC: 1437k
    Maximum of released memory in single GGC run: 90k
    Garbage: 223k
    Leak: 1537k -> 1537k
    Overhead: 188k -> 188k
    GGC runs: 4
    Pre-IPA-Garbage: 212k
    Pre-IPA-Leak: 1540k -> 1540k
    Pre-IPA-Overhead: 186k -> 186k
    Post-IPA-Garbage: 212k
    Post-IPA-Leak: 1540k -> 1540k
    Post-IPA-Overhead: 186k -> 186k

comparing empty function compilation at -O2 level:
    Overall memory needed: 8925k -> 8929k
    Peak memory use before GGC: 1488k
    Peak memory use after GGC: 1437k
    Maximum of released memory in single GGC run: 90k
    Garbage: 228k
    Leak: 1537k -> 1537k
    Overhead: 189k -> 189k
    GGC runs: 5
    Pre-IPA-Garbage: 212k
    Pre-IPA-Leak: 1540k -> 1540k
    Pre-IPA-Overhead: 186k -> 186k
    Post-IPA-Garbage: 212k
    Post-IPA-Leak: 1540k -> 1540k
    Post-IPA-Overhead: 186k -> 186k

comparing empty function compilation at -O3 level:
    Overall memory needed: 8933k -> 8929k
    Peak memory use before GGC: 1488k
    Peak memory use after GGC: 1437k
    Maximum of released memory in single GGC run: 90k
    Garbage: 228k
    Leak: 1537k -> 1537k
    Overhead: 189k -> 189k
    GGC runs: 5
    Pre-IPA-Garbage: 212k
    Pre-IPA-Leak: 1540k -> 1540k
    Pre-IPA-Overhead: 186k -> 186k
    Post-IPA-Garbage: 212k
    Post-IPA-Leak: 1540k -> 1540k
    Post-IPA-Overhead: 186k -> 186k

comparing combine.c compilation at -O0 level:
    Overall memory needed: 31445k
    Peak memory use before GGC: 17469k
    Peak memory use after GGC: 17020k
    Maximum of released memory in single GGC run: 1910k
    Garbage: 37903k
    Leak: 7157k -> 7155k
    Overhead: 5493k -> 5491k
    GGC runs: 330
    Pre-IPA-Garbage: 12540k
    Pre-IPA-Leak: 18404k -> 18401k
    Pre-IPA-Overhead: 2506k -> 2504k
    Post-IPA-Garbage: 12540k
    Post-IPA-Leak: 18404k -> 18401k
    Post-IPA-Overhead: 2506k -> 2504k

comparing combine.c compilation at -O0 -g level:
    Overall memory needed: 33401k -> 33369k
    Peak memory use before GGC: 19377k
    Peak memory use after GGC: 18859k
    Maximum of released memory in single GGC run: 1920k
    Garbage: 38119k
    Leak: 10443k -> 10441k
    Overhead: 6305k -> 6303k
    GGC runs: 315
    Pre-IPA-Garbage: 12559k
    Pre-IPA-Leak: 20652k -> 20650k
    Pre-IPA-Overhead: 2988k -> 2986k
    Post-IPA-Garbage: 12559k
    Post-IPA-Leak: 20652k -> 20650k
    Post-IPA-Overhead: 2988k -> 2986k

comparing combine.c compilation at -O1 level:
    Overall memory needed: 31913k -> 32057k
    Peak memory use before GGC: 16555k
    Peak memory use after GGC: 16383k
    Maximum of released memory in single GGC run: 1378k
    Garbage: 45806k
    Leak: 7158k -> 7156k
    Overhead: 6443k -> 6440k
    GGC runs: 388
    Pre-IPA-Garbage: 13405k
    Pre-IPA-Leak: 17704k -> 17702k
    Pre-IPA-Overhead: 2554k -> 2552k
    Post-IPA-Garbage: 13405k
    Post-IPA-Leak: 17704k -> 17702k
    Post-IPA-Overhead: 2554k -> 2552k

comparing combine.c compilation at -O2 level:
    Overall memory needed: 32973k
    Peak memory use before GGC: 16628k
    Peak memory use after GGC: 16454k
    Maximum of released memory in single GGC run: 1488k
    Garbage: 56648k -> 56647k
    Leak: 7191k -> 7188k
    Overhead: 8059k -> 8057k
    GGC runs: 441
    Pre-IPA-Garbage: 13435k
    Pre-IPA-Leak: 17726k -> 17724k
    Pre-IPA-Overhead: 2557k -> 2555k
    Post-IPA-Garbage: 13435k
    Post-IPA-Leak: 17726k -> 17724k
    Post-IPA-Overhead: 2557k -> 2555k

comparing combine.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 35053k to 36929k, overall 5.35%
  Peak amount of GGC memory allocated before garbage collecting increased from 16574k to 16726k, overall 0.92%
  Peak amount of GGC memory still allocated after garbage collecting increased from 16409k to 16556k, overall 0.90%
  Amount of produced GGC garbage increased from 72503k to 82476k, overall 13.76%
  Amount of memory still referenced at the end of compilation increased from 7221k to 7249k, overall 0.39%
    Overall memory needed: 35053k -> 36929k
    Peak memory use before GGC: 16574k -> 16726k
    Peak memory use after GGC: 16409k -> 16556k
    Maximum of released memory in single GGC run: 1672k -> 1690k
    Garbage: 72503k -> 82476k
    Leak: 7221k -> 7249k
    Overhead: 9955k -> 11238k
    GGC runs: 493 -> 529
  Amount of memory referenced pre-ipa increased from 17726k to 17759k, overall 0.19%
    Pre-IPA-Garbage: 13435k
    Pre-IPA-Leak: 17726k -> 17759k
    Pre-IPA-Overhead: 2557k -> 2555k
  Amount of memory referenced post-ipa increased from 17726k to 17759k, overall 0.19%
    Post-IPA-Garbage: 13435k
    Post-IPA-Leak: 17726k -> 17759k
    Post-IPA-Overhead: 2557k -> 2555k

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 152505k
    Peak memory use before GGC: 65254k
    Peak memory use after GGC: 52818k
    Maximum of released memory in single GGC run: 26250k
    Garbage: 128569k
    Leak: 9588k -> 9587k
    Overhead: 16692k -> 16691k
    GGC runs: 258
    Pre-IPA-Garbage: 40782k
    Pre-IPA-Leak: 51015k -> 51014k
    Pre-IPA-Overhead: 7761k -> 7761k
    Post-IPA-Garbage: 40782k
    Post-IPA-Leak: 51015k -> 51014k
    Post-IPA-Overhead: 7761k -> 7761k

comparing insn-attrtab.c compilation at -O0 -g level:
    Overall memory needed: 153849k -> 153817k
    Peak memory use before GGC: 66520k
    Peak memory use after GGC: 54081k
    Maximum of released memory in single GGC run: 26251k
    Garbage: 128907k
    Leak: 11220k -> 11219k
    Overhead: 17145k -> 17144k
    GGC runs: 252
    Pre-IPA-Garbage: 40791k
    Pre-IPA-Leak: 52540k -> 52539k
    Pre-IPA-Overhead: 8092k -> 8091k
    Post-IPA-Garbage: 40791k
    Post-IPA-Leak: 52540k -> 52539k
    Post-IPA-Overhead: 8092k -> 8091k

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 154545k -> 154577k
    Peak memory use before GGC: 54973k -> 54972k
    Peak memory use after GGC: 44903k -> 44902k
    Maximum of released memory in single GGC run: 17233k
    Garbage: 181123k -> 181124k
    Leak: 9179k -> 9178k
    Overhead: 23428k -> 23427k
    GGC runs: 298
    Pre-IPA-Garbage: 45260k -> 45256k
    Pre-IPA-Leak: 45117k -> 45116k
    Pre-IPA-Overhead: 7608k -> 7607k
    Post-IPA-Garbage: 45260k -> 45256k
    Post-IPA-Leak: 45117k -> 45116k
    Post-IPA-Overhead: 7608k -> 7607k

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 202485k -> 202213k
    Peak memory use before GGC: 54422k -> 54418k
    Peak memory use after GGC: 44653k -> 44649k
    Maximum of released memory in single GGC run: 18696k
    Garbage: 211672k -> 211672k
    Leak: 9193k -> 9193k
    Overhead: 29300k -> 29299k
    GGC runs: 331
    Pre-IPA-Garbage: 45322k -> 45281k
    Pre-IPA-Leak: 45124k -> 45120k
    Pre-IPA-Overhead: 7613k -> 7609k
    Post-IPA-Garbage: 45322k -> 45281k
    Post-IPA-Leak: 45124k -> 45120k
    Post-IPA-Overhead: 7613k -> 7609k

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 205461k -> 205469k
    Peak memory use before GGC: 54434k -> 54430k
    Peak memory use after GGC: 44662k -> 44658k
    Maximum of released memory in single GGC run: 18680k
    Garbage: 229954k -> 229953k
    Leak: 9211k -> 9211k
    Overhead: 31200k -> 31199k
    GGC runs: 352
    Pre-IPA-Garbage: 45322k -> 45281k
    Pre-IPA-Leak: 45124k -> 45120k
    Pre-IPA-Overhead: 7613k -> 7609k
    Post-IPA-Garbage: 45322k -> 45281k
    Post-IPA-Leak: 45124k -> 45120k
    Post-IPA-Overhead: 7613k -> 7609k

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 146341k -> 146177k
    Peak memory use before GGC: 81786k
    Peak memory use after GGC: 80976k
    Maximum of released memory in single GGC run: 13629k
    Garbage: 193642k
    Leak: 55468k -> 55413k
    Overhead: 28789k -> 28735k
    GGC runs: 439
    Pre-IPA-Garbage: 105771k
    Pre-IPA-Leak: 84581k -> 84526k
    Pre-IPA-Overhead: 15541k -> 15486k
    Post-IPA-Garbage: 105771k
    Post-IPA-Leak: 84581k -> 84526k
    Post-IPA-Overhead: 15541k -> 15486k

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
    Overall memory needed: 164021k -> 164053k
    Peak memory use before GGC: 95912k
    Peak memory use after GGC: 94960k
    Maximum of released memory in single GGC run: 13880k
    Garbage: 198964k -> 198964k
    Leak: 82559k -> 82504k
    Overhead: 35352k -> 35297k
    GGC runs: 410
    Pre-IPA-Garbage: 106356k
    Pre-IPA-Leak: 101101k -> 101047k
    Pre-IPA-Overhead: 19047k -> 18992k
    Post-IPA-Garbage: 106356k
    Post-IPA-Leak: 101101k -> 101047k
    Post-IPA-Overhead: 19047k -> 18992k

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 81962k to 82611k, overall 0.79%
  Peak amount of GGC memory still allocated after garbage collecting increased from 81128k to 81787k, overall 0.81%
  Amount of produced GGC garbage increased from 263586k to 270243k, overall 2.53%
    Overall memory needed: 107789k -> 108893k
    Peak memory use before GGC: 81962k -> 82611k
    Peak memory use after GGC: 81128k -> 81787k
    Maximum of released memory in single GGC run: 13770k
    Garbage: 263586k -> 270243k
    Leak: 52259k -> 52212k
    Overhead: 30809k -> 31614k
    GGC runs: 522 -> 528
  Amount of produced pre-ipa-GGC garbage increased from 153342k to 154355k, overall 0.66%
  Amount of memory referenced pre-ipa increased from 86146k to 86831k, overall 0.80%
    Pre-IPA-Garbage: 153342k -> 154355k
    Pre-IPA-Leak: 86146k -> 86831k
    Pre-IPA-Overhead: 19079k -> 19157k
  Amount of produced post-ipa-GGC garbage increased from 153342k to 154355k, overall 0.66%
  Amount of memory referenced post-ipa increased from 86146k to 86831k, overall 0.80%
    Post-IPA-Garbage: 153342k -> 154355k
    Post-IPA-Leak: 86146k -> 86831k
    Post-IPA-Overhead: 19079k -> 19157k

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 81213k to 82644k, overall 1.76%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80227k to 80937k, overall 0.88%
  Amount of produced GGC garbage increased from 301890k to 308969k, overall 2.35%
    Overall memory needed: 107057k -> 108137k
    Peak memory use before GGC: 81213k -> 82644k
    Peak memory use after GGC: 80227k -> 80937k
    Maximum of released memory in single GGC run: 13774k
    Garbage: 301890k -> 308969k
    Leak: 52342k -> 52323k
    Overhead: 35832k -> 36913k
    GGC runs: 569 -> 574
  Amount of produced pre-ipa-GGC garbage increased from 156623k to 157385k, overall 0.49%
  Amount of memory referenced pre-ipa increased from 85230k to 85923k, overall 0.81%
    Pre-IPA-Garbage: 156623k -> 157385k
    Pre-IPA-Leak: 85230k -> 85923k
    Pre-IPA-Overhead: 19306k -> 19369k
  Amount of produced post-ipa-GGC garbage increased from 156623k to 157385k, overall 0.49%
  Amount of memory referenced post-ipa increased from 85230k to 85923k, overall 0.81%
    Post-IPA-Garbage: 156623k -> 157385k
    Post-IPA-Leak: 85230k -> 85923k
    Post-IPA-Overhead: 19306k -> 19369k

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 111817k to 114389k, overall 2.30%
  Peak amount of GGC memory allocated before garbage collecting increased from 81673k to 83109k, overall 1.76%
  Peak amount of GGC memory still allocated after garbage collecting increased from 80352k to 81044k, overall 0.86%
  Amount of produced GGC garbage increased from 334304k to 343315k, overall 2.70%
    Overall memory needed: 111817k -> 114389k
    Peak memory use before GGC: 81673k -> 83109k
    Peak memory use after GGC: 80352k -> 81044k
    Maximum of released memory in single GGC run: 13774k
    Garbage: 334304k -> 343315k
    Leak: 52370k -> 52360k
    Overhead: 39637k -> 41128k
    GGC runs: 607 -> 616
  Amount of produced pre-ipa-GGC garbage increased from 156623k to 157385k, overall 0.49%
  Amount of memory referenced pre-ipa increased from 85234k to 85927k, overall 0.81%
    Pre-IPA-Garbage: 156623k -> 157385k
    Pre-IPA-Leak: 85234k -> 85927k
    Pre-IPA-Overhead: 19306k -> 19369k
  Amount of produced post-ipa-GGC garbage increased from 156623k to 157385k, overall 0.49%
  Amount of memory referenced post-ipa increased from 85234k to 85927k, overall 0.81%
    Post-IPA-Garbage: 156623k -> 157385k
    Post-IPA-Leak: 85234k -> 85927k
    Post-IPA-Overhead: 19306k -> 19369k

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
    Overall memory needed: 358781k -> 358801k
    Peak memory use before GGC: 78173k
    Peak memory use after GGC: 49107k
    Maximum of released memory in single GGC run: 37057k
    Garbage: 140190k
    Leak: 7711k -> 7711k
    Overhead: 24961k -> 24960k
    GGC runs: 86
    Pre-IPA-Garbage: 12171k
    Pre-IPA-Leak: 18627k -> 18626k
    Pre-IPA-Overhead: 2403k -> 2403k
    Post-IPA-Garbage: 12171k
    Post-IPA-Leak: 18627k -> 18626k
    Post-IPA-Overhead: 2403k -> 2403k

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
    Overall memory needed: 359441k -> 358425k
    Peak memory use before GGC: 78856k
    Peak memory use after GGC: 49791k
    Maximum of released memory in single GGC run: 37041k
    Garbage: 140255k
    Leak: 9707k -> 9707k
    Overhead: 25529k -> 25529k
    GGC runs: 94
    Pre-IPA-Garbage: 12173k
    Pre-IPA-Leak: 18873k -> 18873k
    Pre-IPA-Overhead: 2457k -> 2456k
    Post-IPA-Garbage: 12173k
    Post-IPA-Leak: 18873k -> 18873k
    Post-IPA-Overhead: 2457k -> 2456k

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 210297k to 308601k, overall 46.75%
  Peak amount of GGC memory allocated before garbage collecting increased from 75811k to 80235k, overall 5.84%
  Amount of produced GGC garbage increased from 217894k to 225540k, overall 3.51%
  Amount of memory still referenced at the end of compilation increased from 9295k to 9462k, overall 1.79%
    Overall memory needed: 210297k -> 308601k
    Peak memory use before GGC: 75811k -> 80235k
    Peak memory use after GGC: 69462k
    Maximum of released memory in single GGC run: 35390k -> 38514k
    Garbage: 217894k -> 225540k
    Leak: 9295k -> 9462k
    Overhead: 32942k -> 32458k
    GGC runs: 95 -> 96
  Amount of memory referenced pre-ipa increased from 63805k to 63974k, overall 0.27%
    Pre-IPA-Garbage: 41119k
    Pre-IPA-Leak: 63805k -> 63974k
    Pre-IPA-Overhead: 7142k -> 7105k
  Amount of memory referenced post-ipa increased from 63805k to 63974k, overall 0.27%
    Post-IPA-Garbage: 41119k
    Post-IPA-Leak: 63805k -> 63974k
    Post-IPA-Overhead: 7142k -> 7105k

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
  Ovarall memory allocated via mmap and sbrk decreased from 535237k to 514613k, overall -4.01%
  Peak amount of GGC memory allocated before garbage collecting increased from 75811k to 80260k, overall 5.87%
  Amount of produced GGC garbage increased from 257643k to 268248k, overall 4.12%
  Amount of memory still referenced at the end of compilation increased from 9045k to 9463k, overall 4.63%
    Overall memory needed: 535237k -> 514613k
    Peak memory use before GGC: 75811k -> 80260k
    Peak memory use after GGC: 69463k
    Maximum of released memory in single GGC run: 37541k -> 39109k
    Garbage: 257643k -> 268248k
    Leak: 9045k -> 9463k
    Overhead: 38501k -> 42139k
    GGC runs: 106 -> 108
    Pre-IPA-Garbage: 90152k
    Pre-IPA-Leak: 80313k -> 80240k
    Pre-IPA-Overhead: 11168k -> 11095k
    Post-IPA-Garbage: 90152k
    Post-IPA-Leak: 80313k -> 80240k
    Post-IPA-Overhead: 11168k -> 11095k

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
  Ovarall memory allocated via mmap and sbrk decreased from 1235213k to 1031157k, overall -19.79%
  Amount of produced GGC garbage decreased from 340773k to 329142k, overall -3.53%
    Overall memory needed: 1235213k -> 1031157k
    Peak memory use before GGC: 135102k
    Peak memory use after GGC: 126444k
    Maximum of released memory in single GGC run: 54329k
    Garbage: 340773k -> 329142k
    Leak: 10362k -> 10302k
    Overhead: 43494k -> 42368k
    GGC runs: 106
    Pre-IPA-Garbage: 90152k
    Pre-IPA-Leak: 80313k -> 80240k
    Pre-IPA-Overhead: 11168k -> 11095k
    Post-IPA-Garbage: 90152k
    Post-IPA-Leak: 80313k -> 80240k
    Post-IPA-Overhead: 11168k -> 11095k

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-haydn-memory/x86_64/mem-result/ChangeLog	2009-05-25 14:20:03.000000000 +0000
+++ /usr/src/SpecTests/sandbox-haydn-memory/gcc/gcc/ChangeLog	2009-05-25 23:37:37.000000000 +0000
@@ -1,3 +1,59 @@
+2009-05-25  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c (dump_cgraph_node): Dump size/time/benefit.
+	* cgraph.h (struct inline_summary): New filed self_wize,
+	size_inlining_benefit, self_time and time_inlining_benefit.
+	(struct cgraph_global_info): Replace insns by time ans size fields.
+	* ipa-cp (ipcp_cloning_candidate_p): Base estimate on size
+	(ipcp_estimate_growth, ipcp_insert_stage): Likewise.
+	(ipcp_update_callgraph): Do not touch function bodies.
+	* ipa-inline.c: Include except.h
+	(MAX_TIME): New constant.
+	(overall_insns): Remove.
+	(leaf_node_p): New.
+	(overall_size, max_benefit): New static variables.
+	(cgraph_estimate_time_after_inlining): New function.
+	(cgraph_estimate_size_after_inlining): Rewrite using benefits.
+	(cgraph_clone_inlined_nodes): Update size.
+	(cgraph_mark_inline_edge): Update size.
+	(cgraph_estimate_growth): Use size info.
+	(cgraph_check_inline_limits): Check size.
+	(cgraph_default_inline_p): Likewise.
+	(cgraph_edge_badness): Compute badness based on benefit and size cost.
+	(cgraph_decide_recursive_inlining): Check size.
+	(cgraph_decide_inlining_of_small_function): Update size; dump sizes and
+	times.
+	(cgraph_decide_inlining): Likewise.
+	(cgraph_decide_inlining_incrementally): Likewise; honor
+	PARAM_EARLY_INLINING_INSNS.
+	(likely_eliminated_by_inlining_p): New predicate.
+	(estimate_function_body_sizes): New function.
+	(compute_inline_parameters): Use it.
+	* except.c (must_not_throw_labels): New function.
+	* except.h (must_not_throw_labels): Declare.
+	* tree-inline.c (init_inline_once): Kill inlining_weigths
+	* tree-ssa-structalias.c: Avoid uninitialized warning.
+	* params.def (PARAM_MAX_INLINE_INSNS_SINGLE): Reduce to 300.
+	(PARAM_MAX_INLINE_INSNS_AUTO): Reduce to 60.
+	(PARAM_INLINE_CALL_COST): Remove.
+	(PARAM_EARLY_INLINING_INSNS): New.
+
+2009-05-25  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/36327
+	* tree-ssa-alias.c (walk_non_aliased_vuses): Add second walker
+	callback for reference translation or lookup at the point
+	of may-defs.
+	* tree-ssa-alias.h (walk_non_aliased_vuses): Adjust prototype.
+	* tree-ssa-sccvn.c (get_ref_from_reference_ops): Bail out
+	for union COMPONENT_REFs.
+	(vn_reference_lookup_3): New callback.  Lookup from memset
+	and CONSTRUCTOR assignment, translate through struct copies.
+	(vn_reference_lookup_pieces): Make sure to not free the
+	passed operands array.  Adjust walk_non_aliased_vuses call.
+	(vn_reference_lookup): Adjust walk_non_aliased_vuses call,
+	make sure we do not leak memory.
+
 2009-05-25  Richard Guenther  <rguenther@suse.de>
 
 	* tree-ssa-alias.h (dump_points_to_solution): Declare.
--- /usr/src/SpecTests/sandbox-haydn-memory/x86_64/mem-result/ChangeLog.cp	2009-05-22 22:34:23.000000000 +0000
+++ /usr/src/SpecTests/sandbox-haydn-memory/gcc/gcc/cp/ChangeLog	2009-05-25 23:37:37.000000000 +0000
@@ -1,3 +1,24 @@
+2009-05-22  Jason Merrill  <jason@redhat.com>
+
+	PR c++/38064
+	* typeck.c (cp_build_binary_op): Allow ENUMERAL_TYPE in
+	arithmetic comparisons.
+	(cp_common_type): Handle scoped enums.
+
+	* call.c (promoted_arithmetic_type_p): Don't use INTEGRAL_TYPE_P.
+	(add_builtin_candidate, add_builtin_candidates): Likewise.
+	(convert_like_real): Likewise.
+	* class.c (check_bitfield_decl): Likewise.
+	* decl.c (check_static_variable_definition): Likewise.
+	(compute_array_index_type): Likewise.
+	* decl2.c (grokbitfield): Likewise.
+	* init.c (build_new_1): Likewise.
+	* pt.c (convert_nontype_argument): Likewise.
+	(current_instantiation): Likewise.
+	* tree.c (pod_type_p): Likewise.
+	* typeck.c (build_static_cast_1): Likewise.
+	(build_reinterpret_cast_1): Likewise.
+
 2009-05-22  Richard Guenther  <rguenther@suse.de>
 
 	PR middle-end/38964


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.


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