A recent patch increased GCC's memory consumption!

gcctest@suse.de gcctest@suse.de
Sat Dec 6 10:00:00 GMT 2008


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: 8209k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1217k
    Maximum of released memory in single GGC run: 134k
    Garbage: 218k
    Leak: 1221k
    Overhead: 136k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O0 -g level:
    Overall memory needed: 8453k
    Peak memory use before GGC: 1319k
    Peak memory use after GGC: 1245k
    Maximum of released memory in single GGC run: 133k
    Garbage: 220k
    Leak: 1254k
    Overhead: 141k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O1 level:
    Overall memory needed: 8237k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1217k
    Maximum of released memory in single GGC run: 134k
    Garbage: 221k
    Leak: 1221k
    Overhead: 137k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O2 level:
    Overall memory needed: 8465k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1218k
    Maximum of released memory in single GGC run: 135k
    Garbage: 226k
    Leak: 1221k
    Overhead: 138k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing empty function compilation at -O3 level:
    Overall memory needed: 8469k
    Peak memory use before GGC: 1291k
    Peak memory use after GGC: 1218k
    Maximum of released memory in single GGC run: 135k
    Garbage: 226k
    Leak: 1221k
    Overhead: 138k
    GGC runs: 4
    Pre-IPA-Garbage: 207k
    Pre-IPA-Leak: 1224k
    Pre-IPA-Overhead: 135k
    Post-IPA-Garbage: 207k
    Post-IPA-Leak: 1224k
    Post-IPA-Overhead: 135k

comparing combine.c compilation at -O0 level:
  Amount of memory still referenced at the end of compilation increased from 5800k to 5816k, overall 0.28%
    Overall memory needed: 31989k -> 31993k
    Peak memory use before GGC: 18018k -> 18025k
    Peak memory use after GGC: 17801k -> 17809k
    Maximum of released memory in single GGC run: 1839k -> 1838k
    Garbage: 39406k -> 39390k
    Leak: 5800k -> 5816k
    Overhead: 5220k -> 5219k
    GGC runs: 337
    Pre-IPA-Garbage: 12408k -> 12411k
    Pre-IPA-Leak: 19349k -> 19357k
    Pre-IPA-Overhead: 2559k -> 2559k
    Post-IPA-Garbage: 12408k -> 12411k
    Post-IPA-Leak: 19349k -> 19357k
    Post-IPA-Overhead: 2559k -> 2559k

comparing combine.c compilation at -O0 -g level:
  Amount of memory still referenced at the end of compilation increased from 9082k to 9106k, overall 0.27%
    Overall memory needed: 34009k -> 34017k
    Peak memory use before GGC: 19938k -> 19943k
    Peak memory use after GGC: 19657k -> 19664k
    Maximum of released memory in single GGC run: 1849k
    Garbage: 39703k -> 39694k
    Leak: 9082k -> 9106k
    Overhead: 6038k -> 6037k
    GGC runs: 321 -> 320
    Pre-IPA-Garbage: 12507k -> 12510k
    Pre-IPA-Leak: 21623k -> 21631k
    Pre-IPA-Overhead: 3049k -> 3050k
    Post-IPA-Garbage: 12507k -> 12510k
    Post-IPA-Leak: 21623k -> 21631k
    Post-IPA-Overhead: 3049k -> 3050k

comparing combine.c compilation at -O1 level:
    Overall memory needed: 30613k -> 30713k
    Peak memory use before GGC: 15682k -> 15689k
    Peak memory use after GGC: 15507k -> 15514k
    Maximum of released memory in single GGC run: 1340k
    Garbage: 46796k -> 46779k
    Leak: 5780k -> 5780k
    Overhead: 6013k -> 6009k
    GGC runs: 402
    Pre-IPA-Garbage: 13147k -> 13152k
    Pre-IPA-Leak: 16845k -> 16852k
    Pre-IPA-Overhead: 2472k -> 2472k
    Post-IPA-Garbage: 13147k -> 13152k
    Post-IPA-Leak: 16845k -> 16852k
    Post-IPA-Overhead: 2472k -> 2472k

comparing combine.c compilation at -O2 level:
    Overall memory needed: 31397k -> 31561k
    Peak memory use before GGC: 15823k -> 15830k
    Peak memory use after GGC: 15660k -> 15668k
    Maximum of released memory in single GGC run: 1355k -> 1356k
    Garbage: 60479k -> 60471k
    Leak: 5809k -> 5801k
    Overhead: 8016k -> 8011k
    GGC runs: 468
    Pre-IPA-Garbage: 13310k -> 13315k
    Pre-IPA-Leak: 16927k -> 16934k
    Pre-IPA-Overhead: 2491k -> 2492k
    Post-IPA-Garbage: 13310k -> 13315k
    Post-IPA-Leak: 16927k -> 16934k
    Post-IPA-Overhead: 2491k -> 2492k

