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:
    Overall memory needed: 24797k -> 24781k
    Peak memory use before GGC: 8930k -> 8913k
    Peak memory use after GGC: 8558k -> 8541k
    Maximum of released memory in single GGC run: 2576k
    Garbage: 34887k -> 34893k
    Leak: 6058k -> 6056k
    Overhead: 4715k -> 4715k
    GGC runs: 294

comparing combine.c compilation at -O1 level:
    Overall memory needed: 36197k -> 36209k
    Peak memory use before GGC: 17001k -> 17000k
    Peak memory use after GGC: 16831k -> 16830k
    Maximum of released memory in single GGC run: 2262k -> 2261k
    Garbage: 53163k -> 53164k
    Leak: 6064k -> 6063k
    Overhead: 5766k -> 5766k
    GGC runs: 369 -> 368

comparing combine.c compilation at -O2 level:
    Overall memory needed: 26500k -> 26496k
    Peak memory use before GGC: 16999k -> 16998k
    Peak memory use after GGC: 16831k -> 16830k
    Maximum of released memory in single GGC run: 2538k -> 2508k
    Garbage: 71415k -> 71329k
    Leak: 6174k -> 6173k
    Overhead: 8299k -> 8293k
    GGC runs: 432 -> 430

comparing combine.c compilation at -O3 level:
    Overall memory needed: 25596k
    Peak memory use before GGC: 17891k -> 17889k
    Peak memory use after GGC: 17447k -> 17446k
    Maximum of released memory in single GGC run: 3316k -> 3324k
    Garbage: 98046k -> 98075k
    Leak: 6241k -> 6244k
    Overhead: 11481k -> 11481k
    GGC runs: 480 -> 479

