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

gcctest@suse.de gcctest@suse.de
Tue May 22 06:55:00 GMT 2007


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: 7411k -> 7493k
    Peak memory use before GGC: 2340k
    Peak memory use after GGC: 2012k
    Maximum of released memory in single GGC run: 328k
    Garbage: 481k -> 481k
    Leak: 2390k
    Overhead: 519k -> 519k
    GGC runs: 3

comparing empty function compilation at -O0 -g level:
    Overall memory needed: 7427k -> 7509k
    Peak memory use before GGC: 2367k
    Peak memory use after GGC: 2040k
    Maximum of released memory in single GGC run: 327k
    Garbage: 483k -> 483k
    Leak: 2423k
    Overhead: 523k -> 523k
    GGC runs: 3

comparing empty function compilation at -O1 level:
    Overall memory needed: 7519k -> 7545k
    Peak memory use before GGC: 2340k
    Peak memory use after GGC: 2012k
    Maximum of released memory in single GGC run: 328k
    Garbage: 486k -> 486k
    Leak: 2393k
    Overhead: 519k -> 519k
    GGC runs: 3

comparing empty function compilation at -O2 level:
    Overall memory needed: 7527k -> 7561k
    Peak memory use before GGC: 2340k
    Peak memory use after GGC: 2012k
    Maximum of released memory in single GGC run: 328k
    Garbage: 490k -> 490k
    Leak: 2393k
    Overhead: 520k -> 520k
    GGC runs: 4

comparing empty function compilation at -O3 level:
    Overall memory needed: 7527k -> 7561k
    Peak memory use before GGC: 2340k
    Peak memory use after GGC: 2012k
    Maximum of released memory in single GGC run: 328k
    Garbage: 490k -> 490k
    Leak: 2393k
    Overhead: 520k -> 520k
    GGC runs: 4

comparing combine.c compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 17679k to 22429k, overall 26.87%
  Amount of produced GGC garbage increased from 37690k to 38371k, overall 1.80%
    Overall memory needed: 17679k -> 22429k
    Peak memory use before GGC: 9030k -> 9035k
    Peak memory use after GGC: 8270k -> 8246k
    Maximum of released memory in single GGC run: 1874k -> 1595k
    Garbage: 37690k -> 38371k
    Leak: 7016k
    Overhead: 4753k -> 4988k
    GGC runs: 279 -> 280

comparing combine.c compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 19579k to 24361k, overall 24.42%
  Peak amount of GGC memory still allocated after garbage collecting increased from 9990k to 10005k, overall 0.15%
  Amount of produced GGC garbage increased from 38007k to 38740k, overall 1.93%
    Overall memory needed: 19579k -> 24361k
    Peak memory use before GGC: 10766k -> 10770k
    Peak memory use after GGC: 9990k -> 10005k
    Maximum of released memory in single GGC run: 1558k -> 1891k
    Garbage: 38007k -> 38740k
    Leak: 9909k
    Overhead: 5459k -> 5694k
    GGC runs: 269 -> 271

comparing combine.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 30011k to 35285k, overall 17.57%
  Amount of produced GGC garbage increased from 52609k to 54066k, overall 2.77%
    Overall memory needed: 30011k -> 35285k
    Peak memory use before GGC: 17868k -> 17850k
    Peak memory use after GGC: 17670k
    Maximum of released memory in single GGC run: 1454k -> 1346k
    Garbage: 52609k -> 54066k
    Leak: 7068k -> 7068k
    Overhead: 5934k -> 6254k
    GGC runs: 357 -> 363

comparing combine.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 34411k to 37145k, overall 7.95%
  Amount of produced GGC garbage increased from 69771k to 71142k, overall 1.96%
  Amount of memory still referenced at the end of compilation increased from 7184k to 7192k, overall 0.11%
    Overall memory needed: 34411k -> 37145k
    Peak memory use before GGC: 17896k
    Peak memory use after GGC: 17684k
    Maximum of released memory in single GGC run: 1367k -> 1363k
    Garbage: 69771k -> 71142k
    Leak: 7184k -> 7192k
    Overhead: 8070k -> 8413k
    GGC runs: 415 -> 422

comparing combine.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 40747k to 43653k, overall 7.13%
  Amount of produced GGC garbage increased from 95452k to 97091k, overall 1.72%
    Overall memory needed: 40747k -> 43653k
    Peak memory use before GGC: 18114k -> 18125k
    Peak memory use after GGC: 17888k
    Maximum of released memory in single GGC run: 3637k
    Garbage: 95452k -> 97091k
    Leak: 7298k -> 7290k
    Overhead: 11341k -> 11743k
    GGC runs: 449 -> 456