comparing combine.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 15911k to 15997k, overall 0.54%
    Overall memory needed: 31929k -> 31941k
    Peak memory use before GGC: 15911k -> 15997k
    Peak memory use after GGC: 15752k -> 15759k
    Maximum of released memory in single GGC run: 1629k
    Garbage: 72912k -> 72908k
    Leak: 7136k -> 7137k
    Overhead: 9450k -> 9449k
    GGC runs: 497 -> 496
    Pre-IPA-Garbage: 13310k -> 13315k
    Pre-IPA-Leak: 16927k -> 16934k
    Pre-IPA-Overhead: 2491k -> 2492k
    Post-IPA-Garbage: 13310k -> 13315k
    Post-IPA-Leak: 16927k -> 16934k
    Post-IPA-Overhead: 2491k -> 2492k

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 155449k
    Peak memory use before GGC: 65230k
    Peak memory use after GGC: 53275k
    Maximum of released memory in single GGC run: 27424k
    Garbage: 130437k
    Leak: 8497k
    Overhead: 15723k
    GGC runs: 263
    Pre-IPA-Garbage: 38215k
    Pre-IPA-Leak: 55487k
    Pre-IPA-Overhead: 8223k
    Post-IPA-Garbage: 38215k
    Post-IPA-Leak: 55487k
    Post-IPA-Overhead: 8223k

