A recent patch increased GCC's memory consumption!

gcctest@suse.de gcctest@suse.de
Thu Sep 6 14:30: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: 6952k -> 6936k
    Peak memory use before GGC: 1149k -> 1148k
    Peak memory use after GGC: 1054k -> 1053k
    Maximum of released memory in single GGC run: 121k -> 122k
    Garbage: 239k -> 239k
    Leak: 1067k -> 1067k
    Overhead: 145k -> 145k
    GGC runs: 4

comparing empty function compilation at -O0 -g level:
    Overall memory needed: 6968k -> 6952k
    Peak memory use before GGC: 1176k
    Peak memory use after GGC: 1081k
    Maximum of released memory in single GGC run: 124k
    Garbage: 242k -> 242k
    Leak: 1100k -> 1099k
    Overhead: 150k -> 150k
    GGC runs: 4

comparing empty function compilation at -O1 level:
    Overall memory needed: 7008k -> 6992k
    Peak memory use before GGC: 1149k -> 1148k
    Peak memory use after GGC: 1046k -> 1045k
    Maximum of released memory in single GGC run: 116k
    Garbage: 241k -> 241k
    Leak: 1068k -> 1067k
    Overhead: 145k -> 146k
    GGC runs: 3

comparing empty function compilation at -O2 level:
    Overall memory needed: 7012k
    Peak memory use before GGC: 1149k
    Peak memory use after GGC: 1046k
    Maximum of released memory in single GGC run: 116k
    Garbage: 245k -> 245k
    Leak: 1069k -> 1069k
    Overhead: 146k -> 146k
    GGC runs: 3

comparing empty function compilation at -O3 level:
    Overall memory needed: 7012k
    Peak memory use before GGC: 1149k
    Peak memory use after GGC: 1046k
    Maximum of released memory in single GGC run: 116k
    Garbage: 245k -> 245k
    Leak: 1069k -> 1069k
    Overhead: 146k -> 146k
    GGC runs: 3

comparing combine.c compilation at -O0 level:
  Amount of memory still referenced at the end of compilation increased from 6116k to 6123k, overall 0.12%
    Overall memory needed: 21936k -> 21940k
    Peak memory use before GGC: 8228k -> 8227k
    Peak memory use after GGC: 7568k -> 7567k
    Maximum of released memory in single GGC run: 1581k
    Garbage: 38807k -> 38767k
    Leak: 6116k -> 6123k
    Overhead: 5013k -> 5013k
    GGC runs: 372

comparing combine.c compilation at -O0 -g level:
    Overall memory needed: 23952k
    Peak memory use before GGC: 10058k
    Peak memory use after GGC: 9332k
    Maximum of released memory in single GGC run: 1875k
    Garbage: 39148k -> 39152k
    Leak: 8951k -> 8942k
    Overhead: 5685k -> 5685k
    GGC runs: 342

comparing combine.c compilation at -O1 level:
    Overall memory needed: 33028k -> 33024k
    Peak memory use before GGC: 16974k -> 16973k
    Peak memory use after GGC: 16775k -> 16774k
    Maximum of released memory in single GGC run: 1379k -> 1378k
    Garbage: 52365k -> 52363k
    Leak: 6263k -> 6262k
    Overhead: 5979k -> 5979k
    GGC runs: 443

comparing combine.c compilation at -O2 level:
    Overall memory needed: 35272k
    Peak memory use before GGC: 17082k -> 17081k
    Peak memory use after GGC: 16911k
    Maximum of released memory in single GGC run: 1334k
    Garbage: 71268k -> 71271k
    Leak: 6589k -> 6593k
    Overhead: 8236k -> 8236k
    GGC runs: 512

comparing combine.c compilation at -O3 level:
    Overall memory needed: 39852k -> 39796k
    Peak memory use before GGC: 17316k
    Peak memory use after GGC: 16965k
    Maximum of released memory in single GGC run: 2132k
    Garbage: 92549k -> 92542k
    Leak: 6708k -> 6711k
    Overhead: 10662k -> 10664k
    GGC runs: 541

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 138384k
    Peak memory use before GGC: 58582k -> 58581k
    Peak memory use after GGC: 32075k
    Maximum of released memory in single GGC run: 34144k -> 34143k
    Garbage: 131575k -> 131573k
    Leak: 8853k -> 8853k
    Overhead: 14817k -> 14817k
    GGC runs: 299

comparing insn-attrtab.c compilation at -O0 -g level:
    Overall memory needed: 139640k
    Peak memory use before GGC: 59731k
    Peak memory use after GGC: 33224k
    Maximum of released memory in single GGC run: 34144k
    Garbage: 132059k -> 132071k
    Leak: 10289k -> 10288k
    Overhead: 15198k -> 15198k
    GGC runs: 291

comparing insn-attrtab.c compilation at -O1 level:
    Overall memory needed: 149460k -> 149500k
    Peak memory use before GGC: 57078k -> 57081k
    Peak memory use after GGC: 50852k -> 50851k
    Maximum of released memory in single GGC run: 24232k
    Garbage: 212526k -> 212530k
    Leak: 9748k -> 9748k
    Overhead: 24823k -> 24824k
    GGC runs: 324

