This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch increased GCC's memory consumption!
- From: gcctest at suse dot de
- To: jh at suse dot cz, hubicka at ucw dot cz, gcc-regression at gcc dot gnu dot org
- Date: Sun, 10 May 2009 21:26:46 +0000
- Subject: A recent patch increased GCC's memory consumption!
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
Overhead: 187k
GGC runs: 4
Pre-IPA-Garbage: 210k
Pre-IPA-Leak: 1539k
Pre-IPA-Overhead: 186k
Post-IPA-Garbage: 210k
Post-IPA-Leak: 1539k
Post-IPA-Overhead: 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
Overhead: 192k
GGC runs: 4
Pre-IPA-Garbage: 210k
Pre-IPA-Leak: 1539k
Pre-IPA-Overhead: 186k
Post-IPA-Garbage: 210k
Post-IPA-Leak: 1539k
Post-IPA-Overhead: 186k
comparing empty function compilation at -O1 level:
Overall memory needed: 8909k
Peak memory use before GGC: 1488k
Peak memory use after GGC: 1437k
Maximum of released memory in single GGC run: 87k
Garbage: 221k
Leak: 1537k
Overhead: 188k
GGC runs: 4
Pre-IPA-Garbage: 210k
Pre-IPA-Leak: 1540k
Pre-IPA-Overhead: 186k
Post-IPA-Garbage: 210k
Post-IPA-Leak: 1540k
Post-IPA-Overhead: 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: 92k
Garbage: 226k
Leak: 1537k
Overhead: 189k
GGC runs: 4
Pre-IPA-Garbage: 210k
Pre-IPA-Leak: 1540k
Pre-IPA-Overhead: 186k
Post-IPA-Garbage: 210k
Post-IPA-Leak: 1540k
Post-IPA-Overhead: 186k
comparing empty function compilation at -O3 level:
Overall memory needed: 8933k -> 8925k
Peak memory use before GGC: 1488k
Peak memory use after GGC: 1437k
Maximum of released memory in single GGC run: 92k
Garbage: 226k
Leak: 1537k
Overhead: 189k
GGC runs: 4
Pre-IPA-Garbage: 210k
Pre-IPA-Leak: 1540k
Pre-IPA-Overhead: 186k
Post-IPA-Garbage: 210k
Post-IPA-Leak: 1540k
Post-IPA-Overhead: 186k
comparing combine.c compilation at -O0 level:
Overall memory needed: 31457k -> 31461k
Peak memory use before GGC: 17484k
Peak memory use after GGC: 17020k
Maximum of released memory in single GGC run: 1913k
Garbage: 38030k
Leak: 7155k
Overhead: 5517k
GGC runs: 332 -> 331
Pre-IPA-Garbage: 12539k
Pre-IPA-Leak: 18401k
Pre-IPA-Overhead: 2507k
Post-IPA-Garbage: 12539k
Post-IPA-Leak: 18401k
Post-IPA-Overhead: 2507k
comparing combine.c compilation at -O0 -g level:
Overall memory needed: 33401k -> 33417k
Peak memory use before GGC: 19392k
Peak memory use after GGC: 18859k
Maximum of released memory in single GGC run: 1923k
Garbage: 38245k
Leak: 10441k
Overhead: 6330k -> 6330k
GGC runs: 316 -> 315
Pre-IPA-Garbage: 12558k
Pre-IPA-Leak: 20650k
Pre-IPA-Overhead: 2989k
Post-IPA-Garbage: 12558k
Post-IPA-Leak: 20650k
Post-IPA-Overhead: 2989k
comparing combine.c compilation at -O1 level:
Overall memory needed: 31809k -> 31797k
Peak memory use before GGC: 16493k -> 16476k
Peak memory use after GGC: 16317k -> 16310k
Maximum of released memory in single GGC run: 1378k
Garbage: 45478k -> 45480k
Leak: 7155k
Overhead: 6416k -> 6417k
GGC runs: 386 -> 387
Pre-IPA-Garbage: 12959k
Pre-IPA-Leak: 17620k
Pre-IPA-Overhead: 2503k
Post-IPA-Garbage: 12959k
Post-IPA-Leak: 17620k
Post-IPA-Overhead: 2503k
comparing combine.c compilation at -O2 level:
Amount of memory still referenced at the end of compilation increased from 7170k to 7188k, overall 0.26%
Overall memory needed: 33369k -> 33277k
Peak memory use before GGC: 16585k -> 16598k
Peak memory use after GGC: 16415k -> 16418k
Maximum of released memory in single GGC run: 1489k
Garbage: 56705k -> 56715k
Leak: 7170k -> 7188k
Overhead: 8187k -> 8191k
GGC runs: 441 -> 442
Pre-IPA-Garbage: 13096k
Pre-IPA-Leak: 17707k
Pre-IPA-Overhead: 2520k
Post-IPA-Garbage: 13096k
Post-IPA-Leak: 17707k
Post-IPA-Overhead: 2520k
comparing combine.c compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 16586k to 16666k, overall 0.48%
Amount of produced GGC garbage increased from 67490k to 68591k, overall 1.63%
Overall memory needed: 33585k -> 33941k
Peak memory use before GGC: 16586k -> 16666k
Peak memory use after GGC: 16420k -> 16424k
Maximum of released memory in single GGC run: 1672k -> 1655k
Garbage: 67490k -> 68591k
Leak: 7218k -> 7222k
Overhead: 9701k -> 9799k
GGC runs: 467 -> 471
Pre-IPA-Garbage: 13096k
Pre-IPA-Leak: 17707k -> 17711k
Pre-IPA-Overhead: 2520k
Post-IPA-Garbage: 13096k
Post-IPA-Leak: 17707k -> 17711k
Post-IPA-Overhead: 2520k
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 152705k -> 152717k
Peak memory use before GGC: 65608k
Peak memory use after GGC: 52818k
Maximum of released memory in single GGC run: 26604k
Garbage: 129481k
Leak: 9587k
Overhead: 16872k
GGC runs: 259
Pre-IPA-Garbage: 40782k
Pre-IPA-Leak: 51014k
Pre-IPA-Overhead: 7761k
Post-IPA-Garbage: 40782k
Post-IPA-Leak: 51014k
Post-IPA-Overhead: 7761k
comparing insn-attrtab.c compilation at -O0 -g level:
Overall memory needed: 154021k -> 154017k
Peak memory use before GGC: 66873k
Peak memory use after GGC: 54081k
Maximum of released memory in single GGC run: 26604k
Garbage: 129819k
Leak: 11219k
Overhead: 17325k
GGC runs: 253
Pre-IPA-Garbage: 40791k
Pre-IPA-Leak: 52539k
Pre-IPA-Overhead: 8091k
Post-IPA-Garbage: 40791k
Post-IPA-Leak: 52539k
Post-IPA-Overhead: 8091k
comparing insn-attrtab.c compilation at -O1 level:
Peak amount of GGC memory allocated before garbage collecting increased from 54138k to 55377k, overall 2.29%
Peak amount of GGC memory still allocated after garbage collecting increased from 43649k to 44890k, overall 2.84%
Overall memory needed: 154185k -> 155113k
Peak memory use before GGC: 54138k -> 55377k
Peak memory use after GGC: 43649k -> 44890k
Maximum of released memory in single GGC run: 17343k -> 17237k
Garbage: 182194k -> 182196k
Leak: 9178k
Overhead: 23658k -> 23659k
GGC runs: 293 -> 298
Pre-IPA-Garbage: 45067k
Pre-IPA-Leak: 45085k
Pre-IPA-Overhead: 7586k
Post-IPA-Garbage: 45067k
Post-IPA-Leak: 45085k
Post-IPA-Overhead: 7586k
comparing insn-attrtab.c compilation at -O2 level:
Peak amount of GGC memory allocated before garbage collecting increased from 53557k to 54822k, overall 2.36%
Peak amount of GGC memory still allocated after garbage collecting increased from 43378k to 44640k, overall 2.91%
Overall memory needed: 200069k -> 202649k
Peak memory use before GGC: 53557k -> 54822k
Peak memory use after GGC: 43378k -> 44640k
Maximum of released memory in single GGC run: 18813k -> 18703k
Garbage: 212745k -> 212767k
Leak: 9192k -> 9192k
Overhead: 29525k -> 29533k
GGC runs: 325 -> 331
Pre-IPA-Garbage: 45129k -> 45129k
Pre-IPA-Leak: 45092k
Pre-IPA-Overhead: 7591k -> 7591k
Post-IPA-Garbage: 45129k -> 45129k
Post-IPA-Leak: 45092k
Post-IPA-Overhead: 7591k -> 7591k
comparing insn-attrtab.c compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 53562k to 54822k, overall 2.35%
Peak amount of GGC memory still allocated after garbage collecting increased from 43382k to 44640k, overall 2.90%
Overall memory needed: 199989k -> 202429k
Peak memory use before GGC: 53562k -> 54822k
Peak memory use after GGC: 43382k -> 44640k
Maximum of released memory in single GGC run: 18758k -> 18702k
Garbage: 213959k -> 213987k
Leak: 9199k -> 9199k
Overhead: 29918k -> 29924k
GGC runs: 331 -> 339
Pre-IPA-Garbage: 45129k -> 45129k
Pre-IPA-Leak: 45092k
Pre-IPA-Overhead: 7591k -> 7591k
Post-IPA-Garbage: 45129k -> 45129k
Post-IPA-Leak: 45092k
Post-IPA-Overhead: 7591k -> 7591k
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 145989k -> 146009k
Peak memory use before GGC: 81663k
Peak memory use after GGC: 80854k
Maximum of released memory in single GGC run: 13633k
Garbage: 197989k -> 197991k
Leak: 55388k
Overhead: 28245k -> 28245k
GGC runs: 447
Pre-IPA-Garbage: 110138k -> 110139k
Pre-IPA-Leak: 84448k
Pre-IPA-Overhead: 14991k -> 14991k
Post-IPA-Garbage: 110138k -> 110139k
Post-IPA-Leak: 84448k
Post-IPA-Overhead: 14991k -> 14991k
comparing Gerald's testcase PR8361 compilation at -O0 -g level:
Overall memory needed: 163929k -> 163961k
Peak memory use before GGC: 95805k -> 95804k
Peak memory use after GGC: 94854k
Maximum of released memory in single GGC run: 13895k
Garbage: 203319k -> 203319k
Leak: 82480k
Overhead: 34808k -> 34808k
GGC runs: 419
Pre-IPA-Garbage: 110724k -> 110724k
Pre-IPA-Leak: 100969k
Pre-IPA-Overhead: 18496k -> 18496k
Post-IPA-Garbage: 110724k -> 110724k
Post-IPA-Leak: 100969k
Post-IPA-Overhead: 18496k -> 18496k
comparing Gerald's testcase PR8361 compilation at -O1 level:
Peak amount of GGC memory still allocated after garbage collecting increased from 81786k to 81887k, overall 0.12%
Overall memory needed: 108025k -> 108289k
Peak memory use before GGC: 82668k -> 82706k
Peak memory use after GGC: 81786k -> 81887k
Maximum of released memory in single GGC run: 13451k
Garbage: 260229k -> 259974k
Leak: 52195k -> 52199k
Overhead: 29808k -> 29779k
GGC runs: 515 -> 516
Pre-IPA-Garbage: 150372k -> 150370k
Pre-IPA-Leak: 86959k
Pre-IPA-Overhead: 18111k -> 18111k
Post-IPA-Garbage: 150372k -> 150370k
Post-IPA-Leak: 86959k
Post-IPA-Overhead: 18111k -> 18111k
comparing Gerald's testcase PR8361 compilation at -O2 level:
Peak amount of GGC memory allocated before garbage collecting increased from 82145k to 82671k, overall 0.64%
Peak amount of GGC memory still allocated after garbage collecting increased from 80868k to 80972k, overall 0.13%
Overall memory needed: 108269k -> 107885k
Peak memory use before GGC: 82145k -> 82671k
Peak memory use after GGC: 80868k -> 80972k
Maximum of released memory in single GGC run: 13453k
Garbage: 298989k -> 298515k
Leak: 52287k -> 52288k
Overhead: 35055k -> 34914k
GGC runs: 567 -> 563
Pre-IPA-Garbage: 153432k -> 153516k
Pre-IPA-Leak: 86018k -> 85998k
Pre-IPA-Overhead: 18328k -> 18334k
Post-IPA-Garbage: 153432k -> 153516k
Post-IPA-Leak: 86018k -> 85998k
Post-IPA-Overhead: 18328k -> 18334k
comparing Gerald's testcase PR8361 compilation at -O3 level:
Peak amount of GGC memory allocated before garbage collecting increased from 82604k to 83129k, overall 0.64%
Overall memory needed: 108105k -> 108065k
Peak memory use before GGC: 82604k -> 83129k
Peak memory use after GGC: 81094k -> 81100k
Maximum of released memory in single GGC run: 13453k
Garbage: 317385k -> 316584k
Leak: 52286k -> 52290k
Overhead: 37299k -> 37336k
GGC runs: 583 -> 580
Pre-IPA-Garbage: 153432k -> 153516k
Pre-IPA-Leak: 86022k -> 86002k
Pre-IPA-Overhead: 18328k -> 18335k
Post-IPA-Garbage: 153432k -> 153516k
Post-IPA-Leak: 86022k -> 86002k
Post-IPA-Overhead: 18328k -> 18335k
comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
Overall memory needed: 358813k -> 358717k
Peak memory use before GGC: 78173k
Peak memory use after GGC: 49107k
Maximum of released memory in single GGC run: 37057k
Garbage: 140058k
Leak: 7711k
Overhead: 25004k
GGC runs: 86
Pre-IPA-Garbage: 12038k
Pre-IPA-Leak: 18626k
Pre-IPA-Overhead: 2447k
Post-IPA-Garbage: 12038k
Post-IPA-Leak: 18626k
Post-IPA-Overhead: 2447k
comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
Overall memory needed: 358605k -> 359301k
Peak memory use before GGC: 78856k
Peak memory use after GGC: 49791k
Maximum of released memory in single GGC run: 37041k
Garbage: 140124k
Leak: 9707k
Overhead: 25573k
GGC runs: 94
Pre-IPA-Garbage: 12040k
Pre-IPA-Leak: 18873k
Pre-IPA-Overhead: 2500k
Post-IPA-Garbage: 12040k
Post-IPA-Leak: 18873k
Post-IPA-Overhead: 2500k
comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
Peak amount of GGC memory allocated before garbage collecting increased from 70831k to 74131k, overall 4.66%
Peak amount of GGC memory still allocated after garbage collecting increased from 66115k to 69415k, overall 4.99%
Overall memory needed: 209049k -> 210069k
Peak memory use before GGC: 70831k -> 74131k
Peak memory use after GGC: 66115k -> 69415k
Maximum of released memory in single GGC run: 35381k -> 35375k
Garbage: 216059k -> 216166k
Leak: 9258k -> 9258k
Overhead: 32785k -> 32776k
GGC runs: 96 -> 95
Pre-IPA-Garbage: 39202k
Pre-IPA-Leak: 63682k
Pre-IPA-Overhead: 6995k
Post-IPA-Garbage: 39202k
Post-IPA-Leak: 63682k
Post-IPA-Overhead: 6995k
comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
Peak amount of GGC memory allocated before garbage collecting increased from 70831k to 74132k, overall 4.66%
Peak amount of GGC memory still allocated after garbage collecting increased from 66115k to 69415k, overall 4.99%
Overall memory needed: 530877k -> 538169k
Peak memory use before GGC: 70831k -> 74132k
Peak memory use after GGC: 66115k -> 69415k
Maximum of released memory in single GGC run: 37550k -> 37554k
Garbage: 266941k -> 267051k
Leak: 9006k -> 9005k
Overhead: 39902k -> 39877k
GGC runs: 106
Pre-IPA-Garbage: 89544k -> 89544k
Pre-IPA-Leak: 80238k
Pre-IPA-Overhead: 11099k -> 11099k
Post-IPA-Garbage: 89544k -> 89544k
Post-IPA-Leak: 80238k
Post-IPA-Overhead: 11099k -> 11099k
comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
Peak amount of GGC memory allocated before garbage collecting increased from 131401k to 134702k, overall 2.51%
Peak amount of GGC memory still allocated after garbage collecting increased from 123130k to 126430k, overall 2.68%
Overall memory needed: 1235273k -> 1235873k
Peak memory use before GGC: 131401k -> 134702k
Peak memory use after GGC: 123130k -> 126430k
Maximum of released memory in single GGC run: 49333k -> 54316k
Garbage: 342802k -> 342612k
Leak: 10281k -> 10282k
Overhead: 43967k -> 43926k
GGC runs: 106
Pre-IPA-Garbage: 89544k -> 89544k
Pre-IPA-Leak: 80238k
Pre-IPA-Overhead: 11099k -> 11099k
Post-IPA-Garbage: 89544k -> 89544k
Post-IPA-Leak: 80238k
Post-IPA-Overhead: 11099k -> 11099k
Head of the ChangeLog is:
--- /usr/src/SpecTests/sandbox-haydn-memory/x86_64/mem-result/ChangeLog 2009-05-10 10:01:59.000000000 +0000
+++ /usr/src/SpecTests/sandbox-haydn-memory/gcc/gcc/ChangeLog 2009-05-10 19:17:48.000000000 +0000
@@ -1,3 +1,125 @@
+2009-05-10 Michael Matz <matz@suse.de>
+
+ PR target/40031
+ * config/arm/arm.c (require_pic_register): Emit on entry edge,
+ not at entry of function.
+
+2009-05-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40081
+ Revert
+ * tree-sra.c (instantiate_element): Instantiate scalar replacements
+ using the main variant of the element type. Do not fiddle with
+ TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
+
+ * tree-sra.c (sra_type_can_be_decomposed_p): Do not decompose
+ structs with volatile fields.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ * tree-inline.c (delete_unreachable_blocks_update_callgraph): Declare.
+ (estimate_move_cost): Assert that it does not get called for VOID_TYPE_P.
+ (estimate_num_insns): Skip VOID types in argument handling.
+ (optimize_inline_calls): Delete unreachable blocks and verify that
+ callgraph is valid.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_reference): Use cgraph_mark_address_taken_node.
+ * cgraph.c (cgraph_mark_address_taken_node): New function.
+ (dump_cgraph_node): Dump new flag.
+ * cgraph.h (struct cgraph_node): Add address_taken.
+ (cgraph_mark_address_taken_node): New function.
+ * ipa.c (cgraph_postorder): Prioritize functions with address taken
+ since new direct calls can be born.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * c-lex.c (c_lex_with_flags): Expect cpp_hashnode in
+ tok->val.node.node.
+
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/40084
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Take old_call
+ argument; rewrite.
+ (cgraph_update_edges_for_call_stmt): Take old_decl argument.
+ * cgraph.h (cgraph_update_edges_for_call_stmt): Update prototype.
+ * tree-inline.c (copy_bb): Set frequency correctly.
+ (fold_marked_statements): Update call to
+ cgraph_update_edges_for_call_stmt.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arc/arc.c (arc_handle_interrupt_attribute): Use %qE for
+ identifiers in diagnostics.
+ * config/arm/arm.c (arm_handle_fndecl_attribute,
+ arm_handle_isr_attribute): Likewise.
+ * config/avr/avr.c (avr_handle_progmem_attribute,
+ avr_handle_fndecl_attribute, avr_handle_fntype_attribute):
+ Likewise.
+ * config/bfin/bfin.c (handle_int_attribute,
+ bfin_handle_longcall_attribute, bfin_handle_l1_text_attribute,
+ bfin_handle_l1_data_attribute, bfin_handle_longcall_attribute,
+ bfin_handle_l1_text_attribute, bfin_handle_l1_data_attribute):
+ Likewise.
+ * config/darwin.c (darwin_handle_kext_attribute,
+ darwin_handle_weak_import_attribute): Likewise.
+ * config/h8300/h8300.c (h8300_handle_fndecl_attribute,
+ h8300_handle_eightbit_data_attribute,
+ h8300_handle_tiny_data_attribute): Likewise.
+ * config/i386/i386.c (ix86_handle_cconv_attribute,
+ ix86_handle_abi_attribute, ix86_handle_struct_attribute):
+ Likewise.
+ * config/i386/winnt.c (ix86_handle_shared_attribute,
+ ix86_handle_selectany_attribute): Likewise.
+ * config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
+ * config/m32c/m32c.c (function_vector_handler): Likewise.
+ * config/m68hc11/m68hc11.c (m68hc11_handle_page0_attribute,
+ m68hc11_handle_fntype_attribute): Likewise.
+ * config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
+ * config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
+ * config/mips/mips.c (mips_insert_attributes,
+ mips_merge_decl_attributes, mips_expand_builtin): Likewise.
+ * config/rs6000/rs6000.c (rs6000_handle_longcall_attribute,
+ rs6000_handle_struct_attribute): Likewise.
+ * config/sh/sh.c (sh_insert_attributes,
+ sh_handle_resbank_handler_attribute,
+ sh_handle_interrupt_handler_attribute,
+ sh2a_handle_function_vector_handler_attribute,
+ sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+ Likewise.
+ * config/sh/symbian.c (sh_symbian_mark_dllimport): Likewise.
+ * config/spu/spu.c (spu_handle_fndecl_attribute,
+ spu_handle_vector_attribute): Likewise.
+ * config/stormy16/stormy16.c
+ (xstormy16_handle_interrupt_attribute): Likewise.
+ * config/v850/v850-c.c (ghs_pragma_section): Likewise.
+ * config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * pretty-print.h (struct pretty_print_info): Add
+ translate_identifiers.
+ (pp_translate_identifiers): New.
+ (pp_identifier): Only conditionally translate identifier to locale
+ character set.
+ * pretty-print.c (pp_construct): Set pp_translate_identifiers.
+ (pp_base_tree_identifier): Only conditionally translate identifier
+ to locale character set.
+ * c-pretty-print.c (M_): Define.
+ (pp_c_type_specifier, pp_c_primary_expression): Mark English
+ fragments for conditional translation with M_.
+ * tree-pretty-print.c (maybe_init_pretty_print): Disable
+ identifier translation.
+
+2009-05-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40081
+ * tree-sra.c (instantiate_element): Instantiate scalar replacements
+ using the main variant of the element type. Do not fiddle with
+ TREE_THIS_VOLATILE or TREE_SIDE_EFFECTS.
+
2009-05-09 Jan Hubicka <jh@suse.cz>
PR middle-end/40080
--- /usr/src/SpecTests/sandbox-haydn-memory/x86_64/mem-result/ChangeLog.cp 2009-05-08 23:06:38.000000000 +0000
+++ /usr/src/SpecTests/sandbox-haydn-memory/gcc/gcc/cp/ChangeLog 2009-05-10 19:17:46.000000000 +0000
@@ -1,3 +1,44 @@
+2009-05-10 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (cxx_callgraph_analyze_expr): Use
+ cgraph_mark_address_taken.
+
+2009-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * call.c (name_as_c_string): Call type_as_string_translate.
+ Translate identifiers to locale character set.
+ * cp-tree.h (lang_decl_name): Update prototype.
+ (type_as_string_translate, decl_as_string_translate,
+ cxx_printable_name_translate): Declare.
+ * cxx-pretty-print.c (M_): Define.
+ (pp_cxx_unqualified_id, pp_cxx_canonical_template_parameter): Mark
+ English fragments for conditional translation with M_.
+ * decl.c (grokdeclarator): Translate identifiers to locale
+ character set for diagnostics.
+ * error.c (M_): Define.
+ (dump_template_bindings, dump_type, dump_aggr_type,
+ dump_type_prefix, dump_global_iord, dump_simple_decl, dump_decl,
+ dump_function_decl, dump_template_parms, dump_expr,
+ dump_binary_op, op_to_string, assop_to_string): Mark English
+ fragments for conditional translation with M_.
+ (type_as_string): Disable translation of identifiers.
+ (type_as_string_translate): New.
+ (expr_as_string): Disable translation of identifiers.
+ (decl_as_string): Disable translation of identifiers.
+ (decl_as_string_translate): New.
+ (lang_decl_name): Add parameter translate.
+ (args_to_string): Call type_as_string_translate.
+ (cp_print_error_function): Call cxx_printable_name_translate.
+ (print_instantiation_full_context,
+ print_instantiation_partial_context): Call
+ decl_as_string_translate.
+ * parser.c (cp_lexer_get_preprocessor_token): Use %qE for
+ identifier in diagnostic.
+ * tree.c (cxx_printable_name): Change to
+ cxx_printable_name_internal. Add parameter translate.
+ (cxx_printable_name, cxx_printable_name_translate): New wrappers
+ round cxx_printable_name_internal.
+
2009-05-08 H.J. Lu <hongjiu.lu@intel.com>
PR c/36892
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.