comparing insn-attrtab.c compilation at -O0 -g level:
    Overall memory needed: 156721k
    Peak memory use before GGC: 66504k
    Peak memory use after GGC: 54546k
    Maximum of released memory in single GGC run: 27425k
    Garbage: 130915k
    Leak: 10147k
    Overhead: 16179k
    GGC runs: 255
    Pre-IPA-Garbage: 38272k
    Pre-IPA-Leak: 57029k
    Pre-IPA-Overhead: 8558k
    Post-IPA-Garbage: 38272k
    Post-IPA-Leak: 57029k
    Post-IPA-Overhead: 8558k

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 133421k
    Peak memory use before GGC: 50200k
    Peak memory use after GGC: 43294k
    Maximum of released memory in single GGC run: 22951k
    Garbage: 180858k
    Leak: 7873k
    Overhead: 24504k
    GGC runs: 301
    Pre-IPA-Garbage: 43193k
    Pre-IPA-Leak: 43086k
    Pre-IPA-Overhead: 7642k
    Post-IPA-Garbage: 43193k
    Post-IPA-Leak: 43086k
    Post-IPA-Overhead: 7642k

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 148817k
    Peak memory use before GGC: 50204k
    Peak memory use after GGC: 45013k
    Maximum of released memory in single GGC run: 17964k
    Garbage: 204239k
    Leak: 15536k
    Overhead: 29919k
    GGC runs: 326
    Pre-IPA-Garbage: 43265k
    Pre-IPA-Leak: 43092k
    Pre-IPA-Overhead: 7651k
    Post-IPA-Garbage: 43265k
    Post-IPA-Leak: 43092k
    Post-IPA-Overhead: 7651k

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 162701k -> 162713k
    Peak memory use before GGC: 61829k
    Peak memory use after GGC: 58728k
    Maximum of released memory in single GGC run: 23617k
    Garbage: 242114k
    Leak: 7899k
    Overhead: 33383k
    GGC runs: 338
    Pre-IPA-Garbage: 43265k
    Pre-IPA-Leak: 43092k
    Pre-IPA-Overhead: 7651k
    Post-IPA-Garbage: 43265k
    Post-IPA-Leak: 43092k
    Post-IPA-Overhead: 7651k

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 149971k
    Peak memory use before GGC: 82334k
    Peak memory use after GGC: 81518k
    Maximum of released memory in single GGC run: 14464k
    Garbage: 203879k
    Leak: 52177k
    Overhead: 26827k
    GGC runs: 413
    Pre-IPA-Garbage: 110428k
    Pre-IPA-Leak: 87696k
    Pre-IPA-Overhead: 14731k
    Post-IPA-Garbage: 110428k
    Post-IPA-Leak: 87696k
    Post-IPA-Overhead: 14731k

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
    Overall memory needed: 167927k
    Peak memory use before GGC: 95936k
    Peak memory use after GGC: 94985k
    Maximum of released memory in single GGC run: 14892k
    Garbage: 209586k
    Leak: 78744k
    Overhead: 33492k
    GGC runs: 389
    Pre-IPA-Garbage: 111050k
    Pre-IPA-Leak: 104211k
    Pre-IPA-Overhead: 18235k
    Post-IPA-Garbage: 111050k
    Post-IPA-Leak: 104211k
    Post-IPA-Overhead: 18235k

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 110667k -> 111191k
    Peak memory use before GGC: 84019k -> 84015k
    Peak memory use after GGC: 83178k -> 83174k
    Maximum of released memory in single GGC run: 14739k -> 14737k
    Garbage: 280002k -> 279995k
    Leak: 49485k -> 49477k
    Overhead: 31476k -> 31475k
    GGC runs: 501
    Pre-IPA-Garbage: 158187k -> 158188k
    Pre-IPA-Leak: 87864k -> 87861k
    Pre-IPA-Overhead: 19751k -> 19750k
    Post-IPA-Garbage: 158187k -> 158188k
    Post-IPA-Leak: 87864k -> 87861k
    Post-IPA-Overhead: 19751k -> 19750k

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 111911k -> 111979k
    Peak memory use before GGC: 85783k -> 85779k
    Peak memory use after GGC: 84933k -> 84929k
    Maximum of released memory in single GGC run: 14722k -> 14719k
    Garbage: 335614k -> 335640k
    Leak: 49517k
    Overhead: 38139k -> 38150k
    GGC runs: 572 -> 571
    Pre-IPA-Garbage: 162121k -> 162110k
    Pre-IPA-Leak: 88238k -> 88232k
    Pre-IPA-Overhead: 20226k -> 20224k
    Post-IPA-Garbage: 162121k -> 162110k
    Post-IPA-Leak: 88238k -> 88232k
    Post-IPA-Overhead: 20226k -> 20224k

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 112499k -> 112611k
    Peak memory use before GGC: 86402k -> 86398k
    Peak memory use after GGC: 85546k -> 85542k
    Maximum of released memory in single GGC run: 14722k -> 14719k
    Garbage: 367887k -> 367870k
    Leak: 49529k -> 49523k
    Overhead: 41517k -> 41513k
    GGC runs: 601 -> 602
    Pre-IPA-Garbage: 162201k -> 162190k
    Pre-IPA-Leak: 88895k -> 88890k
    Pre-IPA-Overhead: 20277k -> 20276k
    Post-IPA-Garbage: 162201k -> 162190k
    Post-IPA-Leak: 88895k -> 88890k
    Post-IPA-Overhead: 20277k -> 20276k

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
    Overall memory needed: 361915k -> 361911k
    Peak memory use before GGC: 78518k
    Peak memory use after GGC: 49453k
    Maximum of released memory in single GGC run: 38186k
    Garbage: 144651k
    Leak: 7110k
    Overhead: 24889k
    GGC runs: 87
    Pre-IPA-Garbage: 12561k
    Pre-IPA-Leak: 20190k
    Pre-IPA-Overhead: 2241k
    Post-IPA-Garbage: 12561k
    Post-IPA-Leak: 20190k
    Post-IPA-Overhead: 2241k

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
    Overall memory needed: 362703k -> 362699k
    Peak memory use before GGC: 79215k
    Peak memory use after GGC: 50149k
    Maximum of released memory in single GGC run: 38170k
    Garbage: 144752k
    Leak: 9152k
    Overhead: 25473k
    GGC runs: 93
    Pre-IPA-Garbage: 12569k
    Pre-IPA-Leak: 20439k
    Pre-IPA-Overhead: 2295k
    Post-IPA-Garbage: 12569k
    Post-IPA-Leak: 20439k
    Post-IPA-Overhead: 2295k

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
    Overall memory needed: 227665k
    Peak memory use before GGC: 73624k
    Peak memory use after GGC: 66143k
    Maximum of released memory in single GGC run: 34735k
    Garbage: 222492k
    Leak: 7551k
    Overhead: 30652k
    GGC runs: 97
    Pre-IPA-Garbage: 48348k
    Pre-IPA-Leak: 63005k
    Pre-IPA-Overhead: 8797k
    Post-IPA-Garbage: 48348k
    Post-IPA-Leak: 63005k
    Post-IPA-Overhead: 8797k

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
    Overall memory needed: 358485k -> 358421k
    Peak memory use before GGC: 73624k
    Peak memory use after GGC: 66143k
    Maximum of released memory in single GGC run: 36061k
    Garbage: 251005k
    Leak: 7553k
    Overhead: 36772k
    GGC runs: 106
    Pre-IPA-Garbage: 107058k
    Pre-IPA-Leak: 75901k
    Pre-IPA-Overhead: 14919k
    Post-IPA-Garbage: 107058k
    Post-IPA-Leak: 75901k
    Post-IPA-Overhead: 14919k

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
    Overall memory needed: 1026609k -> 1026545k
    Peak memory use before GGC: 141898k
    Peak memory use after GGC: 129175k
    Maximum of released memory in single GGC run: 62763k
    Garbage: 366831k
    Leak: 9099k
    Overhead: 45135k
    GGC runs: 103
    Pre-IPA-Garbage: 107058k
    Pre-IPA-Leak: 75901k
    Pre-IPA-Overhead: 14919k
    Post-IPA-Garbage: 107058k
    Post-IPA-Leak: 75901k
    Post-IPA-Overhead: 14919k

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2008-12-05 13:52:49.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2008-12-06 06:28:35.000000000 +0000
@@ -1,3 +1,79 @@
+2008-12-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	PR rtl-optimization/38272
+	* reload1.c (choose_reload_regs): Keep reload_spill_index correct
+	in all cases.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/35336
+	* c-pretty-print.c (pp_c_postfix_expression): Handle BIT_FIELD_REF.
+	(pp_c_expression): Likewise.
+
+2008-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+	PR c/38416
+	* c-parser.c (struct c_token): Make pragma_kind 8 bits.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/37248
+	* fold-const.c (make_bit_field_ref): Change bitpos and bitsize
+	arguments to HOST_WIDE_INT.  If type has different signedness
+	than unsignedp or different precision from bitsize, create
+	the right type for BIT_FIELD_REF and cast to type.
+	(fold_truthop): Change first_bit and end_bit to HOST_WIDE_INT.
+
+	Revert:
+	2008-03-05  Richard Guenther  <rguenther@suse.de>
+	PR c++/35336
+	* fold-const.c (fold_truthop): Remove code generating
+	BIT_FIELD_REFs of structure bases.
+	(fold_binary): Likewise.
+	(make_bit_field_ref): Remove.
+	(optimize_bit_field_compare): Remove.
+	(all_ones_mask_p): Remove.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-sra.c (sra_explode_bitfield_assignment): Always
+	call unsigned_type_for, if the precision is higher than
+	needed, call build_nonstandard_integer_type.
+
+	PR debug/38367
+	* function.c (assign_parm_find_stack_rtl): If promoted_mode
+	is wider than DECL_MODE, adjust MEM_OFFSET (stack_parm) for
+	big endian.
+
+	PR middle-end/38338
+	* builtins.c (expand_builtin_apply_args): Put before parm_birth_insn
+	only if internal_arg_pointer is a non-virtual pseudo.
+
+2008-12-05  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000.md (move_from_CR_gt_bit): Enable for
+	TARGET_HARD_FLOAT && !TARGET_FPRS, not TARGET_E500.
+	* config/rs6000/spe.md (e500_cr_ior_compare): Likewise.
+
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/37716
+	* gimplify.c (gimplify_expr): Allow COND_EXPR if
+	gimplify_ctxp->allow_rhs_cond_expr.
+
+2008-12-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/alpha/alpha.c (alpha_fold_vector_minmax): Create
+	VIEW_CONVERT_EXPR to convert output to long_integer_type_node.
+
+	(alpha_emit_conditional_branch): Do not generate direct branch
+	for UNORDERED comparisons.
+
+2008-12-05  Andreas Schwab  <schwab@suse.de>
+
+	* config/rs6000/linux-unwind.h (frob_update_context): Check for
+	NULL lr.
+
 2008-12-05  Jakub Jelinek  <jakub@redhat.com>
 
 	PR c/38408