comparing insn-attrtab.c compilation at -O0 level:
  Amount of memory still referenced at the end of compilation increased from 8878k to 9116k, overall 2.69%
    Overall memory needed: 83700k -> 83696k
    Peak memory use before GGC: 68249k -> 68247k
    Peak memory use after GGC: 43914k -> 43913k
    Maximum of released memory in single GGC run: 35709k -> 35708k
    Garbage: 126213k -> 125963k
    Leak: 8878k -> 9116k
    Overhead: 16830k -> 16830k
    GGC runs: 230

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 103596k -> 102528k
    Peak memory use before GGC: 83522k -> 83520k
    Peak memory use after GGC: 77615k -> 77613k
    Maximum of released memory in single GGC run: 31805k -> 31804k
    Garbage: 258201k -> 258206k
    Leak: 8928k -> 8927k
    Overhead: 28448k -> 28448k
    GGC runs: 230

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 105684k -> 105344k
    Peak memory use before GGC: 87454k -> 87453k
    Peak memory use after GGC: 79914k -> 79913k
    Maximum of released memory in single GGC run: 30384k
    Garbage: 303598k -> 303600k
    Leak: 8933k -> 8932k
    Overhead: 35483k -> 35483k
    GGC runs: 256

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 105392k
    Peak memory use before GGC: 87481k -> 87479k
    Peak memory use after GGC: 79941k -> 79939k
    Maximum of released memory in single GGC run: 30565k
    Garbage: 304168k -> 304171k
    Leak: 8936k -> 8935k
    Overhead: 35660k -> 35660k
    GGC runs: 260

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Amount of produced GGC garbage increased from 199411k to 200375k, overall 0.48%
    Overall memory needed: 116264k -> 116268k
    Peak memory use before GGC: 92429k -> 92431k
    Peak memory use after GGC: 91509k -> 91511k
    Maximum of released memory in single GGC run: 19647k
    Garbage: 199411k -> 200375k
    Leak: 47210k -> 47215k
    Overhead: 20359k -> 20460k
    GGC runs: 398 -> 399

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Amount of produced GGC garbage increased from 427840k to 429630k, overall 0.42%
    Overall memory needed: 115256k -> 115264k
    Peak memory use before GGC: 97004k -> 97008k
    Peak memory use after GGC: 94813k -> 94816k
    Maximum of released memory in single GGC run: 18292k
    Garbage: 427840k -> 429630k
    Leak: 48982k -> 48991k
    Overhead: 31295k -> 31519k
    GGC runs: 537 -> 539

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Amount of produced GGC garbage increased from 493977k to 495622k, overall 0.33%
    Overall memory needed: 115244k -> 115252k
    Peak memory use before GGC: 97005k -> 97007k
    Peak memory use after GGC: 94813k -> 94815k
    Maximum of released memory in single GGC run: 18292k
    Garbage: 493977k -> 495622k
    Leak: 49694k -> 49706k
    Overhead: 39442k -> 39740k
    GGC runs: 606 -> 607

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Amount of produced GGC garbage increased from 512940k to 513680k, overall 0.14%
    Overall memory needed: 116644k -> 116636k
    Peak memory use before GGC: 98438k -> 98452k
    Peak memory use after GGC: 96090k -> 96101k
    Maximum of released memory in single GGC run: 18613k
    Garbage: 512940k -> 513680k
    Leak: 49679k -> 49694k
    Overhead: 40207k -> 40258k
    GGC runs: 613 -> 618

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
    Overall memory needed: 134136k -> 133960k
    Peak memory use before GGC: 81627k -> 81623k
    Peak memory use after GGC: 58507k -> 58503k
    Maximum of released memory in single GGC run: 45493k -> 45494k
    Garbage: 143523k -> 143586k
    Leak: 7142k -> 7138k
    Overhead: 25103k -> 25104k
    GGC runs: 87

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
    Overall memory needed: 425948k -> 425548k
    Peak memory use before GGC: 203152k -> 203150k
    Peak memory use after GGC: 198930k -> 198928k
    Maximum of released memory in single GGC run: 100798k -> 100796k
    Garbage: 264973k -> 264978k
    Leak: 47195k -> 47190k
    Overhead: 30026k -> 30026k
    GGC runs: 106

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
    Overall memory needed: 347992k -> 347832k
    Peak memory use before GGC: 203907k
    Peak memory use after GGC: 199684k -> 199683k
    Maximum of released memory in single GGC run: 107072k -> 107064k
    Garbage: 354483k -> 354478k
    Leak: 47778k -> 47774k
    Overhead: 47627k -> 47627k
    GGC runs: 113

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
    Overall memory needed: 536336k -> 536328k
    Peak memory use before GGC: 314603k -> 314598k
    Peak memory use after GGC: 292947k -> 292942k
    Maximum of released memory in single GGC run: 163427k
    Garbage: 487439k -> 487446k
    Leak: 65111k -> 65106k
    Overhead: 58883k -> 58883k
    GGC runs: 100

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2006-09-21 23:35:37.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2006-10-10 13:19:11.000000000 +0000
@@ -1,3 +1,477 @@
+2006-10-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/29272
+	* builtins.c (var_decl_component_p): New function.
+	(fold_builtin_memset, fold_builtin_memory_op): Restrict
+	single entry optimization to variables and components thereof.
+
+2006-10-10  Richard Guenther  <rguenther@suse.de>
+
+	PR rtl-optimization/29323
+	* except.c (set_nothrow_function_flags): For functions
+	that do not bind local bail out early.
+
+2006-10-10  Ben Elliston  <bje@au.ibm.com>
+
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
+	-mdlmzb option.
+
+2006-10-09  Richard Henderson  <rth@redhat.com>
+
+	Revert emutls patch.
+
+2006-10-09  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/29254
+	* cgraphunit.c (verify_cgraph_node): Bail out on earlier
+	errors.
+
+2006-10-09  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/27880
+	* unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
+	* configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2006-10-09  Aldy Hernandez  <aldyh@redhat.com>
+
+        * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
+
+2006-10-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_legitimize_tls_address): Implement
+	all TLS models in the same way as local exec if !TARGET_ABICALLS.
+	Remove stray newline.
+
+2006-10-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_classify_symbol): Do not return
+	SYMBOL_SMALL_DATA if SYMBOL_REF_WEAK.
+	(mips_in_small_data_p): Tweak comments.
+
+2006-10-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/elf.h (HANDLE_PRAGMA_PUSH_POP): Define.
+
+2006-10-07  Kazu Hirata  <kazu@codesourcery.com>
+
+	* gimplify.c, sched-int.h: Fix comment typos.
+
+	* sched-int.h: Fix comment typos.
+
+2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	* sched-int.h (IS_SPECULATION_CHECK_P, IS_SPECULATION_SIMPLE_CHECK_P):
+	New macros.
+	* sched-ebb.c (begin_schedule_ready): Use them.
+	* haifa-sched.c (schedule_insn, move_insn, try_ready,
+	add_to_speculative_block, create_check_block_twin, speculate_insn,
+	fix_jump_move, move_block_after_check): Ditto.
+	* sched-rgn.c (new_ready): Ditto.
+
+2006-10-06  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	PR rtl-optimization/29128
+	* sched-int.h (IS_SPECULATION_BRANCHY_CHECK_P): New macro.
+	* sched-ebb.c (advance_target_bb): Use it to fix condition to
+	allow interblock movement of speculation checks.
+
+2006-10-06  Zdenek Dvorak <dvorakz@suse.cz>
+
+	PR middle-end/29256
+	* tree-ssa-loop-ivopts.c (determine_base_object): Handle pointers
+	casted to integer type.
+	(get_address_cost): Decrease cost of [symbol + index] addressing modes
+	if they are significantly more expensive than [reg + index] ones.
+
+2006-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/29330
+	* tree-data-ref.c (free_data_ref): Use DR_FREE_ACCESS_FNS macro.
+	(initialize_data_dependence_relation): Clear DDR_LOOP_NEST pointer
+	on newly allocated ddrs.
+	(find_loop_nest_1, find_loop_nest): Change LOOP_NEST to a pointer
+	to VEC (loop_p, heap) pointer.
+	(compute_data_dependences_for_loop): Adjust caller.
+	(free_dependence_relations): Free DDR_LOOP_NEST.
+
+	* tree-loop-linear.c (linear_transform_loops): Don't forget to
+	free DEPENDENCE_RELATIONS and DATAREFS.
+
+	PR target/28924
+	* builtins.c (expand_builtin_sync_operation,
+	expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set):
+	Use convert_to_mode to handle promoted arguments.
+
+2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
+
+	* print-tree.c (print_node_brief, print_node): Print sign of Inf.
+
+2006-10-06  J"orn Rennecke  <joern.rennecke@st.com>
+
+	* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Define.
+
+2006-10-05  Uros Bizjak  <uros@kss-loka.si>
+
+	* config/i386/sync.md ("sync_add<mode>", "sync_sub<mode>",
+	"sync_ior<mode>", "sync_and<mode>", "sync_xor<mode>"):
+	Use <modeconstraint> instead of "r" as operand 1 constraint.
+
+2006-10-06  Olivier Hainque  <hainque@adacore.com>
+	
+	* gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
+	Don't recurse on the pointed-to type.
+	* c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
+	DECL context, attach an artificial TYPE_DECL to anonymous pointed-to
+	types with components of variable size.
+
+2006-10-06  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	config/i386/mingw32.h (GOMP_SELF_SPECS): Add -mthreads for openmp.
+
+2006-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/29290
+	* tree-loop-linear.c (linear_transform_loops): Bail if loop_nest has
+	multiple exits.
+
+	PR target/29198
+	* config/i386/i386.c (legitimize_pic_address): Reject TLS symbols.
+	* config/i386/predicates.md (local_symbolic_operand): Likewise.
+
+	PR c/29091
+	* varasm.c (output_constant): If TREE_VECTOR_CST_ELTS chain is shorter than
+	the number of vector elements fill the rest with zeros.
+
+2006-10-05  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_pass_by_reference): Do not return false
+	for EABI if type is NULL.  Use a size check based on GET_MODE_SIZE
+	instead.
+
+2006-10-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (subsi3): Lose expander, change previously
+	unnamed pattern into subsi3.  Use correct constraints/predicates.
+	* config/bfin/bfin.h (CONST_OK_FOR_K): Handle "KN7".
+	* config/bfin/predicates.md (reg_or_neg7bit_operand_p): New.
+
+2006-10-05  Ira Rosen  <irar@il.ibm.com>
+
+	* doc/loop.texi: Add data references analysis description.
+
+2006-10-04  Brooks Moses  <bmoses@stanford.edu>
+
+	* doc/gcov.texi: Add formatting to "Invoking gcov" section head.
+
+2006-10-04  Richard Henderson  <rth@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
+        * builtin-types.def (BT_WORD): Make unsigned.
+        (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
+        * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
+        (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
+        * c-decl.c (grokdeclarator): Don't error if !have_tls.
+        * c-parser.c (c_parser_omp_threadprivate): Likewise.
+	* cgraph.c (decide_is_variable_needed): Look at force_output.
+	Recurse for emulated tls.
+	* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
+	checks redundant with decide_is_variable_needed.
+	(cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
+        * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
+        emulated tls.
+        * expr.c (emutls_var_address): New.
+	(expand_expr_real_1): Expand emulated tls.
+	(expand_expr_addr_expr_1): Likewise.
+        * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
+        * output.h (emutls_finish): Declare.
+        * toplev.c (compile_file): Call it.
+	* tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
+	address before wrapping in CONST.
+        * varasm.c (emutls_htab, emutls_object_type): New.
+        (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
+	(get_emutls_object_name, get_emutls_object_type): New.
+	(get_emutls_init_templ_addr, emutls_decl): New.
+	(emutls_common_1, emutls_finish): New.
+        (assemble_variable): When emulating tls, swap decls; generate 
+	constructor for the emutls objects.
+	(do_assemble_alias): When emulating tls, swap decl and target name.
+        (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
+        for emulated tls.
+	* emutls.c: New file.
+        * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
+        tls_object for real tls.
+
+2006-10-04  Zack Weinberg  <zackw@panix.com>
+
+	Fix bug in constraint-check generator, reported by Rask Ingemann
+	Lambertsen:
+	* genpreds.c (add_constraint): Don't remove anything from the
+	expression here.
+	(write_tm_constrs_h): Detect whether "op" argument is used, and
+	mark it ARG_UNUSED if it isn't.
+	(write_insn_const_int_ok_for_constraint): Skip the part of the
+	expression that would test whether "op" (which is not available
+	here) is a CONST_INT.
+
+2006-10-04  Ryan Mansfield  <rmansfield@qnx.com>
+
+	PR c++/28448
+	* doc/invoke.texi (fdiagnostics-show-option): Fix typos.
+
+2006-10-03  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/i386/darwin-libgcc.10.5.ver: Update to symbol list for
+	current Leopard versions.
+	* config/rs6000/darwin-libgcc.10.5.ver: Likewise.
+
+2006-10-03  Kazu Hirata  <kazu@codesourcery.com>
+
+	* doc/install.texi: Fix typos.
+
+2006-10-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* builtins.c (expand_builtin_return_addr): Deal with FRAME_ADDR_RTX.
+	* doc/tm.texi (Basic Stack Layout): Document FRAME_ADDR_RTX.
+	* config/sparc/sparc.h (FRAME_ADDR_RTX): Define.
+
+2006-10-02  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+	* unwind-dw2-fde-darwin.c (getsectdatafromheader_64): Fix first
+	arg to be struct mach_header_64* instead.
+
+2006-10-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/29154
+	* gimplify.c (gimplify_self_mod_expr): Run inner expression's post
+	side effects after the outer expression's post side effects.
+
+2006-10-01  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* tree.h (DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET):  Fix
+	comments to reflect actual behavior and relationship between
+	DECL_FIELD_OFFSET, DECL_FIELD_BIT_OFFSET, and DECL_OFFSET_ALIGN.
+
+	* doc/c-tree.texi (Working with declarations): Fix documentation
+	of FIELD_DECL likewise.
+
+2006-10-01  Ryan Mansfield  <rmansfield@qnx.com>
+
+	PR c/20533
+	* doc/extend.texi: Add used variable attribute description.
+
+2006-09-30  Joseph S. Myers  <joseph@codesourcery.com>
+
+	PR c/24010
+	* c.opt (Woverride-init): New.
+	* c-opts.c (c_common_post_options): Default warn_override_init to
+	extra_warnings.
+	* c-typeck.c (add_pending_init, output_init_element): Warn for
+	overriding initializers without side effects.
+	* doc/invoke.texi (-Woverride-init): Document.
+	(-Wextra): Update.
+
+2006-09-30  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/28096
+	* ifcvt.c (check_cond_move_block): Return FALSE if the source of an
+	assignment has already been used as a destination earlier in the block.
+
+2006-09-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* builtins.c (expand_builtin_setjmp): Delete.
+	(expand_builtin) <BUILT_IN_SETJMP>: Mark as unreachable.
+	<BUILT_IN_SETJMP_SETUP>: New case.
+	<BUILT_IN_SETJMP_DISPATCHER>: Likewise.
+	<BUILT_IN_SETJMP_RECEIVER>: Likewise.
+	* builtins.def (BUILT_IN_SETJMP_SETUP): New built-in stub.
+	(BUILT_IN_SETJMP_DISPATCHER): Likewise.
+	(BUILT_IN_SETJMP_RECEIVER): Likewise.
+	* gimple-low.c (struct lower_data): New field calls_builtin_setjmp.
+	(lower_function_body): Initialize it to false.  If it is set to true
+	at the end of the processing, emit the setjmp dispatcher.
+	(lower_stmt) <CALL_EXPR>: Invoke lower_builtin_setjmp if the callee
+	is __builtin_setjmp and set calls_builtin_setjmp to true as well.
+	<MODIFY_EXPR>: Fall through to above case if there is a CALL_EXPR
+	on the rhs of the assignment.
+	(lower_builtin_setjmp): New function.
+	* tree.c (build_common_builtin_nodes): Build BUILT_IN_SETJMP_SETUP,
+	BUILT_IN_SETJMP_DISPATCHER and BUILT_IN_SETJMP_RECEIVER nodes.
+	* tree-cfg.c (make_exit_edges) <CALL_EXPR>: Use specific predicate
+	to detect calls that can go to non-local labels.  Use specific
+	helper to create the abnormal edges associated with them.
+	<MODIFY_EXPR>: Likewise.
+	(make_abnormal_goto_edges): New function extracted from...
+	(make_goto_expr_edges): ...here.  Call it for computed gotos.
+	(simple_goto_p): Minor tweak.
+	(tree_can_make_abnormal_goto): New predicate.
+	(tree_redirect_edge_and_branch): Return zero on all abnormal edges.
+	(tree_purge_dead_abnormal_call_edges): New function.
+	* tree-flow.h (tree_can_make_abnormal_goto): Declare.
+	(tree_purge_dead_abnormal_call_edges): Likewise.
+	(make_abnormal_goto_edges): Likewise.
+	* tree-inline.c (expand_call_inline): Simplify statement frobbing.
+	Purge all dead abnormal edges if the call was in the last statement.
+	* tree-optimize.c (has_abnormal_outgoing_edge_p): New predicate.
+	(execute_fixup_cfg): If there are non-local labels in the function,
+	scan the basic blocks and split them at calls that can go to non-local
+	labels or add missing abnormal call edges.  Write down the CFG in the
+	dump file.
+	(pass_fixup_cfg): Remove TODO_dump_func flag.
+	* unwind-sjlj.c: Poison setjmp.
+	* doc/install.texi (enable-sjlj-exceptions): Use more general wording.
+	* doc/tm.texi (DWARF2_UNWIND_INFO): Likewise.
+	(TARGET_UNWIND_TABLES_DEFAULT): Fix typo.
+	(DONT_USE_BUILTIN_SETJMP): Document it.
+
+2006-09-28  Geoffrey Keating  <geoffk@apple.com>
+
+	PR target/28617
+	* config/rs6000/rs6000.h [IN_LIBGCC2] (TARGET_POWERPC64): Define
+	to 1 when __ppc64__ is defined.
+	* config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add ppc64-fp.c and
+	darwin-64.c.
+	* config/rs6000/ppc64-fp.c: Also compile when __ppc64__ is defined.
+
+2006-09-28  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/t-hpux (LIB2FUNCS_EXTRA): Remove unwind-hpux.c.
+	* config/ia64/unwind-hpux.c: Delete.
+
+2006-09-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimplify.c (gimplify_init_ctor_preeval): Call maybe_with_size_expr
+	on the element before gimplifying it, instead of punting if it is of
+	variable size.
+
+2006-09-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* doc/loop.texi: New file.
+	* doc/gccint.texi: Reference loop.texi.
+	* Makefile.in (loop.texi): Add.
+
+2006-09-27  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (ENABLE_EXECUTE_STACK): New, use getpagesize not
+	__sysctl.
+	* config/rs6000/darwin.h (ENABLE_EXECUTE_STACK): Remove.
+	* config/i386/darwin.h (ENABLE_EXECUTE_STACK): Remove.
+
+2006-09-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.md (divsi_inv_m0): Remove unused variable.
+
+2006-09-27  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	* doc/install.texi: Document required versions of GMP and MPFR.
+
+2006-09-27  Paul Brook  <paul@codesourcery.com>
+
+	PR target/29230
+	* config/arm/arm.md (arith_adjacentmem): Handle large offsets.
+
+2006-09-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* reload1.c (alter_reg): Require the alignment of the stack slot to
+	be at least reg_max_ref_width bytes.
+	(scan_paradoxical_subregs): Record the largest width in
+	reg_max_ref_width.
+
+2006-09-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/25261
+	PR middle-end/28790
+	* tree-nested.c (struct nesting_info): Added static_chain_added.
+	(convert_call_expr): Set static_chain_added when adding static
+	chain.  Handle OMP_PARALLEL and OMP_SECTION.
+
+2006-09-25  Matthias Klose  <doko@debian.org>
+
+	* doc/invoke.texi: Add missing full stop.
+
+2006-09-25  Richard Henderson  <rth@redhat.com>
+
+	* cgraph.c (dump_cgraph_varpool_node): Don't crash if called
+	before cgraph_function_flags_ready.
+
+2006-09-24  Zdenek Dvorak <dvorakz@suse.cz>
+	    Adam Nemet  <anemet@caviumnetworks.com>
+
+	* tree-ssa-loop-ivopts.c (aff_combination_convert,
+	determine_common_wider_type): New functions.
+	(get_computation_aff): Use them to simplify arithmetic between
+	UBASE and CBASE if they are shortened from the same type.
+
+2006-09-24  Kazu Hirata  <kazu@codesourcery.com>
+
+	PR target/28911
+	* config/m68k/m68k.md (negsf2, negdf2, negxf2): Use
+	-2147483647 - 1 instead of 0x80000000.
+
+2006-09-23  Revital1 Eres  <ERES@il.ibm.com>
+
+	* flags.h (HONOR_NANS): Fix typo in comment.
+
+2006-09-23  Uros Bizjak <uros@kss-loka.si>
+
+	* config/i386/driver-i386.c (host_detect_local_cpu): Add prototype.
+
+2006-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/28706
+	PR c/28712
+	* tree.c (merge_attributes, attribute_list_contained): If both
+	TREE_VALUEs are TREE_LISTs, use simple_cst_list_equal instead of
+	simple_cst_equal.
+	* c-typeck.c (comptypes_internal): Don't consider aggregates
+	in different TUs as compatible if there one set of attributes is
+	not a subset of the other type's attributes.
+	(composite_type): Try harder not to create a new aggregate type.
+
+2006-09-22  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/i386/driver-i386.c: Always define host_detect_local_cpu.
+	* config/i386/i386.h: Define EXTRA_SPEC_FUNCTIONS on any i386
+	or x86_64 host.  Define HAVE_LOCAL_CPU_DETECT.
+	(CC1_CPU_SPEC): Make conditional on HAVE_LOCAL_CPU_DETECT rather
+	than replicating condition above.
+	* config.host (i[34567]86-*-*): Always use driver-i386.o.
+
+	* config/darwin.h (LINK_SYSROOT_SPEC): New.
+	(LINK_SPEC): If TARGET_SYSTEM_ROOT is defined, pass it to
+	the linker by default.
+
+2006-09-22  Mike Stump  <mrs@apple.com>
+
+	* config/rs6000/darwin.h (PROFILE_HOOK): Reassociate comment with
+	code.
+
+2006-09-22  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/28964
+	* cfgexpand.c (stack_var_size_cmp): Use DECL_UID to make
+	sort of stack variables stable.
+
+2006-09-22  Peter Bergner <bergner@vnet.ibm.com>
+
+	PR middle-end/28690
+	* explow.c (force_reg): Set REG_POINTER flag according to
+	MEM_POINTER flag.
+
+2006-09-22  Zdenek Dvorak <dvorakz@suse.cz>
+
+	PR tree-optimization/28888
+	* tree-if-conv.c (combine_blocks): Rewritten.
+	* tree-cfg.c (tree_verify_flow_info): Check that edges with
+	EDGE_TRUE/FALSE_VALUE follow COND_EXPR.
+
+2006-09-22  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-ssa-propagate.c (set_rhs): Copy EXPR_LOCATION if
+	needed.
+
 2006-09-21  Richard Sandiford  <richard@codesourcery.com>
 
 	* varasm.c (copy_constant): Fix reversed gcc_assert check.
@@ -3784,7 +4258,7 @@
 	range of a REG_DEAD register.
 
 2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
-            Anatoly Sokolov <aesok@post.ru>
+	    Anatoly Sokolov <aesok@post.ru>
 
 	* config/avr/avr.c (avr_mcu_types): Add support for attiny261,
 	attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
@@ -3901,7 +4375,7 @@
 	* config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
 
 2006-05-19  Daniel Berlin  <dberlin@dberlin.org>
-            Kenneth Zadeck <zadeck@naturalbridge.com>
+	    Kenneth Zadeck <zadeck@naturalbridge.com>
 
 	PR rtl-optimization/26855
 
@@ -6299,6 +6773,9 @@
 2006-04-04  Matthias Klose  <doko@debian.org>
 
 	* Makefile.in (unprotoize.o): Same dependencies as for protoize.o.
+
+	PR bootstrap/26764
+	PR bootstrap/27334
 	* Makefile.in (s-macro_list): Conform to POSIX rules in single quoted
 	strings.
 
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2006-09-21 23:35:17.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2006-10-10 13:19:02.000000000 +0000
@@ -1,3 +1,83 @@
+2006-10-10  Richard Guenther  <rguenther@suse.de>
+
+	PR rtl-optimization/29323
+	* decl.c (finish_function): Set TREE_NOTHROW only for
+	functions that bind local.
+
+2006-10-09  Richard Henderson  <rth@redhat.com>
+
+	Revert emutls patch.
+
+2006-10-04  Richard Henderson  <rth@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* decl.c (grokvardecl): Don't error if !have_tls.
+	(grokdeclarator): Likewise.
+	* parser.c (cp_parser_omp_threadprivate): Likewise.
+
+2006-10-03  Mark Mitchell  <mark@codesourcery.com>
+
+	PR c++/29020
+	* friend.c (do_friend): Improve comments; add assertion.
+	* parser.c (cp_parser_nested_name_specifier_opt): Resolve
+	typenames for qualified names used in declarations, even when
+	caching qualified name lookup.
+
+	PR c++/29138
+	* decl2.c (grokfield): Don't handle access declarations here.
+	* parser.c (cp_parser_using_declaration): Handle access
+	declarations too.
+	(cp_parser_block_declaration): Adjust calls to
+	cp_parser_using_declaration.
+	(cp_parser_member_declaration): Likewise.  Use
+	cp_parser_using_declaration to look for access_declarations.
+
+2006-10-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+	PR c++/29291
+	* init.c (build_new): Check for invalid init.
+
+2006-10-02  Mark Mitchell  <mark@codesourcery.com>
+
+	PR c++/29226
+	* typeck.c (cxx_sizeof_or_alignof_type): Tidy.  In templates, do
+	not try to actually evaluate sizeof for a VLA type.
+
+2006-10-01  Mark Mitchell  <mark@codesourcery.com>
+
+	PR c++/29105
+	* pt.c (tsubst_baselink): Substituteinto the qualifying scope.
+	* semantics.c (baselink_for_fns): Build a baselink, even when
+	processing a template.
+
+	PR c++/29080
+	* parser.c (cp_parser_postfix_dot_deref_expression): Use
+	BASELINK_ACCESS_BINFO as the qualifying scope when calling
+	adjust_result_of_qualified_name_lookup. 
+
+2006-09-25  Lee Millward  <lee.millward@codesourcery.com>
+
+        PR c++/27329
+        PR c++/26938
+        * cp-tree.h (redeclare_class_template): Adjust declaration
+        to return bool instead of void.
+        * pt.c (redeclare_class_template): Update definition.
+	Return false on error.
+        * decl.c (xref_tag): Return error_mark_node if
+	redeclare_class_template returned false.
+
+	PR c++/27667
+        * cp-tree.h (begin_specialization): Return bool 
+	instead of void.
+        * pt.c (check_specialization_scope): Likwise. 
+	Adjust comment. Return false if a specialization 
+	isn't permitted in the current scope.
+        (begin_specialization): Use the return value of  
+        check_specialization_scope.
+        * parser.c (cp_parser_explicit_specialization): If
+        begin_specialization returned false, skip the rest 
+	of the specialization.
+	
 2006-09-21  Mark Mitchell  <mark@codesourcery.com>
 
 	PR c++/29016


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]