comparing insn-attrtab.c compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 92895k to 140905k, overall 51.68%
  Peak amount of GGC memory allocated before garbage collecting increased from 58851k to 59801k, overall 1.61%
  Amount of produced GGC garbage increased from 129130k to 131850k, overall 2.11%
    Overall memory needed: 92895k -> 140905k
    Peak memory use before GGC: 58851k -> 59801k
    Peak memory use after GGC: 33346k -> 32807k
    Maximum of released memory in single GGC run: 33675k -> 34625k
    Garbage: 129130k -> 131850k
    Leak: 9852k
    Overhead: 13890k -> 14381k
    GGC runs: 216 -> 220

comparing insn-attrtab.c compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 94163k to 142145k, overall 50.96%
  Peak amount of GGC memory allocated before garbage collecting increased from 60013k to 60963k, overall 1.58%
  Amount of produced GGC garbage increased from 129352k to 132068k, overall 2.10%
    Overall memory needed: 94163k -> 142145k
    Peak memory use before GGC: 60013k -> 60963k
    Peak memory use after GGC: 34507k -> 33968k
    Maximum of released memory in single GGC run: 33676k -> 34626k
    Garbage: 129352k -> 132068k
    Leak: 11561k
    Overhead: 14287k -> 14778k
    GGC runs: 211 -> 218

comparing insn-attrtab.c compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 107799k to 152269k, overall 41.25%
  Amount of produced GGC garbage increased from 227833k to 232076k, overall 1.86%
    Overall memory needed: 107799k -> 152269k
    Peak memory use before GGC: 62282k -> 62286k
    Peak memory use after GGC: 59781k -> 59785k
    Maximum of released memory in single GGC run: 24268k -> 23609k
    Garbage: 227833k -> 232076k
    Leak: 9740k
    Overhead: 25416k -> 26102k
    GGC runs: 245 -> 250

comparing insn-attrtab.c compilation at -O2 level:
  Amount of produced GGC garbage increased from 263776k to 265881k, overall 0.80%
    Overall memory needed: 165783k -> 165861k
    Peak memory use before GGC: 62710k
    Peak memory use after GGC: 60106k
    Maximum of released memory in single GGC run: 20519k -> 21321k
    Garbage: 263776k -> 265881k
    Leak: 9731k -> 9731k
    Overhead: 31000k -> 31484k
    GGC runs: 266 -> 273