@@ -18,7 +94,7 @@
 	(c_parser_initelt): Initialise des_loc and ellipsis_loc.
 
 2008-12-04  Eric Botcazou  <ebotcazou@adacore.com>
-            Gary Funck  <gary@intrepid.com>
+	    Gary Funck  <gary@intrepid.com>
 
 	* cse.c (lookup_as_function): Delete mode frobbing code.
 	(equiv_constant): Re-implement it there for SUBREGs.
@@ -45,8 +121,7 @@
 
 2008-12-04  Nick Clifton  <nickc@redhat.com>
 
-	* config/stormy16/stormy16.md: Remove extraneous spaces and
-	quotes.
+	* config/stormy16/stormy16.md: Remove extraneous spaces and quotes.
 	* config/stormy16/stormy16.c: Remove extraneous spaces and fix up
 	formatting of quotes.
 
@@ -70,16 +145,16 @@
 
 2008-12-03  Tomas Bily  <tbily@suse.cz>
 
-        PR middle-end/38250
-        * tree-loop-distribution.c (build_size_arg): New function.
-        (generate_memset_zero): Checks if dr_analyze_innermost succeed.
-        Reorganized generating of stmts.
-        * testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
-        * tree-data-ref.c (dr_analyze_innermost): Returns bool.
-        Indicate if analysis succeed.
-        * tree-data-ref.h (dr_analyze_innermost): Returns bool.
-        * tree-predcom.c (valid_initializer_p, find_looparound_phi):
-        Uses new definition of dr_analyze_innermost.
+	PR middle-end/38250
+	* tree-loop-distribution.c (build_size_arg): New function.
+	(generate_memset_zero): Checks if dr_analyze_innermost succeed.
+	Reorganized generating of stmts.
+	* testsuite/gcc.dg/tree-ssa/pr38250.c: New file.
+	* tree-data-ref.c (dr_analyze_innermost): Returns bool.
+	Indicate if analysis succeed.
+	* tree-data-ref.h (dr_analyze_innermost): Returns bool.
+	* tree-predcom.c (valid_initializer_p, find_looparound_phi):
+	Uses new definition of dr_analyze_innermost.
 
 2008-12-03  Ben Elliston  <bje@au.ibm.com>
 