comparing insn-attrtab.c compilation at -O2 level:
    Overall memory needed: 187316k -> 187128k
    Peak memory use before GGC: 57716k -> 57715k
    Peak memory use after GGC: 52445k -> 52441k
    Maximum of released memory in single GGC run: 22942k
    Garbage: 253812k -> 253806k
    Leak: 10836k -> 10835k
    Overhead: 30535k -> 30535k
    GGC runs: 354

comparing insn-attrtab.c compilation at -O3 level:
    Overall memory needed: 194340k -> 194328k
    Peak memory use before GGC: 69709k
    Peak memory use after GGC: 63142k
    Maximum of released memory in single GGC run: 23328k
    Garbage: 280571k -> 280572k
    Leak: 10841k -> 10841k
    Overhead: 32302k -> 32302k
    GGC runs: 354

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 155074k -> 155372k
    Peak memory use before GGC: 89624k
    Peak memory use after GGC: 88736k
    Maximum of released memory in single GGC run: 18056k -> 18057k
    Garbage: 210305k -> 210305k
    Leak: 52902k -> 52902k
    Overhead: 26438k -> 26438k
    GGC runs: 419

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
    Overall memory needed: 175354k -> 175352k
    Peak memory use before GGC: 101933k
    Peak memory use after GGC: 100924k -> 100923k
    Maximum of released memory in single GGC run: 18267k -> 18268k
    Garbage: 216151k -> 216151k
    Leak: 75770k -> 75770k
    Overhead: 32117k -> 32117k
    GGC runs: 386

comparing Gerald's testcase PR8361 compilation at -O1 level:
    Overall memory needed: 131560k -> 131581k
    Peak memory use before GGC: 91652k -> 91651k
    Peak memory use after GGC: 90741k -> 90740k
    Maximum of released memory in single GGC run: 17316k -> 17317k
    Garbage: 317086k -> 317086k
    Leak: 52790k -> 52789k
    Overhead: 32088k -> 32087k
    GGC runs: 523 -> 524

comparing Gerald's testcase PR8361 compilation at -O2 level:
    Overall memory needed: 138712k -> 138629k
    Peak memory use before GGC: 91932k
    Peak memory use after GGC: 90988k
    Maximum of released memory in single GGC run: 17317k -> 17316k
    Garbage: 382766k -> 382808k
    Leak: 54016k -> 54015k
    Overhead: 38966k -> 38965k
    GGC runs: 591 -> 592

