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!


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 combine.c compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 9433k to 9651k, overall 2.31%
  Peak amount of GGC memory still allocated after garbage collectin increased from 8746k to 8963k, overall 2.48%
  Amount of produced GGC garbage increased from 42290k to 42422k, overall 0.31%
  Amount of memory still referenced at the end of compilation increased from 6463k to 6711k, overall 3.83%
    Overall memory needed: 25000k -> 24808k
    Peak memory use before GGC: 9433k -> 9651k
    Peak memory use after GGC: 8746k -> 8963k
    Maximum of released memory in single GGC run: 2796k -> 2791k
    Garbage: 42290k -> 42422k
    Leak: 6463k -> 6711k
    Overhead: 5871k -> 5914k
    GGC runs: 327 -> 330

comparing combine.c compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 8959k to 9186k, overall 2.53%
  Peak amount of GGC memory still allocated after garbage collectin increased from 8543k to 8760k, overall 2.54%
  Amount of produced GGC garbage increased from 63030k to 63255k, overall 0.36%
  Amount of memory still referenced at the end of compilation increased from 6839k to 7086k, overall 3.62%
    Overall memory needed: 27416k -> 27584k
    Peak memory use before GGC: 8959k -> 9186k
    Peak memory use after GGC: 8543k -> 8760k
    Maximum of released memory in single GGC run: 2227k -> 2219k
    Garbage: 63030k -> 63255k
    Leak: 6839k -> 7086k
    Overhead: 7599k -> 7641k
    GGC runs: 519 -> 521

comparing combine.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 19832k to 24852k, overall 25.31%
  Peak amount of GGC memory allocated before garbage collecting increased from 12790k to 18366k, overall 43.60%
  Peak amount of GGC memory still allocated after garbage collectin increased from 12534k to 18179k, overall 45.04%
  Amount of memory still referenced at the end of compilation increased from 6654k to 7034k, overall 5.71%
    Overall memory needed: 19832k -> 24852k
    Peak memory use before GGC: 12790k -> 18366k
    Peak memory use after GGC: 12534k -> 18179k
    Maximum of released memory in single GGC run: 2624k -> 2523k
    Garbage: 87655k -> 87701k
    Leak: 6654k -> 7034k
    Overhead: 10937k -> 10949k
    GGC runs: 536 -> 483

comparing combine.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 22588k to 25596k, overall 13.32%
  Peak amount of GGC memory allocated before garbage collecting increased from 14396k to 18479k, overall 28.36%
  Peak amount of GGC memory still allocated after garbage collectin increased from 12941k to 18179k, overall 40.48%
  Amount of memory still referenced at the end of compilation increased from 7117k to 7133k, overall 0.23%
    Overall memory needed: 22588k -> 25596k
    Peak memory use before GGC: 14396k -> 18479k
    Peak memory use after GGC: 12941k -> 18179k
    Maximum of released memory in single GGC run: 3073k -> 3390k
    Garbage: 122063k -> 122024k
    Leak: 7117k -> 7133k
    Overhead: 15068k -> 15052k
    GGC runs: 610 -> 540

comparing insn-attrtab.c compilation at -O0 level:
  Peak amount of GGC memory still allocated after garbage collectin increased from 45258k to 45356k, overall 0.22%
  Amount of memory still referenced at the end of compilation increased from 11183k to 11538k, overall 3.17%
    Overall memory needed: 85872k -> 85596k
    Peak memory use before GGC: 74237k -> 73852k
    Peak memory use after GGC: 45258k -> 45356k
    Maximum of released memory in single GGC run: 38092k -> 37612k
    Garbage: 154651k -> 154203k
    Leak: 11183k -> 11538k
    Overhead: 19887k -> 19905k
    GGC runs: 268