@@ -100,8 +175,8 @@
 	* configure: Regenerated.
 
 2008-12-03  Eric Botcazou  <ebotcazou@adacore.com>
-            Jakub Jelinek  <jakub@redhat.com>
-            Andrew Pinski  <andrew_pinski@playstation.sony.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+	    Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
 	PR rtl-optimization/38281
 	* combine.c (distribute_notes): When invoking SET_INSN_DELETED on i2,
@@ -151,12 +226,12 @@
 2008-12-02  Martin Jambor  <mjambor@suse.cz>
 
 	PR middle-end/37861
-        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
-        for INDIRECT_REFs.
-        (forward_propagate_addr_into_variable_array_index): Check that the
-        offset is not computed from a MULT_EXPR, use is_gimple_assign rather
-        than the gimple code directly.
-        
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Do not check
+	for INDIRECT_REFs.
+	(forward_propagate_addr_into_variable_array_index): Check that the
+	offset is not computed from a MULT_EXPR, use is_gimple_assign rather
+	than the gimple code directly.
+
 2008-12-02  Ben Elliston  <bje@au.ibm.com>
 
 	* config/spu/float_disf.c (__floatdisf): Prototype.
@@ -185,7 +260,7 @@
 
 2008-12-02  Danny Smith  <dannysmith@users.sourceforge.net>
 
-        PR target/38054
+	PR target/38054
 	* config/i386/winnt.c (i386_pe_encode_section_info): Condition stdcall
 	decoration of function RTL names here on Ada language.
 
@@ -699,13 +774,13 @@
 	(generate_edge_moves): Use store_can_be_removed_p instead of
 	not_modified_p.
 	(ira_emit): Call setup_entered_from_non_parent_p.
-	
+
 	* ira-build.c (copy_info_to_removed_store_destinations):
 	Accumulate CALL_FREQ, CALL_CROSSED_NUM, and
 	ALLOCNO_EXCESS_PRESSURE_POINTS_NUM.
 	(ira_flattening): Don't CHECK MEM_OPTIMIZED_DEST[_P], always
 	update all accumulated attributes.
-	
+
 2008-11-19  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR bootstrap/37790
@@ -714,7 +789,7 @@
 	ira_finish_allocno_live_range_list): New prototypes.
 	(ira_allocno_live_ranges_intersect_p,
 	ira_pseudo_live_ranges_intersect_p): Remove.
-	
+
 	* ira-conflicts.c (ira_allocno_live_ranges_intersect_p,
 	ira_pseudo_live_ranges_intersect_p): Rename to
 	allocnos_have_intersected_live_ranges_p and
@@ -749,7 +824,7 @@
 	(copy_info_to_removed_store_destinations): Ditto.  Use
 	ira_copy_allocno_live_range_list.
 	(ira_flattening): Use ira_merge_allocno_live_ranges.