comparing Gerald's testcase PR8361 compilation at -O3 level:
    Overall memory needed: 143140k -> 143233k
    Peak memory use before GGC: 92850k -> 92849k
    Peak memory use after GGC: 91877k
    Maximum of released memory in single GGC run: 17669k -> 17670k
    Garbage: 413377k -> 413567k
    Leak: 54388k -> 54389k
    Overhead: 41678k -> 41749k
    GGC runs: 611

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
    Overall memory needed: 379277k -> 379279k
    Peak memory use before GGC: 101479k
    Peak memory use after GGC: 57133k -> 57132k
    Maximum of released memory in single GGC run: 50582k -> 50583k
    Garbage: 179391k -> 179391k
    Leak: 6279k -> 6279k
    Overhead: 30884k -> 30884k
    GGC runs: 107

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
    Overall memory needed: 380097k -> 380087k
    Peak memory use before GGC: 102113k -> 102112k
    Peak memory use after GGC: 57766k
    Maximum of released memory in single GGC run: 50583k -> 50582k
    Garbage: 179544k -> 179496k
    Leak: 7987k -> 7987k
    Overhead: 31350k -> 31350k
    GGC runs: 112

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
    Overall memory needed: 294988k -> 295412k
    Peak memory use before GGC: 80789k -> 80792k
    Peak memory use after GGC: 73174k -> 73173k
    Maximum of released memory in single GGC run: 40020k -> 40024k
    Garbage: 235792k -> 235792k
    Leak: 15618k -> 15617k
    Overhead: 31949k -> 31949k
    GGC runs: 105

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
    Overall memory needed: 269828k -> 269936k
    Peak memory use before GGC: 78161k -> 78160k
    Peak memory use after GGC: 73174k
    Maximum of released memory in single GGC run: 33755k -> 33750k
    Garbage: 245854k -> 245850k
    Leak: 15707k -> 15706k
    Overhead: 34174k -> 34174k
    GGC runs: 118

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
    Overall memory needed: 1017392k -> 1017468k
    Peak memory use before GGC: 166802k -> 166801k
    Peak memory use after GGC: 156366k -> 156365k
    Maximum of released memory in single GGC run: 83493k -> 83494k
    Garbage: 357344k -> 357337k
    Leak: 25849k -> 25849k
    Overhead: 46217k -> 46217k
    GGC runs: 99

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2007-09-05 19:56:34.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2007-09-06 12:39:01.000000000 +0000
@@ -1,3 +1,139 @@
+2007-09-06  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33302
+	* domwalk.c (walk_dominator_tree): The exit block is
+	interesting even if it is not reachable.
+
+2007-09-06  Richard Sandiford  <richard@codesourcery.com>
+
+	PR middle-end/33306
+	* optabs.c (avoid_expensive_constant): Do nothing if MODE is VOIDmode.
+
+2007-09-06  Basile Starynkevitch  <basile@starynkevitch.net>
+
+	* cfg.c (dump_bb_info, dump_edge_info): Added cfun test for 
+	robustness.
+
+2007-09-05  Ian Lance Taylor  <iant@google.com>
+
+	* tree-pretty-print.c (dump_decl_name): Cast LABEL_DECL_UID to int
+	when printing.
+	(dump_generic_node): Likewise.
+	* print-rtl.c (print_decl_name): Likewise.
+	* print-tree.c (print_node_brief): Likewise.
+	(print_node): Likewise.
+	* Makefile.in (RTL_BASE_H): Add alias.h.
+	(TREE_H): Likewise.
+
+2007-09-06  Jesper Nilsson  <jesper.nilsson@axis.com>
+
+	* longlong.h [__CRIS_arch_version >= 8] (count_trailing_zeros):
+	Defined.
+	* config/cris/cris.md (ctzsi2, cris_swap_bits): Implemented.
+	* config/cris/cris.h (CTZ_DEFINED_VALUE_AT_ZERO): Defined.
+
+2007-09-06  Jie Zhang  <jie.zhang@analog.com>
+
+	* config.gcc (tm_file): Add linux.h for bfin*-uclinux*.
+	(tm_defines): Define UCLIBC_DEFAULT to 1.
+	(extra_options): Add linux.opt.
+	* config/bfin/linux.h (CPLUSPLUS_CPP_SPEC): Don't define.
+	(CRT_CALL_STATIC_FUNCTION): Likewise.
+	(NO_IMPLICIT_EXTERN_C): Likewise.
+	(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
+	* config/bfin/elf.h (OBJECT_FORMAT_ELF): Don't define.
+	* config/bfin/uclinux.h (CPLUSPLUS_CPP_SPEC): Don't define.
+	(ENDFILE_SPEC): Don't define.
+	(LIB_SPEC): Likewise.
+	(CRT_CALL_STATIC_FUNCTION): Likewise.
+	(NO_IMPLICIT_EXTERN_C): Likewise.
+	(LINUX_TARGET_OS_CPP_BUILTINS): Likewise.
+	(TARGET_OS_CPP_BUILTINS): Define as LINUX_TARGET_OS_CPP_BUILTINS.
+
+2007-09-06  Jan Hubicka  <jh@suse.cz>
+
+	* i386.c (ix86_expand_lround, ix86_expand_round): Update call of
+	real_2expN.
+
+2007-09-06  Jan Hubicka  <jh@suse.cz>
+
+	* opts.c (common_handle_option): Enable inlining functions for
+	-fprofile-generate.
+
+2007-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtin-attrs.def (ATTR_NONNULL_3): New.
+	(DEF_FORMAT_ATTRIBUTE): Use just ATTR_NONNULL_##FA instead of
+	ATTR_NOTHROW_NONNULL_##FA.
+	(DEF_FORMAT_ATTRIBUTE_NOTHROW, DEF_FORMAT_ATTRIBUTE_BOTH): New macros.
+	(ATTR_FORMAT_PRINTF_NOTHROW_2_0, ATTR_PRINTF_NOTHROW_2_3,
+	ATTR_FORMAT_PRINTF_NOTHROW_3_0, ATTR_FORMAT_PRINTF_NOTHROW_3_4,
+	ATTR_FORMAT_PRINTF_NOTHROW_4_0, ATTR_PRINTF_NOTHROW_4_5,
+	ATTR_FORMAT_PRINTF_NOTHROW_5_0, ATTR_FORMAT_PRINTF_NOTHROW_5_6,
+	ATTR_FORMAT_SCANF_NOTHROW_2_0, ATTR_FORMAT_SCANF_NOTHROW_2_3,
+	ATTR_FORMAT_STRFTIME_NOTHROW_3_0, ATTR_FORMAT_STRFMON_NOTHROW_3_4):
+	New.
+	(ATTR_FORMAT_PRINTF_4_0, ATTR_PRINTF_4_5, ATTR_FORMAT_PRINTF_5_0,
+	ATTR_FORMAT_PRINTF_5_6, ATTR_FORMAT_STRFTIME_3_0,
+	ATTR_FORMAT_NOTHROW_3_4): Remove.
+	* builtins.def (snprintf, sprintf, sscanf, vsnprintf, vsprintf,
+	vsscanf, strfmon, strftime, __snprintf_chk, __sprintf_chk,
+	__vsnprintf_chk, __vsprintf_chk): Use ATTR_FORMAT_*_NOTHROW_*
+	instead of ATTR_FORMAT_*_*.
+
+2007-09-06  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.c (cris_emit_movem_store): Call copy_rtx on
+	parts re-used for REG_FRAME_RELATED_EXPR.
+
+2007-09-05  Janis Johnson  <janis187@us.ibm.com>
+
+	* optabs.c (expand_float): Convert unsigned integer as signed only
+	if it provides sufficient accuracy; add mode argument to real_2expN.
+	(expand_fix): Fix comment typos; extend binary float into mode
+	wider than destination for converion to unsigned integer; add mode
+	argument to real_2expN.
+	* real.c (real_2expN): Add mode argument to special-case decimal
+	float values.
+	* real.h (real_2expN): Ditto.
+	* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
+	real_2expN.
+	(fixed_from_string): Ditto.
+	(fixed_to_decimal): Ditto.
+	(fixed_convert_from_real): Ditto.
+	(real_convert_from_fixed): Ditto.
+	* config/rs6000/rs6000.md (FP): Include DD and TD modes.
+	* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
+	muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
+	floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.
+
+2007-09-05  Ian Lance Taylor  <iant@google.com>
+
+	* init-regs.c (initialize_uninitialized_regs): Call
+	emit_insn_before rather than add_insn_before.
+
+2007-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtins.def (BUILT_IN_VA_ARG_PACK): New built-in.
+	* tree.h (CALL_EXPR_VA_ARG_PACK): Define.
+	* tree-inline.h (copy_body_data): Add call_expr field.
+	* tree-inline.c (expand_call_inline): Initialize call_expr.
+	(copy_bb): Append anonymous inline fn arguments to arguments
+	when inlining a CALL_EXPR_VA_ARG_PACK call.
+	* builtins.c (expand_builtin): Issue an error if
+	BUILT_IN_VA_ARG_PACK is seen during expand.
+	(fold_call_expr, fold_builtin_call_array): Don't fold
+	CALL_EXPR_VA_ARG_PACK CALL_EXPRs or calls with
+	__builtin_va_arg_pack () call as last argument.
+	* gimplify.c (gimplify_call_expr): If last argument to a vararg
+	function is __builtin_va_arg_pack (), decrease number of call
+	arguments and instead set CALL_EXPR_VA_ARG_PACK on the CALL_EXPR.
+	* expr.c (expand_expr_real_1): Issue an error if
+	CALL_EXPR_VA_ARG_PACK CALL_EXPR is seen during expand.
+	* tree-pretty-print.c (dump_generic_node): Handle printing
+	CALL_EXPR_VA_ARG_PACK bit on CALL_EXPRs.
+	* doc/extend.texi (__builtin_va_arg_pack): Document.
+
 2007-09-05  Adam Nemet  <anemet@caviumnetworks.com>
 
 	PR tree-optimization/21513
@@ -92,7 +228,7 @@
 	(was_mips16_p): New.
 	(mips_set_mips16_mode): New, split out from override_options.
 	(mips_set_current_function): New.
-	(override_options):  Add sorry for unsupported mips16/pic
+	(override_options): Add sorry for unsupported mips16/pic
 	combination.  Remove error for mips16/dsp combination.	Save
 	base option settings.  
 	(mips_file_start): Move mips16 mode setting output from here....
@@ -114,7 +250,7 @@
 
 	* config/mips/mips.c (mips_legitimize_tls_address): Call sorry
 	if we encounter TLS address in MIPS16 mode.
-	(mips_legitimize_const_move):  Check cannot_force_const_mem for
+	(mips_legitimize_const_move): Check cannot_force_const_mem for
 	the (const (plus symbol offset)) case; this forces invalid TLS
 	address in MIPS16 mode to be caught by the above call to sorry.
 	(override_options): Don't reset targetm.have_tls in MIPS16 mode,
@@ -134,7 +270,7 @@
 	* function.h: Here.
 	(set_cfun): Declare.
 	* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
-	* function.c:  Here.
+	* function.c: Here.
 	(push_function_context_to): Use allocate_struct_function
 	to create null context, not init_dummy_function_start.  Use set_cfun.
 	(pop_function_context_from): Use set_cfun.
@@ -168,7 +304,7 @@
 
 2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>
 
-	* regrename.c (rerename_optimize):  Use deferred rescanning and
+	* regrename.c (rerename_optimize): Use deferred rescanning and
 	insert explicit calls to rescan insns when changed.
 	
 2007-09-05  Jan Hubicka  <jh@suse.cz>
@@ -907,9 +1043,6 @@
 	
 2007-08-30  Jakub Jelinek  <jakub@redhat.com>
 
-	* decl.c (start_preparsed_function): Set
-	DECL_DISREGARD_INLINE_LIMITS for GNU_INLINE_P functions.
-
 	PR target/33168
 	* config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Return
 	true if any of the compare_section_name calls returned true,
@@ -1178,9 +1311,9 @@
 
 	* toplev.c (init_alignments): New, split out from...
 	(process_options): ...here.
-	(backend_init_target):  New, split out from...
+	(backend_init_target): New, split out from...
 	(backend_init): ...here.
-	(lang_dependent_init_target):  New, split out from...
+	(lang_dependent_init_target): New, split out from...
 	(lang_dependent_init): ...here.
 	(target_reinit): New.
 	* toplev.h (target_reinit): Declare.
@@ -3338,7 +3471,7 @@
 
 2007-08-11  David Daney  <ddaney@avtrex.com>
 
-	* config/mips/mips.c (mips_sched_reorder):  Mark cycle parameter
+	* config/mips/mips.c (mips_sched_reorder): Mark cycle parameter
 	as ATTRIBUTE_UNUSED.
 
 2007-08-11  David Edelsohn  <edelsohn@gnu.org>
@@ -3514,17 +3647,17 @@
 
 2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
 
-	* config/mips/mips.opt (mhard-float, msoft-float):  Make these
+	* config/mips/mips.opt (mhard-float, msoft-float): Make these
 	control TARGET_HARD_FLOAT_ABI and TARGET_SOFT_FLOAT_ABI, rather
 	than TARGET_HARD_FLOAT and TARGET_SOFT_FLOAT.  
 	* config/mips/mips.h (mips16_hard_float): Delete.
-	(TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI):  Delete these
+	(TARGET_HARD_FLOAT_ABI, TARGET_SOFT_FLOAT_ABI): Delete these
 	definitions, and replace with....
 	(TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define.
 	* config/mips/mips.c (mips16_hard_float): Delete.  Replace
 	all references with (TARGET_MIPS16 && TARGET_HARD_FLOAT_ABI).
 	(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Update comments.
-	(override_options):  Replace MASK_SOFT_FLOAT references with
+	(override_options): Replace MASK_SOFT_FLOAT references with
 	MASK_SOFT_FLOAT_ABI.  Delete twiddling with MASK_SOFT_FLOAT
 	and mips16_hard_float when TARGET_MIPS16.
 	
@@ -3562,7 +3695,7 @@
 	tri-state integer.
 	* optabs.c (expand_ffs, expand_ctz): New functions to compute
 	ffs and ctz using clz.
-	(expand_unop):  Call them.
+	(expand_unop): Call them.
 	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
 	result value.
 	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
@@ -4687,7 +4820,7 @@
 
 2007-08-01  Sandra Loosemore  <sandra@codesourcery.com>
 
-	* reload.c (find_reloads_address_part):  Pass correct MEMREFLOC
+	* reload.c (find_reloads_address_part): Pass correct MEMREFLOC
 	argument to find_reloads_address.
 
 2007-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
@@ -4846,7 +4979,7 @@
 
 2007-07-31  Sandra Loosemore  <sandra@codesourcery.com>
 
-	* config/mips/mips.h (ISA_HAS_SYNCI):  Add !TARGET_MIPS16 test.
+	* config/mips/mips.h (ISA_HAS_SYNCI): Add !TARGET_MIPS16 test.
 
 2007-07-31  Revital Eres  <eres@il.ibm.com>
 
@@ -6228,7 +6361,7 @@
 
 2007-07-18  Caroline Tice  <ctice@apple.com>
 	
-	* var-tracking.c (find_src_status):  Check for  COND_EXEC insns
+	* var-tracking.c (find_src_status): Check for  COND_EXEC insns
 	and handle them correctly; check that src is not NULL before
 	trying to use it.
 	(find_src_set_src): Likewise.
@@ -6392,7 +6525,7 @@
 2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
 	    Nigel Stephens  <nigel@mips.com>
 
-	* config/mips/mips.md:  Include 20kc.md.
+	* config/mips/mips.md: Include 20kc.md.
 	* config/mips/20kc.md: New file.
 	* config/mips/mips.c (mips_rtx_cost_data): Fill in 20Kc costs.
 	(mips_adjust_cost): Tweak for 20Kc.
@@ -8876,7 +9009,7 @@
 	* df-problems.c (df_ru_alloc, df_rd_alloc, df_lr_alloc,
 	df_live_alloc, df_urec_alloc, df_note_alloc): set optional_p.
 	(problem_RU, problem_RD, problem_LR, problem_UREC, problem_CHAIN,
-	problem_NOTE):  Initialize free_blocks_on_set_blocks.
+	problem_NOTE): Initialize free_blocks_on_set_blocks.
 	(df_lr_bb_local_compute): Recompute luids if df_live problem is
 	not active.
 	(df_live_set_all_dirty, df_note_alloc): New function.
@@ -9341,7 +9474,7 @@
 	* tree-ssa.c (tree_ssa_useless_type_conversion_1):
 	Convert the MIN/MAX of the inner type to the outer
 	type before comparing them.
-	* tree-ssa-loop-prefetch.c (idx_analyze_ref):  Handle
+	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Handle
 	POINTER_PLUS_EXPR instead of PLUS_EXPR.
 	(issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
 	of PLUS_EXPR for pointers.
@@ -10916,7 +11049,7 @@
 	* config/mn10300/mn10300.md: Include.
 	* config/mn10300/mn10300.c(mn10300_secondary_reload_class):
 	Fix up for removed macro.
-	* config/mn10300/predicates.md (call_address_operand):  Ditto.
+	* config/mn10300/predicates.md (call_address_operand): Ditto.
 	* config/mn10300/mn10300.h (REG_CLASS_FROM_LETTER): Delete.
 	(CONST_OK_FOR_I): Ditto.
 	(CONST_OK_FOR_J): Ditto.
@@ -11279,10 +11412,10 @@
 	* doc/extend.texi (Function Attributes): Document MIPS "near" and
 	"far" attributes.
 
-	* testsuite/gcc.target/mips/near-far-1.c:  New test case.
-	* testsuite/gcc.target/mips/near-far-2.c:  New test case.
-	* testsuite/gcc.target/mips/near-far-3.c:  New test case.
-	* testsuite/gcc.target/mips/near-far-4.c:  New test case.
+	* testsuite/gcc.target/mips/near-far-1.c: New test case.
+	* testsuite/gcc.target/mips/near-far-2.c: New test case.
+	* testsuite/gcc.target/mips/near-far-3.c: New test case.
+	* testsuite/gcc.target/mips/near-far-4.c: New test case.
 
 2007-05-25  Eric Christopher  <echristo@apple.com>
 
@@ -11444,7 +11577,7 @@
 	stmt_dominates_stmt_p, get_lsm_tmp_name): Declare.
 	* Makefile.in (tree-predcom.o): Add.
 	(tree-affine.o): Add TREE_GIMPLE_H dependency.
-	* passes.c (init_optimization_passes):  Add dceloop after
+	* passes.c (init_optimization_passes): Add dceloop after
 	copy propagation in loop optimizer.  Add predictive commoning
 	to loop optimizer passes.
 
@@ -12692,7 +12825,7 @@
 
 2007-05-14  Dave Korn  <dave.korn@artimi.com>
 
-	* genautomata.c (gen_regexp_el):  Allocate correct size for regexp.
+	* genautomata.c (gen_regexp_el): Allocate correct size for regexp.
 
 2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
 
@@ -13905,7 +14038,7 @@
 
 2007-04-26  Steve Ellcey  <sje@cup.hp.com>
 
-	* config/ia64/ia64.md (ip_value):  Fix itanium_class attribute.
+	* config/ia64/ia64.md (ip_value): Fix itanium_class attribute.
 
 2007-04-26  Richard Guenther  <rguenther@suse.de>
 
@@ -14219,7 +14352,7 @@
 	(create_phi_node): Use set_phi_nodes.
 	* omp-low.c (expand_omp_parallel): Use bb_stmt_list.
 	* tree-if-conv.c (process_phi_nodes): Use set_phi_nodes.
-	(combine_blocks):  Use bb_stmt_list and set_bb_stmt_list.
+	(combine_blocks): Use bb_stmt_list and set_bb_stmt_list.
 	* tree-flow-inline.h (phi_nodes, set_phi_nodes,
 	(bsi_start, bsi_last): Use bb_stmt_list.
 	(phi_nodes_ptr, bb_stmt_list, set_bb_stmt_list): New functions.
@@ -14788,7 +14921,7 @@
 	* tree-ssa-loop-ivopts.c (ivopts_global_cost_for_size): Use
 	estimate_reg_pressure_cost.  Add number of ivs.
 	(determine_set_costs): Dump target_reg_cost.
-	* loop-invariant.c (gain_for_invariant):  Use
+	* loop-invariant.c (gain_for_invariant): Use
 	estimate_reg_pressure_cost.  Removed n_inv_uses argument.
 	(best_gain_for_invariant, find_invariants_to_move): Remove
 	n_inv_uses.
@@ -15663,7 +15796,7 @@
 2007-04-07  Bruce Korb  <bkorb@gnu.org>
 
 	* c.opt: Add -Wformat-contains-nul.
-	* c-format.c (set_Wformat):  Set warn_format_contains_nul to the
+	* c-format.c (set_Wformat): Set warn_format_contains_nul to the
 	  -Wformat setting.
 	(check_format_info_main): Check OPT_Wformat_contains_nul before emitting
 	the NUL byte warning.
@@ -15689,7 +15822,7 @@
 	argument "reliable".
 	(infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
 	Add argument "reliable".  Propagate it through calls.
-	(infer_loop_bounds_from_undefined):  Derive number of iterations
+	(infer_loop_bounds_from_undefined): Derive number of iterations
 	estimates from references in blocks that do not dominate loop latch.
 	(gcov_type_to_double_int): New function.
 	(estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
@@ -17893,7 +18026,7 @@
 	(dsp_32only_bdesc): New description table for 32-bit only DSP REV 1
 	and 2 builtins.
 	(bdesc_map): Add one field of unsupported_target_flags.
-	(bdesc_arrays):  Update entries to have extra fields.  Add
+	(bdesc_arrays): Update entries to have extra fields.  Add
 	dsp_32only_bdesc.
 	(mips_init_builtins): Initialize new function types.
 	Check unsupported_target_fileds to filter out builtins.
@@ -18896,7 +19029,7 @@
 
 2007-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
 
-	* tree-ssa-loop-prefetch.c (determine_unroll_factor):  Bound the
+	* tree-ssa-loop-prefetch.c (determine_unroll_factor): Bound the
 	unroll factor by the estimated number of iterations.
 	(loop_prefetch_arrays): Do not prefetch in loops that iterate less
 	than prefetch latency.
@@ -19352,7 +19485,7 @@
 2007-02-23  Steve Ellcey  <sje@cup.hp.com>
 
 	PR debug/29614
-	* varpool.c (varpool_assemble_pending_decls):  Set
+	* varpool.c (varpool_assemble_pending_decls): Set
 	varpool_last_needed_node to null.
 
 2007-02-23  DJ Delorie  <dj@redhat.com>
@@ -19456,8 +19589,8 @@
 	* config/spu/spu-protos.h (spu_init_expanders): Declare.
 	* config/spu/spu.c (spu_expand_prologue): Set REGNO_POINTER_ALIGN for
 	HARD_FRAME_POINTER_REGNUM.
-	(spu_legitimate_address):  Use regno_aligned_for_reload.
-	(regno_aligned_for_load):  HARD_FRAME_POINTER_REGNUM is only 16 byte
+	(spu_legitimate_address): Use regno_aligned_for_reload.
+	(regno_aligned_for_load): HARD_FRAME_POINTER_REGNUM is only 16 byte
 	aligned when frame_pointer_needed is true.
 	(spu_init_expanders): New.  Set alignment of HARD_FRAME_POINTER_REGNUM
 	to 8 bits.
@@ -19473,7 +19606,7 @@
 	rotqmbi_<mode>, rotqmby_<mode>, ashr<mode>3, rotma_<mode>,
 	rotl<mode>3, rotlti3, rotqbybi_ti, rotqby_ti, rotqbi_ti): Use
 	spu_nonmem_operand instead of spu_shift_operands.  Use new modifiers.
-	(lshr<mode>3_reg):  Fix rtl description.
+	(lshr<mode>3_reg): Fix rtl description.
 
 	Make sure mulhisi immediate operands are valid.
 	* config/spu/predicates.md (imm_K_operand): Add.
@@ -19488,7 +19621,7 @@
 	* config/spu/spu.c (print_operand): Handle HIGH correctly.
 	(spu_split_immediate): Split CONST_VECTORs with -mlarge-mem.
 	(immediate_load_p): Allow symbols that use 2 instructions to create.
-	(classify_immediate, spu_builtin_splats):  Don't accept a CONST_VECTOR
+	(classify_immediate, spu_builtin_splats): Don't accept a CONST_VECTOR
 	with symbols when flag_pic is set.
 	(const_vector_immediate_p): New.
 	(logical_immediate_p, iohl_immediate_p, arith_immediate_p): Don't
@@ -19531,14 +19664,14 @@
 	* config/spu/spu_internals.h: Ditto.
 
 	Fix incorrect operand modifiers.
-	* config/spu/spu-builtins.md (spu_mpy, spu_mpyu):  Remove use of %H.
-	* config/spu/spu.md (xor<mode>3):  Change %S to %J.
+	* config/spu/spu-builtins.md (spu_mpy, spu_mpyu): Remove use of %H.
+	* config/spu/spu.md (xor<mode>3): Change %S to %J.
 
 	Optimize one case of zero_extend of a vec_select.
-	* config/spu/spu.md (_vec_extractv8hi_ze):  Add.
+	* config/spu/spu.md (_vec_extractv8hi_ze): Add.
 
 	Accept any immediate for hbr.
-	* config/spu/spu.md (hbr):  Change s constraints to i.
+	* config/spu/spu.md (hbr): Change s constraints to i.
 
 2007-02-21  Paul Brook  <paul@codesourcery.com>
 
@@ -19843,7 +19976,7 @@
 2007-02-18  Roger Sayle  <roger@eyesopen.com>
 
 	PR rtl-optimization/28173
-	* simplify-rtx.c (simplify_binary_operation_1) <IOR>:  Optimize
+	* simplify-rtx.c (simplify_binary_operation_1) <IOR>: Optimize
 	(X & C1) | C2 as C2 when (C1 & C2) == C1 and X has no side-effects.
 	Optimize (X & C1) | C2 as X | C2 when (C1 | C2) == ~0.
 	Canonicalize (X & C1) | C2 as (X & (C1 & ~C2)) | C2.
@@ -20275,7 +20408,7 @@
 	of an arglist.  Change return type to bool.  Use new CALL_EXPR
 	accessors.
 
-	(fold_builtin_strstr):  Pass call arguments individually instead
+	(fold_builtin_strstr): Pass call arguments individually instead
 	of as an arglist, fixing callers appropriately.  Use new CALL_EXPR
 	accessors and constructors.  Return NULL_TREE instead of 0.
 	(fold_builtin_strchr): Likewise.
@@ -20320,7 +20453,7 @@
 	(fold_ternary): Remove CALL_EXPR case, since they are no longer
 	ternary expressions.
 	(fold): Add logic for tcc_vl_exp.
-	(fold_checksum_tree):  Make it know about tcc_vl_exp.  Use
+	(fold_checksum_tree): Make it know about tcc_vl_exp.  Use
 	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
 	(fold_build3_stat): Add assertion to flag broken interface for
 	constructing CALL_EXPRs.
@@ -20350,7 +20483,7 @@
 	* tree-vrp.c (stmt_interesting_for_vrp): Use new CALL_EXPR accessors.
 	(vrp_visit_stmt): Likewise.
 
-	* tree-ssa-loop-im.c (outermost_invariant_loop_expr):  Make it
+	* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Make it
 	know about tcc_vl_exp.  Use TREE_OPERAND_LENGTH instead of
 	TREE_CODE_LENGTH.
 	(force_move_till_expr): Likewise.
@@ -20544,7 +20677,7 @@
 	(estimate_num_insns_1): Use new CALL_EXPR accessors.
 	(expand_call_inline): Tidy up call to initialize_inlined_parameters.
 
-	* tree-vect-transform.c (vect_create_epilog_for_reduction):  Use
+	* tree-vect-transform.c (vect_create_epilog_for_reduction): Use
 	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
 	(vectorizable_reduction): Likewise.
 	(vectorizable_call): Use new CALL_EXPR iterators.
@@ -20647,7 +20780,7 @@
 	(arm_expand_unop_builtin): Likewise.
 	(arm_expand_builtin): Use new CALL_EXPR accessors.
 
-	* config/mips/mips.c (mips_expand_builtin):  Use new CALL_EXPR
+	* config/mips/mips.c (mips_expand_builtin): Use new CALL_EXPR
 	accessors.
 
 	* config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire
@@ -22819,7 +22952,7 @@
 	* tree-data-ref.c (tree_fold_divides_p): Don't use tree_fold_gcd to
 	test whether one constant integer is a multiple of another.  Instead
 	call int_const_binop with TRUNC_MOD_EXPR and test for a zero result.
-	* fold-const.c (multiple_of_p):  We've determined both TOP and
+	* fold-const.c (multiple_of_p): We've determined both TOP and
 	BOTTOM are integer constants so we can call int_const_binop directly
 	instead of the more generic const_binop.
 
@@ -22962,7 +23095,7 @@
 
 	PR other/30182
 	* config/pa/pa.c (pa_init_builtins): Set asm names for finite routines.
-	* config/ia64/ia64.c (ia64_init_builtins):  Ditto.
+	* config/ia64/ia64.c (ia64_init_builtins): Ditto.
 
 2007-01-25  Richard Guenther  <rguenther@suse.de>
 
@@ -23505,7 +23638,7 @@
 	* longlong.h (count_leading_zeros, COUNT_LEADING_ZEROS_0): Add
 	ColdFire alternatives.
 	* config/m68k/m68k.h (CLZ_DEFINED_VALUE_AT_ZERO): New macro.
-	* config/m68k/m68k.md (clzsi2):  Define for ColdFire
+	* config/m68k/m68k.md (clzsi2): Define for ColdFire
 	architectures that support ff1 instruction.
 
 2007-01-19  Richard Sandiford  <richard@codesourcery.com>
@@ -25667,7 +25800,7 @@
 
 2007-01-02  Steve Ellcey  <sje@cup.hp.com>
 
-	* sbitmap.c (HOST_BITS_PER_LONG_LONG):  Change to
+	* sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to
 	HOST_BITS_PER_LONGLONG
 
 2007-01-02  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2007-09-05 19:56:29.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2007-09-06 12:39:00.000000000 +0000
@@ -1,3 +1,23 @@
+2007-09-05  Jason Merrill  <jason@redhat.com>
+
+	PR c++/15745
+	* except.c (prepare_eh_type): Use type_decays_to.
+
+	PR c++/15097
+	* init.c (build_delete): Use build_headof to get the address of the
+	complete object if we aren't using the deleting destructor.
+	* rtti.c (build_headof): No longer static.
+	* cp-tree.h: Declare it.
+
+2007-09-06  Jakub Jelinek  <jakub@redhat.com>
+
+	* decl.c (duplicate_decls): Set TREE_NOTHROW on __builtin_XX
+	decl if a prototype for XX is provided with throw().
+
+	PR c++/33289
+	* decl.c (builtin_function_1): Set DECL_ANTICIPATED also
+	on __*_chk non-__builtin_* decls.
+
 2007-09-05  Paolo Carlini  <pcarlini@suse.de>
 
 	PR c++/30302
@@ -19,6 +39,9 @@
 
 2007-09-04  Jason Merrill  <jason@redhat.com>
 
+	* except.c (initialize_handler_parm): Use
+	fold_build_cleanup_point_expr.
+
 	PR c++/31419
 	* call.c (reference_binding): Don't look for user-defined conversions
 	to the same type.
@@ -117,6 +140,11 @@
 	(get_delta_difference_1): New function.
 	(get_delta_difference): Refactor to call get_delta_difference_1.
 
+2007-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* decl.c (start_preparsed_function): Set
+	DECL_DISREGARD_INLINE_LIMITS for GNU_INLINE_P functions.
+
 2007-08-28  Paolo Carlini  <pcarlini@suse.de>
 
 	PR c++/33209


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