comparing insn-attrtab.c compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 81342k to 81439k, overall 0.12%
  Peak amount of GGC memory still allocated after garbage collectin increased from 66516k to 66613k, overall 0.15%
  Amount of memory still referenced at the end of compilation increased from 11475k to 11599k, overall 1.08%
    Overall memory needed: 103036k -> 103340k
    Peak memory use before GGC: 81342k -> 81439k
    Peak memory use after GGC: 66516k -> 66613k
    Maximum of released memory in single GGC run: 35984k -> 35967k
    Garbage: 307434k -> 306641k
    Leak: 11475k -> 11599k
    Overhead: 37576k -> 37507k
    GGC runs: 385 -> 386

comparing insn-attrtab.c compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 140880k to 156708k, overall 11.24%
  Peak amount of GGC memory allocated before garbage collecting increased from 107783k to 120517k, overall 11.81%
  Peak amount of GGC memory still allocated after garbage collectin increased from 82777k to 95638k, overall 15.54%
    Overall memory needed: 140880k -> 156708k
    Peak memory use before GGC: 107783k -> 120517k
    Peak memory use after GGC: 82777k -> 95638k
    Maximum of released memory in single GGC run: 35350k -> 32923k
    Garbage: 404106k -> 403168k
    Leak: 11444k -> 11447k
    Overhead: 50480k -> 50375k
    GGC runs: 335 -> 307