-	
+
 	* ira.c (too_high_register_pressure_p): New function.
 	(ira): Switch off sharing spill slots if the pressure is too high.
 
@@ -779,7 +854,7 @@
 
 	PR target/38156
 	* tree-parloops.c (loop_parallel_p): NULL vect_dump.
-	(separate_decls_in_region): Create shared struct even when there 
+	(separate_decls_in_region): Create shared struct even when there
 	are only reductions.
 
 2008-11-19  Hariharan Sandanagobalane <hariharan@picochip.com>
@@ -873,7 +948,7 @@
 	* builtins.c (expand_builtin_sync_operation): Warn for changed
 	semantics in NAND builtins.
 	* c.opt (Wsync-nand): New warning option.  Describe -Wsync-nand.
-	
+
 	* doc/invoke.texi (Warning options): Add Wsync-nand.
 	* doc/extend.texi (Atomic Builtins) [__sync_fetch_and_nand]: Correct
 	__sync_fetch_and_nand builtin operation in the example.  Add a note
@@ -1023,7 +1098,7 @@
 	(ira_build): Call it.
 
 	* ira-costs.c (record_reg_classes): Set up ALLOCNO_BAD_SPILL_P.
-	
+
 2008-11-14  Jakub Jelinek  <jakub@redhat.com>
 
 	PR tree-optimization/38104
@@ -1240,7 +1315,7 @@
 	* config/mips/sde.h: Likewise.
 	* config/mips/iris6.h: Likewise.
 	* config/mips/vr.h: Likewise.
-	* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New. 
+	* config/mips/mips.h (BASE_DRIVER_SELF_SPECS): New.
 
 2008-11-10  Vladimir Makarov  <vmakarov@redhat.com>
 
@@ -1280,7 +1355,7 @@
 
 	* ira-costs.c (scan_one_insn): Use alloc_pref for load from
 	equivalent memory.
-	
+
 2008-11-10  Kaz Kojima  <kkojima@gcc.gnu.org>
 
 	PR rtl-optimization/37514
@@ -1343,7 +1418,7 @@
 	PR middle-end/37379
 	* tree-scalar-evolution.c (instantiate_scev_1): Return
 	chrec_dont_know for VL_EXP_CLASS_P.
-	
+
 2008-11-06  Uros Bizjak  <ubizjak@gmail.com>
 
 	* reg-stack.c (reg_to_stack): Add missing braces in memset
@@ -1358,7 +1433,7 @@
 
 	PR target/26397
 	* config/rs6000/aix.h (LIBSTDCXX_STATIC): Define.
-	
+
 2008-11-06  Kazu Hirata  <kazu@codesourcery.com>
 
 	PR target/35574
@@ -1383,7 +1458,7 @@
 
 	* doc/sourcebuild.texi (Torture Tests): Add ADDITIONAL_TORTURE_OPTIONS.
 
-2008-11-06  Ben Elliston  <bje@au.ibm.com>	
+2008-11-06  Ben Elliston  <bje@au.ibm.com>
 
 	* config/rs6000/rs6000.c (rs6000_override_options): Comment fix.
 
@@ -1521,7 +1596,7 @@
 	merging read-only and read-write sections or assembler emits
 	read-write .eh_frame sections.
 	* configure: Regenerate.
-	
+
 2008-11-03  Nathan Froyd  <froydnj@codesourcery.com>
 
 	Revert:
@@ -1670,7 +1745,7 @@
 	PR target/37878
 	* config/rs6000/predicates.md (word_offset_memref_operand):
 	Restructure code and look inside auto-inc/dec addresses.
-	
+
 2008-10-29  Steve Ellcey  <sje@cup.hp.com>
 
 	PR target/32277
@@ -1713,7 +1788,7 @@
 	* real.h (real_can_shorten_arithmetic): Declare.
 
 2008-10-29  Bernd Schmidt  <bernd.schmidt@analog.com>
-	
+
 	* config/bfin/bfin-protos.h (WA_05000257, WA_05000283, WA_05000315,
 	ENABLE_WA_05000257, ENABLE_WA_05000283, ENABLE_WA_05000315): New.
 	* config/bfin/bfin.c (bfin_cpus): Add these workaround bits as
@@ -1796,14 +1871,14 @@
 	* ira-int.h (ira_allocno): Add member updated_cover_class_cost.
 	(ALLOCNO_UPDATED_COVER_CLASS_COST): New.
 	(ira_fast_allocation): Remove the prototype.