comparing insn-attrtab.c compilation at -O3 level:
  Amount of produced GGC garbage increased from 292948k to 295050k, overall 0.72%
    Overall memory needed: 180783k -> 179269k
    Peak memory use before GGC: 75342k
    Peak memory use after GGC: 70912k
    Maximum of released memory in single GGC run: 22137k -> 22939k
    Garbage: 292948k -> 295050k
    Leak: 9735k -> 9735k
    Overhead: 32721k -> 33204k
    GGC runs: 266 -> 275

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 145872k to 153827k, overall 5.45%
  Amount of produced GGC garbage increased from 206722k to 208681k, overall 0.95%
    Overall memory needed: 145872k -> 153827k
    Peak memory use before GGC: 89198k
    Peak memory use after GGC: 88315k
    Maximum of released memory in single GGC run: 18130k
    Garbage: 206722k -> 208681k
    Leak: 51196k -> 51201k
    Overhead: 23434k -> 24222k
    GGC runs: 408 -> 410

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 163572k to 173855k, overall 6.29%
  Amount of produced GGC garbage increased from 212402k to 214360k, overall 0.92%
    Overall memory needed: 163572k -> 173855k
    Peak memory use before GGC: 101755k
    Peak memory use after GGC: 100747k
    Maximum of released memory in single GGC run: 18434k
    Garbage: 212402k -> 214360k
    Leak: 74511k -> 74516k
    Overhead: 29330k -> 30118k
    GGC runs: 381 -> 382

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 141785k to 150500k, overall 6.15%
  Amount of produced GGC garbage increased from 343589k to 346908k, overall 0.97%
    Overall memory needed: 141785k -> 150500k
    Peak memory use before GGC: 100961k
    Peak memory use after GGC: 99962k
    Maximum of released memory in single GGC run: 17471k
    Garbage: 343589k -> 346908k
    Leak: 51791k -> 51790k
    Overhead: 30707k -> 31501k
    GGC runs: 530 -> 534

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 147233k to 158084k, overall 7.37%
  Amount of produced GGC garbage increased from 391534k to 394711k, overall 0.81%
    Overall memory needed: 147233k -> 158084k
    Peak memory use before GGC: 101412k -> 101411k
    Peak memory use after GGC: 100401k
    Maximum of released memory in single GGC run: 17468k
    Garbage: 391534k -> 394711k
    Leak: 52907k -> 52907k
    Overhead: 36274k -> 37071k
    GGC runs: 581

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 149589k to 160460k, overall 7.27%
  Amount of produced GGC garbage increased from 426097k to 429249k, overall 0.74%
    Overall memory needed: 149589k -> 160460k
    Peak memory use before GGC: 103017k -> 103024k
    Peak memory use after GGC: 101989k
    Maximum of released memory in single GGC run: 17871k
    Garbage: 426097k -> 429249k
    Leak: 53215k -> 53215k
    Overhead: 38923k -> 39706k
    GGC runs: 604

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 244624k to 344493k, overall 40.83%
  Amount of produced GGC garbage increased from 144419k to 144989k, overall 0.39%
    Overall memory needed: 244624k -> 344493k
    Peak memory use before GGC: 81032k -> 80326k
    Peak memory use after GGC: 58771k -> 58064k
    Maximum of released memory in single GGC run: 44134k -> 43620k
    Garbage: 144419k -> 144989k
    Leak: 7739k -> 7547k
    Overhead: 23302k -> 24699k
    GGC runs: 79 -> 74

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
  Overall memory allocated via mmap and sbrk increased from 245404k to 345297k, overall 40.71%
  Amount of produced GGC garbage increased from 144536k to 145094k, overall 0.39%
    Overall memory needed: 245404k -> 345297k
    Peak memory use before GGC: 81678k -> 80972k
    Peak memory use after GGC: 59417k -> 58711k
    Maximum of released memory in single GGC run: 44123k -> 43609k
    Garbage: 144536k -> 145094k
    Leak: 9507k -> 9315k
    Overhead: 23798k -> 25195k
    GGC runs: 87 -> 82

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 243819k to 306449k, overall 25.69%
  Amount of produced GGC garbage increased from 222960k to 232499k, overall 4.28%
    Overall memory needed: 243819k -> 306449k
    Peak memory use before GGC: 83514k -> 83376k
    Peak memory use after GGC: 74913k
    Maximum of released memory in single GGC run: 39403k -> 39402k
    Garbage: 222960k -> 232499k
    Leak: 20982k -> 20982k
    Overhead: 29140k -> 31835k
    GGC runs: 81

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 264051k to 317497k, overall 20.24%
  Amount of produced GGC garbage increased from 229674k to 240414k, overall 4.68%
    Overall memory needed: 264051k -> 317497k
    Peak memory use before GGC: 79899k
    Peak memory use after GGC: 74913k
    Maximum of released memory in single GGC run: 33013k
    Garbage: 229674k -> 240414k
    Leak: 21072k -> 21072k
    Overhead: 31164k -> 34078k
    GGC runs: 91 -> 92

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 1297803k to 1034801k, overall -25.42%
  Amount of produced GGC garbage increased from 363313k to 369148k, overall 1.61%
    Overall memory needed: 1297803k -> 1034801k
    Peak memory use before GGC: 190671k
    Peak memory use after GGC: 178187k
    Maximum of released memory in single GGC run: 80665k -> 80830k
    Garbage: 363313k -> 369148k
    Leak: 46439k -> 46439k
    Overhead: 43894k -> 46369k
    GGC runs: 72 -> 74

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2007-05-21 12:32:59.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2007-05-21 16:50:18.000000000 +0000
@@ -1,275 +1,3 @@
-2007-05-21  Andreas Schwab  <schwab@suse.de>
-
-	* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
-	NOTE_INSN_BASIC_BLOCK_P.
-	(process_for_unwind_directive): Likewise.
-
-2007-05-21  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* builtins.c (expand_builtin_setjmp_setup): Update comment.
-	* function.h (struct function): Move va_list_gpr_size,
-	va_list_fpr_size, function_frequency to front of bitfields.  Add
-	calls_unwind_init.
-	(current_function_calls_unwind_init): New.
-	* except.c (expand_builtin_unwind_init): Set
-	current_function_calls_unwind_init not
-	current_function_has_nonlocal_label.
-	* reload1.c (has_nonexceptional_receiver): New.
-	(reload): Use it and current_function_calls_unwind_init to
-	determine whether call-saved regs must be saved.
-
-2007-05-20  Jan Hubicka  <jh@suse.cz>
-
-	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
-	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	* ddg.c (create_ddg): LIkewise.
-	* final.c (final): Remove hunk moving line numbernotes around since
-	they are no longer present at this stage.
-	(final_scan_insn): Use NOTE_KIND instead of
-	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	(output_asm_label): Likewise.
-	* reorg.c (dbr_schedule): Likewise.
-	* haifa-sched.c (unlink_other_notes): Likewise.
-	* mode-switching.c (optimize_mode_switching): Likewise.
-	* graph.c (start_bb): Likewise.
-	* rtl.def (NOTE): Update description.
-	* jump.c (squeeze_notes): Delete.
-	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
-	NOTE_INSN_BASIC_BLOCK_P when possible.
-	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
-	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
-        NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	(dwarf2out_var_location): Likewise.
-	* cfgbuild.c (make_edges): Likewise.
-	(find_basic_blocks_1): Likewise.
-	* function.c (reorder_blocks_1): Likewise.
-	(epilogue_done): Likewise.
-	(reposition_prologue_and_epilogue_notes): Likewise.
-	* print-rtl.c (print_rtx): Likewise; drop code for printing line number
-	notes.
-	(print_rtl): Likewise.
-	(print_rtl_single): Likewise.
-	* gcse.c (insert_insn_start_bb): Likewise.
-	* alias.c (init_alias_analysis): Likewise.
-	* calls.c (fixup_tail_calls): Likewise.
-	* except.c (sjlj_emit_function_enter): Likewise.
-	* emit-rtl.c (add_insn_after): Likeiwse.
-	(emit_label_before): Likewise.
-	(emit_label_after): Likewise.
-	(emit_note_before, emit_note_after, emit_note): Update
-	parameter to be enum insn_note; do not deal with source
-	files.
-	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
-	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
-	when possible.
-	(merge_blocks_move_successor_nojumps): Simplify now when
-	we don't have BLOCK notes.
-	(try_optimize_cfg): Likewise.
-	* cfglayout.c (skip_insns_after_block): Likewise.
-	(record_effective_endpoints): Likewise.
-	(duplicate_insn_chain): Likewise.
-	* varasm.c (output_constant_pool_1): Likewise.
-	* sched-deps.c (sched_analyze): Likewise.
-	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
-	Exterminate.
-	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
-	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
-	(SET_INSN_DELETED): Simplify.
-	(NOTE_LINE_NUMBER): Exterminate.
-	(NOTE_LINE_KIND): New.
-	(NOTE_INSN_BASIC_BLOCK_P): Update.
-	(enum insn_note): Simplify.
-	(GET_NOTE_INSN_NAME) Simplify.
-	(emit_note_before, emit_note_after, emit_note): Update prototype.
-	(squeeze_notes): Remove.
-	* sched-int.h (NOTE_NOT_BB_P): Update.
-	* resource.c (mark_target_live_regs): Update.
-	* sched-rgn.c (debug_dependencies): Update.
-	* sched-vis.c (print_insn): Update.
-	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
-	* config/i386/i386.c (ix86_output_function_epilogue): Update.
-	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
-	(TARGET_ADJUST_UNROLL_MAX): Likewise.
-	(split_branches): Update.
-	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
-	4.0.0.
-	(sh_adjust_unroll_max): Exterminate.
-	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
-	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
-	(m68hc11_reorg): Likewise.
-	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
-	(emit_predicate_relation_info): Update.
-	(process_for_unwind_directive): Update.
-	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
-	(output_call): Update.
-	* config/pa/pa.c (output_lbranch): Update.
-	(output_millicode_call): Update.
-	(output_call): Update.
-	(pa_combine_instructions): Update.
-	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
-	* config/bfin/bfin.c (gen_one_bundle): Update.
-	* cfgrtl.c (can_delete_note_p): Update.
-	(delete_insn): Update.
-	(rtl_merge_blocks): Update.
-	(commit_one_edge_insertion): Update.
-	(rtl_verify_flow_info): Update.
-	* stmt.c (expand_case): Do not call squeeze_notes.
-
-2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-	
-	PR middle-end/7651
-	PR c++/11856
-	PR c/12963
-	PR c/23587
-	PR other/29694
-	* c.opt (Wtype-limits): New.
-	* doc/invoke.texi (Wtype-limits): Document it.
-	(Wextra): Enabled by -Wextra.
-	* c-opts.c (c_common_post_options): Enabled by -Wextra.
-	* c-common.c (shorten_compare): Warn with Wtype-limits.
-
-2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
-	inlined function, not as a macro.
-	(_mm_alignr_pi8): Ditto.
-	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
-	(_mm_inserti_si64): Ditto.
-	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
-	(_mm_extract_epi16): Ditto.
-	(_mm_insert_epi16): Ditto.
-	(_mm_shufflehi_epi16): Ditto.
-	(_mm_shufflelo_epi16): Ditto.
-	(_mm_shuffle_epi32): Ditto.
-	* config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
-	* config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
-	all functions.
-	(_m_from_float): Add __extension__ to conversion.  Use 0.0f for
-	float constant.
-	(_m_to_float): Use C89 compatible assignment.
-
-2007-04-20  Martin Michlmayr  <tbm@cyrius.com>
-
-	PR target/32007
-	* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.
-
-2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/7651
-	* doc/invoke.texi (Wreturn-type): Complete description.
-	(Wextra): Delete item about return-type warning.
-	* c-decl.c: Delete redundant Wextra warning.
-	
-2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31585
-	* config/i386/pmmintrin.h: Do not include xmmintrin.h
-	* config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
-	inlined function, not as a macro.
-	(_mm_prefetch): Ditto.
-	(_m_pextrw): Ditto.
-	(_mm_insert_pi16): Ditto.
-	(_m_pinsrw): Ditto.
-	(_mm_shuffle_pi16): Ditto.  Add const to __N argument.
-	(_m_pshufw): Ditto. Add const to __N argument.
-	(_mm_shufle_ps): Ditto.  Add const to __mask argument.
-	* config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
-	(_mm_slli_epi32): Ditto.
-	(_mm_srli_si128): Implement as always inlined function, not as a macro.
-	Add __inline to function declaration.
-	(_mm_slli_si128): Ditto.
-
-2007-05-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
-	FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
-	New constants.
-	(struct fenv): New structure.
-	(FP_HANDLE_EXCEPTIONS): New define.
-	(FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
-	(_FP_DECL_EXP): New define.
-	(FP_INIT_ROUNDMODE): New define.
-	(FP_ROUNDMODE): New define.
-
-2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
-	(Wconversion): Update description.
-	(Wconversion-sign): New.
-	* c.opt (Wconversion-sign): New.
-	* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
-	means disabled for C++. Otherwise, take the status of Wconversion.
-	* c-common.c (conversion_warning): Warn with either Wconversion or
-	Wconversion-sign.
-	(warnings_for_convert_and_check): Conditions are already checked by
-	conversion_warning.
-	(convert_and_check): Don't check warnings if the conversion failed.
-
-2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
-	   Anatoly Sokolov <aesok@dol.ru>
-
-	* config/avr/avr-protos.h (expand_prologue, expand_epilogue, 
-	avr_epilogue_uses) : Add declaration.
-	* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
-	* config/avr/constraints.md (R): New constraint.
-	config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI, 
-	UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
-	(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
-	(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
-	(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt, 
-	call_prologue_saves, epilogue_restores, return_from_epilogue,
-	return_from_main_epilogue, return_from_interrupt_epilogue, 
-	return_from_naked_epilogue, prologue, epilogue): New patterns.
-	(jump): Handle symbol reference.
-	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr, 
-	avr_output_function_prologue, avr_output_function_epilogue): Remove 
-	functions.
-	(avr_init_machine_status, expand_prologue, expand_epilogue, 
-	avr_asm_function_end_prologue, avr_epilogue_uses, 
-	avr_asm_function_begin_epilogue): New functions.
-	(prologue_size, epilogue_size, jump_tables_size): Remove global 
-	variables.
-	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
-	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
-	(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
-	(avr_override_options): Initialise init_machine_status.
-	(output_movhi): Handle all stack pointer loads.
-	(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
-	(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
-	* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
-	(EPILOGUE_USES) Redefine.
-	(machine_function) Declare.
-
-2007-05-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
-	Use a single return statement.
-
-2007-05-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/30250
-	* builtins.c (do_mpfr_lgamma_r): New.
-	(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
-	* tree.h (CASE_FLT_FN_REENT): New.
-
-2007-05-18  Geoffrey Keating  <geoffk@apple.com>
-
-	* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
-	(output_die): Use 'unsigned long' with %x.
-	* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
-	HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
-	* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.
-
-	* unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.
-
-2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/31989
-	PR target/31681
-	PR target/31666
-	* config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to
-	true if function has no argument.
-
 2007-05-18  DJ Delorie  <dj@redhat.com>
 
 	* config/mips/mips.c (mips_offset_within_alignment_p): New.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2007-05-20 04:37:24.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2007-05-21 16:48:23.000000000 +0000
@@ -1,12 +1,3 @@
-2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* cvt.c (cp_convert_and_check): Don't check warnings if the
-	conversion failed.
-
-2007-05-18  Geoffrey Keating  <geoffk@apple.com>
-
-	* mangle.c (write_real_cst): Use 'unsigned long' for %lx.
-
 2007-05-14  Paolo Carlini  <pcarlini@suse.de>
 
 	PR c++/29928


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