comparing insn-attrtab.c compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 140904k to 156720k, overall 11.22%
  Peak amount of GGC memory allocated before garbage collecting increased from 107783k to 120519k, overall 11.82%
  Peak amount of GGC memory still allocated after garbage collectin increased from 82776k to 95640k, overall 15.54%
    Overall memory needed: 140904k -> 156720k
    Peak memory use before GGC: 107783k -> 120519k
    Peak memory use after GGC: 82776k -> 95640k
    Maximum of released memory in single GGC run: 35350k -> 32923k
    Garbage: 404881k -> 403961k
    Leak: 11467k -> 11464k
    Overhead: 50600k -> 50496k
    GGC runs: 342 -> 313

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Overall memory allocated via mmap and sbrk increased from 111864k to 126912k, overall 13.45%
  Peak amount of GGC memory allocated before garbage collecting increased from 87277k to 102906k, overall 17.91%
  Peak amount of GGC memory still allocated after garbage collectin increased from 85812k to 101885k, overall 18.73%
  Amount of produced GGC garbage increased from 246714k to 247848k, overall 0.46%
    Overall memory needed: 111864k -> 126912k
    Peak memory use before GGC: 87277k -> 102906k
    Peak memory use after GGC: 85812k -> 101885k
    Maximum of released memory in single GGC run: 20589k -> 21112k
    Garbage: 246714k -> 247848k
    Leak: 53800k -> 53826k
    Overhead: 43019k -> 43099k
    GGC runs: 370 -> 347

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Overall memory allocated via mmap and sbrk increased from 94464k to 120300k, overall 27.35%
  Peak amount of GGC memory allocated before garbage collecting increased from 86367k to 111954k, overall 29.63%
  Peak amount of GGC memory still allocated after garbage collectin increased from 84842k to 100813k, overall 18.82%
  Amount of produced GGC garbage increased from 565212k to 680555k, overall 20.41%
  Amount of memory still referenced at the end of compilation increased from 57250k to 57802k, overall 0.96%
    Overall memory needed: 94464k -> 120300k
    Peak memory use before GGC: 86367k -> 111954k
    Peak memory use after GGC: 84842k -> 100813k
    Maximum of released memory in single GGC run: 20256k -> 20026k
    Garbage: 565212k -> 680555k
    Leak: 57250k -> 57802k
    Overhead: 71877k -> 86820k
    GGC runs: 613 -> 524

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Overall memory allocated via mmap and sbrk increased from 94440k to 120300k, overall 27.38%
  Peak amount of GGC memory allocated before garbage collecting increased from 86367k to 111954k, overall 29.63%
  Peak amount of GGC memory still allocated after garbage collectin increased from 84842k to 100813k, overall 18.82%
  Amount of produced GGC garbage increased from 659941k to 791695k, overall 19.96%
  Amount of memory still referenced at the end of compilation increased from 58077k to 58785k, overall 1.22%
    Overall memory needed: 94440k -> 120300k
    Peak memory use before GGC: 86367k -> 111954k
    Peak memory use after GGC: 84842k -> 100813k
    Maximum of released memory in single GGC run: 20255k -> 20025k
    Garbage: 659941k -> 791695k
    Leak: 58077k -> 58785k
    Overhead: 90267k -> 106819k
    GGC runs: 707 -> 617

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Overall memory allocated via mmap and sbrk increased from 95604k to 123184k, overall 28.85%
  Peak amount of GGC memory allocated before garbage collecting increased from 87290k to 113951k, overall 30.54%
  Peak amount of GGC memory still allocated after garbage collectin increased from 86123k to 102645k, overall 19.18%
  Amount of produced GGC garbage increased from 679564k to 814120k, overall 19.80%
  Amount of memory still referenced at the end of compilation increased from 58856k to 59276k, overall 0.71%
    Overall memory needed: 95604k -> 123184k
    Peak memory use before GGC: 87290k -> 113951k
    Peak memory use after GGC: 86123k -> 102645k
    Maximum of released memory in single GGC run: 20516k -> 21328k
    Garbage: 679564k -> 814120k
    Leak: 58856k -> 59276k
    Overhead: 93012k -> 109903k
    GGC runs: 707 -> 623

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2005-05-17 04:21:43.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2005-05-17 17:02:09.000000000 +0000
@@ -1,3 +1,287 @@
+2005-05-17  Steven Bosscher  <stevenb@suse.de>
+	    Stuart Hastings <stuart@apple.com>
+	    Jan Hubicka  <jh@suse.cz>
+	    Dale Johannesen  <dalej@apple.com>
+
+	* cgraph.h (cgraph_node): Add 'lowered' state.
+	(cgraph_lower_function): Declare.
+	* cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
+	(cgraph_lower_function): New function.
+	(cgraph_create_edges): Deal with lowered function bodies.
+	(verify_cgraph_node): Likewise.
+	(cgraph_analyze_function): Do lowering job.
+	(cgraph_build_static_cdtor): Likewise.
+	* function.h (struct function): Add saved_eh and saved_cfg.
+	* integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
+	* tree-cfg.c (fold_cond_expr_cond): Export.
+	* tree-flow.h (fold_cond_expr_cond): Declare.
+	* tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
+	pointer-set.
+	(struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
+	in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
+	callee_cfun, block, eh_region, eh_region_offset.
+	(inlining_p): New predicate.
+	(remap_decl): Update for new inline_data; declare newly created inline
+	vars in low gimple way.
+	(copy_body_r): Update for new datastructure, simplify some of handling
+	when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
+	deal with RESX_EXPRs.
+	(copy_bb): New.
+	(copy_edges_for_bb): Likewise.
+	(remap_decl_1): New.
+	(copy_cfg_body): New.
+	(copy_generic_body): Rewrite to work on low gimple.
+	(copy_body): Turn into simple wrapper around copy_cfg_body.
+	(setup_one_parameter): Insert new statements into given basic block.
+	(initialize_initialized_parameters): Likewise, reorganize way things are
+	gimplified.
+	(declare_return_variable): Update for new inline data datastructure.
+	(inline_forbidden_p): Work on low gimple.
+	(estimate_num_insns): Likewise.
+	(expand_call_inline): Work on CFG.
+	(push_cfun, pop_cfun): New functions.
+	(cfun_stack): New stack.
+	(add_lexical_block): New function.
+	(gimple_expand_calls_inline): Work on basic block.
+	(optimize_inline_calls): Likewise.
+	(clone_body, save_body, unsave_ewpr_now): Update for new
+	datastructures.
+	(declare_inline_vars): Work on block instead of bind_expr.
+	(inlining_p): New predicate.
+	* tree-inline.h (push_cfun, pop_cfun): Declare.
+	* tree-optimize.c: Include except.h
+	(all_lowering_passes): New variable.
+	(execute_fixup_cfg, pass_fixup_cfg): New pass.
+	(init_tree_optimization_passes): Move some to all_lowering_passes.
+	(tree_lowering_passes): New function.
+	(tree_rest_of_compilation): Register cfg hooks; save/unsave eh.
+
+2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* unwind-dw2-fde-darwin.c: Include tsystem.h.
+
+2005-05-17  Jeff Law  <law@redhat.com>
+
+	* Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h.
+	* tree-ssa-forwprop.c: Include langhooks.h.
+	(forward_propagate_addr_expr_into_variable_array_index): New.
+	(forward_propagate_addr_expr): New.
+	(tree_ssa_forward_propagate_single_use_vars): Loop over all
+	the statements in the block instead of just the last statement.
+	Call forward_propagate_addr_expr as needed.
+	(pass_forwprop): Update the SSA graph after forward propagation is
+	complete.
+
+2005-05-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* unwind-dw2-fde-glibc.c (base_from_cb_data,
+	_Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
+	appropriate.
+	* unwind-dw2-fde.c (__deregister_frame_info_bases,
+	base_from_object, fde_split, end_fde_sort): Likewise.
+	* unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op, 
+	execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
+	uw_init_context_1): Likewise.
+	* unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
+	_Unwind_Resume_or_Rethrow): Likewise.
+	* unwind-pe.h (__gxx_abort): Do not define.
+	(size_of_encoded_value, base_of_encoded_value,
+	read_encoded_value_with_base): Use gcc_unreachable.
+	* unwind.h (_Unwind_GetTextRelBase): Likewise.
+
+2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start)
+	(cfi_end): New macros.
+	(RETLDM): Use cfi_pop.  Expect an eight byte stack frame.
+	(ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros.  Create
+	an eight byte stack frame.
+	(__NR_tkill): Define.
+	(__div0): Use gettid tkill on GNU/Linux.
+	(_arm_return): Add CFI.
+	(Lchange_\register, .Lchange_lr): Create an eight byte stack frame.
+
+2005-05-17  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* configure.ac: Remove spaces around assignment to
+	gcc_cv_ld_sysroot.
+	* configure: Regenerated.
+
+2005-05-17  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete.
+	* config/rs6000/rs6000.c (rs6000_explicit_options): Add
+	aix_struct_ret.
+	(rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE.
+	Modify aix_struct_return variable, not target_flags.
+	(rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE.
+	(rs6000_return_in_memory): Test aix_struct_return.
+	* config/rs6000/rs6000.opt (maix-struct-return): Convert to
+	independent variable.  Report mxl-compat.
+
+2005-05-17  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (eh_return): Add missing DONE.
+
+2005-05-17  Ian Lance Taylor  <ian@airs.com>
+
+	* read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr
+	field.
+	(mode_attr_index): Remove check for defined attribute.  Remove
+	infile parameter.  Change all callers.
+	(apply_mode_maps): Add unknown parameter.  Change caller.  Always
+	return after finding attribute.
+	(apply_macro_to_rtx): Add unknown_mode_attr parameter.  Change
+	callers.
+	(apply_macro_traverse): Set mtd->unknown_mode_attr.
+	(read_rtx): Use mtd.unknown_mode_attr to check for an undefined
+	attribute used for a mode.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
+	* tree-ssa-math-opts.c: New file.
+
+2005-05-17  Paolo Bonzini  <bonzini@gnu.org>
+
+	* Makefile.in: Add tree-ssa-math-opts.c.
+	* expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
+	* fold-const.c (distribute_real_division): New.
+	(fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
+	* tree-pass.h (pass_cse_reciprocals): New.
+	* tree-optimize.c (init_tree_optimization_passes): Run it.
+	* doc/passes.texi: Document the new pass.
+
+2005-05-17  Richard Guenther  <rguenth@gcc.gnu.org>
+
+	PR middle-end/21595
+	* builtins.c (fold_builtin_constant_p): Handle
+	&"string cst"[0] as constant.
+
+2005-05-17  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/sse.md (mulv16qi3, mulv2di3): New.
+
+2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/21492
+	* cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
+	src2 if src2 has been split.
+
+	PR tree-optimization/21610
+	* c-typeck.c (decl_constant_value_for_broken_optimization): If not
+	returning DECL, call unshare_expr.
+
+2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.md: Unquote preparation and output statements.
+	(BWD, WD, BW): New, mode-macros.
+	(S, s, m, mm, nbitsm1): New, mode-attrs.
+	(szext, shift, shiftrt, ncond, ocond, rcond): New, code-macros.
+	(u, su, shlr, slr, ncond, ocond, rcond, rCC, oCC, roCC): New,
+	code-attrs.
+	("tst<mode>"): Replace "tstqi", "tsthi" and "tstsi".
+	("*cmp_ext<mode>"): Replace "*cmp_extsi" and "*cmp_exthi".
+	("*cmp_swapext<mode>"): Replace "*cmp_swapextqi" and
+	"*cmp_swapexthi".
+	("cmp<mode>"): Replace "cmphi" and "cmpqi".
+	("movdi"): Move misplaced head comment regarding necessity of
+	movdi from movsi to here.
+	("*mov_side<mode>_biap"): Replace "*mov_sideqi_biap" and
+	"*mov_sidehi_biap".
+	("*mov_side<mode>"): Replace "*mov_sideqi" and "*mov_sidehi".
+	("*mov_side<mode>_biap_mem", "*mov_sidehi_biap_mem"): Replace
+	"*mov_sideqi_biap_mem".
+	("*mov_side<mode>_mem"): Replace "*mov_sideqi_mem" and
+	"*mov_sidehi_mem".
+	("*clear_side<mode>_biap"): Replace "*clear_sidesi_biap",
+	"*clear_sidehi_biap" and "*clear_sideqi_biap".
+	("*clear_side<mode>"): Replace "*clear_sidesi", "*clear_sidehi"
+	and "*clear_sideqi".
+	("*ext_side<mode>si_biap"): Replace "*ext_sideqisi_biap" and
+	"*ext_sidehisi_biap".
+	("*ext_side<mode>si"): Replace "*ext_sideqisi" and
+	"*ext_sidehisi".
+	("reload_in<mode>"): Replace "reload_inhi" and "reload_inqi".
+	("reload_out<mode>"): Replace "reload_outhi" and "reload_outqi".
+	("extend<mode>di2"): Replace "extendhidi2" and "extendqidi2".
+	("extend<mode>si2"): Replace "extendhisi2" and "extendqisi2".
+	("zero_extend<mode>si2"): Replace "zero_extendhisi2" and
+	"zero_extendqisi2".
+	("*op_side<mode>_biap"): Replace "*op_sideqi_biap",
+	"*op_sidehi_biap" and "*op_sidesi_biap".
+	("*op_side<mode>"): Replace "*op_sideqi", "*op_sidehi" and
+	"*op_sidesi".
+	("*op_swap_side<mode>_biap"): Replace "*op_swap_sideqi_biap",
+	"*op_swap_sidehi_biap" and "*op_swap_sidesi_biap".
+	("*op_swap_side<mode>"): Replace "*op_swap_sideqi",
+	"*op_swap_sidehi" and "*op_swap_sidesi".
+	("sub<mode>3"): Replace "subhi3" and "subqi3", correcting a typo
+	in the N alternative of "subqi3".
+	("*extop<mode>si_side_biap"): Replace "*extopqisi_side_biap" and
+	"*extophisi_side_biap".
+	("*extop<mode>si_side"): Replace "*extopqisi_side" and
+	"*extophisi_side".
+	("*extop<mode>si_swap_side_biap"): Replace
+	"*extopqisi_swap_side_biap" and "*extophisi_swap_side_biap".
+	("*extop<mode>si_swap_side"): Replace "*extopqisi_swap_side" and
+	"*extophisi_swap_side".
+	("*extop<mode>si"): Replace "*extopqisi" and "*extophisi".
+	("*extop<mode>si_swap"): Replace "*extopqisi_swap" and
+	"*extophisi_swap".
+	("<u>mul<s><mode>3"): Replace "umulhisi3", "umulqihi3",
+	"mulqihi3", "mulhisi3" and "mulhisi3".
+	("<u>mulsidi3"): Replace "mulsidi3" and "umulsidi3".
+	("<su>mulsi3_highpart"): Replace "smulsi3_highpart" and
+	"umulsi3_highpart".
+	("xor<mode>3"): Replace "xorhi3" and "xorqi3".
+	("neg<mode>2"): Replace "negsi2", "neghi2" and "negqi2".
+	("one_cmpl<mode>2"): Replace "one_cmplhi2" and "one_cmplqi2".
+	("<shlr>si3"): Replace "ashrsi3", "lshrsi3" and "ashlsi3".
+	("ashr<mode>3"): Replace "ashrhi3" and "ashrqi3".
+	("*expanded_<shlr><mode>"): Replace "*expanded_ashrhi",
+	"*expanded_ashrqi", "*expanded_lshrhi" and "*expanded_lshrqi".
+	("*<shlr><mode>_lowpart"): Replace "*ashrhi_lowpart",
+	"*ashrqi_lowpart", "*lshrhi_lowpart" and "*lshrqi_lowpart".
+	("lshr<mode>3"): Replace "lshrhi3" and "lshrqi3".
+	("ashl<mode>3"): Replace "ashlhi3" and "ashlqi3".
+	("*ashl<mode>_lowpart"): Replace "*ashlqi_lowpart" and
+	"*ashlhi_lowpart".
+	("abs<mode>2"): Replace "abshi2" and "absqi2".
+	("b<ncond>"): Replace "beq", "bne", "bgtu", "bltu", "bgeu" and
+	"bleu".
+	("b<ocond>"): Replace "bgt" and "ble".
+	("b<rcond>"): Replace "blt" and "bge".
+	("*b<ncond>_reversed"): Replace "*beq_reversed", "*bne_reversed",
+	"*bgtu_reversed", "*bltu_reversed", "*bgeu_reversed" and
+	"*bleu_reversed".
+	("*b<ocond>_reversed"): Replace "*bgt_reversed" and
+	"*ble_reversed".
+	("*b<rcond>_reversed"): Replace "*blt_reversed" and
+	"*blt_reversed".
+	("s<ncond>"): Replace "sgeu", "sltu", "seq", "sgtu", "sleu" and
+	"sne".
+	("s<rcond>"): Replace "sge" and "slt".
+	("s<ocond>"): Replace "sgt" and "sle".
+	("clear.[bwd] [rx=rx+rz.S2]"): Replace split clear.d
+	[rx=rx+rz.S2], clear.w [rx=rx+rz.S2] and clear.b [rx=rx+rz.S2].
+	("clear.[bwd] [rx=rx+i]"): Replace splits clear.d [rx=rx+i],
+	clear.w [rx=rx+i] and clear.b [rx=rx+i].
+
+2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+	* varasm.c (struct constant_descriptor_tree): Add hash field.
+	(const_desc_hash): Just return hash field.
+	(const_desc_eq): If hash values are different, return 0 immediately.
+	(output_constant_def): Compute hash field of temporary key, use
+	htab_find_slot_with_hash instead of htab_find_slot.  Set hash in
+	newly built constant descriptor.
+	(lookup_constant_def): Compute hash field of temporary key, use
+	htab_find_with_hash instead of htab_find.
+
+2005-05-16  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/sse.md (mulv4si3): New.
+
 2005-05-17  Hans-Peter Nilsson  <hp@axis.com>
 
 	* config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2005-05-17 04:21:51.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2005-05-17 17:02:14.000000000 +0000
@@ -1,3 +1,9 @@
+2005-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/21454
+	* decl.c (maybe_deduce_size_from_array_init): Call
+	cp_apply_type_quals_to_decl after completing array type.
+
 2005-05-16  Richard Henderson  <rth@redhat.com>
 
 	* decl.c (build_library_fn_1): Move setting TREE_NOTHROW ...


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]