-	
+
 	* ira-color.c (update_copy_costs, allocno_cost_compare_func,
 	assign_hard_reg, calculate_allocno_spill_cost): Use updated costs.
 	(color_pass): Modify the updated costs.
 	(ira_color): Rename to color.  Make it static.
 	(ira_fast_allocation): Rename to fast_allocation.  Make it static.
 	(ira_color): New function.
-	
+
 	* ira-conflicts.c (process_regs_for_copy): Propagate hard reg cost
 	change.
 
@@ -1828,7 +1903,7 @@
 
 	* ira-costs.c (setup_allocno_cover_class_and_costs): Don't set up
 	updated costs.
-	
+
 2008-10-27  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR middle-end/37813
@@ -1953,7 +2028,7 @@
 	From Jie Zhang  <jie.zhang@analog.com>
 	* config/bfin/bfin.md (composev2hi): Put operands into vector
 	with correct order.
-	
+
 2008-10-22  Chao-ying Fu  <fu@mips.com>
 
 	* config/mips/mips.opt (msmartmips): Accept -mno-smartmips.
@@ -2065,7 +2140,7 @@
 
 	* doc/invoke.texi (Option Summary): Add -T to linker options.
 	(Link Options): Document -T.
-	
+
 2008-10-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* tree-inline.c (tree_inlinable_function_p): Remove tuples
@@ -2185,14 +2260,14 @@
 
 	* doc/rtl.texi (clobber): Change descriotion of RA behaviour for
 	early clobbers of pseudo-registers.
-	
+
 2008-10-15  Vladimir Makarov  <vmakarov@redhat.com>
 
 	PR middle-end/37674
 	* ira-build.c (ira_flattening): Recalculate
 	ALLOCNO_TOTAL_NO_STACK_REG_P and ALLOCNO_TOTAL_CONFLICT_HARD_REGS
 	from the scratch instead of the propagation.
-	
+
 2008-10-15  Richard Sandiford  <rdsandiford@googlemail.com>
 
 	* doc/rtl.texi (const_double): Remove the "addr" operand.
@@ -2344,7 +2419,7 @@
 	* haifa-sched.c (create_check_block_twin): Update calls to the above.
 	* sel-sched.c (create_speculation_check): Likewise.
 	* doc/tm.texi: Provide documentation for new target hooks.
-		
+
 	* config/ia64/ia64.c: Include sel-sched.h.  Rewrite speculation hooks.
 	(ia64_gen_spec_insn): Removed.
 	(get_spec_check_gen_function, insn_can_be_in_speculative_p,
@@ -2389,7 +2464,7 @@
 	(ia64_dfa_new_cycle): Assert that last_scheduled_insn is set when
 	a group barrier is needed.  Fix vertical spacing.  Guard the code
 	doing state transition with last_scheduled_insn check.
-	Mark that a stop bit should be before current insn if there was a 
+	Mark that a stop bit should be before current insn if there was a
 	cycle advance.  Update current_cycle and mem_ops_in_group.
 	(ia64_h_i_d_extended): Change use of current_sched_info to
 	sched_deps_info. Reallocate stops_p by larger chunks.
@@ -2400,7 +2475,7 @@
 	ia64_free_sched_context): New static functions.
 	(gen_func_t): New typedef.
 	(get_spec_load_gen_function): New function.
-	(SPEC_GEN_EXTEND_OFFSET): Declare.	
+	(SPEC_GEN_EXTEND_OFFSET): Declare.
 	(ia64_set_sched_flags): Check common_sched_info instead of *flags.
 	(get_mode_no_for_insn): Change the condition that prevents use of
 	special hardware registers so it can now handle pseudos.
@@ -2429,7 +2504,7 @@
 	(sel2_run): New variable.
 	(ia64_reorg): When flag_selective_scheduling2 is set, run the
 	selective scheduling pass instead of schedule_ebbs.
