This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
A recent patch increased GCC's memory consumption!
- From: gcctest at suse dot de
- To: jh at suse dot cz, gcc-regression at gcc dot gnu dot org
- Date: Tue, 10 Oct 2006 14:52:31 +0000
- Subject: A recent patch increased GCC's memory consumption!
Hi,
I am a friendly script caring about memory consumption in GCC. Please
contact jh@suse.cz if something is going wrong.
Comparing memory consumption on compilation of combine.i, insn-attrtab.i,
and generate-3.4.ii I got:
comparing 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.