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

Jan Hubicka jh@suse.cz
Tue Apr 17 00:26:00 GMT 2007


Hi,
this is memory report for current tree-ssa branch relative to mainline
from this morning.
See also http://www.suse.de/~gcctest/memory/graphs/, the 3 peaks from 3
times gcctester was switches are quite visible. Detailed dumps are at
http://www.suse.de/~gcctest/memory/results/200704162042/

Honza
> 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: 7389k -> 7411k
>     Peak memory use before GGC: 2263k
>     Peak memory use after GGC: 1952k
>     Maximum of released memory in single GGC run: 311k
>     Garbage: 446k -> 447k
>     Leak: 2285k
>     Overhead: 456k -> 456k
>     GGC runs: 3
> 
> comparing empty function compilation at -O0 -g level:
>     Overall memory needed: 7405k -> 7427k
>     Peak memory use before GGC: 2290k
>     Peak memory use after GGC: 1979k
>     Maximum of released memory in single GGC run: 311k
>     Garbage: 449k -> 449k
>     Leak: 2318k
>     Overhead: 461k -> 461k
>     GGC runs: 3
> 
> comparing empty function compilation at -O1 level:
>     Overall memory needed: 7517k -> 7519k
>     Peak memory use before GGC: 2263k
>     Peak memory use after GGC: 1952k
>     Maximum of released memory in single GGC run: 311k
>     Garbage: 452k -> 452k
>     Leak: 2288k
>     Overhead: 457k -> 457k
>     GGC runs: 4
> 
> comparing empty function compilation at -O2 level:
>     Overall memory needed: 7525k -> 7527k
>     Peak memory use before GGC: 2263k
>     Peak memory use after GGC: 1952k
>     Maximum of released memory in single GGC run: 311k
>     Garbage: 455k -> 455k
>     Leak: 2288k
>     Overhead: 457k -> 457k
>     GGC runs: 4
> 
> comparing empty function compilation at -O3 level:
>     Overall memory needed: 7525k -> 7527k
>     Peak memory use before GGC: 2263k
>     Peak memory use after GGC: 1952k
>     Maximum of released memory in single GGC run: 311k
>     Garbage: 455k -> 455k
>     Leak: 2288k
>     Overhead: 457k -> 457k
>     GGC runs: 4
> 
> comparing combine.c compilation at -O0 level:
>   Overall memory allocated via mmap and sbrk increased from 17729k to 22619k, overall 27.58%
>   Peak amount of GGC memory allocated before garbage collecting increased from 9264k to 9341k, overall 0.83%
>   Amount of produced GGC garbage increased from 37096k to 38253k, overall 3.12%
>     Overall memory needed: 17729k -> 22619k
>     Peak memory use before GGC: 9264k -> 9341k
>     Peak memory use after GGC: 8852k -> 8827k
>     Maximum of released memory in single GGC run: 2577k -> 2655k
>     Garbage: 37096k -> 38253k
>     Leak: 6580k -> 6580k
>     Overhead: 5053k -> 5375k
>     GGC runs: 282 -> 288
> 
> comparing combine.c compilation at -O0 -g level:
>   Overall memory allocated via mmap and sbrk increased from 19889k to 24587k, overall 23.62%
>   Peak amount of GGC memory allocated before garbage collecting increased from 10880k to 11182k, overall 2.78%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 10512k to 10579k, overall 0.64%
>   Amount of produced GGC garbage increased from 37693k to 38846k, overall 3.06%
>     Overall memory needed: 19889k -> 24587k
>     Peak memory use before GGC: 10880k -> 11182k
>     Peak memory use after GGC: 10512k -> 10579k
>     Maximum of released memory in single GGC run: 2351k -> 2661k
>     Garbage: 37693k -> 38846k
>     Leak: 9465k -> 9473k
>     Overhead: 5759k -> 6081k
>     GGC runs: 270 -> 272
> 
> comparing combine.c compilation at -O1 level:
>   Overall memory allocated via mmap and sbrk increased from 35553k to 41227k, overall 15.96%
>   Amount of produced GGC garbage increased from 51578k to 57395k, overall 11.28%
>     Overall memory needed: 35553k -> 41227k
>     Peak memory use before GGC: 19348k -> 19323k
>     Peak memory use after GGC: 19155k -> 19127k
>     Maximum of released memory in single GGC run: 2272k -> 2077k
>     Garbage: 51578k -> 57395k
>     Leak: 6615k -> 6609k
>     Overhead: 6003k -> 6549k
>     GGC runs: 348 -> 352
> 
> comparing combine.c compilation at -O2 level:
>   Overall memory allocated via mmap and sbrk increased from 39977k to 41711k, overall 4.34%
>   Amount of produced GGC garbage increased from 67731k to 69382k, overall 2.44%
>     Overall memory needed: 39977k -> 41711k
>     Peak memory use before GGC: 19415k -> 19373k
>     Peak memory use after GGC: 19213k -> 19179k
>     Maximum of released memory in single GGC run: 2199k -> 2159k
>     Garbage: 67731k -> 69382k
>     Leak: 6729k -> 6732k
>     Overhead: 8041k -> 8392k
>     GGC runs: 400 -> 404
> 
> comparing combine.c compilation at -O3 level:
>   Overall memory allocated via mmap and sbrk increased from 44261k to 45207k, overall 2.14%
>   Amount of memory still referenced at the end of compilation increased from 6829k to 6843k, overall 0.21%
>     Overall memory needed: 44261k -> 45207k
>     Peak memory use before GGC: 19713k -> 19484k
>     Peak memory use after GGC: 19380k -> 19266k
>     Maximum of released memory in single GGC run: 3714k -> 3635k
>     Garbage: 92825k -> 90796k
>     Leak: 6829k -> 6843k
>     Overhead: 11379k -> 11442k
>     GGC runs: 426
> 
> comparing insn-attrtab.c compilation at -O0 level:
>   Overall memory allocated via mmap and sbrk increased from 102849k to 152491k, overall 48.27%
>   Peak amount of GGC memory allocated before garbage collecting increased from 68627k to 70324k, overall 2.47%
>   Amount of produced GGC garbage increased from 130923k to 136444k, overall 4.22%
>     Overall memory needed: 102849k -> 152491k
>     Peak memory use before GGC: 68627k -> 70324k
>     Peak memory use after GGC: 44730k -> 44191k
>     Maximum of released memory in single GGC run: 36429k -> 38126k
>     Garbage: 130923k -> 136444k
>     Leak: 9583k
>     Overhead: 16927k -> 17978k
>     GGC runs: 212 -> 223
> 
> comparing insn-attrtab.c compilation at -O0 -g level:
>   Overall memory allocated via mmap and sbrk increased from 104357k to 153875k, overall 47.45%
>   Peak amount of GGC memory allocated before garbage collecting increased from 69788k to 71486k, overall 2.43%
>   Amount of produced GGC garbage increased from 132399k to 137667k, overall 3.98%
>   Amount of memory still referenced at the end of compilation increased from 11067k to 11291k, overall 2.03%
>     Overall memory needed: 104357k -> 153875k
>     Peak memory use before GGC: 69788k -> 71486k
>     Peak memory use after GGC: 45998k -> 45459k
>     Maximum of released memory in single GGC run: 36429k -> 38127k
>     Garbage: 132399k -> 137667k
>     Leak: 11067k -> 11291k
>     Overhead: 17324k -> 18375k
>     GGC runs: 210 -> 223
> 
> comparing insn-attrtab.c compilation at -O1 level:
>   Overall memory allocated via mmap and sbrk increased from 124793k to 190607k, overall 52.74%
>   Peak amount of GGC memory allocated before garbage collecting increased from 73426k to 85948k, overall 17.05%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 69350k to 80070k, overall 15.46%
>   Amount of produced GGC garbage increased from 227633k to 268762k, overall 18.07%
>     Overall memory needed: 124793k -> 190607k
>     Peak memory use before GGC: 73426k -> 85948k
>     Peak memory use after GGC: 69350k -> 80070k
>     Maximum of released memory in single GGC run: 32798k -> 32250k
>     Garbage: 227633k -> 268762k
>     Leak: 9405k -> 9403k
>     Overhead: 27090k -> 28313k
>     GGC runs: 226 -> 228
> 
> comparing insn-attrtab.c compilation at -O2 level:
>   Overall memory allocated via mmap and sbrk increased from 195481k to 233267k, overall 19.33%
>   Peak amount of GGC memory allocated before garbage collecting increased from 74717k to 87235k, overall 16.75%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 69433k to 80140k, overall 15.42%
>   Amount of produced GGC garbage increased from 263316k to 302019k, overall 14.70%
>     Overall memory needed: 195481k -> 233267k
>     Peak memory use before GGC: 74717k -> 87235k
>     Peak memory use after GGC: 69433k -> 80140k
>     Maximum of released memory in single GGC run: 29994k -> 30040k
>     Garbage: 263316k -> 302019k
>     Leak: 9402k -> 9401k
>     Overhead: 32730k -> 33722k
>     GGC runs: 245 -> 248
> 
> comparing insn-attrtab.c compilation at -O3 level:
>   Overall memory allocated via mmap and sbrk increased from 204829k to 233279k, overall 13.89%
>   Peak amount of GGC memory allocated before garbage collecting increased from 84750k to 87249k, overall 2.95%
>   Peak amount of GGC memory still allocated after garbage collecting increased from 78009k to 80154k, overall 2.75%
>   Amount of produced GGC garbage increased from 292402k to 302705k, overall 3.52%
>     Overall memory needed: 204829k -> 233279k
>     Peak memory use before GGC: 84750k -> 87249k
>     Peak memory use after GGC: 78009k -> 80154k
>     Maximum of released memory in single GGC run: 30928k -> 30101k
>     Garbage: 292402k -> 302705k
>     Leak: 9406k -> 9405k
>     Overhead: 33468k -> 33928k
>     GGC runs: 246 -> 254
> 
> comparing Gerald's testcase PR8361 compilation at -O0 level:
>   Overall memory allocated via mmap and sbrk increased from 147069k to 152463k, overall 3.67%
>   Amount of produced GGC garbage increased from 207965k to 211766k, overall 1.83%
>     Overall memory needed: 147069k -> 152463k
>     Peak memory use before GGC: 90233k -> 90246k
>     Peak memory use after GGC: 89339k -> 89353k
>     Maximum of released memory in single GGC run: 17774k
>     Garbage: 207965k -> 211766k
>     Leak: 49198k -> 49217k
>     Overhead: 23912k -> 25066k
>     GGC runs: 410 -> 414
> 
> comparing Gerald's testcase PR8361 compilation at -O0 -g level:
>   Overall memory allocated via mmap and sbrk increased from 164845k to 174855k, overall 6.07%
>   Amount of produced GGC garbage increased from 214474k to 218296k, overall 1.78%
>     Overall memory needed: 164845k -> 174855k
>     Peak memory use before GGC: 102839k -> 102853k
>     Peak memory use after GGC: 101821k -> 101834k
>     Maximum of released memory in single GGC run: 18128k -> 18129k
>     Garbage: 214474k -> 218296k
>     Leak: 72513k -> 72532k
>     Overhead: 29808k -> 30963k
>     GGC runs: 384 -> 387
> 
> comparing Gerald's testcase PR8361 compilation at -O1 level:
>   Amount of produced GGC garbage increased from 338448k to 347532k, overall 2.68%
>     Overall memory needed: 151337k -> 150860k
>     Peak memory use before GGC: 101915k -> 101901k
>     Peak memory use after GGC: 100904k -> 100884k
>     Maximum of released memory in single GGC run: 17235k -> 17236k
>     Garbage: 338448k -> 347532k
>     Leak: 50295k -> 50296k
>     Overhead: 29925k -> 31198k
>     GGC runs: 525 -> 531
> 
> comparing Gerald's testcase PR8361 compilation at -O2 level:
>     Overall memory needed: 156833k -> 152348k
>     Peak memory use before GGC: 102519k -> 102512k
>     Peak memory use after GGC: 101504k -> 101495k
>     Maximum of released memory in single GGC run: 17232k -> 17233k
>     Garbage: 382734k -> 378707k
>     Leak: 51011k -> 51032k
>     Overhead: 35195k -> 35522k
>     GGC runs: 572 -> 569
> 
> comparing Gerald's testcase PR8361 compilation at -O3 level:
>   Ovarall memory allocated via mmap and sbrk decreased from 159753k to 154504k, overall -3.40%
>   Amount of produced GGC garbage decreased from 412741k to 397705k, overall -3.78%
>     Overall memory needed: 159753k -> 154504k
>     Peak memory use before GGC: 104341k -> 104309k
>     Peak memory use after GGC: 103298k -> 103276k
>     Maximum of released memory in single GGC run: 17648k -> 17610k
>     Garbage: 412741k -> 397705k
>     Leak: 51296k -> 51318k
>     Overhead: 37520k -> 37069k
>     GGC runs: 587 -> 574
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
>   Overall memory allocated via mmap and sbrk increased from 244781k to 344835k, overall 40.87%
>   Amount of produced GGC garbage increased from 142205k to 146874k, overall 3.28%
>     Overall memory needed: 244781k -> 344835k
>     Peak memory use before GGC: 80963k -> 80256k
>     Peak memory use after GGC: 58702k -> 57995k
>     Maximum of released memory in single GGC run: 44134k -> 46504k
>     Garbage: 142205k -> 146874k
>     Leak: 7613k -> 7421k
>     Overhead: 24559k -> 26766k
>     GGC runs: 79
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
>   Overall memory allocated via mmap and sbrk increased from 245593k to 345731k, overall 40.77%
>   Amount of produced GGC garbage increased from 142415k to 147084k, overall 3.28%
>     Overall memory needed: 245593k -> 345731k
>     Peak memory use before GGC: 81609k -> 80902k
>     Peak memory use after GGC: 59348k -> 58641k
>     Maximum of released memory in single GGC run: 44123k -> 46569k
>     Garbage: 142415k -> 147084k
>     Leak: 9381k -> 9188k
>     Overhead: 25054k -> 27261k
>     GGC runs: 89 -> 88
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
>   Overall memory allocated via mmap and sbrk increased from 253625k to 304723k, overall 20.15%
>   Amount of produced GGC garbage increased from 221602k to 231868k, overall 4.63%
>     Overall memory needed: 253625k -> 304723k
>     Peak memory use before GGC: 84262k -> 84146k
>     Peak memory use after GGC: 74847k
>     Maximum of released memory in single GGC run: 36149k -> 34777k
>     Garbage: 221602k -> 231868k
>     Leak: 20856k -> 20856k
>     Overhead: 30442k -> 33286k
>     GGC runs: 81
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
>   Overall memory allocated via mmap and sbrk increased from 507457k to 559635k, overall 10.28%
>   Amount of produced GGC garbage increased from 228633k to 239652k, overall 4.82%
>     Overall memory needed: 507457k -> 559635k
>     Peak memory use before GGC: 79833k
>     Peak memory use after GGC: 74847k
>     Maximum of released memory in single GGC run: 33439k -> 33316k
>     Garbage: 228633k -> 239652k
>     Leak: 20946k -> 20946k
>     Overhead: 32524k -> 35497k
>     GGC runs: 91 -> 92
> 
> comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
>   Overall memory allocated via mmap and sbrk increased from 1269241k to 1380355k, overall 8.75%
>   Amount of produced GGC garbage increased from 370229k to 378499k, overall 2.23%
>     Overall memory needed: 1269241k -> 1380355k
>     Peak memory use before GGC: 201851k
>     Peak memory use after GGC: 190309k
>     Maximum of released memory in single GGC run: 80679k -> 80854k
>     Garbage: 370229k -> 378499k
>     Leak: 46312k -> 46312k
>     Overhead: 48626k -> 51554k
>     GGC runs: 70 -> 72
> 
> Head of the ChangeLog is:
> 
> --- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2007-04-16 04:19:06.000000000 +0000
> +++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2007-04-16 16:04:20.000000000 +0000
> @@ -1,662 +1,3 @@
> -2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
> -
> -	* config/m68k/linux.h (FUNCTION_VALUE_REGNO_P): Use macros for
> -	register numbers more.
> -	* config/m68k/m68k.h (STACK_POINTER_REGNUM,
> -	FRAME_POINTER_REGNUM, STATIC_CHAIN_REGNUM,
> -	M68K_STRUCT_VALUE_REGNUM, FUNCTION_VALUE, LIBCALL_VALUE,
> -	FUNCTION_VALUE_REGNO_P): Likewise.
> -	* config/m68k/m68kelf.h (M68K_STRUCT_VALUE_REGNUM,
> -	STATIC_CHAIN_REGNUM): Likewise.
> -	* config/m68k/m68kemb.h (FUNCTION_VALUE_REGNO_P): Likewise.
> -	* config/m68k/netbsd-elf.h (M68K_STRUCT_VALUE_REGNUM,
> -	STATIC_CHAIN_REGNUM, FUNCTION_VALUE_REGNO_P): Likewise.
> -	* config/m68k/m68k.md (FP_REG): New.
> -
> -2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
> -
> -	* config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Prefer 32-bit
> -	alignment on fido.
> -
> -2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
> -
> -	* config/i386/i386.c, config/s390/s390.c, config/s390/s390.md,
> -	tree-ssa-loop-niter.c, tree-ssa-structalias.c, tree-vrp.c: Fix
> -	comment typos.
> -
> -2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
> -
> -	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Ignore
> -	cold loops.
> -
> -2007-04-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
> -
> -	PR c/31520
> -        * c-decl.c (finish_decl): Grab the type of the decl after the call
> -	to store_init_value.
> -
> -2007-04-14  Steven Bosscher  <steven@gcc.gnu.org>
> -
> -	* common.opt (fforward-propagate): Fix "Optimization" annotation.
> -
> -2007-04-14  Jakub Jelinek  <jakub@redhat.com>
> -
> -	PR c++/25874
> -	* omp-low.c (expand_omp_parallel): If child_cfun->cfg, free dominators,
> -	post dominators and cleanup cfg before returning.
> -
> -2007-04-14  Bernd Schmidt  <bernd.schmidt@analog.com>
> -
> -	* config/bfin/bfin.h (MODES_TIEABLE_P): Allow more modes to be tied.
> -	* config/bfin/bfin.md (movsi_insn): Delete two unused alternatives.
> -
> -2007-04-14  Kazu Hirata  <kazu@codesourcery.com>
> -
> -	* config.gcc: Recognize fido.
> -	* config/m68k/m68k-devices.def (fidoa): New.
> -	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define
> -	__mfido__.
> -	(FL_FIDOA, TARGET_FIDOA): New.
> -	* config/m68k/m68k.opt (mfidoa): New.
> -
> -2007-04-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
> -
> -	PR middle-end/31322
> -	* dwarf2out.c (output_call_frame_info): Call assemble_external_libcall
> -	when a personality function is used.
> -
> -2007-04-13  Bob Wilson  <bob.wilson@acm.org>
> -
> -	* config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN.
> -
> -2007-04-13  Mike Stump  <mrs@apple.com>
> -
> -	* config/darwin-c.c (handle_c_option): Handle -fapple-kext here so
> -	we can...
> -	* config/darwin.opt (fapple-kext): Make C++ only.
> -	* config/darwin.c (darwin_override_options): Remove code to ensure
> -	-fapple-kext is given for C++ only.
> -
> -2007-04-13  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
> -	* config/mips/mips.c (override_options): Call
> -	SUBTARGET_OVERRIDE_OPTIONS, if defined.
> -
> -2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>
> -
> -	* config/i386/i386.opt (msvr3-shlib): Removed.
> -
> -	* doc/invoke.texi: Remove -msvr3-shlib.
> -
> -2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>
> -
> -	* config/i386/i386.opt (mpopcnt): Replace "popcount" instruction
> -	with "popcnt" instruction.
> -
> -2007-04-13  Richard Guenther  <rguenther@suse.de>
> -
> -	PR tree-optimization/21258
> -	* tree-vrp.c (compare_case_labels): New helper.
> -	(find_switch_asserts): New function.
> -	(find_assert_locations): Call it for SWITCH_EXPRs.
> -
> -2007-04-13  Uros Bizjak  <ubizjak@gmail.com>
> -
> -	* config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387.
> -	* config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this
> -	check is now implied in X87_FLOAT_MODE_P.
> -	(*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
> -	(*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
> -	(fix_trunc<mode>_i386_fisttp): Ditto.
> -	(fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
> -	(*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
> -	(fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
> -	(fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
> -	(*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
> -	(*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
> -	(unnamed_splitters): Ditto.
> -	* config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG
> -	for X87_FLOAT_MODE_P mode.  Override FIRST_FLOAT_REG with
> -	FIRST_SSE_REG for local functions when SSE math is enabled or
> -	for functions with sseregparm attribute.
> -	(standard_80387_constant_p): Return -1 if mode is not
> -	X87_FLOAT_MODE_P.
> -	(ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P.
> -	(ix86_expand_compare): Ditto.
> -	(ix86_expand_carry_flag_compare): Ditto.
> -	(ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead
> -	of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not
> -	DECIMAL_FLOAT_MODE_P.
> -	(ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead
> -	of SCALAR_FLOAT_MODE_P.
> -	(ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ...
> -	[MINUS]: ... here.  Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P
> -	checks before FLOAT_MODE_P.
> -	[MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks
> -	before FLOAT_MODE_P.
> -	[DIV]: Ditto.
> -	[NEG]: Ditto.
> -	[ABS]: Ditto.
> -	[SQRT]: Ditto.
> -	[FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P.
> -
> -2007-04-12  Paolo Bonzini  <bonzini@gnu.org>
> -            Charles Wilson  <libtool@cwilson.fastmail.fm>
> -
> -	* Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove.
> -	(libgcc.mvars): Don't depend on them.
> -	* configure.ac (as, collect-ld, nm): Create from exec-tool.in.
> -	* exec-tool.in: New.
> -
> -2007-04-12  Brooks Moses  <brooks.moses@codesourcery.com>
> -
> -	* doc/invoke.text (--help): Document --help=common.
> -
> -2007-04-12  Thomas Neumann  <tneumann@users.sourceforge.net>
> -
> -	* stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H).
> -	* genemit.c (main): Emit #include "integrate.h".
> -	* config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type.
> -	(LOADGP_RTP): New mips_loadgp_style.
> -	* config/mips/mips.h: Include config/vxworks-dummy.h.
> -	(TARGET_RTP_PIC): New macro.
> -	(TARGET_USE_GOT): Return true for TARGET_RTP_PIC.
> -	(TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP.
> -	(ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables
> -	for TARGET_RTP_PIC.
> -	* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define.  Pass down
> -	-mvxworks-pic when using -mrtp and a PIC option.
> -	* config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP
> -	for RTP PIC.
> -	(mips_symbolic_constant_p, mips_symbolic_address_p)
> -	(mips_symbol_insns): Handle SYMBOL_HALF.
> -	(override_options): Warn about -G and -mrtp being used together.
> -	Initialize mips_lo_relocs[SYMBOL_HALF].
> -	(mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC.
> -	(mips_emit_loadgp): Handle LOADGP_RTP.
> -	(mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP.
> -	* config/mips/mips.md (loadgp_rtp): New insn and splitter.
> -	(tablejump): Handle function-relative case table entries if
> -	TARGET_RTP_PIC.
> -	* config/mips/predicates.md (symbol_ref_operand): New predicate.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/mips.md (load_call<mode>): Allow any general register.
> -	destination.
> -	(sibcall_value_internal, sibcall_value_multiple_internal)
> -	(call_value_internal, call_value_split, call_value_multiple_internal)
> -	(call_value_multiple_split): Remove constraints from operand 0.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/mips-protos.h: In comments, refer to loadgp_absolute
> -	rather than loadgp_noshared.
> -	* config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute
> -	instead of gen_loadgp_noshared.  Use gen_loadgp_newabi instead of
> -	gen_loadgp.
> -	* config/mips/mips.md (loadgp): Rename to...
> -	(loadgp_newabi): ...this.
> -	(loadgp_noshared): Rename to...
> -	(loadgp_absolute): ...this.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
> -	false for locally-binding symbols.
> -	(mips_dangerous_for_la25_p): Check mips_global_symbol_p.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...
> -	(SYMBOL_GOT_PAGE_OFST): ...this.
> -	(SYMBOL_GOT_GLOBAL): Rename to...
> -	(SYMBOL_GOT_DISP): ...this.
> -	(SYMBOL_GOTOFF_GLOBAL): Rename to...
> -	(SYMBOL_GOTOFF_DISP): ...this.  Update comments accordingly.
> -	* config/mips/mips.c (mips_global_symbol_p): New function.
> -	(mips_symbol_binds_local_p): Likewise.
> -	(mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP
> -	and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST.  Use mips_global_symbol_p
> -	and mips_symbol_binds_local_p.
> -	(mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
> -	(override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP,
> -	SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to
> -	SYMBOL_GOTOFF_DISP.
> -	(mips_ok_for_lazy_binding_p): New function.
> -	(mips_load_call_address, mips_expand_call): Use it.
> -	(mips_dangerous_for_la25_p): Likewise.
> -	* config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>)
> -	(*got_disp<mode>): Use got_disp_operand instead of
> -	global_got_operand.  Use SYMBOL_GOTOFF_DISP instead of
> -	SYMBOL_GOTOFF_GLOBAL.
> -	(*got_page<mode>): Use got_page_ofst_operand instead of
> -	local_got_operand.
> -	* config/mips/predicates.md (const_call_insn_operand): Use
> -	SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL.
> -	(global_got_operand): Rename to...
> -	(got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of
> -	SYMBOL_GOT_GLOBAL.
> -	(local_got_operand): Rename to...
> -	(got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead
> -	of SYMBOL_GOT_LOCAL.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/mips/mips.h (TARGET_SPLIT_CALLS): Check
> -	TARGET_CALL_CLOBBERED_GP.
> -	(TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
> -	(TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros.
> -	(TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise.
> -	(STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead
> -	of TARGET_ABICALLS && !TARGET_NEWABI.
> -	(MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
> -	* config/mips/mips.c (mips_load_call_address): Check
> -	TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
> -	(mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
> -	Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
> -	(mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of
> -	TARGET_ABICALLS && TARGET_NEWABI.
> -	(mips_current_loadgp_style): Check TARGET_USE_GOT instead of
> -	TARGET_ABICALLS.
> -	(mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI.
> -	(mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of
> -	TARGET_ABICALLS && TARGET_NEWABI.
> -	(mips_output_mi_thunk): Check TARGET_USE_GOT instead of
> -	TARGET_ABICALLS.  Check TARGET_CALL_SAVED_GP instead of
> -	TARGET_NEWABI.  Use TARGET_USE_PIC_FN_ADDR_REG to decide
> -	whether indirect calls must use $25.
> -	(mips_extra_live_on_entry): Check TARGET_GOT instead of
> -	TARGET_ABICALLS.
> -	* config/mips/mips.md (jal_macro): Check flag_pic and
> -	TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI.
> -	(builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT
> -	instead of TARGET_ABICALLS.
> -	(exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of
> -	TARGET_ABICALLS && TARGET_OLDABI.
> -	(load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
> -	(sibcall): In the comment above the define_insn, mention
> -	TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS.
> -	* config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG
> -	instead of TARGET_ABICALLS.
> -
> -2007-04-12  Bernd Schmidt  <bernd.schmidt@analog.com>
> -
> -	* doc/md.texi (Blackfin family constraints): Document PA and PB.
> -	* config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB.
> -	(MACFLAGS_MATCH_P): New macro.
> -	* config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M.
> -	(bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS.
> -	* config/bfin/bfin.md (MACFLAG_IS_M): New constant.  Renumber some of
> -	the other MACFLAG constants.
> -	(sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns.
> -	(flag_machi): Tighten constraints.  Renumber some of the operands.
> -	(flag_machi_acconly): Tighten constraints.  Correct operand numbers in
> -	output template.
> -	(flag_machi_parts_acconly): New pattern.
> -	(flag_macinithi): Tighten constraints.  Allow any accumulator to be
> -	used.
> -	(flag_macinit1hi): Tighten constraints.
> -	(flag_mul_macv2hi_parts_acconly): New pattern.
> -
> -	* config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart):
> -	Use a more efficient implementation.
> -	* config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit
> -	inline sequences when not optimizing for size.
> -
> -	* config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low,
> -	movhi_high2low): Delete, merge functionality into...
> -	(packv2hi): ... this pattern.
> -
> -	2007-02-11  Jie Zhang  <jie.zhang@analog.com>
> -	* config/bfin/bfin.opt (msim): New option.
> -	(mcpu=): New option.
> -	* config/bfin/bfin-protos.h (enum bfin_cpu): New.
> -	(bfin_cpu_t): Typedef of enum bfin_cpu.
> -	(bfin_cpu_type): New declaration.
> -	* config/bfin/elf.h (STARTFILE_SPEC): Add support for
> -	-msim and -mcpu= options.
> -	(LIB_SPEC): Likewise.
> -	* config/bfin/bfin.c (bfin_cpu_type): Define.
> -	(bfin_handle_option): Handle -mcpu= option.
> -	* config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532.
> -	(TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__,
> -	__ADSPBF533__ or __ADSPBF537__ according to the cpu type.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.
> -	(arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks)
> -	(powerpc-wrs-vxworksae): Use ${tm_file}.
> -	(i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h
> -	after elfos.h.  Remove i386/sysv4.h and add i386/vx-common.h.
> -	* config/i386/vx-common.h: New file.
> -
> -2007-04-12  Richard Sandiford  <richard@codesourcery.com>
> -
> -	* config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead
> -	of crt0.o%s.
> -
> -2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>
> -
> -	* config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
> -	ldxtr.
> -
> -2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>
> -
> -	PR c++/31078
> -	PR c++/31103
> -	* c-common.c (c_build_qualified_type): Set canonical type
> -	appropriately.  
> -
> -2007-04-12  Richard Guenther  <rguenther@suse.de>
> -
> -	* tree-pretty-print.c (dump_generic_node): Print ARRAY_REF
> -	lower bound and element size if lower bound is not zero
> -	or either of the ARRAY_REF operands is set.
> -
> -2007-04-12  Richard Guenther  <rguenther@suse.de>
> -
> -	PR tree-optimization/24689
> -	PR tree-optimization/31307
> -	* fold-const.c (operand_equal_p): Compare INTEGER_CST array
> -	indices by value.
> -	* gimplify.c (canonicalize_addr_expr): To be consistent with
> -	gimplify_compound_lval only set operands two and three of
> -	ARRAY_REFs if they are not gimple_min_invariant.  This makes
> -	it never at this place.
> -	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
> -
> -2007-04-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
> -
> -	* pa.c (pa_som_asm_init_sections): Ensure that cfun->machine is not
> -	null before emitting a .nsubspa directive.
> -
> -2007-04-11  Diego Novillo  <dnovillo@redhat.com>
> -
> -	* tree-ssa-alias.c (dump_mem_ref_stats): Do not call
> -	need_to_partition_p if there are no memory statements in the
> -	function.
> -
> -2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
> -
> -	* tree-data-ref.c (chrec_steps_divide_constant_p): Removed.
> -	(gcd_of_steps_may_divide_p): New function.
> -	(analyze_miv_subscript): Use gcd_of_steps_may_divide_p.
> -
> -2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
> -
> -	* reload.c (find_reloads_toplev, find_reloads_address,
> -	find_reloads_address_1, find_reloads_subreg_address): Use rtx_equal_p,
> -	not a pointer equality test, to decide if we need to call
> -	push_reg_equiv_alt_mem.
> -
> -2007-04-11  Sebastian Pop  <sebastian.pop@inria.fr>
> -
> -	* tree-data-ref.c (affine_function_zero_p, constant_access_functions,
> -	insert_innermost_unit_dist_vector, add_distance_for_zero_overlaps): New.
> -	(build_classic_dist_vector): Call add_distance_for_zero_overlaps.
> -
> -2007-04-11  Zdenek Dvorak  <dvorakz@suse.cz>
> -
> -	* tree-data-ref.c (add_multivariate_self_dist): Force the distance
> -	vector to be positive.
> -
> -2007-04-11  Diego Novillo  <dnovillo@redhat.com>
> -
> -	PR 30735
> -	PR 31090
> -	* doc/invoke.texi: Document --params max-aliased-vops and
> -	avg-aliased-vops.
> -	* tree-ssa-operands.h (get_mpt_for, dump_memory_partitions,
> -	debug_memory_partitions): Move to tree-flow.h
> -	* params.h (AVG_ALIASED_VOPS): Define.
> -	* tree-ssa-alias.c (struct mp_info_def): Remove.  Update all
> -	users.
> -	(mp_info_t): Likewise.
> -	(get_mem_sym_stats_for): New.
> -	(set_memory_partition): Move from tree-flow-inline.h.
> -	(mark_non_addressable): Only clear the set of symbols for the
> -	partition if it exists.
> -	(dump_memory_partitions): Move from tree-ssa-operands.c
> -	(debug_memory_partitions): Likewise.
> -	(need_to_partition_p): New.
> -	(dump_mem_ref_stats): New.
> -	(debug_mem_ref_stats): New.
> -	(dump_mem_sym_stats): New.
> -	(debug_mem_sym_stats): New.
> -	(update_mem_sym_stats_from_stmt): New.
> -	(compare_mp_info_entries): New.
> -	(mp_info_cmp): Call it.
> -	(sort_mp_info): Change argument to a list of mem_sym_stats_t
> -	objects.
> -	(get_mpt_for): Move from tree-ssa-operands.c.
> -	(find_partition_for): New.
> -	(create_partition_for): Remove.
> -	(estimate_vop_reduction): New.
> -	(update_reference_counts): New.
> -	(build_mp_info): New.
> -	(compute_memory_partitions): Refactor.
> -	Document new heuristic.
> -	Call build_mp_info, update_reference_counts,
> -	find_partition_for and estimate_vop_reduction.
> -	(compute_may_aliases): Populate virtual operands before
> -	calling debugging dumps.
> -	(delete_mem_sym_stats): New.
> -	(delete_mem_ref_stats): New.
> -	(init_mem_ref_stats): New.
> -	(init_alias_info): Call it.
> -	(maybe_create_global_var): Remove alias_info argument.
> -	Get number of call sites and number of pure/const call sites
> -	from gimple_mem_ref_stats().
> -	(dump_alias_info): Call dump_memory_partitions first.
> -	(dump_points_to_info_for): Show how many times a pointer has
> -	been dereferenced.
> -	* opts.c (decode_options): For -O2 set --param
> -	max-aliased-vops to 500.
> -	For -O3 set --param max-aliased-vops to 1000 and --param
> -	avg-aliased-vops to 3.
> -	* fortran/options.c (gfc_init_options): Remove assignment to
> -	MAX_ALIASED_VOPS.
> -	* tree-flow-inline.h (gimple_mem_ref_stats): New.
> -	* tree-dfa.c (dump_variable): Dump memory reference
> -	statistics.
> -	Dump NO_ALIAS* settings.
> -	(referenced_var_lookup): Tidy.
> -	(mem_sym_stats): New.
> -	* tree-ssa-copy.c (may_propagate_copy): Return true if DEST
> -	and ORIG are different SSA names for a memory partition.
> -	* tree-ssa.c (delete_tree_ssa): Call delete_mem_ref_stats.
> -	* tree-flow.h (struct mem_sym_stats_d): Define.
> -	(mem_sym_stats_t): Define.
> -	(struct mem_ref_stats_d): Define.
> -	(struct gimple_df): Add field mem_ref_stats.
> -	(enum noalias_state): Define.
> -	(struct var_ann_d): Add bitfield noalias_state.
> -	(mem_sym_stats, delete_mem_ref_stats, dump_mem_ref_stats,
> -	debug_mem_ref_stats, debug_memory_partitions,
> -	debug_mem_sym_stats): Declare.
> -	* tree-ssa-structalias.c (update_alias_info): Update call
> -	sites, pure/const call sites and asm sites in structure
> -	returned by gimple_mem_ref_stats.
> -	Remove local variable IS_POTENTIAL_DEREF.
> -	Increase NUM_DEREFS if the memory expression is a potential
> -	dereference.
> -	Call update_mem_sym_stats_from_stmt.
> -	If the memory references memory, call
> -	update_mem_sym_stats_from_stmt for all the direct memory
> -	symbol references found.
> -	(intra_create_variable_infos): Set noalias_state field for
> -	pointer arguments according to the value of
> -	flag_argument_noalias.
> -	* tree-ssa-structalias.h (struct alias_info): Remove fields
> -	num_calls_found and num_pure_const_calls_found.
> -	(update_mem_sym_stats_from_stmt): Declare.
> -	* params.def (PARAM_MAX_ALIASED_VOPS): Change description.
> -	Set default value to 100.
> -	(PARAM_AVG_ALIASED_VOPS): Define.
> -
> -2007-04-11  Richard Guenther  <rguenther@suse.de>
> -
> -	PR middle-end/31530
> -	* simplify-rtx.c (simplify_binary_operation_1): Do not simplify
> -	a * -b + c as c - a * b if we honor sign dependent rounding.
> -
> -2007-04-11  Bernd Schmidt  <bernd.schmidt@analog.com>
> -
> -	* config/bfin/bfin-protos.h (bfin_expand_movmem): Renamed from
> -	bfin_expand_strmov.
> -	* config/bfin/bfin.c (bfin_expand_prologue, bfin_delegitimize_address,
> -	bfin_function_ok_for_sibcall, split_load_immediate): Remove unused
> -	variables.
> -	(initialize_trampoline): Don't use old-style function definition.
> -	(bfin_secondary_reload): Mark IN_P argument as unused.
> -
> -2007-04-10  Sebastian Pop  <sebastian.pop@inria.fr>
> -
> -	PR tree-optimization/31343
> -	* tree-chrec.h (chrec_zerop): Moved before build_polynomial_chrec.
> -	(build_polynomial_chrec): Return a scalar when the evolution is zero.
> -	* testsuite/gcc.dg/vect/pr31343.c: New.
> -
> -2007-04-10  Eric Christopher  <echristo@apple.com>
> -
> -	* config/i386/i386.h (X87_FLOAT_MODE_P): New.
> -	* config/i386/i386.md (*cmpfp0): Use.
> -	(*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
> -	(*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
> -	(fix_trunc<mode>_i386_fisttp): Ditto.
> -	(fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
> -	(*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
> -	(fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
> -	(fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
> -	(*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
> -	(*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
> -	(unnamed_splitters): Ditto.
> -	* config/i386/i386.c (output_fix_trunc): Assert that
> -	we're not being passed a TFmode operand.
> -
> -2007-04-10  Zdenek Dvorak  <dvorakz@suse.cz>
> -
> -	PR tree-optimization/31526
> -	* tree-inline.c (copy_cfg_body): Use last_basic_block instead of
> -	n_basic_blocks to find newly added blocks.
> -
> -2007-04-10  Uros Bizjak  <ubizjak@gmail.com>
> -
> -	* config/i386/i386.md (fix_trunc<mode>di_sse): Remove "x" from "xm"
> -	alternative.
> -	(fix_trunc<mode>si_sse): Ditto.
> -	(*floatsisf2_mixed, *floatsisf2_sse): Ditto.
> -	(*floatsidf2_mixed, *floatsidf2_sse): Ditto.
> -	(*floatdisf2_mixed, *floatdisf2_sse): Ditto.
> -	(*floatdidf2_mixed, *floatdidf2_sse): Ditto.
> -	(floathi<mode>2): Rename from floathisf2 and floathidf2. Macroize
> -	expander using SSEMODEF mode macro.
> -	(floatsi<mode>2): Rename from floatsisf2 and floashidf2. Macroize
> -	expander using SSEMODEF mode macro.
> -	(*floathi<mode>2_i387): Rename from *floathisf2_i387 and
> -	*floathidf2_i387. Macroize insn using X87MODEF12 mode macro.
> -	(*floatsi<mode>2_i387): Rename from *floatsisf2_i387 and
> -	*floatsidf2_i387. Macroize insn using X87MODEF12 mode macro.
> -	(*floatdi<mode>2_i387): Rename from *floatdisf2_i387 and
> -	*floatdidf2_i387. Macroize insn using X87MODEF12 mode macro.
> -	(float<mode>xf2): Rename from floathixf2, floatsixf2 and floatdixf2.
> -	Macroize insn using X87MODEF mode macro.
> -
> -2007-04-09  H.J. Lu  <hongjiu.lu@intel.com>
> -
> -	* config/i386/sse.md (sse2_pinsrw): Removed.
> -	(sse2_pextrw): Renamed to ...
> -	(*sse2_pextrw): This.
> -
> -2007-04-09  Jan Hubicka  <jh@suse.cz>
> -
> -	PR target/27869
> -	* config/i386/sse.md
> -	(sse_vmaddv4sf3, sse_vmmulv4sf3): Remove '%' modifier.
> -	(sse_vmsmaxv4sf3_finite, sse_vmsminv4sf3_finite): Remove.
> -	(sse2_vmaddv2df3, sse2_vmmulv2df3): Remove '%' modifier.
> -	(sse2_vmsmaxv2df3_finite, sse2_vmsminv2df3_finite): Remove.
> -
> -2007-04-09  Jan Hubicka  <jh@suse.cz>
> -
> -	* tree-ssa-ccp (maybe_fold_offset_to_component_ref): Recurse into
> -	multiple fields of union.
> -
> -2007-04-09  Zdenek Dvorak  <dvorakz@suse.cz>
> -
> -	* cfgloopmanip.c (create_preheader): Do not use loop_preheader_edge.
> -	(create_preheaders): Check that loops are available.
> -	(fix_loop_structure): Clean up, improve comments.
> -	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa):
> -	Check that loops are available.  Set LOOP_CLOSED_SSA to the loops
> -	state flags.
> -	* tree-scalar-evolution.c (scev_finalize): Clear scalar_evolution_info.
> -	* predict.c (tree_estimate_probability): Do not call
> -	calculate_dominance_info.  Call create_preheaders.
> -	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Only call
> -	rewrite_into_loop_closed_ssa if LOOP_CLOSED_SSA is set in loops state
> -	flags.
> -	* cfgloop.c (loop_preheader_edge): Assert that loops have preheaders.
> -	* cfgloop.h (LOOP_CLOSED_SSA): New constant.
> -	* tree-cfg.c (tree_split_edge): Make an assert more precise.
> -	* tree-ssa-threadedge.c (thread_across_edge): Comment the function
> -	arguments.
> -
> -2007-04-08  Jan Hubicka  <jh@suse.cz>
> -
> -	* tree.h (maybe_fold_offset_to_component_ref): Declare.
> -	* tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Export.
> -	* fold-const.c (fold_unary): Use it.
> -
> -2007-04-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
> -
> -	* varasm.c (assemble_variable): Remove call to
> -	lang_hooks.decls.prepare_assemble_variable.
> -	* langhooks-def.h (LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE): Kill.
> -	(LANG_HOOKS_DECLS): Remove LANG_HOOKS_PREPARE_ASSEMBLE_VARIABLE.
> -	* langhooks.h (lang_hooks_for_decls): Remove
> -	prepare_assemble_variable.
> -
> -2007-04-08  Mike Stump  <mrs@apple.com>
> -
> -	* config/i386/i386.c: Use inc/dec on Core2.
> -
> -2007-04-08  Steven Bosscher  <steven@gcc.gnu.org>
> -
> -	* langhooks.c (lhd_tree_inlining_add_pending_fn_decls,
> -	lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
> -	lhd_tree_inlining_end_inlining): Remove.
> -	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove then
> -	add_pending_fn_decls, anon_aggr_type_p, start_inlining, and
> -	end_inlining hooks.
> -	* langhooks-def.h (lhd_tree_inlining_add_pending_fn_decls,
> -	lhd_tree_inlining_anon_aggr_type_p, lhd_tree_inlining_start_inlining,
> -	lhd_tree_inlining_end_inlining): Remove prototypes.
> -	(LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS,
> -	LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P,
> -	LANG_HOOKS_TREE_INLINING_START_INLINING,
> -	LANG_HOOKS_TREE_INLINING_END_INLINING): Remove.
> -
> -	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do
> -	not set it.
> -
> -2007-04-08  Anatoly Sokolov <aesok@post.ru>
> -
> -	PR target/29932
> -	* config/avr/predicates.md (io_address_operand): Delete predicate.
> -	(low_io_address_operand): Don't use 'mode' argument.
> -	(higth_io_address_operand): Rename ...
> -	(high_io_address_operand): ... to this. Don't use 'mode' argument.
> -	* config/avr/avr.md (*sbix_branch_tmp, *sbix_branch_tmp_bit7): Adjust
> -	for above change.
> -
>  2007-04-07  Daniel Berlin  <dberlin@dberlin.org>
>  
>  	Revert change removing staticp.
> @@ -664,7 +5,7 @@
>  2007-04-07  Anatoly Sokolov <aesok@post.ru>
>  
>  	PR target/30289
> -	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
> +	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as 
>  	earlyclobber.
>  
>  2007-04-07  Bruce Korb  <bkorb@gnu.org>
> @@ -742,7 +83,7 @@
>  	* langhooks.h (lang_hooks): Remove safe_from_p.
>  	(lhd_safe_from_p): Remove prototype.
>  	* langhooks.c (lhd_safe_from_p): Remove.
> -
> +	
>  2007-04-06  Jan Hubicka  <jh@suse.cz>
>  
>  	* cgraphunit.c (decide_is_function_needed): Do not keep always_inline
> @@ -848,7 +189,7 @@
>  2007-04-05  Anatoly Sokolov <aesok@post.ru>
>  
>  	PR target/25448
> -	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the
> +	* config/avr/avr.c (avr_handle_fndecl_attribute): Use the 
>  	DECL_ASSEMBLER_NAME, not the DECL_NAME.
>  
>  2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
> --- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2007-04-16 04:19:06.000000000 +0000
> +++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2007-04-16 16:03:43.000000000 +0000
> @@ -1,40 +1,3 @@
> -2007-04-15  Mark Mitchell  <mark@codesourcery.com>
> -
> -	* cp-tree.h (current_template_parms): Fix typo in comment.
> -
> -2007-04-15  Kazu Hirata  <kazu@codesourcery.com>
> -
> -	* cp-tree.h, error.c: Fix comment typos.
> -
> -2007-04-13  Jason Merrill  <jason@redhat.com>
> -
> -	PR c++/31074
> -	* call.c (reference_binding): Add c_cast_p parm.  If true,
> -	add quals to TO as needed to make it reference-compatible.
> -
> -2007-04-11  Jan Hubicka  <jh@suse.cz>
> -
> -	* cp/class.c (convert_to_base_statically): Fold produced tree; verify
> -	that we are not processing template_decl.
> -
> -2007-04-09  Mark Mitchell  <mark@codesourcery.com>
> -
> -	PR c++/31449
> -	* class.c (build_base_path): Ensure that the converted pointer has
> -	the same cv-qualification as the input.
> -
> -2007-04-09  Paolo Carlini  <pcarlini@suse.de>
> -
> -	* tree.c (cp_tree_equal): Deal with TRAIT_EXPR.
> -
> -2007-04-08  Steven Bosscher  <steven@gcc.gnu.org>
> -
> -	* cp-objcp-common.h (LANG_HOOKS_TREE_INLINING_ADD_PENDING_FN_DECLS):
> -	Do not set it.
> -	(LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Do not set it.
> -	* tree.c (cp_add_pending_fn_decls): Remove.
> -	* cp-tree.h (cp_add_pending_fn_decls): Remove prototype.
> -
>  2007-04-07  Daniel Berlin  <dberlin@dberlin.org>
>  
>  	Revert change removing staticp.
> @@ -50,6 +13,8 @@
>  	* class.c (check_for_override): Don't remove dllmport attribute
>  	of virtual methods.
>  
> +
> +
>  2007-04-03  Jakub Jelinek  <jakub@redhat.com>
>  
>  	PR c++/30847
> 
> 
> 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