-	
+
 	* config/ia64/ia64.md (speculable1, speculable2): New attributes.
 	(UNSPEC_LDS_A): New UNSPEC.
 	(movqi_internal, movhi_internal, movsi_internal, movdi_internal,
@@ -2453,7 +2528,7 @@
 	instead of Common Report Var.
 
 	* config/ia64/itanium2.md: Remove incorrect bypass.
-	
+
 	* config/ia64/t-ia64 (ia64.o): Add dependency on sel-sched.h.
 
 2008-10-14  Jakub Jelinek  <jakub@redhat.com>
@@ -2605,7 +2680,7 @@
 	PR middle-end/37808
 	* df-scan.c (df_ref_change_reg_with_loc_1): Added test to make
 	sure that ref has valid bb.
-	
+
 2008-10-12  Richard Henderson  <rth@redhat.com>
 
 	PR middle-end/37447
@@ -3006,7 +3081,7 @@
 	(print_statistics, dump_alloc_pool_statistics): Enhance the
 	printing of statistics to print the number of elements and to use
 	unsigned longs.
-	
+
 2008-10-07  Jakub Jelinek  <jakub@redhat.com>
 
 	PR middle-end/37576
@@ -3289,7 +3364,7 @@
 
 2008-10-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
-	* config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT 
+	* config/rs6000/rs6000.md (fseldfsf4): Add TARGET_SINGLE_FLOAT
 	condition.
 	(fselsfdf4): Make condition on "TARGET_HARD_FLOAT && TARGET_FPRS &&
 	TARGET_DOUBLE_FLOAT && TARGET_SINGLE_FLOAT".
@@ -3346,7 +3421,7 @@
 	and VECTOR_TYPE recurse with useless_type_conversion_p which
 	properly handles void pointer conversion.
 
-2008-10-02  Danny Smith  <dannysmith@users.sourceforge.net>  
+2008-10-02  Danny Smith  <dannysmith@users.sourceforge.net>
 
 	PR target/37528
 	* config/i386/mingw32.h (LIBGCC_SPEC) : Replace with ..
@@ -3714,7 +3789,7 @@
 	(coalesced_allocnos_live_at_points_p,
 	set_coalesced_allocnos_live_points): New functions.
 	(coalesce_spill_slots): Rewrite.
-	
+
 	* ira-lives.c (remove_some_program_points_and_update_live_ranges,
 	ira_compress_allocno_live_ranges): New functions.
 
@@ -3740,7 +3815,7 @@
 
 2008-09-25 Sergei Dyshel <sergeid@il.ibm.com>
 
-	* matrix-reorg.c (transform_allocation_sites): Initializers 
+	* matrix-reorg.c (transform_allocation_sites): Initializers
 	added to avoid the warning.
 
 2008-09-25  Martin Jambor  <mjambor@suse.cz>
@@ -3960,7 +4035,7 @@
 	ALLOCNO_EXCESS_PRESSURE_POINTS_NUM instead of frequencies and
 	range lengths.  Get rid off doubles.
 	(ira_fast_allocations): Call start_allocno_priorities.
-	
+
 2008-09-22  David Daney  <ddaney@avtrex.com>
 
 	PR target/37593
@@ -4010,7 +4085,7 @@
 
 2008-09-22  Danny Smith  <dannysmith@users.sourceforge.net>
 
-	PR target/37528	
+	PR target/37528
 	* config/i386/t-cygming (SHLIB_LC): Remove.
 	(SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB
 	* config/i386/t-cygwin (SHLIB_LC): Specify all required libraries.
@@ -4124,9 +4199,9 @@
 	* targhooks.c (default_ira_cover_classes): New function.
 
 2008-09-19  Bob Wilson  <bob.wilson@acm.org>
-	
+
 	* config/xtensa/xtensa.md (reload<mode>_literal): Handle MEM operands.
-	
+
 2008-09-19  Ian Lance Taylor  <iant@google.com>
 
 	* varasm.c (narrowing_initializer_constant_valid_p): Return
@@ -4181,7 +4256,7 @@
 	(load_tp, set_tp, tls_func, tls_arg, tls_call): New.
 	* config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare.
 	* configure: Regenerated.
-	
+
 2008-09-18  H.J. Lu  <hongjiu.lu@intel.com>
 
 	PR target/37394
@@ -4303,7 +4378,7 @@
 	PR tree-optimization/37102
 	* tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args
 	from a node. Check to see if another PHI is dead.
-	(eliminate_useless_phis): Rename from eliminate_virtual_phis and 
+	(eliminate_useless_phis): Rename from eliminate_virtual_phis and
 	remove real PHIs which have no uses.
 	(rewrite_out_of_ssa): Call eliminate_useless_phis.
 
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2008-12-05 13:52:46.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2008-12-06 06:28:34.000000000 +0000
@@ -1,3 +1,8 @@
+2008-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/35336
+	* error.c (dump_expr): Handle BIT_FIELD_REF.
+
 2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>
 
 	PR bootstrap/38262


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.



More information about the Gcc-regression mailing list