diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 95529f5e373e98cf0ac0774c23bd021447f84f3c..5aff05dac40b6073ad0d7f4536e2ec3564be2ec8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -386,34174 +386,3 @@
 	* config/i386/sse.md (sse5_pperm, sse5_pperm_pack_v2di_v4si,
 	sse5_pperm_pack_v4si_v8hi, sse5_pperm_pack_v8hi_v16qi,
 	sse5_perm<mode>): Fix constraints.
-
-2007-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR driver/33772
-	* collect2.c (SHLIB_SUFFIX): Define if not defined.
-	(write_c_file_stat): Use SHLIB_SUFFIX.
-	* som.h (SHLIB_SUFFIX): Define.
-	* doc/tm.texi (SHLIB_SUFFIX): Document.
-
-2007-12-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md ("*divv4sf3"): Rename to "sse_divv4sf3".
-	("*sse_rsqrtv4sf2"): Export.
-	("*sse_sqrtv4sf2"): Ditto.
-	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_RSQRTPS_NR,
-	IX86_BUILTIN_SQRTPS_NR]: New constants.
-	(struct builtin_description) [IX86_BUILTIN_DIVPS]: Use
-	CODE_FOR_sse_divv4sf3.
-	[IX86_BUILTIN_SQRTPS]: Use CODE_FOR_sse_sqrtv4sf2.
-	[IX86_BUILTIN_SQRTPS_NR]: New.
-	[IX86_BUILTIN_RSQRTPS_NR]: Ditto.
-	(ix86_init_mmx_sse_builtins): Initialize __builtin_ia32_rsqrtps_nr and
-	__builtin_ia32_sqrtps_nr.
-	(ix86_builtin_vectorized_function): Convert BUILT_IN_SQRTF to
-	IX86_BUILTIN_SQRTPS_NR.
-	(ix86_builtin_reciprocal): Convert IX86_BUILTIN_SQRTPS_NR to
-	IX86_BUILTIN_RSQRTPS_NR.
-
-2007-12-27  Brian Dessent  <brian@dessent.net>
-
-	* doc/invoke.texi (Optimize Options): Add missing opindex for
-	-fno-toplevel-reorder.
-
-2007-12-27  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/34591
-	* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
-	stmts (including reduction stmts) that are not live.
-
-2007-12-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/34281
-	* config/arm/arm.c (arm_setup_incoming_varargs): If last named
-	argument needs double word alignment and cum->nregs is odd, account
-	for the inserted padding.
-
-	PR debug/34535
-	* tree-mudflap.c (mf_make_builtin): Make decl artificial
-	and don't emit debug info for it.
-
-2007-12-26  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82 
-	and AT90USB162 devices from 'avr5' to 'avr35' architecture.
-	(ASM_SPEC): Add 'avr35' architecture.
-	* config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162 
-	devices from 'avr5' to 'avr35' architecture.
-	(avr_arch_types): Add "avr23" entries.
-	(avr_arch): Add 'ARCH_AVR35'.
-	* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
-	(MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
-	to 'avr35' architecture.
-
-2007-12-22  David Daney  <ddaney@avtrex.com>
-
-	* doc/install.texi (disable-libgcj-bc): Document new option.
-
-2007-12-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* config/pa/pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in
-	mask selection.
-
-	PR target/34525
-	* pa.c (legitimize_pic_address): Emit insn to load function label
-	forced to memory.
-
-2007-12-21  Andrew Pinski  <pinskia@gmail.com>
-	Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/8835
-	* config/mcore/mcore.c (mcore_function_value): Call promote_mode
-	instead of PROMOTE_MODE.
-
-2007-12-21  Sebastian Pop  <sebastian.pop@amd.com>
-
-	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix typo.
-
-2007-12-21  Sebastian Pop  <sebastian.pop@amd.com>
-
-	* tree-data-ref.c (signed_type_for_types): New.
-	(affine_fn_op): Use signed_type_for_types and signed_type_for instead
-	of long_integer_type_node.
-	(analyze_ziv_subscript): Same.
-	(analyze_siv_subscript_cst_affine): Same.
-	(analyze_miv_subscript): Same.
-	(omega_setup_subscript): Same.
-
-2007-12-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_emit_loadgp): Replace gen_* calls with
-	separate gen_*_si and gen_*_di calls.  Pass pic_offset_table_rtx
-	as the first argument.
-	* config/mips/mips.md (loadgp_newabi, loadgp_absolute)
-	(loadgp_rtp): Rename to...
-	(loadgp_newabi_<mode>, loadgp_absolute<mode>, loadgp_rtp<mode>):
-	...these.  Add modes to all operands.  Add the target register
-	as an operand.  Combine loadgp_rtp<mode> with its splitter.
-
-2007-12-20  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.md (fix_return_addr): Remove.
-	* config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
-	(xtensa_trampoline_template): New.
-	* config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
-	(xtensa_return_addr): Expand to standard Xtensa insns instead of
-	fix_return_addr.  Get high bits from a local label.
-	(xtensa_trampoline_template): New function with code moved from
-	TRAMPOLINE_TEMPLATE in xtensa.h.  Use L32R instead of CALL0 except
-	when using CONST16 or absolute-mode literals.
-	(xtensa_initialize_trampoline): New function with code moved from
-	INITIALIZE_TRAMPOLINE in xtensa.h.  Use different offsets depending
-	on which trampoline version is used.
-	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
-	* config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
-	(MIN_FRAME_SIZE): Moved to xtensa.c.
-	(TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
-	(TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
-	(INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
-	* config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
-	(__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
-	helper when not using the CALL0 ABI.  Change .Lmul_mulsi3 to match.
-	* config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
-	* config/xtensa/ieee754-sf.S (__mulsf3): Likewise.
-	
-2007-12-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/34459
-	* tree-ssa-dse.c (dse_optimize_stmt): Don't eliminate store if
-	USE_STMT not only stores into the same object as STMT, but might
-	read it too.
-
-2007-12-19  Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/34413
-	* tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
-	analyze_siv_subscript_cst_affine, analyze_miv_subscript,
-	omega_setup_subscript): Use long_integer_type_node instead of
-	integer_type_node.
-
-2007-12-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/34525
-	* pa.c (legitimize_pic_address): Force function labels into memory.
-
-2007-12-19  Zdenek Dvorak  <ook@ucw.cz>
-
-	* omp-low.c (build_omp_regions_1): Recognition of combined parallels
-	moved ...
-	(expand_omp): ... here.
-
-2007-12-19  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR tree-optimization/34355
-	* tree-parloops.c (take_address_of): Handle expresions
-	instead of just variables.
-	(eliminate_local_variables_1): Force whole invariant
-	address to ssa name.
-
-2007-12-19  Alexander Monakov  <amonakov@ispras.ru>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (generate_reg_moves): Insert the reg-moves
-	right before the notes which precedes the insn, if they exists.
-	(loop_canon_p): Add dump info.
-	(sms_schedule): Likewise.
-
-2007-12-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
-	* emit-rtl.c (set_decl_incoming_rtl): Likewise.  Don't set the
-	rtl's register attributes when the parameter is true.
-	* function.c (assign_parms_unsplit_complex, assign_parms)
-	(expand_function_start): Update calls to set_decl_incoming_rtl.
-
-2007-12-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* rtl.def (SUBREG): Update comments.
-	* rtl.h (reg_attrs): Be explicit about the type of offset used.
-	(set_reg_attrs_from_mem): Rename to...
-	(set_reg_attrs_from_value): ...this.
-	(adjust_reg_mode, byte_lowpart_offset): Declare.
-	* emit-rtl.c (byte_lowpart_offset): New function.
-	(update_reg_offset): Remove special offset handling for big-endian
-	targets.
-	(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
-	offset parameter is added to REG_OFFSET.
-	(adjust_reg_mode): New function.
-	(set_reg_attrs_for_mem): Rename to...
-	(set_reg_attrs_for_value): ...this and generalize to all values.
-	If the register is a lowpart of the value, adjust the offset
-	accordingly.
-	(set_reg_attrs_for_parm): Update after the above renaming.
-	(set_reg_attrs_for_decl_rtl): New function, split out from
-	set_decl_incoming_rtl.  Set the offset of plain REGs to the
-	offset of the REG's mode from the decl's.  Assert that all
-	subregs are lowparts and handle their inner registers in the
-	same way as plain REGs.
-	(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
-	(subreg_lowpart_offset): Explicitly say that the returned offset
-	is a SUBREG_BYTE.
-	* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
-	instead of PUT_MODE.
-	* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
-	* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
-	* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
-	* reload.c (find_reloads_subreg_address): Call set_mem_offset
-	when offseting a MEM.
-	* var-tracking.c (offset_valid_for_tracked_p): Delete.
-	(mode_for_reg_attrs): Replace with...
-	(track_loc_p): ...this new function.  Return the mode and offset
-	to the caller, checking that the latter is valid.  If the rtx is
-	a paradoxical lowpart of the decl, use the decl's mode instead.
-	Do the same when storing to a register that contains the entire decl.
-	(var_lowpart): Use byte_lowpart_offset rather than
-	subreg_lowpart_offset when adjusting the offset attribute.
-	(count_uses, add_uses, add_stores): Use track_reg_p instead of
-	REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
-	offset_valid_for_tracked_p and mode_for_reg_attrs.  Generate
-	lowparts for MEMs as well as REGs.
-	(vt_add_function_parameters): When obtaining the information from
-	the decl_rtl, adjust the offset to match incoming.  Use track_loc_p
-	and var_lowpart.
-
-2007-12-18  Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/34123
-	* lambda-code.c (can_duplicate_iv): New.
-	(cannot_convert_modify_to_perfect_nest): New.
-	(cannot_convert_bb_to_perfect_nest): New.
-	(can_convert_to_perfect_nest): Split up.
-
-2007-12-18  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
-	instead of .set push and .set pop.
-
-2007-12-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/33474
-	* config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
-	the SET.
-
-2007-12-18  Razya Ladelsky <razya@il.ibm.com>
-
-	* tree-parloops.c (reduiction_info): Change documentation of
-	reduction_initial field.
-	(initialize_reductions): Remove creation of reduction_initial variable.
-	(create_loads_for_reductions): don't join reduction_initial to
-	the loaded value.
-
-2007-12-18  Kaz Kylheku  <kaz@zeugmasystems.com>
-
-	PR rtl-optimization/34456
-	* resource.c (mark_set_resources): Use regs_invalidated_by_call
-	rather than call_used_regs and global_regs.
-
-2007-12-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/34490
-	* simplify-rtx.c (simplify_const_relational_operation): If !sign,
-	don't reduce mmin/mmax using num_sign_bit_copies.
-
-2007-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* doc/install.texi: Change recommended MPFR from 2.2.1 -> 2.3.0.
-
-2007-12-17  Andreas Schwab  <schwab@suse.de>
-
-	* doc/invoke.texi (Warning Options): Use @itemx.
-
-2007-12-17  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vectorizer.h (verbosity_levels): Add new verbosity level
-	REPORT_COST.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
-	verbosity level to REPORT_COST.
-	(vect_model_reduction_cost): Likewise.
-	(vect_model_induction_cost): Likewise.
-	(vect_model_simple_cost): likewise.
-	(vect_model_store_cost): likewise.
-	(vect_model_load_cost): likewise.
-	(conservative_cost_threshold): Likewise. Remove print.
-
-2007-12-17  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
-
-2007-12-17  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/34506
-	* c-parser.c (c_parser_omp_all_clauses): Accept optional comma
-	in between clauses.
-
-2007-12-17  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/34445
-	* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip 
-	stmts (including live stmts) that are not relevant.
-
-2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
-
-	PR target/34025
-	* config/i386/t-crtpc: Add $(MULTILIB_CFLAGS).
-	* config/i386/t-crtfm: Likewise.
-
-2007-12-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
-
-2007-12-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* tree-vect-transform.c (conservative_cost_threshold): Add missing
-	space to "not vectorized" message.
-
-2007-12-16  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR rtl-optimization/34415
-	* df.h (DF_LR_IN, DF_LR_OUT): Update comments.
-	* resource.c (mark_target_live_regs): Use DF_LR_IN rather than
-	df_get_live_in.  Don't handle pseudos.
-
-2007-12-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/34003
-	* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
-	* config/pa/pa.c (pa_encode_section_info): If !first, preserve
-	SYMBOL_FLAG_REFERENCED flag.
-
-2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree.c (type_hash_add): Fix whitespace.
-
-2007-12-15  Hans-Peter Nilsson  <hp@axis.com>
-
-	Add CRIS v32 support.  Fix -mcc-init.
-	* config.gcc: Make crisv32-* have cpu_type cris.  Handle
-	crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none
-	but without multilibs and with target_cpu_default=32.
-	(crisv32-*-linux*): Handle as cris-*-linux*.  Set
-	target_cpu_default to 32 and 10 accordingly.
-	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
-	(cris_movem_load_rest_p, cris_store_multiple_op_p): Remove FIXME.
-	Change regno_dir and regno only if !TARGET_V32.
-	(cris_conditional_register_usage): If TARGET_V32, set
-	reg_alloc_order as per REG_ALLOC_ORDER_V32 and make
-	CRIS_ACR_REGNUM non-fixed.
-	(cris_print_base): Add gcc_assert for post_inc on CRIS_ACR_REGNUM.
-	(cris_print_operand) <case 'Z', case 'u'>: New cases.
-	<case REG of case 'H'>: Allow for CRIS_SRP_REGNUM.
-	(cris_reload_address_legitimized): Always return false for TARGET_V32.
-	(cris_register_move_cost): New function, guts from
-	REGISTER_MOVE_COST adjusted for CRIS v32.
-	(cris_normal_notice_update_cc): New function split out from...
-	(cris_notice_update_cc): Set cc_status.flags CC_REVERSED for
-	TARGET_CCINIT.  Call cris_normal_notice_update_cc for CC_REV,
-	CC_NOOV32 and CC_NORMAL, but set cc_status.flags CC_NO_OVERFLOW
-	for CC_NOOV32 and TARGET_V32.
-	(cris_simple_epilogue): Always return false for TARGET_V32 if
-	cris_return_address_on_stack yields true.
-	(cris_cc0_user_requires_cmp): New function.
-	(cris_valid_pic_const): Add argument ANY_OPERAND.  All callers
-	changed.  Handle CRIS_UNSPEC_PLT_PCREL and CRIS_UNSPEC_PCREL.
-	(cris_asm_output_case_end): New function, guts from
-	ASM_OUTPUT_CASE_END adjusted for CRIS v32.
-	(cris_override_options): Adjust for CRIS v32.  Mask out
-	TARGET_SIDE_EFFECT_PREFIXES and TARGET_MUL_BUG if v32.
-	(cris_asm_output_mi_thunk, cris_expand_epilogue)
-	(cris_gen_movem_load, cris_emit_movem_store)
-	(cris_expand_pic_call_address, cris_asm_output_symbol_ref)
-	(cris_asm_output_label_ref, cris_output_addr_const_extra): Adjust
-	for CRIS v32.
-	(cris_split_movdx): Copy re-used MEM.
-	* config/cris/t-elfmulti: Add multilib v32 for -march=v32.
-	* config/cris/predicates.md
-	("cris_general_operand_or_pic_source"): New predicate.
-	("cris_general_operand_or_plt_symbol"): Replace by...
-	("cris_nonmemory_operand_or_callable_symbol"): New predicate.
-	* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
-	presence and contents.
-	(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
-	v32, 0 otherwise.
-	(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
-	CRIS_ASM_SUBTARGET_SPEC): Adjust for different TARGET_CPU_DEFAULT.
-	(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.
-	* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
-	(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
-	(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
-	(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
-	CRIS_DEFAULT_TUNE. 
-	(CRIS_CPP_SUBTARGET_SPEC): Ditto.  Add CRIS_ARCH_CPP_DEFAULT.
-	(ASM_SPEC): Add sanity-check erroring out when both -march= and
-	-mcpu= are specified.  Pass on either as --march=v32.
-	(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
-	specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
-	(CRIS_CPU_V32): New macro.
-	[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
-	[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
-	TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
-	Define v32-adjusted TARGET_DEFAULT.
-	(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
-	CRIS_CPU_BASE.
-	(TARGET_V32): New macro.
-	(REG_ALLOC_ORDER_V32): New macro.
-	(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
-	into CRIS_ACR_REGNUM.
-	(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS
-	and SPEC_GENNONACR_REGS.
-	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
-	(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
-	(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
-	GENNONACR_REGS, BASE_REG_CLASS otherwise.
-	(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
-	(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
-	for CRIS_ACR_REGNUM.
-	(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
-	(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
-	(EXTRA_CONSTRAINT): New constraint 'U'.
-	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
-	(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
-	(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
-	(SIMPLE_ADDRESS_P): Remove.
-	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
-	SIMPLE_ADDRESS_P.  Make one chained if-else, finishing as
-	non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
-	(REGISTER_MOVE_COST): Just call the new function
-	cris_register_move_cost.
-	(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
-	cris_rel_symbol.  All users changed.
-	(REGISTER_NAMES): Replace "pc" with "acr".
-	(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
-	(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
-	(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
-	(ASM_OUTPUT_CASE_END): Just call the new function
-	cris_asm_output_case_end.
-	* gcc/config/cris/cris.md: Group related constants together, with
-	comments local.
-	(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
-	(CRIS_UNSPEC_CASESI): New constants.
-	(CRIS_UNSPEC_PLT): Remove constant.
-	(CRIS_ACR_REGNUM): New constant.
-	("slottable"): New attr alternatives "has_return_slot" and
-	"has_call_slot".
-	("cc"): New attr alternatives "noov32" and "rev".
-	((eq_attr "slottable" "has_call_slot"))
-	((eq_attr "slottable" "has_return_slot")): New define_delays.
-	("movdi", "movsi"): Adjust operands for CRIS v32.
-	("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
-	("indirect_jump"): Ditto.  Make define_expand.
-	("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
-	("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
-	("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
-	("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
-	("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
-	("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
-	("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
-	("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
-	("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
-	("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
-	("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
-	("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
-	for the corresponding standard name.
-	("tst<mode>"): Limit to BW and make define_expand.
-	("tstsi"): Make separate insn, adjusting for CRIS v32.
-	("*cmp_swapext<mode>"): Adjust for v32.  Specify "rev" for attr "cc".
-	("cmpsi", "cmp<mode>"): Remove special cases for zero.  Specify
-	attr "cc".
-	("*btst"): Don't match for TARGET_CCINIT.  Replace test of
-	register with compatible "cmpq 0".  Specify attr "cc".
-	("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
-	define_split.
-	(define_split for DI move): Match CRIS v32 only.
-	("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS v32.
-	("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
-	("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
-	("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
-	("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
-	("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns. 
-	("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
-	("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
-	("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
-	("*extopqihi_non_v32"): Replace "*extopqihi".
-	("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
-	("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
-	non-v32 only.
-	("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
-	("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
-	("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
-	("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
-	("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
-	("*expanded_call_non_v32"): Ditto "*expanded_call".  Change from
-	"cris_general_operand_or_plt_symbol" to "general_operand".
-	("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
-	("*casesi_adds_w", "mstep_shift", "mstep_mul")
-	("*expanded_call_side", "*expanded_call_value_side")
-	(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
-	(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
-	(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
-	("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
-	("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
-	("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2")
-	("cris_swap_bits"): Specify "noov32" for attr "cc".
-	("<su>mulsi3_highpart"): Ditto.  Correct operand 0 to register_operand.
-	("andqi3"): Make define_expand.
-	("*return_expanded"): For attr "slottable", change from "has_slot"
-	to "has_return_slot".
-	("cris_casesi_non_v32"): New pattern, old contents of "casesi".
-	("casesi"): Divert into "cris_casesi_v32" and "cris_casesi_non_v32".
-	(moversideqi, movemsideqi, mover2side): Require
-	TARGET_SIDE_EFFECT_PREFIXES.
-	(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
-	to CRIS_UNSPEC_PLT_GOTREL.
-	* config/cris/cris-protos.h (cris_register_move_cost)
-	(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.
-
-2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/7081
-	* dwarf2out.c (dwarf_tag_name): Synchronize with dwarf2.h.
-	(is_type_die): Cover interface types.
-	(class_or_namespace_scope_p): Cover interface and class types.
-	(record_type_tag): New.
-	(gen_inlined_structure_type_die): Use it.
-	(gen_struct_or_union_type_die): Likewise.
-	(prune_unused_types_walk): Cover interface types.
-	* langhooks.h (classify_record): New enum.
-	(classify_record): New member in struct langhooks_for_types.
-	* langhooks-def.h (LANG_HOOKS_CLASSIFY_RECORD): New.
-	(LANGHOOKS_FOR_TYPES_INITIALIZER): Adjust.
-
-2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dwarf2out.c (reference_to_unused): Don't emit strings in
-	initializers just because of debug information.
-	* tree.h (TREE_ASM_WRITTEN): Document use for STRING_CSTs.
-
-2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>
-
-	* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace
-	print_loop_ir with print_loops.
-	* tree-flow.h (dot_cfg, debug_loops, debug_loop, debug_loop_num,
-	print_loops, print_loops_bb): Declare.
-	* tree-cfg.c (print_loops_bb): New.
-	(print_loop): Print header, latch, bounds, estimation of iterations.
-	(print_loop_and_siblings): New.
-	(print_loop_ir): Renamed print_loops.
-	(debug_loop_ir): Renamed debug_loops.
-	(debug_loop, debug_loop_num): New.
-
-2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	* tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.
-
-2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	* toplev.c (process_options): Fix typo in warning.
-
-2007-12-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/29978
-	* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
-	DImode comparisons against constant with all 1's in the lower word.
-
-2007-12-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
-	constraint for operand 2.  Use nonimm_not_xmm0_operand constraint
-	for operand 4.  Update arguments in the call to
-	gen_sse4_2_pcmpestr_cconly.
-	(sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
-	template accordingly.
-	(sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
-	Use nonimm_not_xmm0_operand constraint for operand 3.  Update
-	arguments in the call to gen_sse4_2_pcmpistr_cconly.
-	(sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn
-	template accordingly.
-
-2007-12-14  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34462
-	* tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
-	parameter to say whether to unlink immediate uses.
-	* tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
-	mark the artificial stmt as modified.  Unlink immediate uses
-	only if requested.
-	* tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
-	* tree-ssa-pre.c (insert_fake_stores): Likewise.
-
-2007-12-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR middle-end/33088
-	* gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
-	* tree-complex.c (init_dont_simulate_again): Return true if there are
-	uninitialized loads generated by gimplify_modify_expr_complex_part.
-	* tree-gimple.c (is_gimple_reg_type): Return false for complex types
-	if not optimizing.
-	* tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
-	(warn_uninit): ...here.  Use ssa_undefined_value_p.
-	* tree-ssa-pre.c (is_undefined_value): Delete.
-	(phi_translate_1): Use ssa_undefined_value_p.
-	(add_to_exp_gen): Likewise.
-	(make_values_for_stmt): Likewise.
-	* tree-flow.h (ssa_undefined_value_p): Declare.
-
-2007-12-13  Andrew Pinski  <pinskia@gmail.com>
-	    David Daney  <ddaney@avtrex.com>
-
-	PR bootstrap/34144
-	* system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
-	is disabled.
-
-2007-12-13  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/32636
-	* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
-	regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
-
-2007-12-13  Uros Bizjak  <ubizjak@gmail.com>
-	    Richard Guenther  <rguenther@suse.de>
-
-	PR target/34435
-	* config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
-	_mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
-	_mm_shuffle_epi32): Cast non-constant input values to either __m64,
-	__m128, __m128i or __m128d in a macro version of the intrinsic.
-	Cast constant input values to int.
-	* config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
-	* config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
-	_mm_roti_epi32, _mm_roti_epi64): Ditto.
-	* config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
-	_mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
-	_mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
-	_mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
-	_mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
-	_mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
-	_mm_cmpestrs, _mm_cmpestrz): Ditto.
-	* config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
-	* config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
-	_mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
-	* config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
-	_mm_round_ps, _mm_round_ss): Ditto.
-
-2007-12-13  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34450
-	* params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
-	* invoke.texi (sccvn-max-scc-size): Document.
-	* Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
-	* tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
-	on error.
-	* tree-ssa-sccvn.c (params.h): Include.
-	(DFS): Return true if all went well, return false as soon as
-	a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
-	(run_scc_vn): Return true if all went well, return false if
-	we aborted during DFS.
-	* tree-ssa-pre.c (execute_pre): Check if SCCVN finished
-	successfully, otherwise bail out.
-
-2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
-
-	* ipa-struct-reorg.c (is_candidate): Print information to dump 
-	file when the type is initialized.
-	(get_stmt_accesses):  Likewise when a structure has bitfields
-	or field access is too complicate.
-	(safe_cond_expr_check): Likewise for unsafe condition expressions.
-	(exclude_cold_structs): Likewise for cold structures.
-	(collect_structures): Suppress redundant print when there are 
-	no structures to transform.
-	(do_reorg): Print to dump file a number of structures that 
-	will be transformed.
-	(dump_new_types): Print a number of new types to replace 
-	an original structure type.
-	
-2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
-
-	* doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
-	option and struct-reorg-cold-struct-ratio parameter.
-	
-2007-12-13  Torbjorn Granlund  <tege@swox.com>
-
-	* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
-	ZERO_EXTEND when computing costs for widening multiplication.
-
-2007-12-13  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/30192
-	* config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
-	exit when using hard FPA.
-	* config/arm/ieee754-df.S (floatdidf): Likewise.
-
-2007-12-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR bootstrap/30589
-	* doc/install.texi: Document that for MinGW only runtime 3.12 and
-	later is supported.
-
-2007-12-12  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
-
-2007-12-12  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR tree-optimization/32901
-	* gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
-	are assigning from a constant constructor.
-	Fix wrapping in function comment.
-
-2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (s390_O_constraint_str): Limit the range
-	for 'On' to -4G+1..-1.
-	* config/s390/constraints.md: Adjust comment accordingly.
-
-2007-12-11  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
-	for SPE saves.
-
-2007-12-11  Kai Tietz  <kai.tietz@onevision.com>
-
-	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
-	target same as 32-bit.
-
-2007-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/34371
-	* tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
-	field.
-	(LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
-	* tree-vectorizer.c (set_prologue_iterations,
-	slpeel_tree_peel_loop_to_edge): Call unshare_expr on
-	LOOP_VINFO_NITERS_UNCHANGED before using it.
-
-2007-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR target/34403
-	* config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
-	(ix86_expand_setmem): Likewise.
-
-2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR rtl-optimization/34302
-	* auto-inc-dec.c (attempt_change): Change place where move is
-	inserted.
-
-2007-12-10  Jakub Jelinek  <jakub@redhat.com>
-
-	* dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
-	Fortran multi-dimensional arrays use DW_AT_ordering
-	DW_ORD_col_major.
-
-2007-12-10  Paolo Bonzini  <bonzini@gnu.org>
-
-	PR target/32086
-	* config/i386/i386.c (override_options): Enable -fvect-cost-model.
-
-2007-12-10 Uros Bizjak <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_function_regparm): Do not check global_regs
-	array, registers that are members of global_regs are also members of
-	fixed_regs array.  Use REGPARM_MAX to check that no regparm hard
-	register is taken by a fixed register variable.  Check up to and
-	including DI_REG when adjusting regparm value due to fixed regs usage.
-	(rep_prefix_usable): Check fixed_regs array, not global_regs array for
-	available hard registers.
-	(ix86_expand_strlen): Ditto.
-	* config/i386/i386.md (strmov): Ditto.
-	(cmpstrnsi): Ditto.
-
-2007-12-10  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* genopinit.c: Include tm_p.h in generated file.
-
-	* config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
-	to extract the integer from operands[2].
-	(vec_setv2di_internal): Likewise.
-
-	* config/arm/arm.c (arm_size_return_regs): Make return type unsigned.
-	(arm_init_neon_builtins): Move code after declarations.
-
-2007-12-10  Hans-Peter Nilsson  <hp@axis.com>
-
-	* reload.c (find_reloads_address_1): To properly mark as an
-	autoincdec, pass X for non-NULL OUT in call to push_reload for
-	autoincdec which can't be trivially used as an address.
-
-2007-12-10  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
-	    Hans-Peter Nilsson  <hp@axis.com>
-
-	* caller-save.c (insert_one_insn): If inserting before a call_insn
-	then the registers containing the arguments of the call are
-	live_throughout in the new insn.
-
-2007-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR middle-end/32889
-	PR target/34091
-	* pa.md: Consolidate HImode and QImode move patterns into one pattern
-	each, eliminating floating-point alternatives.
-	* pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
-	Declare functions.
-	* pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
-	* pa.c (pa_secondary_reload): Use an intermediate general register
-	for copies to/from floating-point register classes.  Simplify code
-	SHIFT_REGS class.  Provide additional comments.
-	(pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
-	* pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
-	(SECONDARY_MEMORY_NEEDED): Delete define.
-	(INT14_OK_STRICT): Define.
-	(MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
-	soft float.
-	(MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
-	(GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
-	SFmode and DFmode.
-	(LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
-	Align DImode offsets when generating 64-bit code.
-	* pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
-	(CANNOT_CHANGE_MODE_CLASS): Define.
-	* pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
-	(CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
-
-2007-12-09  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/22244
-	* langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
-	* langhooks.h (struct array_descr_info): Forward declaration.
-	(struct lang_hooks_for_types): Add get_array_descr_info field.
-	* dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
-	(DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
-	compatibility.
-	* dwarf2out.h (struct array_descr_info): New type.
-	* dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
-	DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
-	(descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
-	New functions.
-	(gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
-	and gen_descr_array_type_die.
-
-2007-12-08  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34391
-	* tree-vect-transform.c (vect_setup_realignment): Mark new
-	symbols for renaming.
-
-2007-12-07  Bob Wilson  <bob.wilson@acm.org>
-	
-	* config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
-	(ASM_OUTPUT_DWARF_PCREL): Define.
-	
-2007-12-07  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34382
-	* opts.c (common_handle_option): Handle OPT_fforce_addr.
-
-2007-12-07  Aldy Hernandez  <aldyh@redhat.com>
-
-	* m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
-	(LEGITIMIZE_RELOAD_ADDRESS): Same.
-
-2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
-
-	PR ada/29157
-	* doc/install.texi: Explain how to check for a clean environment when
-	building GNAT.
-
-2007-12-07  Richard Guenther  <rguenther@suse.de>
-
-	* tree-profile.c (gcov_type_tmp_var): New global variable.
-	(tree_gen_edge_profiler): Use a single shared variable decl per
-	function for edge counter incrementing.
-	(tree_profiling): Re-set the shared variable.
-
-2007-12-06  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_va_start): Add prototype.
-
-2007-12-06  Tom Tromey  <tromey@redhat.com>
-
-	PR c/29172
-	* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
-
-2007-12-06  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_function_ok_for_sibcall): Check
-	targetm.binds_local_p as well as DECL_EXTERNAL.
-
-2007-12-06  Harsha Jagasia <harsha.jagasia@amd.com>
-
-	* tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
-	(set_prologue_iterations): New. Set the prologue iterations to total
-	number of scalar iterations if the cost model check indicates that
-	scalar code should be generated.
-	(slpeel_tree_peel_loop_to_edge): Add a new parameter and code for 
-	generating the cost condition for epilog. Call
-	set_prologue_iterations to generate cost condition for prolog.
-	(new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
-	* tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
-	(slpeel_tree_peel_loop_to_edge): Update declaration.
-	(set_prologue_iterations): New declaration.
-	* tree-vect-analyze.c (vect_analyze_loop_form): Update 
-	LOOP_VINFO_NITERS_UNCHANGED.
-	* tree-vect-transform.c
-	(vect_estimate_min_profitable_iters): Add new parameter and
-	code to  check if run time cost model test is needed.
-	Remove code that adds builtin vectorization cost to scalar
-	outside cost for the run time cost model test. If run time
-	cost model test is needed add the appropriate guard cost to
-	the scalar outside cost. The guard cost depends on whether
-	the guard is generated at versioning or at prolog generation
-	or at epilog generation. Change cost model equation to include
-	scalar outside cost.
-	(conservative_cost_threshold): New. Return the less conservative
-	profitability threshold between the cost model threshold and the
-	user defined vectorization threshold.
-	(vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
-	(vect_do_peeling_for_alignment): Same.
-	(vect_loop_versioning): Same.
-	(vect_create_cond_for_align_checks): ANDs the cost model condition
-	with the alignment condition.
-	(vect_transform_loop): Call loop versioning only when there is a
-	misalignment or an aliasing problem.
-
-2007-12-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/20983
-	* tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
-	(execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
-	BUILT_IN_VA_COPY and BUILT_IN_VA_END.
-
-	* target.h (struct ggc_target): Add expand_builtin_va_start hook.
-	* target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
-	(TARGET_INITIALIZER): Add it.
-	* builtins.c (expand_builtin_va_start): Use
-	targetm.expand_builtin_va_start hook instead of
-	EXPAND_BUILTIN_VA_START macro.
-	* alpha/alpha.c (alpha_va_start): Made static.
-	(override_options): Clear targetm.expand_builtin_va_start if
-	TARGET_UNICOSMK.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
-	* alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
-	* alpha/alpha-protos.h (alpha_va_start): Remove prototype.
-	* xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
-	* xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
-	(xtensa_va_start): Made static.
-	* xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
-	* pa/pa-protos.h (hppa_va_start): Remove prototype.
-	* pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
-	* pa/pa.c (hppa_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
-	* frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
-	* i386/i386.c (override_options): Clear
-	targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
-	(ix86_va_start): Made static.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
-	* i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
-	* iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
-	* iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
-	* iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
-	* rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	(rs6000_override_options): Clear targetm.expand_builtin_va_start if
-	DEFAULT_ABI != ABI_V4.
-	* rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
-	* spu/spu.c (spu_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
-	* spu/spu-protos.h spu_va_start): Remove prototype.
-	* stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
-	* stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
-	Remove prototype.
-	* stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made static.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* s390/s390-protos.h (s390_va_start): Remove prototype.
-	* s390/s390.c (s390_va_start): Made static.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
-	* mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
-	* mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
-	* mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* arc/arc.c (arc_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
-	* arc/arc-protos.h (arc_va_start): Remove prototype.
-	* mt/mt-protos.h (mt_va_start): Remove prototype.
-	* sparc/sparc.c (sparc_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* sparc/sparc-protos.h (sparc_va_start): Remove prototype.
-	* sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
-	* sh/sh.c (sh_va_start): Made static, add prototype.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-	* sh/sh-protos.h (sh_va_start): Remove prototype.
-	* sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
-	* mips/mips-protos.h (mips_va_start): Remove prototype.
-	* mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
-	* mips/mips.c (mips_va_start): Made static.
-	(TARGET_EXPAND_BUILTIN_VA_START): Define.
-
-2007-12-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
-	"flag_tree_parallelize_loops > 1".
-	
-2007-12-06  Zdenek Dvorak  <ook@ucw.cz>
-	    Dorit Nuzman  <dorit@il.ibm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/34005
-	* tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
-	* gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
-	(gimplify_pure_cond_expr): New function.
-	(generic_expr_could_trap_p): New function.
-	(gimplify_cond_expr): Call gimplify_pure_cond_expr.
-	(force_gimple_operand): Initialize new field allow_rhs_cond_expr.
-
-2007-12-06  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (s390_emit_stack_tie): New function.
-	(s390_emit_prologue): Emit a stack tie when writing to the
-	f8-f15 stack slots.
-	* config/s390/s390.md ("stack_tie"): New insn definition.
-
-2007-12-06  Ben Elliston  <bje@au.ibm.com>
-
-	* SERVICE: Remove.
-	* doc/sourcebuild.texi (Miscellaneous Docs): Remove SERVICE item.
-
-2007-12-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/34337
-	* fold-const.c (fold_binary) <case BIT_IOR_EXPR>: Don't minimize
-	number of bits set in C1 if a mode mask for some mode can be used
-	instead.
-
-2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	* varasm.c (merge_weak, weak_finish, assemble_alias): Commentary typo
-	fixes.
-
-2007-12-05  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34138
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
-	Do not forward propagate addresses if that changes volatileness of
-	the pointed-to type.
-
-2007-12-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/34312
-	* config/i386/i386.c (ix86_function_regparm): Also check for fixed
-	registers when checking that regparm registers are available.
-	Lower regparm value due to fixed registers usage in addition to
-	global regs usage.
-
-2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	* sparseset.c: Include config.h and system.h before sparseset.h.
-	* sparseset.h: Remove inclusion of system.h.
-
-2007-12-05  Jakub Jelinek  <jakub@redhat.com>
-	    Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* optabs.c (init_insn_codes): New function.
-	(new_optab): Delete.
-	(init_optab, init_optabv): Don't call new_optab.
-	(init_convert_optab): Don't clear the insn codes.
-	(init_optabs): Call init_insn_codes.
-
-2007-12-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (optimize_omp_library_calls): New function.
-	(expand_omp_parallel): Call it if optimizing.
-
-	PR middle-end/34134
-	* stmt.c (expand_stack_restore): Call expand_normal on var to get
-	rtx for it instead of assuming it will be a VAR_DECL.
-
-2007-12-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* c-parser (c_parser_statement_after_labels): Move error from here...
-	(c_parser_label): ... to here. Check that the declaration is not
-	actually just another label.
-
-2007-12-04  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34334
-	PR middle-end/34222
-	* tree-ssa-operands.c (get_addr_dereference_operands): If we
-	fall back to using the SMTs aliases, make sure to add virtual
-	operands for the SMT itself.
-	(create_ssa_artificial_load_stmt): Fix typo.  Make sure to also
-	clear the loaded and stored symbols bitmaps.
-
-2007-12-04  Ben Elliston  <bje@au.ibm.com>
-
-	* config/spu/spu.h (ASM_FORMAT_PRIVATE_NAME): Remove; use default.
-
-2007-12-04  Ben Elliston  <bje@au.ibm.com>
-
-	* doc/tm.texi (Exception Handling): Mention unwind-dw2-xtensa.c.
-
-2007-12-03  Steven Bosscher  <stevenb.gcc@gmail.com>
-
-	PR middle-end/33713
-	* doc/invoke.texi: Remove -fforce-addr documentation.
-	* expr.c (emit_move_insn): Remove use of flag_force_addr.
-	(expand_expr_real_1): Same.
-	(do_tablejump): Same.
-	Call memory_address instead of memory_address_noforce.
-	* expr.h (memory_address_noforce): Remove prototype.
-	* explow.c (memory_address): Remove support for flag_force_addr.
-	(validize_mem): Same.
-	(memory_address_noforce): Remove.
-	* common.opt: Add dummy documentation for -fforce-addr.
-	* combine.c (can_combine_p): Remove -fforce-addr comment.
-	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove set of
-	flag_force_addr.
-	* config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Remove comment
-	relating to memory_address_noforce.
-	* testsuite/gcc.c-torture/compile/20050802-1.c: Remove.
-	* testsuite/gcc.c-torture/compile/20011113-1.c: Remove.
-	
-2007-12-03  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp-low.c (lookup_decl_in_outer_ctx): Allow calling this
-	with !ctx->is_nested.
-	(maybe_lookup_decl_in_outer_ctx): Look up in outer contexts
-	even if !ctx->is_nested.
-	(lower_copyprivate_clauses, lower_send_clauses,
-	lower_send_shared_vars): Call lookup_decl_in_outer_ctx
-	unconditionally.
-
-	PR middle-end/29749
-	* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Optimize
-	(X << C1) & C2 into (X << C1) & (C2 | ((1 << C1) - 1))
-	and (X >> C1) & C2 into (X >> C1) & (C2 | ~((type) -1 >> C1)).
-	(fold_binary) <case LSHIFT_EXPR, case RSHIFT_EXPR>: Optimize
-	(X & C2) << C1 into (X << C1) & (C2 << C1) and
-	(X & C2) >> C1 into (X >> C1) & (C2 >> C1) if that allows further
-	optimizations.
-
-	PR tree-optimization/33453
-	* tree-data-ref.c (split_constant_offset): Use POINTER_PLUS_EXPR
-	for pointer addition.
-	* tree-parloops.c (canonicalize_loop_ivs): Likewise.
-	(separate_decls_in_loop_name): Copy DECL_GIMPLE_REG_P from var to
-	var_copy.
-
-2007-12-03  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __FDPIC__ as
-	necessary.
-
-2007-12-03  Razya Ladelsky <razya@il.ibm.com>
-
-	* doc/invoke.texi (fipa-cp, fipa-matrix-reorg): Add documentation.
-
-2007-12-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/34317
-	* opts.c (common_handle_option): Handle OPT_ftree_store_copy_prop.
-	* common.opt (ftree-store-copy-prop): Use the same help text as for
-	other nop switches.
-
-2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (calculate_must_precede_follow,
-	try_scheduling_node_in_cycle): New functions.
-	(sms_schedule_by_order): Call the new functions.
-	(ps_insn_find_column): Use must_follow and must_precede only if
-	they are not NULL.
-	(ps_insn_advance_column): Likewise.
-
-2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (get_sched_window): Fix the direction of the
-	scheduling window and add dump info.
-
-2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
-
-	* config/sh/sh.md (cmpgeusi_t): Fix condition.
-
-2007-11-30  Jan Hubicka  <jh@suse.cz>
-
-	* ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect flag.
-
-2007-11-30  Seongbae Park <seongbae.park@gmail.com>
-
-	PR rtl-optimization/34171
-	* cfgrtl.c (update_bb_for_insn_chain): New function,
-	refactored from update_bb_for_insn.
-	(update_bb_for_insn): Call update_bb_for_insn.
-	(rtl_merge_blocks, try_redirect_by_replacing_jump):
-	Replace a loop with update_bb_for_insn_chain call.
-	(cfg_layout_merge_blocks): Add a call to
-	update_bb_for_insn_chain. Replace the for loop
-	with a call to update_bb_for_insn_chain.
-
-2007-11-30  Ben Elliston  <bje@au.ibm.com>
-
-	* config/vax/vax.h (ASM_FORMAT_PRIVATE_NAME): Remove. Use default.
-
-2007-11-29  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR tree-optimization/34244
-	* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
-	(record_numbers_of_iterations): New function.
-	(execute_vrp): Cache the numbers of iterations of loops.
-	* tree-scalar-evolution.c (scev_reset_except_niters): New function.
-	(scev_reset): Use scev_reset_except_niters.
-	* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
-
-2007-11-29  Jan Hubicka  <jh@suse.cz>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33434
-	* tree-inline.c (setup_one_parameter): If the value passed to
-	a parameter is never used, don't set it up.
-
-2007-11-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/32130
-	* config/rs6000/eabi-cn.asm (__DTOR_END__): Make it weak.
-	* config/rs6000/sol-cn.asm (__DTOR_END__): Likewise.
-
-2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
-
-	* Makefile.in: Use separate vpath lines for each path.
-
-2007-11-29  Ben Elliston  <bje@au.ibm.com>
-
-	* SERVICE: Update URL.
-
-2007-11-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/34140
-	* tree-if-conv.c (if_convertible_phi_p): Fail if BB other than
-	loop->header has virtual phi nodes.
-
-2007-11-28  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/32406
-	* builtins.c (expand_builtin_nonlocal_goto): Also emit a use
-	of GP register, if valid and fixed.
-
-	Revert:
-	2007-06-21  David Daney  <ddaney@avtrex.com>
-
-	PR target/32406
-	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
-	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
-	(exception_receiver): Renamed to ...
-	(nonlocal_goto_receiver): ... this.
-
-2007-11-27  H.J. Lu  <hongjiu.lu@intel.com>
-	    Joey Ye <joey.ye@intel.com>
-
-	PR target/34001
-	* config/i386/i386.c (function_arg_32): Don't pass aggregate
-	arguments in ECX/EDX for fastcall.
-
-2007-11-28  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* config/i386/linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline
-	asm to macro.
-	* config/i386/sco5.h (CRT_GET_RFIB_DATA): Likewise.
-	* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Likewise.
-
-2007-11-28  Ben Elliston  <bje@au.ibm.com>
-
-	* config/rs6000/aix64.opt (maix64): Add Negative(maix32).
-	(maix32): Add Negative(maix64).
-
-2007-11-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/34016
-	* tree-ssa-loop.c (pass_linear_transform): Add
-	TODO_update_ssa_only_virtuals to todo_flags_finish.
-
-2007-11-27  Eric B. Weddington  <eric.weddington@atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add atmega32hvb.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-	
-2007-11-27  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/34225
-	* config/rs6000/rs6000.c (adjacent_mem_locations): Don't assume
-	MEM_SIZE is set on all MEMs.
-
-2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.opt (mhard-float): Add the option to be
-	overridden.  That was missing in my last patch.
-
-2007-11-27  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34241
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Make sure
-	to only delete real conversion chains.
-
-2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.opt (m31, m64, mesa, mzarch, msoft-float,
-	mhard-float, mlong-double-64, mlong-double-128): Add the
-	option to be overridden.
-
-2007-11-27  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (fold_builtin_1): Verify the argument types
-	of BUILT_IN_ISNORMAL.
-	(fold_builtin_n): Verify the number of arguments to variadic
-	built-in functions.
-
-2007-11-27  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/elf.h (SUBTARGET_DRIVER_SELF_SPECS): New macro.
-	* doc/invoke.texi (Blackfin Options): Document the effects.
-
-2007-11-27  Ben Elliston  <bje@au.ibm.com>
-
-	* config/rs6000/sysv4.opt (m32): Add Negative(m64).
-	(m64): Add Negative(m32).
-	* config/rs6000/darwin.opt (m32): Add Negative(m64).
-	(m64): Add Negative(m32).
-
-2007-11-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-propagate.c (set_rhs) <GIMPLE_MODIFY_STMT>: Fix typo.
-
-2007-11-26  Michael Meissner  <michael.meissner@amd.com>
-
-	PR target/34077
-	* config/i386/i386.c (ix86_expand_movmem): If the copy size is a
-	constant, avoid calling emit_cmp_and_jump_insns.  Use counter_mode
-	to get the mode for loading a pseudo register with a count rather
-	than duplicating code.
-
-2007-11-25  Eric B. Weddington  <eric.weddington@atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add atmega1284p.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-	
-	* c-common.c (conversion_warning): Use get_unwidened instead of
-	get_narrower.
-	
-2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/23722
-	* c-parser.c (struct c_parser): New bit in_if_block.
-	(c_parser_compound_statement_nostart): Handle unexpected 'else'
-	keyword.
-	(c_parser_statement_after_labels): Set in_if_block to false while
-	parsing.
-	(c_parser_if_body): Don't call c_parser_statement_after_labels if
-	a semicolon is found, just consume it. Don't call
-	c_parser_statement_after_labels if an open brace is found, call
-	c_parser_compound_statement instead.
-	(c_parser_else_body): New.
-	(c_parser_if_statement): Set in_if_block to true when parsing the
-	body of the 'if' statement. Use c_parser_else_body.
-
-2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	PR c++/34081
-	* c-decl.c (store_parm_decls): Pass 'false' for the new
-	allocate_struct_function parameter.
-	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
-	* tree-parloops.c (create_loop_fn): Likewise.
-	* function.c (push_function_context_to, push_struct_function,
-	init_function_start): Likewise.
-	(allocate_struct_function): Add boolean parameter.
-	* tree.h (allocate_struct_function): Add boolean parameter.
-	* function.h (struct function): Move returns_struct and
-	returns_pcc_struct to the end of the structure definiton.
-
-2007-11-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/34215
-	* config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if
-	virtual registers are already instantiated.
-	(truncxf<mode>2): Ditto.
-	(floatsi<mode>2): Ditto.
-	(floatdisf2): Ditto.
-	(floatdidf2): Ditto.
-
-2007-11-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/34174
-	* config/fr30/fr30.c (fr30_move_double): Sanitize mem->reg case. Copy
-	the address before it is clobbered.
-
-2007-11-26  Nick Clifton  <nickc@redhat.com>
-
-	* config/mn10300/mn10300.md: (call_internal): Remove mode on
-	operand 0 in order to match UNPSEC'ed calls generated in PIC mode.
-	(call_value_internal): Remove mode on operands 0 and 1 in order to
-	match UNPSEC'ed calls generated in PIC mode.
-	(GOTaddr2picreg): Use copy_rtx to prevent sharing an rtx between
-	two insns.
-
-2007-11-26  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34233
-	* builtins.c (expand_builtin_pow): Use expand_expr to expand
-	the result of build_call_expr.
-
-2007-11-26  Steven Bosscher  <stevenb.gcc@gmail.com> 
-	    Revital Eres  <eres@il.ibm.com> 
-
-	PR middle-end/34085
-	* bb-reorder.c (insert_section_boundary_note): Clear
-	BLOCK_FOR_INSN in NOTE_INSN_SWITCH_TEXT_SECTIONS.
-
-2007-11-26  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add missing comma.
-
-2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dwarf2asm.c (splay_tree_compare_strings): New function.
-	(dw2_force_const_mem): Use it.
-
-2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree.c (type_hash_add): Don't violate strict aliasing rules.
-
-2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR c/27898
-	* c-typeck.c (tagged_types_tu_compatible_p): Enable exact
-	matches between anonymous union fields.
-
-2007-11-26  Alexandre Oliva  <aoliva@redhat.com>, Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-live.c (remove_unused_scope_block_p): Drop
-	declarations and blocks only after inlining.  Check that
-	non-empty blocks are not dropped.
-	* tree-inline.c (expand_call_inline): Check that functions are
-	not inlined too late.
-
-2007-11-26  Ben Elliston  <bje@au.ibm.com>
-
-	* unwind-dw2-fde.c: Fix comment typo.
-	* unwind-generic.h: Likewise, fix comment typos.
-	
-2007-11-25  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* tree-sra.c (scalarize_use): Adjust the vpos argument to
-	sra_explode_bitfield_assignment in cases where the type is
-	wider than the bitfield.
-
-2007-11-25  Richard Guenther  <rguenther@suse.de>
-
-	* tree.h (struct tree_block): Move locus member next to flags.
-	* c-decl.c (SCOPE_LIST_APPEND): Use BLOCK_CHAIN.
-	(SCOPE_LIST_CONCAT): Likewise.
-	(pop_scope): Likewise.
-	* function.c (instantiate_decls_1): Likewise.
-	(setjmp_vars_warning): Likewise.
-	* emit-rtl.c (set_used_decls): Likewise.
-	* tree-inline.c (add_lexical_block): Likewise.
-
-2007-11-24  Hans-Peter Nilsson  <hp@axis.com>
-
-	* rtlanal.c (label_is_jump_target_p): Return true for a matching
-	REG_LABEL_TARGET.
-	* reorg.c (fill_slots_from_thread): Correct last change to use
-	NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
-	decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
-	* jump.c (mark_jump_label_1): Add comment for last change
-	regarding JUMP_LABEL setting.
-	* gcse.c (add_label_notes): Remove conditional that the label is
-	mentioned in insn before adding regnote.
-	* sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
-	single_set insn only feeding a label to a jump through a
-	register that dies there.
-
-2007-11-23  Dirk Mueller  <dmueller@suse.de>
-	    Richard Guenther <rguenther@suse.de>
-
-	PR middle-end/34197
-	* tree-vrp.c (check_array_ref): Move check for valid location..
-	(check_array_bounds) here. Use EXPR_HAS_LOCATION().
-
-2007-11-23  Hans-Peter Nilsson  <hp@axis.com>
-
-	* reload.c (find_reloads_address_1) <autoincdec cases>:
-	Call REG_OK_FOR_CONTEXT with the autoincdec code, not outer_code.
-
-2007-11-23  Richard Guenther  <rguenther@suse.de>
-	    Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/34176
-	* alloc-pool.h (empty_alloc_pool): Declare.
-	* alloc-pool.c (empty_alloc_pool): New function.
-	* tree-ssa-sccvn.c (vn_reference_lookup): Also lookup from the
-	valid table if a lookup from the optimistic table failed.
-	(vn_unary_op_lookup): Likewise.
-	(vn_binary_op_lookup): Likewise.
-	(vn_phi_lookup): Likewise.
-	(process_scc): Clear optimistic tables before every iteration.
-
-2007-11-23  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-copy.c (may_propagate_copy): Remove redundant checks.
-	(merge_alias_info): Do verification only if checking is
-	enabled.  Merge flow-sensitive alias information in simple cases.
-	* tree-ssa-operands.c (get_addr_dereference_operands): Also
-	complain about missing NMTs.
-
-2007-11-23  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/34198
-	* c-common.c (conversion_warning): For INTEGER_TYPE to
-	INTEGER_TYPE conversions call get_narrower on expr to avoid
-	spurious warnings from binop shortening or when the implicit
-	conversion can't change the value.
-
-2007-11-22  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/14050
-	* c-decl.c (set_array_declarator_inner): Don't give error for
-	static or type qualifiers in abstract declarator.  Remove
-	abstract_p parameter.
-	* c-tree.h (set_array_declarator_inner): Update prototype.
-	* c-parser.c (c_parser_direct_declarator_inner): Update call to
-	set_array_declarator_inner.
-	* doc/standards.texi: Update for C99 TC3.
-
-2007-11-22  Hans-Peter Nilsson  <hp@bitrange.com>
-
-	* config/mmix/mmix.c (mmix_encode_section_info): Remove duplicate
-	line in my edit of the last change.
-
-2007-11-22  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/33947
-	* config/arm/arm.c (arm_init_tls_builtins): Set TREE_NOTHROW
-	and TREE_READONLY on the fn decl rather than passing a chain
-	of attributes.
-
-2007-11-22  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.md (divsi_inv_m3): Handle zero dividend specially.
-
-2007-11-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Change checking
-	of ix86_arch and ix86_tune into a switch statement.
-	(enum processor_type): Default PROCESSOR_I386 to 0.
-	* config/i386/i386.c (ix86_decompose_address): Use TARGET_K6 instead
-	of "ix86_tune == PROCESSOR_K6".
-	(ia32_multipass_dfa_lookahead): Change checking of ix86_tune into
-	a switch statement.
-
-2007-11-22  Tom Tromey  <tromey@redhat.com>
-
-	* config/mmix/mmix.c (mmix_encode_section_info): Use alloca to
-	avoid writing into string allocated by ggc_alloc_string.
-
-2007-11-21  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/34155
-	* config/sh/sh.md (binary_sf_op): Remove.
-	(binary_sf_op0, binary_sf_op1): New define_insn_and_split.
-	* config/sh/sh.c (sh_expand_binop_v2sf): Use gen_binary_sf_op0
-	and gen_binary_sf_op1.
-
-2007-11-21  Hans-Peter Nilsson  <hp@axis.com>
-
-	* regclass.c (init_reg_autoinc): Fix typo preventing test of
-	secondary output reload when setting forbidden_inc_dec_class.
-
-2007-11-21  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34148
-	* tree-ssa-structalias.c (create_variable_info_for): Do not use
-	field-sensitive PTA for single-element structures.
-	* tree-ssa-alias.c (create_overlap_variables_for): Do not create
-	SFTs for single-element structures.
-
-2007-11-20  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34154
-	* gimplify.c (gimplify_switch_expr): Use tree_int_cst_lt instead
-	of the signed INT_CST_LT.
-	* stmt.c (expand_case): Likewise.
-	(estimate_case_costs): Likewise.
-
-2007-11-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* read-rtl.c (fatal_expected_char): Print EOF as text rather that
-	its binary representation.
-
-2007-11-20  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_virtual_operand): Consistently prune
-	accesses.
-
-2007-11-20  Thiemo Seufer  <ths@mips.com>
-
-	* config/mips/mips.c (mips_file_start): Add support for
-	flagging 32-bit code with -mfp64 floating-point.
-
-2007-11-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/34146
-	* c-gimplify.c (optimize_compound_literals_in_ctor): New function.
-	(c_gimplify_expr): Use it.
-
-2007-11-20  Ben Elliston  <bje@au.ibm.com>
-
-	* config/spu/spu_mfcio.h: Fix typo.
-
-2007-11-20  Ben Elliston  <bje@au.ibm.com>
-
-	* unwind.inc: Comment that unwind-sjlj.c includes this file.
-
-2007-11-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-	    Ben Elliston  <bje@au.ibm.com>
-
-	* config/spu/mfc_tag_release.c: New file.
-	* config/spu/mfc_multi_tag_release.c: Likewise.
-	* config/spu/mfc_multi_tag_reserve.c: Likewise.
-	* config/spu/mfc_tag_release.c: Likewise.
-	* config/spu/mfc_tag_reserve.c: Likewise.
-	* config/spu/mfc_tag_table.c: Likewise.
-	* config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them.
-	(TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2.
-	* config/spu/spu_mfcio.h: Avoid <stdint.h>.
-	(uint64_t): Typedef if __IN_LIBGCC2 is defined.
-	(MFC_TAG_INVALID, MFC_TAG_VALID): New macros.
-	(mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve,
-	mfc_multi_tag_release): Likewise.
-	(__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve,
-	__mfc_multi_tag_release): Declare.
-
-2007-11-19  Jason Merrill  <jason@redhat.com>
-
-	PR debug/28834, debug/29436, c/32326
-	* tree.c (build_type_attribute_qual_variant): Refuse to make
-	a distinct copy of a struct/enum type.  Use build_distinct_type_copy.
-	* doc/extend.texi (Type Attributes): Don't encourage people to add
-	attributes to struct/enum types in a typedef.  Fix
-	transparent_union example.
-
-	* tree-inline.c (remap_type_1): Remove code that's redundant with
-	remap_type.
-	(build_duplicate_type): Set id.copy_decl.
-	* c-common.c (handle_transparent_union_attribute): Simplify logic.
-
-2007-11-19  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (invalid_e500_subreg,
-	rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p,
-	rs6000_legitimize_address, rs6000_legitimize_reload_address,
-	rs6000_legitimate_address, function_arg_advance,
-	spe_build_register_parallel, rs6000_spe_function_arg,
-	rs6000_split_multireg_move, spe_func_has_64bit_regs_p,
-	emit_frame_save, gen_frame_mem_offset, rs6000_function_value,
-	rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and
-	TDmode similarly to DFmode and TFmode.
-	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
-	DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise.
-
-2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* stor-layout.c (lang_adjust_rli): Delete.
-	(set_lang_adjust_rli): Likewise.
-	(layout_type): Do not call lang_adjust_rli hook.
-	* tree.h (set_lang_adjust_rli): Delete.
-
-2007-11-19  Bernd Schmidt  <bernd.schmidt@analog.com>
-	
-	* config/bfin/bfin.c (must_save_p): New function, mostly broken out of
-	n_dregs_to_save and n_pregs_to_save.
-	(n_pregs_to_save, n_dregs_to_save): Use it.  New argument CONSECUTIVE;
-	all callers changed.
-	(expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be
-	able to save single D/P registers that aren't saved by the push/pop
-	multiple insns.
-
-2007-11-19  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34099
-	* tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
-	MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
-	if only one operand is undefined.
-
-2007-11-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR tree-optimization/34036
-	* opts.c (set_fast_math_flags): Do not set flags in common
-	with set_unsafe_math_optimizations_flags, invoke it directly.
-	(set_unsafe_math_optimizations_flags): Unset flag_trapping_math
-	and flag_signed_zeros.
-	* toplev.c (process_options): Force flag_associative_math to 0 and
-	warn, if it is set and either flag_trapping_math or flag_signed_zeros
-	is set too.
-	* doc/invoke.texi (Optimize Options): Document the new behavior
-	of -funsafe-math-optimizations, that -fassociative-math requires
-	both -fno-signed-zeros and -fno-trapping-math and make it clear
-	that -fno-trapping-math requires -fno-signaling-nans.  Refactor
-	documentation of -ffast-math.
-
-2007-11-18  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/34132
-	* gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note
-	and insn.
-
-	PR middle-end/33335
-	* optabs.h (optab_table): Change type to struct optab from optab.
-	(convert_optab_table): Similarly.
-	Adjust all _optab macros to expand to addresses of optab_table
-	resp. convert_optab_table elements rather than the values of the
-	elements.
-	* optabs.c (optab_table): Change typype to struct optab from optab.
-	If compiled by recent GCC, initialize all the insn_code fields in
-	the array using designated range initializers.
-	(convert_optab_table): Similarly.
-	(convert_optab_libfunc, optab_libfunc, set_optab_libfunc,
-	set_conv_libfunc): Into libfunc_entry's optab field store index within
-	optab_table resp. convert_optab_table array instead of difference
-	between two separately malloced addresses.
-	(new_optab): Add op argument, don't return anything.  Initialize
-	just the insn_code field in handlers array and only when needed.
-	(init_optab, init_optabv): Add op argument, don't return anything.
-	Adjust new_optab caller.
-	(new_convert_optab): Removed.
-	(init_convert_optab): Add op argument, don't return anything, don't
-	call new_convert_optab.  If needed, initialize insn_code field in
-	handlers array.
-	(init_optabs): Adjust init_optab, init_optabv and init_convert_optab
-	callers.
-	(debug_optab_libfuncs): Adjust uses of optab_table and
-	convert_optab_table arrays.
-
-2007-11-18  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34127
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
-	Make code match up the comments, require compatibility of the
-	pointed-to types.
-
-2007-11-17  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34130
-	* fold-const.c (extract_muldiv_1): Do not move negative
-	constants inside ABS_EXPR.
-
-2007-11-16  Ian Lance Taylor  <iant@google.com>
-
-	* collect2.c (dump_file): If a demangled symbol is followed by a
-	space, make sure we output at least one space.
-
-2007-11-16  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34030
-	* fold-const.c (fold_binary): Use correct types for folding
-	1 << X & Y to Y >> X & 1.
-
-2007-11-16  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33870
-	* tree.h (struct tree_memory_tag): Add base_for_components flag.
-	(struct tree_struct_field_tag): Remove nesting_level field.
-	(SFT_NESTING_LEVEL): Remove.
-	(SFT_BASE_FOR_COMPONENTS_P): Add.
-	* tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
-	base_for_components flag.
-	(push_fields_onto_fieldstack): Remove nesting_level parameter.
-	* tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
-	parameter.
-	(create_overlap_variables_for): Deal with it.
-	* tree-dfa.c (dump_subvars_for): Likewise.
-	(dump_variable): Likewise.
-	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
-	Set base_for_components for first elements of sub-structures.
-	(create_variable_info_for): Handle base_for_components.
-	(set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
-	pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
-	* tree-ssa-operands.c (ref_nesting_level): Remove.
-	(add_vars_for_offset): Remove full_ref parameter, always add
-	the offset of the pointed-to SFT.
-	(add_virtual_operand): Adjust for changed signature of
-	add_vars_for_offset.
-
-2007-11-16  Sa Liu  <saliu@de.ibm.com>
-
-	* config/spu/spu.md (floatunssidf2, floatunsdidf2): Inlined 
-	floatunssidf2 and floatunsdidf2.
-
-2007-11-16  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34113
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
-	Use correct conversion direction for checking type compatibility.
-
-2007-11-16  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/34099
-	* tree-ssa-ccp.c (likely_value): Use a whitelist for operators
-	that produce UNDEFINED result if at least one of its operands
-	is UNDEFINED.  By default the result is only UNDEFINED if all
-	operands are UNDEFINED.
-
-2007-11-16  Jakub Jelinek  <jakub@redhat.com>
-
-	PR driver/30460
-	* gcc.c (init_spec): Don't initialize asm_debug here...
-	(main): ... but here.
-
-2007-11-07  Tom Tromey  <tromey@redhat.com>
-
-	* tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'. 
-	* tree-parloops.c (create_loop_fn): Use set_cfun.
-	* gengtype.c (open_base_files): Emit #undef cfun.
-	* ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
-	* function.h (cfun): New define.
-	* function.c: Undefine cfun.
-
-2007-11-07  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add attiny88.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-11-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/23848
-	* tree-ssa-ccp.c (optimize_stack_restore): New function.
-	(execute_fold_all_builtins): Call optimize_stack_restore for
-	BUILT_IN_STACK_RESTORE.
-
-2007-11-15  Paolo Bonzini  <bonzini@gnu.org>
-
-	* fwprop.c (try_fwprop_subst): Skip profitability check for forward
-	propagation into an address; that's done in should_replace_address.
-		
-2007-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	* config/spu/spu-protos.h (legitimate_const): Remove prototype.
-	* config/spu/spu.c (legitimate_const): Remove.
-	(classify_immediate): Inline call to legitimate_const.
-	(spu_legitimate_address): Likewise.  Allow SYMBOL_REF + CONST_INT
-	for any constant, not just -512 .. 511.
-
-2007-11-15  Sa Liu  <saliu@de.ibm.com>
-
-	* config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
-	condition from HONOR_NANS test.
-	* config/spu/spu.md (ceq_df): Always generate comparison code
-	inline, including checks for NaNs and infinities.
-	(cgt_df): Likewise.
-	(cgt_v2df): Likewise.
-	(cmpdf): Make this expander unconditional.
-
-2007-11-15  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (create_overlap_variables_for): Make sure
-	to only create SFTs if we also create variable infos for PTA.
-	* tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping SFTs.
-
-2007-11-15  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
-	type for TBAA pruning.
-	(find_what_p_points_to): Call set_uids_in_ptset with the original
-	pointer, not the decl of the solution we collapsed to.
-
-2007-11-14  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
-	to find sigcontext.
-
-2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR target/33923
-	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
-	for registers in BR_REGS class.
-
-2007-11-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/34088
-	* tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
-	init_ssa_operands has not been called for cfun.
-
-2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR tree-optimization/34046
-	* cfg.c (update_bb_profile_for_threading): Avoid the division for the
-	scaling if the old probability is greater than the new base.
-
-2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>
-
-	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
-	unused edges after loop duplication.
-
-2007-11-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
-	(enum target_cpu_default): ... this enum.
-	(TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
-	* config/i386/i386.c (override_options): ... here.
-	* config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
-	TARGET_CPU_DEFAULT_i486.
-
-2007-11-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* global.c (rest_of_handle_global_alloc): Fix comment typos.
-	* config/sh/sh.c (sh_rtx_costs): Likewise.
-	* ChangeLog: Likewise.
-
-2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>
-
-	* tree-chrec.h (build_polynomial_chrec): RHS of a chrec
-	should not be of pointer type.
-
-2007-11-13  Michael Meissner  <michael.meissner@amd.com>
-
-	* config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate line.
-
-2007-11-13  Sterling Augustine  <sterling@tensilica.com>
-	    Bob Wilson  <bob.wilson@acm.org>
-	
-	* config/xtensa/unwind-dw2-xtensa.c: New.
-	* config/xtensa/unwind-dw2-xtensa.h: New.
-	* config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
-	(DWARF2_UNWIND_INFO): Remove.
-	(DWARF_FRAME_REGISTERS): Define.
-	(EH_RETURN_DATA_REGNO): Define.
-	* config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
-	(eh_return): New.
-	* config/xtensa/t-xtensa (LIB2ADDEH): Define.
-	
-2007-11-13  Jakub Jelinek  <jakub@redhat.com>
-
-	* doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
-	-fsched-stalled-insns.
-
-	PR tree-optimization/34063
-	* tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
-	as first chrec_fold_plus operand rather than second.
-
-2007-11-13  Diego Novillo  <dnovillo@google.com>
-
-	PR tree-optimization/33870
-	* tree.h (strcut tree_memory_tag): Add field unpartitionable.
-	Remove field in_nested_struct.
-	(struct tree_struct_field_tag): Add field nesting_level.
-	(sft_in_nested_struct): Remove.
-	(sft_nesting_level): Define.
-	(sft_unpartitionable_p): Define.
-	* tree-ssa-alias.c (mem_sym_score): If mp->var is not
-	partitionable, return long_max.
-	(compute_memory_partitions): Do not partition sfts marked
-	unpartitionable.
-	(create_sft): Add argument nesting_level.  Set
-	sft_nesting_level with it.  Update all users.
-	(create_overlap_variables_for): Show nesting level.
-	* tree-dfa.c (dump_subvars_for): Likewise.
-	(dump_variable): Likewise. Show whether the sft is
-	partitionable or not.
-	* tree-flow.h (struct fieldoff): Remove field in_nested_struct.
-	Add field nesting_level.
-	* tree-ssa-structalias.c (struct variable_info): Remove
-	field in_nested_struct.
-	(push_fields_onto_fieldstack): Add argument nesting_level.
-	Update all users.  Update documentation. Update pair->nesting_level
-	with nesting_level.  Make recursive calls with nesting_level + 1.
-	(set_uids_in_ptset): If an sft is added to the points-to set,
-	mark it as unpartitionable.
-	* tree-ssa-operands.c (ref_nesting_level): New.
-	(add_vars_for_offset): Call it.  Add argument full_ref. Update
-	callers.  If var is inside a nested structure and the nesting level
-	of full_ref is lower than the nesting level of var,
-	adjust offset by the offset of var.
-
-2007-11-13  Victor Kaplansky  <victork@il.ibm.com>
-
-	PR tree-optimization/32582
-	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize
-
-2007-11-12  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	* doc/extend.texi (dllimport): Document that pointers to dllimport'd
-	functions can be used as constant.
-
-2007-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/34035
-	* cse.c (cse_cfg_altered): New global variable.
-	(cse_jumps_altered): Make boolean.
-	(recorded_label_ref): Likewise.
-	(cse_insn): Adjust for above changes.
-	(cse_extended_basic_block): Likewise.  Set cse_cfg_altered
-	if dead edges have been purged.
-	(cse_main): Change return value specification and adjust code.
-	(rest_of_handle_cse): Adjust for above change.
-	(rest_of_handle_cse2): Likewise.
-	* gcse.c (rest_of_handle_gcse): Likewise.
-
-2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
-	    Michael Meissner  <michael.meissner@amd.com>
-
-	* config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to
-	get the appropriate suffix for the coms* instruction.
-	(sse5_pcmov_<mode>): Restrict operands of pcmov
-	for scalar case to be only xmm registers and not memory.
-
-	* config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
-	constraints to follow the mnemonics for the pcmov instruction	
-
-2007-11-12  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/34042
-	* config/mips/mips.c (mips_return_fpr_single): New function.
-	(mips_function_value): Use it when returning single-field
-	aggregates in FPRs.
-	(mips_expand_call): Handle the PARALLELs created by
-	mips_return_fpr_single.
-
-2007-11-12  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34070
-	* fold-const.c (fold_binary): If testing for non-negative
-	operands with tree_expr_nonnegative_warnv_p make sure to
-	use op0 which has all (sign) conversions retained.
-
-2007-11-12  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/34027
-	* fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
-	(fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
-
-2007-11-12  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/33953
-	* tree-vect-transform.c (vectorizable_operation): In case of SLP,
-	allocate vec_oprnds1 according to the number of created vector
-	statements. In case of shift with scalar argument, store scalar
-	operand for every vector statement to be created for the SLP node.
-	Fix a comment.
-
-2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
-
-	* gcse.c (CUID_INSN): Remove.
-	(cuid_insn): Ditto.
-	(alloc_gcse_mem): Don't allocate cuid_insn.
-	(free_gcse_mem): Don't free cuid_insn.
-
-2007-11-10  Jakub Jelinek  <jakub@redhat.com>
-
-	PR fortran/34020
-	* gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
-	nops.
-
-	PR middle-end/34018
-	* tree-inline.h (copy_body_data): Add regimplify field.
-	* tree-inline.c (copy_body_r): Set id->regimplify to true
-	if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
-	substitutions.
-	(copy_bb): Clear id->regimplify before walk_tree, if it is
-	set afterwards, regimplify the whole statement.
-
-	PR tree-optimization/33680
-	* tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
-	if the added cast involves variable length types.
-
-2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
-	    Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
-	instead of TRUE_BARRIER for jumps.  Add register dependencies
-	even when reg_pending_barrier is set.
-
-2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
-
-	* haifa-sched.c (haifa_classify_insn): Rename to ...
-	(haifa_classify_rtx): ...  this.  Improve handling of COND_EXECs,
-	handle PARALLELs by recursing.  Use it ...  
-	(haifa_classify_insn): ...  here.  Reimplement.
-
-2007-11-09  Richard Guenther  <rguenther@suse.de>
-
-	* bitmap.h (bitmap_single_bit_set_p): Declare.
-	* bitmap.c (bitmap_single_bit_set_p): New function.
-	* tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
-	(maybe_create_global_var): Use bitmap_empty_p.
-
-2007-11-09  Paolo Bonzini  <bonzini@gnu.org>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/34012
-	* fwprop.c (try_fwprop_subst): Do not replace if the new
-	SET_SRC has a higher cost than the old one.
-
-2007-11-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/33732
-	* reload.c (push_reload): Check that the REG_DEAD note was referring
-	to a hardreg or to a pseudo that has been assigned exactly one hardreg
-	before considering it in order to select the reload register.
-	(combine_reloads): Likewise.
-	(find_dummy_reload): Likewise.
-
-2007-11-09  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
-	(struct ptr_info_def): Likewise.
-	(enum escape_type): Also use bit zero.
-
-2007-11-09  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33604
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
-	Disregard changes in CV qualifiers of pointed to types for
-	forward propagating ADDR_EXPRs.
-	* tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original
-	expression.
-
-2007-11-09  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* dse.c (find_shift_sequence): Always choose an integer mode for
-	new_mode.
-	(replace_read): Require both the read and store mode to be
-	integer ones.  Remove a then-redundant FLOAT_P check.
-
-2007-11-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree-dfa.c (remove_referenced_var): If removing a
-	variable which has subvars, also remove those from
-	the referenced vars.  Do not create a variable annotation.
-
-2007-11-08  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first
-	argument for gen_entry calls.
-	* config/xtensa/xtensa.md: Add new "entry" value to "type" attribute.
-	(entry): Use the new attribute value.  Remove unused first operand.
-
-2007-11-08  Tom Tromey  <tromey@redhat.com>
-
-	* c-parser.c (c_parser_translation_unit): Use location in error.
-	(c_parser_external_declaration): Likewise.
-	(c_parser_declaration_or_fndef): Likewise.
-	(c_parser_enum_specifier): Likewise.
-	(c_parser_struct_or_union_specifier): Likewise.
-	(c_parser_struct_declaration): Likewise.
-	(c_parser_typeof_specifier): Likewise.
-	(c_parser_parms_list_declarator): Likewise.
-	(c_parser_asm_string_literal): Likewise.
-	(c_parser_braced_init): Likewise.
-	(c_parser_initelt): Likewise.
-	(c_parser_compound_statement_nostart): Likewise.
-	(c_parser_statement_after_labels): Likewise.
-	(c_parser_do_statement): Likewise.
-	(c_parser_asm_statement): Likewise.
-	(c_parser_conditional_expression): Likewise.
-	(c_parser_unary_expression): Likewise.
-	(c_parser_sizeof_expression): Likewise.
-	(c_parser_postfix_expression): Likewise.
-	(c_parser_postfix_expression_after_paren_type): Likewise.
-	(c_parser_objc_class_instance_variables): Likewise.
-	(c_parser_objc_method_definition): Likewise.
-	(c_parser_objc_methodprotolist): Likewise.
-	(c_parser_pragma): Likewise.
-	(c_parser_omp_clause_num_threads): Likewise.
-	(c_parser_omp_clause_schedule): Likewise.
-	(c_parser_omp_all_clauses): Likewise.
-	(c_parser_omp_sections_scope): Likewise.
-	(c_parser_label): Use location of label, not colon.
-
-2007-11-08  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	PR target/33774
-	* config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
-	IN_TARGET_LIBS.
-
-2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/33826
-	* ipa-pure-const.c (static_execute): Added code to keep recursive
-	functions from being marked as pure or const.
-	* ipa-utils.c (searchc): Fixed comment.
-		
-2007-11-08  Tom Tromey  <tromey@redhat.com>
-
-	* common.opt (fshow-column): Default to 0.
-	* configure: Rebuilt.
-	* configure.ac (--enable-mapped-location): Default to 'yes'.
-
-2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* common.opt: Add pointer to doc/options.texi.
-	* doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
-	-fipa-reference): Add or correct doc.  Sorted options list for -Os
-	-O, -O2.
-
-2007-11-07  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	PR target/16350
-	* config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
-	* config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on
-	TARGET_BIG_ENDIAN_DEFAULT.  Use for MULTILIB_DEFAULTS.
-	(TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT.
-	(LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler.
-	* config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according
-	to TARGET_BIG_ENDIAN_DEFAULT.
-	(SUBTARGET_EXTRA_LINK_SPEC): Likewise.
-	* config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according
-	to TARGET_BIG_ENDIAN_DEFAULT.
-
-2007-11-07  Diego Novillo  <dnovillo@google.com>
-
-	* tree.h (struct tree_struct_field_tag): Move field
-	in_nested_struct ...
-	(struct tree_memory_tag): ... here.
-
-2007-11-07  Diego Novillo  <dnovillo@google.com>
-
-	PR 33870
-	* tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
-	(SFT_IN_NESTED_STRUCT): Define.
-	* tree-dfa.c (dump_subvars_for): Show offset of each sub-var.
-	* tree-flow.h (struct fieldoff): Add field in_nested_struct.
-	* tree-ssa-structalias.c (struct variable_info): Likewise.
-	(push_fields_onto_fieldstack): If OFFSET is positive,
-	set in_nested_struct.
-	(create_variable_info_for): Copy setting of
-	in_nested_struct from the field offset object.
-	(set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
-	variable info object.
-	* tree-ssa-operands.c (add_vars_for_offset): If VAR
-	belongs to a nested structure, adjust OFFSET by SFT_OFFSET(VAR).
-
-2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/33737
-	* cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of
-	target block after computing the probabilities of outgoing edges.
-	Cap the frequency to BB_FREQ_MAX.
-	* tree-ssa-threadupdate.c (redirect_edges): Also adjust count and
-	frequency of the basic block if it has been reused.
-
-2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/33822
-	* rtl.h (REG_OFFSET): Fix comment.
-	* var-tracking.c (INT_MEM_OFFSET): New macro.
-	(var_mem_set): Use it.
-	(var_mem_delete_and_set): Likewise.
-	(var_mem_delete): Likewise.
-	(same_variable_part_p): Likewise.
-	(vt_get_decl_and_offset): Likewise.
-	(offset_valid_for_tracked_p): New predicate.
-	(count_uses): Do not track locations with invalid offsets.
-	(add_uses): Likewise.
-	(add_stores): Likewise.
-
-2007-11-07  Tom Tromey  <tromey@redhat.com>
-
-	* Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
-	(BASIC_BLOCK_H): Add vec.h, $(FUNCTION_H).
-
-2007-11-07  Dmitry Zhurikhin  <zhur@ispras.ru>
-	    Andrey Belevantsev  <abel@ispras.ru>
-
-	* modulo-sched.c (sms_order_nodes, permute_partial_schedule,
-	generate_prolog_epilog, duplicate_insns_of_cycles): Fix prototypes.
-	(calculate_order_params, sms_order_nodes): New parameter pmax_asap.
-	Save calculated max_asap in it. 	
-	(sms_schedule): Calculate maxii using max_asap.
-
-2007-11-07  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* doc/invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp
-	with -mhard-dfp/-mno-hard-dfp.
-
-2007-11-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/33670
-	* haifa-sched.c (check_sched_flags): Remove.
-	(sched_init): Don't call it.
-
-2007-11-06  Diego Novillo  <dnovillo@google.com>
-
-	* tree-flow.h (struct fieldoff): Reformat comment. Document fields.
-	* tree-ssa-operands.c: Tidy top-level comments.
-	(add_vop): Likewise.
-	(add_vars_for_offset): Tidy parameter formatting..
-	(get_addr_dereference_operands): Likewise.
-	(get_indirect_ref_operands): Likewise.
-	(get_expr_operands) <OMP_ATOMIC_LOAD>: Reformat.
-	<OMP_ATOMIC_STORE>: Likewise.
-
-2007-11-06  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32787
-	* config/i386/driver-i386.c: Test for __GNUC__ instead of
-	GCC_VERSION which is always defined.
-
-2007-11-06  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	PR target/30961
-	* reload1.c (find_reloads): Also check in_reg when handling a
-	simple move with an input reload and a destination of a hard register.
-
-2007-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes.
-	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
-	TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL,
-	TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
-	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine.
-	(m68k_sched_attr_type2): New function.
-	(sched_adjust_cost_state): New static variable.
-	(m68k_sched_adjust_cost): New static function implementing
-	scheduler hook.
-	(sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code):
-	New static variables.
-	(m68k_sched_variable_issue): New static function implementing
-	scheduler hook.
-	(sched_dump_class_def, sched_dump_class_func_t): New typedefs.
-	(sched_dump_split_class): New static function.
-	(sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static
-	variables.
-	(sched_dump_dfa_class, m68k_sched_dump): New static function.
-	(m68k_sched_md_init_global, m68k_sched_md_finish_global,
-	m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle,
-	m68k_sched_dfa_post_advance_cycle): New static functions implementing
-	scheduler hooks.
-
-	* config/m68k/m68k.h (m68k_sched_attr_type2): Declare.
-	(CPU_UNITS_QUERY): Define.
-
-	* config/m68k/cf.md: New file.
-	* config/m68k/m68.md (cf.md): New include.
-
-2007-11-06  Tom Tromey  <tromey@redhat.com>
-
-	PR c++/32256
-	PR c++/32368
-	* function.c (saved_in_system_header): New global.
-	(push_cfun): Save in_system_header.
-	(pop_cfun): Restore in_system_header.
-	(push_struct_function): Save in_system_header.
-
-2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>
-
-	PR c++/33977
-	PR c++/33886
-	* c-common.c (c_build_qualified_type): Moved to c-typeck.c.
-	(complete_array_type): Set canonical type appropriately.
-	* c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
-	C and C++ front ends now have different versions of this function,
-	because the C++ version needs to maintain canonical types here.
-
-2007-11-04  Razya Ladelsky  <razya@il.ibm.com>
-	
-	* tree-parloops.c (reduction_info): Remove reduction_init field.
-	(initialize_reductions): Remove creation of the reduction_init variable.
-	(struct data_arg): Remove.
-	(add_field_for_reduction, create_stores_for_reduction): New functions.
-	(add_field_for_name): Remove reduction handling.
-	(separate_decls_in_loop): Call add_field_for_reduction,
-	create_stores_for_reduction.
-
-2007-11-06  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33458
-	* tree-inline.c (copy_phis_for_bb): If PHI arg substitution creates
-	!is_gimple_val PHI argument, gimplify it and insert it on edge.
-
-	PR tree-optimization/33993
-	* tree-vect-transform.c (vect_get_constant_vectors): Use build_vector
-	rather than build_constructor_from_list if all list values are
-	constants.
-	(get_initial_def_for_induction): Use build_vector instead of
-	build_constructor_from_list.
-
-2007-11-05  Mark Mitchell  <mark@codesourcery.com>
-
-	PR target/33579
-	* tree.h (DECL_INIT_PRIORITY): Do not require DECL_HAS_INIT_PRIORITY_P.
-	(DECL_FINI_PRIORITY): Likewise.
-	* tree.c (decl_init_priority_lookup): Remove assert.
-	(decl_fini_priority_insert): Likewise.
-	* cgraphunit.c (static_ctors): Make it a VEC.
-	(static_dtors): Likewise.
-	(record_cdtor_fn): Adjust accordingly.
-	(build_cdtor): Generate multiple functions for each initialization
-	priority.
-	(compare_ctor): New function.
-	(compare_dtor): Likewise.
-	(cgraph_build_cdtor_fns): Sort the functions by priority before
-	calling build_cdtor.
-	(cgraph_build_static_cdtor): Put the priority in the function's name.
-
-2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR driver/32632
-	* common.opt: Add shared and pie.
-
-2007-11-05  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not
-	replace references to virtual_stack_vars_rtx in goto_handler.
-
-2007-11-05  Paul Brook  <paul@codesourcery.com>
-
-	* config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
-	* config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
-	(arm_file_start): Don't set Tag_ABI_PCS_wchar_t.  Call
-	arm_lang_output_object_attributes_hook.
-	* config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
-	(REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
-	* config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
-	prototype.
-	* config/arm/t-arm.c (arm.o): New rule.
-	* config/arm/arm-c.c: New file.
-
-2007-11-05  Nick Clifton  <nickc@redhat.com>
-	    Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/32540
-	PR tree-optimization/33922
-	* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
-	* tree-ssa-pre.c: Include params.h.
-	(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
-	to limit the maximum length of the PA set for a given block.
-	* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
-	* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.
-
-2007-11-05  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
-	__fixunssfDI): Make return type unsigned.
-	* libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
-	__fixunssfDI): Make return type unsigned.
-
-2007-11-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33856
-	* tree-data-ref.c (get_references_in_stmt): Don't add
-	REFERENCE_CLASS_P trees to references vector if get_base_address
-	returns NULL on them.
-
-2007-11-05  Alexandre Oliva  <aoliva@redhat.com>
-
-	* cfg.c (dump_cfg_bb_info): Update bb_bitnames to match enum.
-
-2007-11-04  Andrew Pinski  <pinskia@gmail.com>
-
-	PR middle-end/32931
-	* fold-const.c (fold_binary <case EQ_EXPR>): Convert the inner type
-	for TRUTH_NOT_EXPR to type.
-
-2007-11-04  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/contrib.texi (Contributors): Add Manuel Lopez-Ibanez.
-
-2007-11-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	PR fortran/10220
-	* dwarf2out.c (add_calling_convention_attribute): Change
-	second argument. Set calling convention to DW_CC_program for
-	Fortran main program.
-	(gen_subprogram_die): Adjust to new prototype for
-	add_calling_convention_attribute.
-
-2007-11-03  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33987
-	* tree-vect-transform.c (get_initial_def_for_reduction): Fix assert.
-	Fix indentation.
-	(vectorizable_reduction): Add type check.
-
-2007-11-03  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/29062
-	* c-parser.c (c_parser_statement_after_labels): Error if a
-	declaration is parsed after a label.
-	
-2007-11-03  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	PR debug/33921
-	* reorg.c (emit_delay_sequence): Do not clear the locator on
-	the jump instruction.
-
-2007-11-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/33670
-	* haifa-sched.c (ok_for_early_queue_removal): Don't walk out of the
-	current sched region.
-
-2007-11-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/ia64/ia64.c (struct reg_write_state): Change into
-	unsigned short bitfields rather than unsigned int, decrease
-	first_pred to just 10 bits.
-	(rws_insn): Change into a bitmap or if not ENABLE_CHECKING
-	into two char array.
-	(rws_insn_set, rws_insn_test): New functions.
-	(in_safe_group_barrier): New variable.
-	(rws_update): Remove first argument, always set rws_sum array.
-	(rws_access_regno): Use rws_insn_set macro.  Only call rws_update
-	or update rws_sum if !in_safe_group_barrier, adjust rws_update args.
-	(rtx_needs_barrier): Use rws_insn_test macro.
-	(safe_group_barrier_needed): Don't save/restore rws_sum array,
-	instead set/clear in_safe_group_barrier flag.
-
-2007-11-02  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_expand_prologue): Put a
-	REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack
-	pointer or frame pointer.
-	* config/xtensa/xtensa.h (DWARF_UNWIND_INFO): Delete.
-	(MUST_USE_SJLJ_EXCEPTIONS): Define.
-	(DWARF2_UNWIND_INFO): Define.
-	(INCOMING_RETURN_ADDR_RTX): Define.
-	(DWARF_FRAME_RETURN_COLUMN): Define.
-
-2007-11-02  Tom Tromey  <tromey@redhat.com>
-
-	* varpool.c (dump_varpool): Use 'next', not 'next_needed' when
-	traversing pool.
-
-2007-11-02  Diego Novillo  <dnovillo@google.com>
-
-	* langhooks.h (struct lang_hooks_for_callgraph): Remove third
-	argument from function pointer ANALYZE_EXPR.  Update all users.
-	* cgraph.c (debug_cgraph_node): New.
-	(debug_cgraph): New.
-
-2007-11-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR rtl-optimization/33648
-	* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
-	the newly created basic block.
-
-2007-11-01  Richard Guenther  <rguenther@suse.de>
-
-	* ggc-page.c (extra_order_size_tab): Add bitmap_head size.
-
-2007-11-01  Steven Bosscher  <stevenb.gcc@gmail.com>
-
-	PR rtl-optimization/33828
-	* gcse.c (compute_code_hoist_vbeinout): Fix order of computation
-	of VBEIN and VBEOUT.
-
-2007-11-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
-	* sched-rgn.c (compute_trg_info): Zero 'el' local variable.
-	* tree-if-conv.c (process_phi_nodes): Zero 'cond' local variable.
-
-2007-11-01  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* gcc.c (getenv_spec_function): Escape the environment variable's
-	value.
-
-2007-11-01  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/invoke.texi (Optimize Options): Under -fcse-follow-jumps,
-	show that CSE means common subexpression elimination.  Change wording
-	for -fsee and define LCM.  Remove capitalization of optimizations
-	for -ftree-reassoc, -ftree-pre, and -ftree-fre.
-
-2007-11-01  Janis Johnson  <janis187@us.ibm.com>
-
-	PR testsuite/25352
-	* doc/sourcebuild.texi (Test Directives): Document that xfail
-	has no effect for dg-do except when dg-do-what is "run".
-
-2007-11-01  Tom Tromey  <tromey@redhat.com>
-
-	* c-decl.c (grokdeclarator): Set decl source locations.
-	* c-parser.c (c_parser_enum_specifier): Set location.
-	(c_parser_struct_or_union_specifier): Likewise.
-
-2007-11-01  Tom Tromey  <tromey@redhat.com>
-
-	* print-tree.c (print_node): Print column number.
-
-2007-11-01  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/33537
-	* dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
-	gen_decl_die): Use TREE_TYPE (TREE_TYPE (decl)) as type
-	rather than TREE_TYPE (decl) if DECL_BY_REFERENCE (decl).
-
-	PR rtl-optimization/33673
-	* gcse.c (cprop_jump): If a conditional jump has been optimized
-	into unconditional jump, make the remaining normal edge fallthru
-	and delete the jump insn.
-
-2007-11-01  Ben Elliston  <bje@au.ibm.com>
-
-	* emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
-	(set_mem_attrs_from_reg): Likewise.
-
-2007-11-01  Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/33961
-	* tree-ssa-phiopt.c (struct name_to_bb.store): New member.
-	(name_to_bb_hash, name_to_bb_eq): Consider and check it.
-	(add_or_mark_expr): New argument 'store', using it to search
-	the hash table.
-	(nt_init_block): Adjust calls to add_or_mark_expr.
-
-2007-10-31  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/31507
-	* config/i386/i386.md (pushsf_rex64): Use X instead of < constraints
-	for the first push_operand.
-
-2007-10-31  Revital Eres  <eres@il.ibm.com>
-
-	* config/rs6000/paired.md (sminv2sf3, smaxv2sf3, reduc_smax_v2sf,
-	reduc_smin_v2sf vec_interleave_highv2sf, vec_interleave_lowv2sf,
-	vec_extract_evenv2sf, vec_extract_oddv2sf, reduc_splus_v2sf,
-	movmisalignv2sf, vcondv2sf): New.
-	(UNSPEC_INTERHI_V2SF, UNSPEC_INTERLO_V2SF, UNSPEC_EXTEVEN_V2SF,
-	UNSPEC_EXTODD_V2SF): Define new constants.
-	* config/rs6000/rs6000-protos.h (paired_expand_vector_move,
-	paired_emit_vector_cond_expr): New.
-	* config/rs6000/rs6000-c.c (__PAIRED__): Add new builtin_define.
-	* config/rs6000/rs6000.c (paired_expand_vector_move,
-	paired_emit_vector_cond_expr, paired_emit_vector_compare):
-	New functions.
-	* config/rs6000/750cl.h (ASM_CPU_SPEC): Pass down -m750cl option.
-
-2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/32377
-	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
-	work also for unknown number of iterations.
-	(analyze_subscript_affine_affine): Clean up.  Don't fail when the 
-	number of iterations is not known.
-
-2007-10-31  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33779
-	* fold-const.c (extract_muldiv_1): Make sure to not introduce
-	new undefined integer overflow.
-	(fold_binary): Avoid useless conversion.
-
-2007-10-31  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/33948
-	* config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P check.
-
-2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.
-
-	* config/s390/s390.c: (override_options): Replace
-	-mhard-dfp/-msoft-dfp with -mhard-dfp/-mno-hard-dfp.
-	* config/s390/s390.opt: Likewise.
-	* config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
-	definition.
-
-2007-10-30  Janis Johnson  <janis187@us.ibm.com>
-
-	* tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
-
-2007-10-30  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
-	optimization options.
-	(Optimize Options): Add -fdce and -fdse to the list of optimizations
-	enabled by -O.  Document -fdce and -fdse.
-
-2007-10-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/33709
-	* fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
-	convert second operand of COMPOUND_EXPR to the original type of
-	that argument.
-
-2007-10-30  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_vars_for_offset): Fix exit test
-	of loop adding SFTs as virtual operands.
-
-2007-10-30  Richard Guenther  <rguenther@suse.de>
-
-	* Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H) dependencies.
-
-2007-10-29  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/32893
-	* tree-vectorize.c (vect_can_force_dr_alignment_p): Check
-	STACK_BOUNDARY instead of PREFERRED_STACK_BOUNDARY.
-
-2007-10-29  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
-	x86_64 versions.
-	(sub_ddmmss): Likewise.
-	(umul_ppmm): Likewise.
-	(udiv_qrnnd): Likewise.
-
-2007-10-29  Janis Johnson  <janis187@us.ibm.com>
-
-	PR testsuite/24841
-	* doc/sourcebuild.texi (Test Directives): Document that dg-require
-	directives must come before dg-additional-sources.
-
-2007-10-29  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33723
-	* c-gimplify.c (c_gimplify_expr): Optimize INIT_EXPR or
-	MODIFY_EXPR with non-addressable COMPOUND_LITERAL_EXPR as source.
-
-2007-10-29  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR tree-optimization/33614
-	* gimplify.c (gimplify_init_constructor): Gimplify vector constructors
-	if they can't be reduced to VECTOR_CSTs and aren't legitimate
-	initializer constants.
-
-2007-10-29  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33870
-	* tree-ssa-operands.c (add_vars_for_offset): Remove mpt_vars parameter.
-	(add_virtual_operand): Do not recurse into MPTs looking for pointed-to
-	SFTs.
-
-2007-10-29  Richard Guenther  <rguenther@suse.de>
-
-	* passes.c (init_optimization_passes): Exchange store_copy_prop
-	with copy_prop.
-	* tree-pass.h (pass_store_copy_prop): Remove.
-	* tree-ssa-copy.c (do_store_copy_prop): Remove.
-	(stmt_may_generate-copy): Do not handle store_copy_prop.
-	(get_copy_of_val): Likewise.
-	(set_copy_of_val): Likewise.
-	(copy_prop_visit_assignment): Likewise.
-	(copy_prop_visit_stmt): Likewise.
-	(copy_prop_visit_phi_node): Likewise.
-	(init_copy_prop): Likewise.
-	(execute_copy_prop): Likewise.
-	(do_copy_prop): Remove.
-	(gate_store_copy_prop): Likewise.
-	(store_copy_prop): Likewise.
-	(pass_store_copy_prop): Likewise.
-	(pass_copy_prop): Call execute_copy_prop.
-	* opts.c (decode_options): Do not set flag_tree_store_copy_prop.
-	* common.opt (ftree-store-copy-prop): Mark obsolete.
-	* doc/invoke.texi (ftree-store-copy-prop): Remove documentation.
-
-2007-10-29  Ian Lance Taylor  <iant@google.com>
-
-	* ifcvt.c (noce_can_store_speculate_p): New static function.
-	(noce_process_if_block): Call it.
-	(if_convert): Remove recompute_dominance parameter.  Change all
-	callers.
-
-2007-10-29  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow-inline.h (get_subvar_at): Use binary search.
-	(get_first_overlapping_subvar): New function to binary search
-	for the first overlapping subvar.
-	* tree-ssa-operands.c (add_vars_for_offset): Strip down to
-	just handle adding subvars for a pointed-to subvar.  Optimize
-	and use get_first_overlapping_subvar.
-	(add_vars_for_bitmap): Fold into single caller.
-	(add_virtual_operand): Streamline, inherit add_vars_for_bitmap
-	and non pointed-to bits of add_vars_for_offset.
-
-2007-10-29  Revital Eres  <eres@il.ibm.com> 
-
-	* modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
-
-2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
-	    Zdenek Dvorak  <ook@ucw.cz>
-
-	OMP_ATOMIC Changes,
-	reduction support for automatic parallelization.
-
-	* expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
-	OMP_ATOMIC_STORE.
-	* Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
-	* tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
-	and OMP_ATOMIC_STORE.
-	* tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
-	* gimple-low.c (lower_stmt): Same.
-	* gimplify.c (gimplify_expr): Same.
-	(gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
-	gimplify_omp_atomic_mutex): Remove.
-	(gimplify_omp_atomic): Change it to simply gimplify the
-	statement instead of expanding it.
-	* omp-low.c: Add includes to optabs.h, cfgloop.h.
-	(expand_omp_atomic, expand_omp_atomic_pipeline,
-	goa_stabilize_expr, expand_omp_atomic_mutex,
-	expand_omp_atomic_fetch_op): New functions to implement
-	expansion of OMP_ATOMIC.
-	(expand_omp, build_omp_regions_1): Add support for
-	OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
-	* tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
-	OMP_ATOMIC_STORE.
-	* tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
-	OMP_ATOMIC_STORE.
-	* tree-parloops.c: add include to tree-vectorizer.h.
-	(reduction_info): New structure for reduction.
-	(reduction_list): New list to represent list of reductions per loop.
-	(struct data_arg): New helper structure for reduction.
-	(reduction_info_hash, reduction_info_eq, reduction_phi,
-	initialize_reductions, create_call_for_reduction,
-	create_phi_for_local_result, create_call_for_reduction_1,
-	create_loads_for_reductions, create_final_loads_for_reduction):
-	New functions.
-	(loop_parallel_p): Identify reductions, add reduction_list parameter.
-	(separate_decls_in_loop_name): Support reduction variables.
-	(separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
-	call create_loads_for_reduction for each reduction.
-	(canonicalize_loop_ivs): Identify reductions, add reduction_list
-	parameter.
-	(transform_to_exit_first_loop): Add reduction support, add
-	reduction_list parameter.
-	(gen_parallel_loop): Add reduction_list parameter.  Add call
-	separate_decls_in_loop with
-	the new argument.  Traverse reductions and call
-	initialize_reductions, create_call_for_reduction.
-	(parallelize_loops): Create and delete the reduction list.
-	(add_field_for_name): Change use of data parameter.  Add fields for
-	reductions.
-	* tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
-	* tree-vect-analyze.c (vect_analyze_loop_form): export it.
-	* tree.def: Add definitions for OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
-	* tree-inline.c (estimate_num_insns_1): add cases for
-	OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
-	* tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
-	* tree-ssa-operands.c (get_addr_dereference_operands):
-	New function.  Subroutine of get_indirect_ref_operands.
-	(get_indirect_ref_operands): Call get_addr_dereference_operands.
-	(get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
-
-
-2007-10-29  Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/cris.c: Include df.h.
-	(cris_address_cost): Add gcc_assert for canonicalization
-	assumptions.  For PLUS with MULT or register, correct
-	test for register in other arm.  Tweak comments.
-
-2007-10-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_vars_for_offset): Add parameter
-	telling if the var is to be treated as points-to location.
-	(add_vars_for_bitmap): Pass true to add_vars_for_offset.
-	(add_virtual_operand): Only recurse into MPTs if aliases
-	is from a NMT.
-
-2007-10-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_vars_for_offset): Clean and speed up.
-	(add_vars_for_bitmap): Do not recurse further.  Only add vars
-	for pointed-to SFTs.
-	(add_virtual_operand): Re-instantiate loop to add operands for
-	aliases.  Recurse into MPTs.
-	(get_indirect_ref_operands): If we fall back to use a pointers
-	SMT, make sure to not prune based on the access offset and size.
-
-2007-10-28  Andrew Pinski  <pinskia@gmail.com>
-
-	PR tree-opt/33589
-	* tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup
-	the eh information on the statement.
-
-2007-10-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (subvar_t): Make it a VEC.
-	(struct subvar): Remove.
-	(struct var_ann_d): Use VEC(tree,gc) to store subvars.
-	* tree-flow-inline.h (get_subvar_at): Adjust iterators over
-	variable subvars.
-	* tree-into-ssa.c (mark_sym_for_renaming): Likewise.
-	* tree-nrv.c (dest_safe_for_nrv_p): Likewise.
-	* tree-ssa-alias.c (mark_aliases_call_clobbered): Likewise.
-	(set_initial_properties): Likewise.
-	(setup_pointers_and_addressables): Likewise.
-	(new_type_alias): Likewise.
-	(create_overlap_variables_for): Likewise.
-	* tree-dfa.c (dump_subvars_for): Likewise.
-	* tree-ssa-operands.c (add_vars_for_offset): Likewise.
-	(get_expr_operands): Likewise.
-	(add_to_addressable_set): Likewise.
-	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
-
-2007-10-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/33920
-	* tree-if-conv.c (tree_if_conversion): Force predicate of single
-	successor bb to true when predecessor bb has NULL predicate.
-	(find_phi_replacement_condition): Assert that tmp_cond is non-null.
-
-2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.md: Add combiner patterns for DImode extensions
-	of HImode and QImode truncations.  Reformat HImode <- QImode pattern
-	for consistency.
-
-2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/33895
-	* config/mips/mips.c (mips_output_dwarf_dtprel): Add ATTRIBUTE_UNUSED.
-
-2007-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* dce.c (delete_unmarked_insns): Just delete the RETVAL and
-	LIBCALL notes if they are about to be moved to the same insn.
-
-2007-10-27  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33870
-	* tree-ssa-operands.c (add_vars_for_offset): Reduce code
-	duplication.  Remove redundant call to access_can_touch_variable.
-	(add_vars_for_bitmap): New helper for recursing over MPT contents.
-	(add_virtual_operand): Use it.
-
-2007-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR fortran/31608
-	* pa.h (ASM_PN_FORMAT): Delete define.
-
-2007-10-26  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/invoke.texi (Option Summary, optimizations): Remove
-	-fbounds-check.  Add -fassociative-math, -freciprocal-math,
-	-ftree-vrp and -funit-at-a-time.  Change -fno-split-wide-types to
-	-fsplit-wide-types to match later entry.  Break up a long line.
-	(Option Summary, code gen options)  Add -fno-stack-limit.  Add
-	missing @gol to the end of a line.
-	(Optimization Options): Remove -fbounds-check, which is also
-	documented under Code Generation Options.  Remove =n from
-	index entry for -ftree-parallelize-loops.  Change -fno-cprop-registers
-	to -fcprop-registers to match other options, and say when it is
-	enabled rather than disabled.  Remove extra index entry for
-	-fno-cx-limited-range.  Add index entries for -fstack-protector
-	and -fstack-protector-all.
-	(Code Gen Options): Add index entry for -ftls-model.
-
-2007-10-26  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_OS_task_function_p): Add new function.
-	(avr_regs_to_save): Handle functions with 'OS_task' attribute.
-	(avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
-	expand_epilogue, output_movhi): Don't handle 'main' function.
-	(avr_attribute_table): Add 'OS_task' function attribute.
-	* config/avr/avr.h (machine_function): Remove 'is_main' field, add
-	'is_OS_task' field.
-	* config/avr/avr.md (return_from_main_epilogue): Remove insn.
-	(return_from_epilogue, return_from_interrupt_epilogue): Don't handle
-	'main' function.
-	* config/avr/avr.opt (minit-stack): Remove.
-
-2007-10-26  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-nested.c (get_trampoline_type): Fix thinko.
-
-2007-10-26  Douglas Gregor  <doug.gregor@gmail.com>
-
-	PR c++/33601
-	* tree.c (build_offset_type): Build canonical type based on the
-	TYPE_MAIN_VARIANT of the base type.
-
-2007-10-26  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* reorg.c (emit_delay_sequence): Move insn locator from the
-	first insn to the sequence.
-
-2007-10-26  Samuel Tardieu  <sam@rfc1149.net>
-
-	* ipa-pure-const.c (check_decl): Return immediately when
-	pure_const_state has been set to IPA_NEITHER.
-
-2007-10-25  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/33833
-	* tree-vect-analyze.c (vect_analyze_data_refs): Use POINTER_PLUS_EXPR
-	and convert init to sizetype in inner_base construction.
-
-2007-10-25  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (mem_sym_stats): Remove.
-	(dump_mem_sym_stats_for_var): Declare.
-	* tree-dfa.c (dump_variable): Call dump_mem_sym_stats_for_var.
-	(mem_sym_stats): Move ...
-	* tree-ssa-alias.c (mem_sym_stats): ... here and make it static.
-	(mem_sym_score): Rename from ...
-	(pscore): ... this.  Remove.
-	(dump_mem_sym_stats_for_var): New function.  Dump the score, but
-	not the frequencies.
-	(compare_mp_info_entries): Make sort stable by disambiguating
-	on DECL_UID.
-
-2007-10-25  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/33866
-	* tree-vect-transform.c (vectorizable_store): Check operands of all
-	the stmts in the group of strided accesses. Get def stmt type for each
-	store in the group and pass it to vect_get_vec_def_for_stmt_copy ().
-
-2007-10-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/constraints.md (Y0): Rename register constraint to Yz.
-	(Yt): Rename register constraint to Y2.
-	* config/i386/sse.md: Use renamed register constraints.
-	* config/i386/mmx.md: Ditto.
-	* config/i386/i386.md: Ditto.
-
-2007-10-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* config/i386/i386.md (*dummy_extendsfdf2): Fix operand 1 constraint.
-
-2007-10-24  Chao-ying Fu  <fu@mips.com>
-
-	* dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or
-	DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
-
-2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
-	    Olga Golovanevsky <olga@il.ibm.com>
-	
-	* ipa-struct-reorg.c (replace_field_acc): Make it clear to
-	the compiler that wr.wrap and wr.domain are initialized in
-	any case.
-
-2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
-
-	* ipa-struct-reorg.c (sum_counts): Use HOST_WIDEST_PRINT_DEC
-	to print gcov_type values.
-
-2007-10-24  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.h: Do not include progmem_section definition when
-	building with IN_TARGET_LIBS.
-
-2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/33755
-	* config/mips/mips.c (mips_lo_sum_offset): New structure.
-	(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
-	(mips_lo_sum_offset_lookup, mips_record_lo_sum)
-	(mips_orphaned_high_part_p: New functions.
-	(mips_avoid_hazard): Don't check INSN_P here.
-	(mips_avoid_hazards): Rename to...
-	(mips_reorg_process_insns): ...this.  Cope with
-	!TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
-	or turn them into nops.
-	(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
-	dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
-	(mips_set_mips16_mode): Don't set flag_delayed_branch here.
-	(mips_override_options): Set flag_delayed_branch to 0.
-
-2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
-	MIPS-specific implementation details.
-	(MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
-	(MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
-	(MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
-	for targets with movmemsi.
-	(MOVE_BY_PIECES_P): Define.
-	* config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
-	(mips_block_move_loop): Add a bytes_per_iter argument.
-	(mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
-	Update call to mips_block_move_loop.
-
-2007-10-24  Michael Matz  <matz@suse.de>
-
-	PR debug/33868
-	* var-tracking.c (variable_union): Don't break after one loop
-	iteration but only when a difference is found.
-	(dump_variable): Also print DECL_UID.
-
-2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
-
-	* ipa-type-escape.h: Expose function
-	is_array_access_through_pointer_and_index.
-	* ipa-type-escape.c
-	(is_array_access_through_pointer_and_index):
-	Add three new parameters. Add support of
-	POINTER_PLUS_EXPR tree code.
-
-2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
-
-	* ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
-	* tree-pass.h: Add pass_ipa_struct_reorg.
-	* common.opt: Add ipa-struct-reorg flag.
-	* Makefile.in: Add ipa-strcut-reorg.o compilation.
-	* passes.c: Add pass pass_ipa_struct_reorg.
-	* params.h:  Add STRUCT_REORG_COLD_STRUCT_RATIO.
-	* params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.
-
-2007-10-24  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/33804
-	* tree-vect-transform.c (vectorizable_operation): Remove the
-	checks that the vectorization is worthwhile from the transformation
-	phase.
-
-2007-10-24  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vect-analyze.c (vect_build_slp_tree): Return false if
-	vectype cannot be determined for the scalar type.
-	(vect_analyze_slp_instance): Likewise.
-	* tree-vect-transform.c (vect_model_reduction_cost): Change the
-	return type to bool. Return false if vectype cannot be determined 
-	for the scalar type.
-	(vect_get_constant_vectors): Return false if vectype cannot be
-	determined for the scalar type.
-	(get_initial_def_for_induction, vect_get_vec_def_for_operand,
-	get_initial_def_for_reduction, vect_create_epilog_for_reduction,
-	vectorizable_reduction): Likewise.	
-
-2007-10-23  Craig Rodrigues  <rodrigc@gcc.gnu.org>
-
-	* config.gcc: For a FreeBSD target, parse the value of ${target}
-	to determine the value of FBSD_MAJOR, instead of adding an
-	explicit check for every possible FreeBSD major version.
-
-2007-10-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/33846
-	* combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.
-
-2007-10-23  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33860
-	* tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
-	interleaved accesses in case the dr is inside the inner-loop during
-	outer-loop vectorization.
-
-2007-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
-	Document MEM_POINTER.  Replace mentions of "integrated"
-	field with "return_val".  Delete outdated stuff.
-
-2007-10-23  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_override_options): Set
-	rs6000_altivec_abi on AIX.
-	(conditional_register_usage): Set VR20:31 fixed on AIX.
-
-2007-10-23  Richard Guenther  <rguenther@suse.de>
-
-	* alias.c (get_alias_set): For INDIRECT_REFs, deal with
-	SSA_NAME pointers.
-
-2007-10-22  Seongbae Park <seongbae.park@gmail.com>
-	    David S. Miller  <davem@davemloft.net>
-
-	* df-scan.c (df_get_call_refs): Mark global registers as both a
-	DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
-
-2007-10-22  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33834
-	PR tree-optimization/33835
-	* tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE
-	stmts need to be checked for success seperately.
-	* tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
-	Remove the check that stmt is not LIVE.
-	(vectorizable_assignment, vectorizable_induction): Likewise.
-	(vectorizable_operation, vectorizable_type_demotion): Likewise.
-	(vectorizable_type_promotion, vectorizable_load, vectorizable_store):
-	Likewise.
-	(vectorizable_live_operation): Check that op is not NULL. 
-
-2007-10-22  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/invoke.texi (Optimization Options): In the summary, show
-	that the value for options -falign-jumps, -falign-labels,
-	-falign-loops, -falign-functions, -fsched-stalled-insns, and
-	-fsched-stalled-insns-dep is optional.  In the summary, show that
-	-fsched-stalled-insns takes an optional argument and that
-	-fparallelize-loops takes an argument.  Add opindex for several
-	optimization options, and fix typos in the opindex commands for
-	several others.  In the descriptions for -fsched-stalled-insns
-	and -fsched-stalled-insns-dep, show the options with and without
-	values.
-
-2007-10-22  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
-	produced.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/33644
-	* cfgcleanup.c: Do not include dce.h.
-	* cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
-	* combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
-	* dce.c (something_changed): Delete.
-	(libcall_dead_p): New predicate.
-	(delete_unmarked_insns): Use it to delete dead libcalls.
-	Deal with REG_LIBCALL and REG_RETVAL notes.
-	(prescan_libcall_for_dce): New function.
-	(prescan_insns_for_dce): Use it to deal with libcalls.
-	(mark_reg_dependencies): Do nothing special for libcalls.
-	(dce_process_block): Likewise.
-	(fast_dce): Delete unused local variable.
-	(run_fast_dce): Do not return a value.
-	* dce.h (struct df): Delete.
-	(run_fast_dce): Adjust prototype.
-	* optabs.c (libcall_id): Delete.
-	(maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
-	(emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
-	* reload1.c (reload): Delete REG_LIBCALL_ID case.
-	* rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
-	* see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
-	notes instead of REG_LIBCALL_ID notes.
-	* reg-notes.def (LIBCALL_ID): Delete.
-	* Makefile.in (see.o): Add dce.h dependency.
-	(cfgcleanup.o): Remove dce.h dependency.
-
-2007-10-22  Michael Matz  <matz@suse.de>
-
-	PR tree-optimization/33855
-	* tree-ssa-phiopt.c (cond_store_replacement): Handle COMPLEX_TYPE
-	and VECTOR_TYPE.
-
-2007-10-22  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/33854
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
-	FLOAT_EXPR to the list of promotion operations.	
-
-2007-10-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/29473
-	PR target/29493
-	* config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
-	(print_reg): Print register prefix only with AT&T asm syntax. 
-	Support pc_rtx for RIP register.
-	(print_operand_address): Use print_reg()'s pc_rtx support for RIP
-	relative addressing.  Always print segment register prefix with AT&T
-	asm syntax and never with Intel asm syntax.
-	(print_operand): Suppress 'XXX PTR' prefix for BLKmode operands. 
-	Fix prefix for 16-byte XFmode operands.
-	(output_addr_const_extra): Support Intel asm syntax.
-	(x86_file_start): Don't use register prefix with Intel asm syntax.
-	* config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
-	("return_internal_long"): Fix Intel asm syntax output.
-	("set_got_rex64"): Support Intel asm syntax.
-	("set_rip_rex64"): Likewise.
-	("set_got_offset_rex64"): Likewise.
-	("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
-	syntax.
-	("*tls_global_dynamic_64"): Likewise.
-	("*tls_local_dynamic_base_64"): Likewise.
-	("*load_tp_si")("*load_tp_di"): Likewise.
-	("*add_tp_si")("*add_tp_di"): Likewise.
-	("*tls_dynamic_lea_64"): Likewise.
-	("*sibcall_value_1_rex64_v"): Likewise.
-	("stack_tls_protect_set_si"): Likewise.
-	("stack_tls_protect_set_di"): Likewise.
-	("stack_tls_protect_test_si"): Likewise.
-	("stack_tls_protect_test_di"): Likewise.
-	* config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
-	syntax output.
-	("*movv2sf_internal_rex64"): Likewise.
-	* config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
-	(__get_cpuid_max): Likewise.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
-	the STRICT_P argument type "bool" rather than "int".
-	(mips_legitimate_address_p): Likewise.
-	(fp_register_operand, lo_operand): Delete.
-	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
-	(mips_emit_scc): Rename to...
-	(mips_expand_scc): ...this.
-	(gen_conditional_branch): Rename to...
-	(mips_expand_conditional_branch): ...this.
-	(gen_conditional_move): Rename to...
-	(mips_expand_conditional_move): ...this.
-	(mips_gen_conditional_trap): Rename to...
-	(mips_expand_conditional_trap): ...this and take an rtx code instead
-	of an operands array.
-	(mips_expand_call): Give the SIBCALL_P argument type "bool"
-	rather than "int".
-	(mips_emit_fcc_reload): Rename to...
-	(mips_expand_fcc_reload): ...this.
-	(init_cumulative_args): Rename to...
-	(mips_init_cumulative_args): ...this and remove the libname argument.
-	(function_arg_advance): Rename to...
-	(mips_function_arg_advance): ...this.
-	(function_arg): Rename to...
-	(mips_function_arg): ...this and use "rtx" instead of
-	"struct rtx_def *".
-	(function_arg_boundary): Rename to...
-	(mips_function_arg_boundary): ...this.
-	(mips_expand_unaligned_load): Rename to...
-	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
-	and BITPOS arguments type "HOST_WIDE_INT".
-	(mips_expand_unaligned_store): Rename to...
-	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
-	and BITPOS arguments type "HOST_WIDE_INT".
-	(override_options): Rename to...
-	(mips_override_options): ...this.
-	(print_operand): Rename to...
-	(mips_print_operand): ...this.
-	(print_operand_address): Rename to...
-	(mips_print_operand_address): ...this.
-	(mips_output_ascii): Remove the PREFIX argument.
-	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
-	rather than "int".
-	(mips_can_use_return_insn): Return a "bool" rather than an "int".
-	(mips_function_value): Remove the FUNC argument.  Use "rtx" instead
-	of "struct rtx_def *".
-	(mips_secondary_reload_class): Give the IN_P argument type "bool"
-	rather than "int".
-	(build_mips16_call_stub): Delete.
-	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
-	(mips_use_ins_ext_p): Give the second and third arguments type
-	"HOST_WIDE_INT" rather than "rtx".
-	* config/mips/mips.h: Update after the above changes.  Tweak comments
-	and formatting.
-	(SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
-	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
-	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
-	element type from "char" to "bool".
-	(mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
-	(mips_cpu_info_table): Delete.
-	* config/mips/mips.md: Update after the above changes.  Tweak some
-	formatting.
-	* config/mips/mips-ps-3d.md: Likewise.
-	* config/mips/mips.c: Tweak comments and formatting.
-	Use NULL-like macros rather than 0 in various places.
-	(mips_section_threshold): Rename to...
-	(mips_small_data_threshold): ...this and give it an unsigned type.
-	(num_source_filenames): Remove explicit initialization.
-	(sdb_label_count): Likewise.
-	(sym_lineno): Delete.
-	(set_noat): Make static.
-	(mips_branch_likely): Likewise, and give it type "bool".
-	(mips_isa_info): Rename to...
-	(mips_isa_option_info): ...this.
-	(mips_flag_delayed_branch): Rename to...
-	(mips_base_delayed_branch): ...this.
-	(mips_split_addresses): Delete.
-	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
-	element type from "char" to "bool".
-	(mips_regno_to_class): Add an explicit array size.
-	(mips16_flipper): Change from type "int" to type "bool".
-	(mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
-	(mips_tls_operand_p): Rename to...
-	(mips_tls_symbol_p): ...this.
-	(mips_global_symbol_p): Remove redundant "const".
-	(mips_offset_within_alignment_p): Simplify.
-	(mips_regno_mode_ok_for_base_p): Change the name of the last argument
-	to STRICT_P and give it type bool.
-	(mips_valid_base_register_p): Likewise.
-	(mips_classify_address): Likewise.
-	(mips_legitimate_address_p): Likewise.
-	(mips16_unextended_reference_p): Take the offset as an
-	"unsigned HOST_WIDE_INT" rather than an "rtx".  Simplify.
-	(mips_const_insns): Use IN_RANGE.
-	(mips_force_temporary): Remove an unnecessary copy_rtx.
-	(mips16_gp_pseudo_reg): Simplify.
-	(mips_split_symbol): Remove an unnecessary copy_rtx.
-	(mips_legitimize_tls_address): Only create registers if we need them.
-	(mips_legitimize_address): Use mips_split_plus.
-	(mips_move_integer): Swap DEST and TEMP arguments.  Rename local
-	variable COST to NUM_OPS.
-	(mips_legitimize_move): Use gen_lowpart.
-	(mips_rewrite_small_data): Rename the OP parameter to PATTERN.
-	(m16_check_op): Use IN_RANGE.
-	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
-	(mips_split_doubleword_move): Pass booleans to mips_subword.
-	(mips_output_move): Store the mode in a local variable.
-	Explicitly assert that this function does not deal with
-	MFLO and MFHI.  Use SMALL_OPERAND_UNSIGNED.  Make order of
-	cases more consistent.
-	(mips_relational_operand_ok_p): Rename to...
-	(mips_int_order_operand_ok_p): ...this.
-	(mips_canonicalize_comparison): Rename to...
-	(mips_canonicalize_int_order_test): ...this.
-	(mips_emit_int_relational): Rename to...
-	(mips_emit_int_order_test): ...this.  Store the mode in a local
-	variable.
-	(mips_reverse_fp_cond_p): Rename to...
-	(mips_reversed_fp_cond): ...this.
-	(mips_emit_compare): Make the order of the statements more consistent.
-	(mips_emit_scc): Rename to...
-	(mips_expand_scc): ...this.
-	(gen_conditional_branch): Rename to...
-	(mips_expand_conditional_branch): ...this.
-	(gen_conditional_move): Rename to...
-	(mips_expand_conditional_move): ...this.  Build the condition
-	separately from the main pattern.
-	(mips_gen_conditional_trap): Rename to...
-	(mips_expand_conditional_trap): ...this and take an rtx code instead
-	of an operands array.  Simplify.
-	(init_cumulative_args): Rename to...
-	(mips_init_cumulative_args): ...this.  Use memset rather than a
-	copy from a zeroed static.  Use prototype_p and stdarg_p.
-	(mips_arg_info): Rename to...
-	(mips_get_arg_info): ...this and put the INFO argument first.
-	(function_arg): Rename to...
-	(mips_function_arg): ...this and use "rtx" instead of
-	"struct rtx_def *".  Only split structures into chunks if 
-	TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
-	a chunk-by-chunk basis.  Use SCALAR_FLOAT_TYPE_P instead of a
-	comparison with REAL_TYPE.  Rename local variable REG to REGNO
-	and make it unsigned.
-	(function_arg_advance): Rename to...
-	(mips_function_arg_advance): ...this.
-	(function_arg_boundary): Rename to...
-	(mips_function_arg_boundary): ...this.
-	(mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
-	with MODE_INT.
-	(mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
-	comparison with REAL_TYPE.
-	(mips_function_value): Remove the FUNC argument.  Rename local
-	variable UNSIGNEDP to UNSIGNED_P.
-	(mips_return_in_memory): Use IN_RANGE.
-	(mips_setup_incoming_varargs): Pass a boolean rather than an int
-	to FUNCTION_ARG_ADVANCE.
-	(mips_gimplify_va_arg_expr): Rename local variable INDIRECT
-	to INDIRECT_P.  Remove a redundant mips_abi check.  Only calculate
-	SIZE and RSIZE if needed.
-	(mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
-	rather than "int".
-	(build_mips16_function_stub): Rename to...
-	(mips16_build_function_stub): ...this.
-	(build_mips16_call_stub): Rename to...
-	(mips16_build_call_stub): ...this.  Make static, and return a
-	"bool" rather than an "int".  Rename the ARG_SIZE argument to
-	ARGS_SIZE.  Rename the local variable FPRET to FP_RET_P and give
-	it type "bool".  Use "jr" rather than "j".  Use XNEW.  Simplify.
-	(mips_load_call_address): Give the SIBCALL_P argument type "bool"
-	rather than "int".
-	(mips_expand_call): Likewise.  Assert that MIPS16 calls via stubs
-	are not sibling ones.
-	(mips_emit_fcc_reload): Rename to...
-	(mips_expand_fcc_reload): ...this.
-	(mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
-	"HOST_WIDE_INT".
-	(mips_expand_unaligned_load): Rename to...
-	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
-	and BITPOS arguments type "HOST_WIDE_INT".  Remove redundant
-	SUBREG_BYTE check.
-	(mips_expand_unaligned_store): Rename to...
-	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
-	and BITPOS arguments type "HOST_WIDE_INT".
-	(mips_use_ins_ext_p): Rename second and third arguments to WIDTH
-	and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
-	Use IN_RANGE.
-	(mips_init_split_addresses): Replace with...
-	(mips_split_addresses_p): ...this new function.
-	(mips_init_relocs): Check mips_split_addresses_p () rather than
-	mips_split_addresses.  Always initialize mips_split_p with booleans.
-	(print_operand_reloc): Rename to...
-	(mips_print_operand_reloc): ...this.  Use a gcc_assert rather than
-	a fatal_error.
-	(print_operand): Rename to...
-	(mips_print_operand): ...this.
-	(print_operand_address): Rename to...
-	(mips_print_operand_address): ...this.  Use GP_REG_FIRST.
-	(mips_in_small_data_p): Simplify.
-	(mips_output_ascii): Remove the PREFIX argument and "register"
-	keywords.  Use the STRING parameter directly and cast to
-	"unsigned char".
-	(mips16e_collect_argument_save_p): Use IN_RANGE.
-	(mips_function_has_gp_insn): Simplify.
-	(mips_set_return_address): Use BITSET_P.
-	(mips_restore_gp): Use a separate statement to pick the base
-	register.
-	(mips_output_function_prologue): Use a local FRAME variable.
-	(mips_save_reg): Pass booleans to mips_subword.
-	(mips_expand_prologue): Use a local FRAME variable.  Use
-	cprestore_size to detect when .cprestore is needed.
-	(mips_restore_reg): Use GP_REG_FIRST.
-	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
-	rather than "int".  Use local FRAME and REGNO variables.
-	(mips_can_use_return_insn): Return a "bool" rather than an "int".
-	(mips_secondary_reload_class): Give the IN_P argument type "bool"
-	rather than "int".
-	(mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
-	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
-	(vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
-	(mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
-	(mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
-	(builtin_description): Rename to...
-	(mips_builtin_description): ...this.
-	(mips_bdesc): Rename to...
-	(mips_ps_bdesc): ...this.
-	(sb1_bdesc): Rename to...
-	(mips_sb1_bdesc): ...this.
-	(dsp_bdesc): Rename to...
-	(mips_dsp_bdesc): ...this.
-	(dsp_32only_bdesc): Rename to...
-	(mips_dsp_32only_bdesc): ...this.
-	(bdesc_map): Rename to...
-	(mips_bdesc_map): ...this.
-	(bdesc_arrays): Rename to...
-	(mips_bdesc_arrays): ...this.
-	(mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
-	Tweak error message.
-	(mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
-	Rename local variables I and J to OPNO and ARGNO respectively.
-	Assert that the number of arguments is no more than the number of
-	input operands.
-	(mips_expand_builtin_compare): Use an array of arguments rather
-	than an array of operands.  Assert that the number of operands is
-	as expected.
-	(add_constant): Rename to...
-	(mips16_add_constant): ...this.  Use XNEW.
-	(dump_constants_1): Rename to...
-	(mips16_emit_constants_1): ...this.  Use ALL_SCALAR_FIXED_POINT_MODE_P.
-	(dump_constants): Rename to...
-	(mips16_emit_constants): ...this.
-	(mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
-	(mips_set_mips16_mode): Don't call mips_init_split_addresses.
-	Assign mips16_p to was_mips16_p.
-	(mips_parse_cpu): Tweak warning message.
-	(override_options): Rename to...
-	(mips_override_options): ...this.  Move the mips_cost initialization
-	out of the "shared with GAS" block.  Quote option names in error
-	messages.
-	(mips_conditional_register_usage): Make local variable REGNO unsigned.
-	(mips_order_regs_for_local_alloc): Remove register keyword.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* system.h (IN_RANGE): Cast each argument individually.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
-	MIPS16 code unless using o32 or o64.  
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_cannot_change_mode_class): Don't check
-	for modes smaller than 4 bytes.
-	* config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
-	FPR alternatives.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips-protos.h (mips_output_aligned_bss): Delete.
-	* config/mips/linux.h (BSS_SECTION_ASM_OP): Delete.
-	(ASM_OUTPUT_ALIGNED_BSS): Delete.
-	* config/mips/mips.c (mips_output_aligned_bss): Delete.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_function_ok_for_sibcall): Only forbid
-	sibling calls to "mips16" functions if the function satisfies
-	const_call_insn_operand.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_va_start): Fix types in calls
-	to build_int_cst.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals
-	if ISA_HAS_FP4.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro.
-	* config/mips/mips.c (mips_split_64bit_move_p): Use ISA_HAS_LDC1_SDC1
-	instead of checking mips_isa.
-
-2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* doc/invoke.texi (-mpaired-single): Don't say that the option
-	requires 64-bit code.
-	* config/mips/mips-protos.h (mips_modes_tieable_p): Declare.
-	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro.
-	(ISA_HAS_NMADD_NMSUB): Add a mode argument.  Return true for
-	V2SF if ISA_MIPS32R2.
-	(MODES_TIEABLE_P): Use mips_modes_tieable_p.
-	* config/mips/mips.c (mips_rtx_costs): Pass a mode argument
-	to ISA_HAS_NMADD_NMSUB.
-	(mips_split_doubleword_move): Handle V2SF.
-	(mips_modes_tieable_p): New function.
-	(override_options): Report a warning rather than an error when
-	-mpaired-single is used on ISAs that don't support it; use
-	ISA_HAS_PAIRED_SINGLE to check that case.
-	* config/mips/mips.md (MOVE64): New mode iterator.  Replace DI
-	and DF move splitters with a single MOVE64 splitter, thereby adding
-	a V2SF splitter too.
-	(SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF.
-	Add a TARGET_FLOAT64 condition to TF.  Add V2SF to the iterator.
-	(HALFMODE): Add V2SF.
-	(*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>)
-	(*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB.
-	(movv2sf_hardfloat_64bit): Tweak ordering of conditions.
-	(movv2sf_hardfloat_32bit): New pattern.
-	(load_low<mode>, load_high<mode>, store_word<mode>): Remove
-	TARGET_DOUBLE_FLOAT conditions.
-
-2007-10-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
-	saved CR2 offset to low 32 bits of regs->ccr rather than the whole
-	64-bit register in 64-bit libgcc.
-
-2007-10-20  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
-	and -Wfatal-errors together.
-	
-2007-10-20  Alan Modra  <amodra@bigpond.net.au>
-
-	PR target/33812
-	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
-	change for vrsave, ie restore after frame pop.
-
-2007-10-19  David S. Miller  <davem@davemloft.net>
-
-	* config/sparc/niagara2.md: Fix copyright notice.
-
-2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/23820
-	PR tree-optimization/24309
-	PR tree-optimization/33766
-	* testsuite/gcc.dg/tree-ssa/pr23820.c: New.
-	* testsuite/gcc.dg/tree-ssa/pr24309.c: New.
-	* testsuite/gcc.dg/tree-ssa/pr33766.c: New.
-	* testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
-	* tree-loop-linear.c (perfect_loop_nest_depth): New.
-	(linear_transform_loops): Use perfect_loop_nest_depth.
-	* lambda-code.c (perfect_nest_p): Outer loops in perfect nests 
-	should have a single condition: their exit.
-
-2007-10-19  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33816
-	PR middle-end/32921
-	* stor-layout.c (layout_type): Assert that aggregates do not
-	have their alias sets set.
-	* alias.c (get_alias_set): Return alias set zero for incomplete
-	types, return the alias set of the element for incomplete array
-	types, but do not remember these.
-
-2007-10-19  Richard Guenther  <rguenther@suse.de>
-
-	Revert
-	2007-10-19  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32921
-	* tree.c (build_array_type): Do not re-layout unbound array
-	types.
-
-2007-10-19  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32921
-	* tree.c (build_array_type): Do not re-layout unbound array types.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_canonicalize_comparison):  Check
-	mips_relational_operand_ok_p before trying to rewrite the test.
-	Only calculate PLUS_ONE if needed.
-	(mips_emit_int_relational): Don't call mips_relational_operand_ok_p
-	here.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
-	calculation.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
-	the call uses the incoming value of $2.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
-	rather then gen_rtx_MEM.
-	(mips_setup_incoming_varargs): Use gen_frame_mem rather than
-	gen_rtx_MEM.
-	(mips_set_return_address): Likewise.
-	(mips_restore_gp): Likewise.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (gpr_mode): Delete.
-	(mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
-	instead of gpr_mode.
-	(mips_for_each_saved_reg): Likewise.
-	(mips_expand_prologue, mips_expand_epilogue): Likewise.
-	(override_options): Don't initialize gpr_mode.
-	* config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
-	case last.
-	(mips_class_max_nregs): Calculate the smallest consituent register
-	size and use that to determine an upper bound on the number of
-	registers.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips16_copy_fpr_return_value): New function,
-	split out from...
-	(mips_expand_epilogue): ...here.
-	(mips_mdebug_abi_name): New function, split out from...
-	(mips_file_start): ...here.
-	(mips_hard_regno_mode_ok_p): New function, split out from...
-	(override_options): ...here.
-	(mips_expand_builtin_1): New function, split out from...
-	(mips_expand_buitin): ...here.  Abort if we don't recognize
-	the function.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (build_mips16_function_stub): Load the
-	target address into $1 before transfering the arguments.
-	Don't use ".set noreorder".
-	(build_mips16_call_stub): Likewise.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_output_32bit_xfer): New function.
-	(mips_output_64bit_xfer): Likewise.
-	(mips16_fp_args): Rename to...
-	(mips_output_args_xfer): ...this and replace the FROM_FP_P argument
-	with a DIRECTION argument.  Use mips_output_32bit_xfer and
-	mips_output_64bit_xfer.
-	(build_mips16_function_stub): Update accordingly.
-	(mips16_fpret_double): Delete.
-	(build_mips16_call_stub): Update after above changes.
-	Use mips_output_32bit_xfer.  Use mips_output_64bit_xfer instead
-	of mips16_fpret_double.  Use GP_REG_RETURN.
-
-2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips16_fp_args): Remove the FILE argument and
-	use asm_out_file instead.
-	(build_mips16_function_stub): Likewise.
-	(build_mips16_call_stub, mips_output_function_prologue): Update
-	accordingly.
-
-2007-10-18  David S. Miller  <davem@davemloft.net>
-
-	Add Niagara-2 support.
-	* doc/invoke.texi: Document -m{cpu,tune}=niagara2.
-	* config.gcc: Add niagara2 to cpu and tune lists for sparc.
-	* config/sparc/sparc.md (sparc_cpu_attr): Add niagara2.
-	(include): Add inclusion of niagara2.md
-	* config/sparc/sparc.c (niagara2_costs): New.
-	(sparc_override_options): Add niagara2 entry to cpu_default[]
-	and cpu_table[].  Set align_functions to 32 on Niagara2.  Use
-	niagara2_costs when PROCESSOR_NIAGARA2.  Handle Niagara2 for
-	PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE.
-	(sparc_initialize_trampoline): Handle niagara2 like niagara.
-	(sparc64_initialize_trampoline): Likewise.
-	(sparc_use_sched_lookahead): Likewise.
-	(sparc_issue_rate): Likewise.
-	* config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and
-	mcpu=niagara2
-	* config/sparc/sparc.h (TARGET_CPU_niagara2): Define.
-	({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for
-	TARGET_CPU_niagara2.
-	(PROCESSOR_NIAGARA2): New.
-	(REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2.
-	(BRANCH_COST): Likewise.
-	* config/sparc/linux64.h: Handle TARGET_CPU_niagara2.
-	* config/sparc/sol2.h: Likewise.
-	* config/sparc/niagara2.md: New file.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_frame_info): Remove gp_reg_size and
-	and fp_reg_size.
-	(mips_compute_frame_info): Remove associated code.
-	(mips16e_build_save_restore): Check num_fp instead of fp_reg_size.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips-protos.h (compute_frame_size): Delete.
-	* config/mips/mips.h: Update comments.
-	* config/mips/mips.c (mips_frame_info): Remove initialized.
-	(compute_frame_size): Rename to...
-	(mips_compute_frame_info): ...this and make static.  Remove the
-	SIZE argument and return no value.  Remove the setting of initialized.
-	Update rest of file accordingly.
-	(mips_set_return_address): Don't call compute_frame_size.
-	(mips_can_use_return_insn): Don't check df_regs_ever_live_p (31).
-	Don't call compute_frame_size.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips-protos.h (mips_frame_pointer_required): Declare.
-	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Use
-	mips_hard_frame_pointer_required.
-	(CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for
-	large MIPS16 frames.
-	* config/mips/mips.c (mips_frame_pointer_required): New function.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_frame_info): Add arg_pointer_offset
-	and hard_frame_pointer_offset.
-	(mips_debugger_offset): Use hard_frame_pointer_offset.
-	(mips16e_collect_argument_save_p): Likewise.
-	(compute_frame_size): Initialize arg_pointer_offset and
-	hard_frame_pointer_offset.
-	(mips_initial_elimination_offset): Use them.
-	(mips_output_function_prologue): Use hard_frame_pointer_offset.
-	(mips_expand_prologue, mips_expand_epilogue): Likewise.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (STARTING_FRAME_OFFSET): Remove rtl
-	profiling code.
-	* config/mips/mips.c (mips_frame_info): Give num_gp and num_fp type
-	"unsigned int" rather than "int" and put them with the other
-	register-related fields.  Put expanded comments above fields
-	rather than to their right.
-	(mips16e_mask_registers): Replace the GP_REG_SIZE_PTR argument
-	with a NUM_REGS_PTR argument.
-	(mips16e_save_restore_pattern_p): Update accordingly.
-	(compute_frame_size): Clarify frame diagram.  Rewrite.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips-ftypes.def: New file.
-	* config/mips/mips.c (MIPS_FTYPE_NAME1, MIPS_FTYPE_NAME2)
-	(MIPS_FTYPE_NAME3, MIPS_FTYPE_NAME4): New macros.
-	(mips_function_type): Redefine using mips-ftypes.def.
-	(dsp_bdesc): Use POINTER rather than PTR in the MIPS_*_FTYPE_* names.
-	(mips_builtin_vector_type): New function.
-	(MIPS_ATYPE_VOID, MIPS_ATYPE_INT, MIPS_ATYPE_POINTER, MIPS_ATYPE_SI)
-	(MIPS_ATYPE_USI, MIPS_ATYPE_DI, MIPS_ATYPE_SF, MIPS_ATYPE_DF)
-	(MIPS_ATYPE_V2SF, MIPS_ATYPE_V2HI, MIPS_ATYPE_V4QI, MIPS_FTYPE_ATYPES1)
-	(MIPS_FTYPE_ATYPES2, MIPS_FTYPE_ATYPES3, MIPS_FTYPE_ATYPES4): New
-	macros.
-	(mips_build_function_type): New function.
-	(mips_init_builtins): Use it to create types lazily.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (set_volatile): Delete.
-	* config/mips/mips.c (set_volatile): Delete.
-	(mips_print_operand_punctuation): New function, split out from
-	print_operand.  Remove '%{', '%}', '%~', '%&' and '%!'.
-	Use the same character ordering in the code and the comments.
-	Use a recursive call to handle '*'.  Abort on unknown characters.
-	(mips_init_print_operand_punct): New function, split out from
-	override_options.
-	(mips_print_int_branch_condition): New function, split out from
-	print_operand.  Use GET_RTX_NAME.  Use output_operand_lossage
-	to report unexpected codes.
-	(mips_print_float_branch_condition): New function, split out from
-	print_operand.  Use output_operand_lossage to report unexpected codes.
-	(print_operand): Rework to use a case statement.  Use the
-	same letter ordering in the code and the comments.  Use
-	output_operand_lossage to report unexpected codes and
-	reverse_condition to handle inverted branch conditions.
-	(override_options): Use mips_init_print_operand_punct.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h: Move variable declarations to end of file and
-	enclose them all in #ifndef USED_FOR_TARGET.
-	* config/mips/mips.c: Reorder functions into more logical groups,
-	and so that callees appear before callers.  Put the targetm
-	initializer at the end of the file.  Remove forward static
-	declarations where possible.
-	(mips_init_builtins): Add "static" to definition.
-	(mips_expand_builtin, mips_mode_rep_extended): Likewise.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.
-	(TARGET_MAX_ANCHOR_OFFSET): Delete.
-	(mips_cannot_force_const_mem): Don't check TARGET_HAVE_TLS.
-	(mips_set_mips16_mode): Initialize min_anchor_offset and
-	max_anchor_offset directly to constants.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c: Delete trailing whitespace.
-
-2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
-	(mips_avoid_hazard): Allow multiple sets for HAZARD_DELAY,
-	and pick the first.
-	* config/mips/mips.md (load_call<mode>): Don't make the unspec
-	depend on FAKE_CALL_REGNO.  Set FAKE_CALL_REGNO.
-
-2007-10-18  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use new
-	reg_offset variable to calculate register locations.
-
-2007-10-18  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa.c (uid_ssaname_map_eq): New function.
-	(uid_ssaname_map_has): Likewise.
-	(init_tree_ssa): Allocate default_defs as uid_ssaname map.
-	* tree-flow.h (struct gimple_df): Make default_defs a
-	uid_ssaname map.
-	* tree-dfa.c (gimple_default_def): Deal with it.
-	(set_default_def): Likewise.
-
-2007-10-18  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (struct gimple_df): Make referenced_vars
-	a uid_decl_map.
-	(uid_decl_map_eq): Declare.
-	(uid_decl_map_hash): Likewise.
-	* tree-ssa.c (uid_decl_map_eq): New function.
-	(uid_decl_map_hash): Likewise.
-	(init_tree_ssa): Make referenced_vars a uid_decl_map.
-	* tree-flow-inline.h (first_referenced_var): Deal with
-	the referenced_vars representation change.
-	(next_referenced_var): Likewise.
-	* tree-dfa.c (referenced_var_lookup): Likewise.
-	(referenced_var_check_and_insert): Likewise.
-	(remove_referenced_var): Likewise.
-
-2007-10-18  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/mips/mips.c (mips_dwarf_register_span): New.
-	(TARGET_DWARF_REGISTER_SPAN): Define.
-
-2007-10-18  Chen Liqin  <liqin@sunnorth.com.cn>
-
-	* config.gcc : update score-*-elf(extra_objs).
-	* config/score/mac.md : Remove.
-	* config/score/misc.md : Remove.
-	* config/score/score7.md : Remove.
-	* config/score/score-mdaux.h : Remove.
-	* config/score/score-mdaux.c : Remove.
-	* config/score/score-version.h : Remove.
-	* config/score/score-generic.md : New.
-	* config/score/score3.h : New.
-	* config/score/score3.c : New.
-	* config/score/score7.h : New.
-	* config/score/score7.c : New.
-	* config/score/mul-div.S : add flush_cache score3 support.
-	* config/score/elf.h : Fix some typos.
-	* config/score/score.md : merge score3 and score7 pattern.
-	* config/score/score.c : use to seperate which target it used.
-	* config/score/score.h : use to seperate the target macro.
-	* config/score/score.opt : remove -mmac option , add -mscore3,
-	-mscore3d and -march OPTION support.
- 
-2007-10-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* cfgexpand.c (expand_stack_vars): Add checking to make sure
-	that the offset of a variable is not greater than the size
-	of the paritition.
-
-2007-10-17  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_mcu_types): Add support for atmega48p, 
-	atmega88p, atmega168p and atmega328p devices.
-	* config/avr/avr.h (LINK_SPEC): (Ditto.).
-	(CRT_BINUTILS_SPECS): (Ditto.).
-	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
-
-2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* sched-ebb.c: Surround code with '#ifdef INSN_SCHEDULING'.
-	* ddg.c: Ditto.
-	* sched-deps.c: Ditto.  Remove nested #ifdef's INSN_SCHEDULING.
-	* sched-int.h: Surround declarations with '#ifdef INSN_SCHEDULING'.
-	(print_insn): Move declaration to ...
-	* rtl.h (print_insn): ... here.
-
-2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* config/m68k/m68k.h (m68k_sched_cpu, m68k_sched_attr_opx_type,
-	m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem,
-	m68k_sched_branch_type): Move declarations to ...
-	* config/m68/m68k-protos.h: ... here.
-
-2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* genattrtab.c (main): Rearrange output of insn-attrtab.c headers.
-
-2007-10-17  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add attiny48.
-	* config/avr/avr.h (LINK_SPEC): Likewise.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-10-17  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add attiny43u.
-	* config/avr/avr.h (CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-10-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/33794
-	* reg-stack.c (move_for_stack_reg): Swap input argument of
-	UNSPEC_TAN insn to the top of the stack.
-
-2007-10-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32961
-	* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLLWI128,
-	IX86_BUILTIN_PSLLDI128, BUILTIN_PSLLQI128, IX86_BUILTIN_PSRAWI128,
-	IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128,
-	IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require
-	immediate shift value.
-	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
-	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
-	_mm_srli_epi32, _mm_srli_epi64): Remove 'const' from count argument.
-	Remove macros for !__OPTIMIZE__ case.
-
-2007-10-17  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-structalias.c (rewrite_constraints): Don't test for
-	directness anymore.
-	(perform_var_substitution): Only DFS from real nodes. Don't test
-	for directness.
-	(unite_pointer_equivalences): Fix broken test.
-
-2007-10-17  Alan Modra  <amodra@bigpond.net.au>
-
-	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Correct
-	altivec sp_offset.  Rearrange sp_offset assignments to
-	correspond to stack adjustments.  Use frame_reg_rtx for
-	SPE register restores.  Correct SPE stack adjustment.
-
-2007-10-17  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* builtins.c (gimplify_va_arg_expr): Use inform for help message.
-	* toplev.c (check_global_declaration_1): Use appropriate warning
-	option instead of unnamed warning.
-	* stor-layout.c (layout_decl): Likewise.
-	* c-typeck.c (build_conditional_expr): Likewise.
-	(build_compound_expr): Fix wrong comment.
-	(build_binary_op): Use appropriate warning option instead of
-	unnamed warning.
-	* cfgexpand.c (tree_expand_cfg): Likewise.
-	* tree-optimize.c (tree_rest_of_compilation): Likewise.
-	* tree-cfg.c (remove_useless_stmts_warn_notreached): Likewise.
-	(execute_warn_function_return): Likewise.
-	* stmt.c (warn_if_unused_value): Likewise.
-
-2007-10-16  Eric B. Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/avr.c (avr_mcu_types): Add at90pwm216, at90pwm316.
-	* config/avr/avr.h (LINK_SPEC): Likewise and remove regex for
-	similar devices.
-	(CRT_BINUTILS_SPECS): Likewsie.
-	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
-
-2007-10-16  Amruth Laxman  <amruth.laxman@nsn.com>
-
-	PR target/33594
-	* config/sparc/sparc.h (LOCAL_ALIGNMENT): Define.
-
-2007-10-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* dce.c (init_dce): Only initialize the obstacks for the fast pass.
-	(fini_dce): Only release them for the fast pass.
-	(end_ud_dce): Delete.
-	(rest_of_handle_ud_dce): Do not modify df_in_progress.
-	Call fini_dce instead of end_ud_dce.
-	(rest_of_handle_fast_dce): Do not modify df_in_progress.
-	(run_fast_df_dce): Reset df_in_progress to false on exit.
-
-2007-10-16  Paolo Bonzini  <bonzini@gnu.org>
-	    Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* target.h (unspec_may_trap_p): New target hook.
-	* target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro.
-	* targhooks.c (default_unspec_may_trap_p): Default implementation of
-	the hook.
-	* targhooks.h (default_unspec_may_trap_p): Declare it.
-	* doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook.
-	* rtlanal.c (may_trap_p_1): Use new hook.  Make global.
-	* rtl.h (may_trap_p_1): Declare.
-	
-	* config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to
-	override default hook implementation.
-	(TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the
-	hook.
-
-2007-10-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Wextra): Move it just after Wall, list the
-	options enabled by Wextra and mention Wuninitialized.
-	
-2007-10-15  Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips.h (LOCAL_ALIGNMENT): Define.
-
-2007-10-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33136
-	* opts.c (decode_options): Don't enable flag_ipa_type_escape.
-
-2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR tree-optimization/33735
-	PR tree-optimization/33572
-	* tree-inline.c (update_ssa_across_abnormal_edges): Revert
-	2007-10-09's change.
-	* except.c (duplicate_eh_regions): Don't look for prev_try
-	beyond ERT_ALLOWED_EXCEPTIONS with an empty list.
-
-2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/33706
-	* tree-inline.c (copy_bb): Use bsi_replace to replace a
-	__builtin_va_arg_pack-containing call stmt.
-
-2007-10-15  Razya Ladelsky  <razya@il.ibm.com>
-
-	* matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
-	program flag.
-
-2007-10-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33619
-	* tree-ssa-ter.c (is_replaceable_p): Return false for all
-	calls.
-
-2007-10-15  David Edelsohn  <edelsohn@gnu.org>
-
-	* config.gcc (powerpc-ibm-aix5*): Install altivec.h.
-
-2007-10-15  Richard Guenther  <rguenther@suse.de>
-
-	* fold-const.c (extract_array_ref): Remove.
-	(fold_comparison): Handle POINTER_PLUS_EXPR with the
-	generic address expression comparison folding.  Remove
-	the folding that used extract_array_ref.
-
-2007-10-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	PR target/33133
-	* haifa-sched.c (process_insn_forw_deps_be_in_spec): Check if
-	speculation type of insn can be changed before trying to do that.
-
-2007-10-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* dse.c (struct insn_info): Add 'frame_read' field.
-	(scan_insn): For the call to a const function, set frame_read if
-	reload has been run.
-	If the insn reads the frame, kill the frame related stores.
-	(scan_reads_nospill): Likewise.
-
-2007-10-14  Jason Merrill  <jason@redhat.com>
-
-	* tree-eh.c (optimize_double_finally): Don't assume that the
-	cleanup we're duplicating is only one statement.
-
-2007-10-14  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/fixed-bit.c, config/i386/cpuid.h, config/i386/i386.c,
-	config/i386/i386.md, config/i386/sse.md, function.c, jump.c,
-	modulo-sched.c, ra-conflict.c, toplev.c, tree-eh.c, tree-sra.c,
-	tree-ssa-dse.c, tree-vect-analyze.c, tree-vect-patterns.c,
-	tree-vect-transform.c: Fix comment typos.
-	* doc/extend.texi: Fix a typo.
-
-	* c-common.h: Remove the prototype for c_expand_body.
-	* c-tree.h: Remove the prototype for c_disregard_inline_limits.
-	* tree.h: Remove the prototype for fold_build_call_expr.
-
-	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
-	Remove.
-	* c-tree.h: Remove the prototype for c_cannot_inline_tree_fn.
-
-2007-10-13  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/aix53.h: New file.
-	* config/rs6000/aix{41,43,51,52}.h (TARGET_ALTIVEC): Define to 0.
-	(TARGET_ALTIVEC_ABI): Same.
-	* config/rs6000/aix.h (TARGET_ALTIVEC): Delete.
-	(TARGET_ALTIVEC_ABI): Delete.
-	* config.gcc (powerpc-ibm-aix5*): Rename to aix5.2.  Add new
-	stanza defaulting to aix5.3.
-
-2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* config/i386/i386.md (SI_REG, DI_REG): New constants.
-	(strmov): Use defined constants.
-	(cmpstrnsi): Likewise.
-	* config/i386/i386.c (decide_alg): Use defined constants.
-	(ix86_expand_strlen): Likewise.
-
-2007-10-12  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* dse.c (find_shift_sequence): Reinstate "<= UNITS_PER_WORD" condition.
-	* var-tracking.c (micro_operation_def): Update comment on u.loc.
-	(mode_for_reg_attrs, var_lowpart): New functions.
-	(add_uses): Consider recording a lowpart of LOC for MO_USE.
-	(add_stores): Likewise MO_SET and MO_COPY.  If the source of a set
-	or copy is known, set LOC to the SET that performs the set, instead
-	of the destination.
-	(find_src_status, find_src_set_src): Remove LOC parameter.
-	Replace INSN with the source value.
-	(compute_bb_dataflow, emit_notes_in_bb): Check for a SET u.loc when
-	handling MO_SET and MO_COPY.  Update the calls to find_src_status
-	and find_src_set_src.
-
-2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
-
-	PR 11001
-	* config/i386/i386.md (strmov): Check for esi and edi usage.
-	* config/i386/i386.c (decide_alg): Check whether we can use a
-	rep prefix and adjust algorithm choice accordingly.
-	(ix86_expand_strlen): Check for eax, ecx, and edi usage.
-
-2007-10-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* config/c4x/c4x.md (mulqi3, mulhi3): Use optab_libfunc.
-
-2007-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* global.c (build_insn_chain): Formatting fixes.
-
-2007-10-12  Richard Guenther <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (forward_propagate_into_cond): For
-	combining both operands require either both have single uses
-	or combining to a constant.
-
-2007-10-12  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/26198
-	* tree-ssa-forwprop.c (can_propagate_from): Do not propagate from
-	a rhs with side-effects or which is a load.
-	(forward_propagate_into_cond): Also try combining both operands.
-
-2007-10-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/33742
-	* tree-vect-transform.c (vectorizable_operation): Return false
-	if get_vectype_for_scalar_type for scalar_dest can't be determined.
-	(vectorizable_call): Same for rhs_type and lhs_type.
-
-2007-10-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/33645
-	* tree-ssa-live.c (mark_all_vars_used): Add data argument,
-	pass it to walk_tree.
-	(mark_all_vars_used_1): Pass data through to mark_all_vars_used.
-	When calling set_is_used on a VAR_DECL, if data is not NULL and
-	its DECL_UID is in the bitmap, call mark_all_vars_used on its
-	DECL_INITIAL after clearing the bit in bitmap.
-	(remove_unused_locals): Adjust mark_all_vars_used callers.
-	Instead of removing unused global vars from unexpanded_var_list
-	immediately record them in bitmap, call mark_all_vars_used on
-	all used global vars from unexpanded_var_list and only purge
-	global vars that weren't found used even during that step.
- 
-2007-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* gthr-posix.h (__gthread_active_init): Create detached instead of
-	joinable thread when testing whether threads are active on hppa-hpux.
-	* gthr-posix95.h (__gthread_active_init): Likewise.
-
-2007-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/33676
-	* global.c (build_insn_chain): Include insn that occur between
-	basic blocks.
-	
-2007-10-11  Tom Tromey  <tromey@redhat.com>
-
-	* gengtype-yacc.y: Delete.
-
-2007-10-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (AX_REG, DX_REG, CX_REG): New constants.
-	* config/i386/i386.c (ix86_function_arg_regno_p, function_arg_32,
-	function_value_32, function_value_64, function_value_ms_64,
-	setup_incoming_varargs_64, ix86_expand_prologue, ix86_expand_call,
-	legitimize_tls_address, x86_this_parameter, x86_output_mi_thunk):
-	Use new constants.
-
-2007-10-11  Richard Guenther  <rguenther@suse.de>
-
-	* gcse.c (hash_scan_set): If the next nonnote insn is in
-	a different basic block insert the set.
-
-2007-10-11  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33724
-	* tree-cfg.c (one_pointer_to_useless_type_conversion_p): New function.
-	(verify_gimple_expr): Use it to verify pointer-to types for
-	ADDR_EXPRs.
-
-2007-10-11  Richard Guenther  <rguenther@suse.de>
-
-	PR c/33726
-	* c-typeck.c (build_array_ref): Do not strip qualifiers from
-	the array element type.
-
-2007-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/33638
-	* dse.c (struct insn_info): Remove 'stack_read' field,
-	add 'stack_pointer_based' field.
-	(record_store): For a store with non-constant base, record
-	whether it is stack pointer based.
-	(scan_insn): For the call to a const function, remove stack
-	pointer based stores from the list of local active stores.
-	(scan_reads_nospill): Delete code dealing with const functions.
-
-2007-10-10  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
-	to HOST_WIDE_INT.
-	(conflict_p, set_conflict, set_conflicts): Likewise.
-	* global.c (global_alloc): Likewise.
-	* ra.h: Update prototypes.
-
-2007-10-10  Wolfgang Gellerich  <gellerich@de.ibm.com>
-
-	* opth-gen.awk: Fixed generation of comment stating the origin
-	  of options.h
-
-2007-10-10  Kazu Hirata  <kazu@codesourcery.com>
-
-	Revert:
-	2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
-	* longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
-	and '%}', respectively.
-
-	Revert:
-	2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
-	* config/m68k/m68k.c (print_operand): Handle '{' and '}'.
-	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
-	and '}'.
-	* config/m68k/m68k.md: Replace '{' with '%{' where '{' is
-	meant to be output.
-
-	Revert:
-	2007-10-07  Kazu Hirata  <kazu@codesourcery.com>
-	* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
-	syntax for ASSEMBLER_DIALECT.
-	* config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
-
-2007-10-10  Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (check_nodes_order): Dump the final order of
-	the nodes.
-	(get_sched_window): Add dump info.
-	(calculate_order_params): Dump order params of the nodes.
-
-2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/33669
-	* ra-conflict.c (record_one_conflict_between_regnos, 
-	set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
-	(global_conflicts): Enhanced incorrect check.
-	
-2007-10-09  Geoffrey Keating  <geoffk@apple.com>
-
-	* dwarf2out.c (output_call_frame_info): FDEs are always emitted
-	if flag_exceptions is not set.
-	* config/darwin.c (darwin_emit_unwind_label): Rewrite to use
-	assemble_name rather than incorrectly emulating it.
-
-	* doc/extend.texi (Deprecated Features): Mention that <? and >? and
-	friends are removed from G++.
-
-2007-10-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* c-opts.c (c_common_handle_option): -Wnontemplate-friend,
-	-Wwrite-strings and -Wmultichar are enabled by default, so Wall
-	enabling them is redundant. Don't check two times for
-	c_dialect_cxx.
-	
-2007-10-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* ra-conflict.c (record_one_conflict_between_regnos): Revert
-	the last change.
-	(set_conflicts_for_earlyclobber): Likewise.
-	(global_conflicts): Likewise.
-
-2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
-
-	* longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
-	and '%}', respectively.
-
-2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (print_operand): Handle '{' and '}'.
-	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
-	and '}'.
-	* config/m68k/m68k.md: Replace '{' with '%{' where '{' is
-	meant to be output.
-
-2007-10-09  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33692
-	* gimplify.c (canonicalize_component_ref): Honor qualifiers
-	of referenced structure and component.
-
-2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/33669
-	* ra-conflict.c (record_one_conflict_between_regnos,
-	set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
-	(global_conflicts): Removed incorrect check.
-
-2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR tree-optimization/33615
-	* tree-ssa-pre.c (compute_avail): Don't call make_values_for_stmt
-	if the statement might throw.  Fix formatting.
-
-2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR tree-optimization/33615
-	* tree-ssa-loop-im.c (movement_possibility): Return MOVE_IMPOSSIBLE
-	if the rhs might throw.
-
-2007-10-09  Jan Hubicka  <jh@suse.cz>
-
-	* invoke.texi (align-threshold, align-loop-iterations): Document.
-	* final.c: Include cfgloop.h, params.h
-	(compute_alignments): Dump decisions and compare them with loop
-	structure; honor given parameters.
-	(pass_compute_alignments): New dump file.
-	* params.def (PARAM_ALIGN_THRESHOLD, PARAM_ALIGN_LOOP_ITERATIONS): New.
-	* Makefile.in (final.o): Add dependency on cfgloop.h and params.h
-
-2007-10-09  James E. Wilson  <wilson@specifix.com>
-
-	PR tree-optimization/33655
-	PR middle-end/22156
-	* tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
-	convert it to bitsizetype before size_binop call.
-
-2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR tree-optimization/33572
-	* tree-inline.c (update_ssa_across_abnormal_edges): Tolerate
-	the absence of a corresponding edge from the exit block.
-
-2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/22156
-	* tree-sra.c (instantiate_element): Use BYTES_BIG_ENDIAN for
-	bit-field layout.
-	(sra_build_assignment): Likewise.  Set up mask depending on
-	precision, not type.
-	(sra_build_bf_assignment): Use BYTES_BIG_ENDIAN.  Don't overflow
-	computing bit masks.
-	(sra_build_elt_assignment): Don't view-convert from signed to
-	unsigned.
-	(sra_explode_bitfield_assignment): Use bit-field type if
-	possible.  Use BYTES_BIG_ENDIAN.
-
-2007-10-08  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/22156
-	* tree-sra.c (scalarize_lsdt): Fix thinko in testing whether
-	the original stmt can throw.
-	(sra_build_bf_assignment): Fix type mismatch when applying negated
-	mask.
-
-2007-10-08  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register
-	'#pragma mark' to be executed at preprocessing time.
-
-2007-10-08  Ollie Wild  <aaw@google.com>
-
-	* varasm.c (compare_constant): Removed call to
-	lang_hooks.expand_constant.
-	(copy_constants): Removed call to lang_hooks.expand_constant.
-	(compute_reloc_for_constant): Removed call to
-	lang_hooks.expand_constant.
-	(output_addressed_constants): Removed call to
-	lang_hooks.expand_constant.
-	(constructor_static_from_elts_p): Removed call to
-	lang_hooks.expand_constant.
-	(output_constant): Removed calls to lang_hooks.expand_constant.
-	* langhooks.h (struct lang_hooks): Removed field expand_constant.
-	* langhooks-def.h (lhd_return_tree): Removed.
-	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
-	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
-	* langhooks.c (lhd_return_tree): Removed.
-
-2007-10-08  Mark Shinwell  <shinwell@codesourcery.com>
-
-	* combine.c (setup_incoming_promotions): Ensure that
-	arguments that have not undergone mode promotions do not
-	incorrectly get marked as being sign- or zero-extended.
-
-2007-10-08  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33693
-	PR middle-end/33695
-	PR middle-end/33697
-	* fold-const.c (fold_binary): Use correct types in folding
-	of a * (1 << b) to (a << b).  Likewise for ~A & ~B to ~(A | B)
-	and building of RROTATE_EXPR.
-
-2007-10-08  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33691
-	PR middle-end/33694
-	PR middle-end/33696
-	* fold-const.c (fold_binary): Use the correct types when
-	folding (A | CST1) & CST2 to (A & CST2) | (CST1 & CST2).
-	(fold_binary): Use the correct types when folding
-	(-A) - B to (-B) - A.
-	(fold_unary): Use the correct types when folding ~(X).
-
-2007-10-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Wall): fix formatting issues.
-	
-2007-10-07  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Canonicalize
-	truncated shift counts.
-
-2007-10-07  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
-	syntax for ASSEMBLER_DIALECT.
-	* config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
-
-2007-10-06  Eric Botcazou  <ebotcazou@adacore.com>
-	    Nathan Froyd  <froydnj@codesourcery.com>
-
-	* dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO
-	when determining whether to record INCOMING_RETURN_ADDR_RTX.
-
-2007-10-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	Revert:
-	2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
-	* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
-	the function, temporarily point the debug interface to the null one.
-
-2007-10-06  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR tree-optimization/33655
-	PR middle-end/22156
-	* tree-sra.c (bitfield_overlaps_p): Handle array and complex elements.
-
-2007-10-06  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR tree-optimization/33572
-	* tree-cfg.c (verify_stmts): Check for missing PHI defs.
-	* tree-inline.c (update_ssa_across_eh_edges): Renamed to...
-	(update_ssa_across_abnormal_edges): ... this.  Set slots in the
-	return PHI node.
-	(copy_edges_for_bb): Handle nonlocal label edges.
-	(make_nonlocal_label_edges): Deleted.
-	(optimize_inline_calls): Don't call it.
-
-2007-10-05  Hans-Peter Nilsson  <hp@axis.com>
-
-	* gthr-single.h: Revert last change.
-
-2007-10-05  Michael Matz  <matz@suse.de>
-
-	PR middle-end/33667
-	* lower-subreg.c (decompose_multiword_subregs): Use
-	validate_unshare_change().
-
-2007-10-05  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* ra-conflict.c: Include "sparseset.h".
-	(conflicts): Change to HOST_WIDEST_FAST_INT.
-	(allocnos_live): Redefine variable as a sparseset.
-	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE):
-	Delete macros.
-	(allocno_row_words): Removed global variable.
-	(partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables.
-	(CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines.
-	(conflict_p, set_conflict_p, set_conflicts_p): New functions.
-	(record_one_conflict_between_regnos): Cache allocno values and reuse.
-	Use set_conflict_p.
-	(record_one_conflict): Update uses of allocnos_live to use
-	the sparseset routines.  Use set_conflicts_p.
-	(mark_reg_store): Likewise.
-	(set_reg_in_live): Likewise.
-	(global_conflicts): Update uses of allocnos_live.
-	Use the new adjacency list to visit an allocno's neighbors
-	rather than iterating over all possible allocnos.
-	Call set_conflicts_p to setup conflicts rather than adding
-	them manually.
-	* global.c: Comments updated.  
-	(CONFLICTP): Delete define.
-	(regno_compare): New function.  Add prototype.
-	(global_alloc): Sort the allocno to regno mapping according to
-	which basic blocks the regnos are referenced in.  Modify the
-	conflict bit matrix to a compressed triangular bitmatrix.
-	Only allocate the conflict bit matrix and adjacency lists if
-	we are actually going to allocate something.
-	(expand_preferences): Use conflict_p.  Update uses of allocnos_live.
-	(prune_preferences): Use the FOR_EACH_CONFLICT macro to visit an
-	allocno's neighbors rather than iterating over all possible allocnos.
-	(mirror_conflicts): Removed function.
-	(dump_conflicts): Iterate over regnos rather than allocnos so
-	that all dump output will be sorted by regno number.
-	Use the FOR_EACH_CONFLICT macro.
-	* ra.h: Comments updated.
-	(conflicts): Update prototype to HOST_WIDEST_FAST_INT.
-	(partial_bitnum, max_bitnum, adjacency, adjacency_pool):
-	Add prototypes.
-	(ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines.
-	(adjacency_list_d, adjacency_iterator_d): New types.
-	(add_neighbor, adjacency_iter_init, adjacency_iter_done,
-	adjacency_iter_next, regno_basic_block): New static inline functions.
-	(EXECUTE_IF_SET_IN_ALLOCNO_SET): Removed define.
-	(conflict_p): Add function prototype.
-	* sparseset.h, sparseset.c: New files.
-	* Makefile.in (OBJS-common): Add sparseset.o.
-	(sparseset.o): New rule.
-
-2007-10-05  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33666
-	* fold-const.c (fold_unary): Do not fold (long long)(int)ptr
-	to (long long)ptr.
-
-2007-10-05  Michael Matz  <matz@suse.de>
-
-	PR inline-asm/33600
-	* function.c (match_asm_constraints_1): Check for input
-	being used in the outputs.
-
-2007-10-05  Richard Guenther  <rguenther@suse.de>
-
-	* tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
-
-2007-10-05  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/33635
-	* config/mips/mips.c (mips_register_move_cost): Rewrite to use
-	subset checks.  Make the cost of FPR -> FPR moves depend on
-	mips_mode_ok_for_mov_fmt_p.
-
-2007-10-04  Doug Kwan  <dougkwan@google.com>
-
-	* gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
-	__gthread_cond_wait_recursive): Add to extend interface for POSIX
-	conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
-	support of conditional variables.
-	* gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait,
-	__gthread_cond_wait_recursive): Add to extend interface for POSIX
-	conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
-	support of conditional variables.
-	* gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait,
-	__gthread_cond_wait_recursive): Add to extend interface for POSIX
-	conditional variables.
-	* gthr.h: Update comments to document new interface.
-
-2007-10-04  Geoffrey Keating  <geoffk@apple.com>
-
-	* cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P.
-
-2007-10-04  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (expand_epilogue): Don't set RTX_FRAME_RELATED_P.
-
-2007-10-04  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33641
-	* tree-cfg.c (verify_gimple_expr): Operand one of POINTER_PLUS_EXPR
-	does not need to be of INTEGER_TYPE.
-	(verify_gimple_2): New function split out from ...
-	(verify_gimple_1): ... here.  ICE if there was an error during
-	verification.
-
-2007-10-04  Michael Matz  <matz@suse.de>
-
-	PR rtl-optimization/33653
-	* dce.c (deletable_insn_p_1): Use volatile_refs_p().
-	* dse.c (scan_insn): Same.
-
-2007-10-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config.gcc: Remove USE_GAS for m68k targets.
-
-2007-10-04  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33627
-	* tree-gimple.h (canonicalize_cond_expr_cond): Declare.
-	* tree-gimple.c (canonicalize_cond_expr_cond): New function,
-	split out from ...
-	* tree-ssa-forwprop.c (combine_cond_expr_cond): ... here.
-	* tree-ssa-ifcombine.c (ifcombine_iforif): Use it.
-
-2007-10-04  Anatoly Sokolov <aesok@post.ru>
-
- 	* config/avr/avr.c (commands_in_file, commands_in_prologues, 
-	commands_in_epilogues): Remove variables.
-	(avr_file_start): Remove unneded initializations of commands_in_file,
-	commands_in_prologues and commands_in_epilogues variables.
-	(avr_file_end): Remove dead code.
-
-2007-10-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_output_movem): Use the MOTOROLA if
-	MOTOROLA is to true.
-
-2007-10-03  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR target/33635
-	* config/mips/mips-protos.h (mips_split_64bit_move): Rename to...
-	(mips_split_doubleword_move): ...this.
-	* config/mips/mips.c (mips_subword): Extend to handle 64-bit words;
-	use natural endianness for multi-format FPR values.
-	(mips_split_64bit_move): Rename to...
-	(mips_split_doubleword_move): ...this and extend to 64-bit words.
-	Use move_doubleword_fpr* patterns for moves involving FPRs.
-	(mips_save_reg): Update the call to mips_split_64bit_move.
-	(mips_secondary_reload_class): Return NO_REGS for any reload of a
-	nonzero constant into an FPR if the constant can be forced to memory.
-	* config/mips/mips.md: Update the splitter calls to
-	mips_split_64bit_move.
-	(UNSPEC_LOAD_DF_LOW): Rename to...
-	(UNSPEC_LOAD_LOW): ...this.
-	(UNSPEC_LOAD_DF_HIGH): Rename to...
-	(UNSPEC_LOAD_HIGH): ...this.
-	(UNSPEC_STORE_DF_HIGH): Rename to...
-	(UNSPEC_STORE_WORD): ...this.
-	(SPLITF): New mode iterator.
-	(HALFMODE): New mode attribute.
-	(movtf): New expander.
-	(*movtf_internal): New define_insn_and_split.
-	(move_doubleword_fpr<mode>): New expander.
-	(load_df_low, load_df_high, store_df_high, mthc1, mfhc1): Replace
-	with...
-	(load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
-	(mfhc1<mode>): ...these more general patterns.
-
-2007-10-03  Alexandre Oliva  <aoliva@redhat.com>
-
-	* cfgrtl.c (rtl_block_ends_with_call_p): Skip notes at the end.
-
-2007-10-03  Alexandre Oliva  <aoliva@redhat.com>
-
-	* gcse.c (hash_scan_set): Insert set in insn before note at
-	the end of basic block.
-
-2007-10-03  Sebastian Pop  <sebastian.pop@amd.com>
-
-	PR tree-optimization/33576
-	* testsuite/gcc.dg/tree-ssa/pr33576.c: New.
-	* tree-loop-linear.c (linear_transform_loops): Call remove_iv.
-	* lambda.h (lambda_loopnest_to_gcc_loopnest): New parameter.
-	(remove_iv): Declared.
-	* lambda-code.c (remove_iv): Not static.
-	(lambda_loopnest_to_gcc_loopnest): New parameter remove_ivs.
-	Don't remove ivs there, save ivs in the buffer.
-
-2007-10-03  Jason Merrill  <jason@redhat.com>
-
-	PR c++/15764
-	* tree-eh.c (same_handler_p): New fn.
-	(optimize_double_finally): New fn.
-	(refactor_eh_r): New fn.
-	(refactor_eh): New fn.
-	(pass_refactor_eh): New pass.
-	* tree-pass.h: Declare it.
-	* passes.c (init_optimization_passes): Add it.
-
-2007-10-03  Doug Kwan  <dougkwan@google.com>
-	Richard Guenther  <rguenther@suse.de>
-
-	PR debug/31899
-	* dwarf2out.c (reference_to_unused): Disable sanity checking,
-	be conservative instead.
-
-2007-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	PR fortran/26682
-	* doc/invoke.texi (-fwhole-program): Document that Fortran
-	doesn't support this option.
-
-2007-10-02  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	PR middle-end/33617
-	* expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to expand_expr.
-
-2007-10-02  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.md (sync_compare_and_swap<mode>): Handle compare
-	against constant zero.
-	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP):  Handle constant zero
-	operand.
-
-2007-09-02  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* ra-conflict.c: New file.
-	* ra.h: New file.
-	* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
-	usage to DF_LIVE usage.
-	(reload): Remove reference to df_get_live_top.
-	* rtlanal.c (subreg_nregs_with_regno): New function.  
-	* df-scan.c (df_def_record_1, df_uses_record): Add code to set
-	DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.
-	(df_has_eh_preds): Removed.
-	(df_bb_refs_collect, df_bb_refs_collect, df_bb_refs_collect,
-	df_exit_block_uses_collect): Changed call from df_has_eh_preds to
-	bb_has_eh_pred.
-	* global.c (allocno, max_allocno, conflicts, allocno_row_words,
-	reg_allocno, EXECUTE_IF_SET_IN_ALLOCNO_SET): Moved to ra.h
-	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Moved to ra-conflicts.c.
-	(regs_set, record_one_conflict, record_conflicts, mark_reg_store,
-	mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Deleted.
-	(global_alloc): Turn off rescanning insns after call to
-	global_conflicts and added call to set_preferences.
-	(global_conflicts): Moved to ra-alloc.c.
-	(set_preferences_1, set_preferences): New function.
-	(mirror_conflicts): Changed types for various variables.
-	(mark_elimination): Change DF_RA_LIVE
-	usage to DF_LIVE usage.
-	(build_insn_chain): Rewritten from scratch and made local.
-	(print_insn_chain, print_insn_chains): New functions.
-	(dump_conflicts): Do not print conflicts for fixed_regs.
-	(rest_of_handle_global_alloc): Turn off insn rescanning.
-	* hard-reg-set.h: Fixed comment.
-	* local-alloc.c (update_equiv_regs): Change DF_RA_LIVE
-	usage to DF_LIVE usage and delete refs to TOP sets.
-	(block_alloc): Mark regs as live if they are in the artificial
-	defs at top of block.
-	(find_stack_regs): New function.
-	(rest_of_handle_local_alloc): Changed urec problem to live
-	problem and do not turn off df rescanning.
-	* df.h (DF_UREC, DF_UREC_BB_INFO, DF_LIVE_TOP, DF_RA_LIVE_IN,
-	DF_RA_LIVE_TOP, DF_RA_LIVE_OUT, df_urec_bb_info, df_urec,
-	df_urec_add_problem, df_urec_get_bb_info, df_has_eh_preds): Removed.
-	(DF_CHAIN, DF_NOTE, DF_CHAIN): Renumbered.
-	(DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, DF_REF_SUBREG): New
-	fields in df_ref_flags.  The rest have been renumbered.  
-	* init-regs.c (initialize_uninitialized_regs): Enhanced debugging
-	at -O1.
-	* rtl.h (subreg_nregs_with_regno): New function.
-	* df-problems.c: (df_get_live_out, df_get_live_in,
-	df_get_live_top): Removed reference to DF_RA_LIVE.
-	(df_lr_reset, df_lr_transfer_function, df_live_free_bb_info,
-	df_live_alloc, df_live_reset, df_live_local_finalize,
-	df_live_free): Make top set only if different from in set.
-	(df_lr_top_dump, df_live_top_dump): Only print top set if
-	different from in set.
-	(df_lr_bb_local_compute): Removed unnecessary check.
-	(df_urec_problem_data, df_urec_set_bb_info, df_urec_free_bb_info, 
-	df_urec_alloc, df_urec_mark_reg_change, earlyclobber_regclass, 
-	df_urec_check_earlyclobber, df_urec_mark_reg_use_for_earlyclobber,
-	df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
-	df_urec_local_compute, df_urec_init, df_urec_local_finalize, 
-	df_urec_confluence_n, df_urec_transfer_function, df_urec_free, 
-	df_urec_top_dump, df_urec_bottom_dump, problem_UREC,
-	df_urec_add_problem): Removed.
-	(df_simulate_fixup_sets): Changed call from df_has_eh_preds to
-	bb_has_eh_pred. 
-	* Makefile.in (ra-conflict.o, ra.h): New dependencies.
-	* basic_block.h (bb_has_abnormal_pred): New function.
-	* reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE
-	usage to DF_LIVE usage.
-	
-2007-10-02  Revital Eres  <eres@il.ibm.com>
-
-	* config/rs6000/predicates.md (easy_vector_constant): Return false
-	for 750CL paired vectors.
-	* config/rs6000/paired.md (movv2sf_paired): Fix move of easy
-	vector constant.
-	(vec_initv2sf): Add new description.
-	(vconcatsf): Likewise.
-	* config/rs6000/rs6000-protos.h: Declare paired_expand_vector_init.
-	* config/rs6000/rs6000.c (paired_expand_vector_init): New function.
-
-2007-10-01  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-ssa-sink.c (sink_code_in_bb): Don't stop sinking after
-	sinking the last stmt in a BB.
-
-2007-10-01  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/22156
-	* tree-sra.c (struct sra_elt): Add in_bitfld_block.
-	(sra_hash_tree): Handle BIT_FIELD_REFs.
-	(sra_elt_hash): Don't hash bitfld blocks.
-	(sra_elt_eq): Skip them in parent compares as well.  Handle
-	BIT_FIELD_REFs.
-	(build_element_name_1): Handle BIT_FIELD_REFs.
-	(instantiate_element): Propagate nowarn from parents.  Create
-	BIT_FIELD_REF for variables that are widened by scalarization.
-	Gimple-zero-initialize all bit-field variables that are not
-	part of parameters that are going to be scalarized on entry.
-	(instantiate_missing_elements_1): Return the sra_elt.
-	(canon_type_for_field): New.
-	(try_instantiate_multiple_fields): New.  Infer widest possible
-	access mode from decl or member type, but clip it at word
-	size, and only widen it if a field crosses an alignment boundary.
-	(instantiate_missing_elements): Use them.
-	(generate_one_element_ref): Handle BIT_FIELD_REFs.
-	(scalar_bitfield_p): New.
-	(sra_build_assignment): Optimize assignments from scalarizable
-	BIT_FIELD_REFs.  Use BITS_BIG_ENDIAN to determine shift counts.
-	(REPLDUP): New.
-	(sra_build_bf_assignment): New.  Optimize assignments to
-	scalarizable BIT_FIELD_REFs.
-	(sra_build_elt_assignment): New.  Optimize BIT_FIELD_REF
-	assignments to full variables.
-	(generate_copy_inout): Use the new macros and functions.
-	(generate_element_copy): Likewise.  Handle bitfld differences.
-	(generate_element_zero): Don't recurse for blocks.  Use
-	sra_build_elt_assignment.
-	(generate_one_element_init): Take elt instead of var.  Use
-	sra_build_elt_assignment.
-	(generate_element_init_1): Adjust.
-	(bitfield_overlap_info): New struct.
-	(bitfield_overlaps_p): New.
-	(sra_explode_bitfield_assignment): New.  Adjust widened
-	variables to account for endianness.
-	(sra_sync_for_bitfield_assignment): New.
-	(scalarize_use): Re-expand assignment to/from scalarized
-	BIT_FIELD_REFs.  Explode or sync needed members for
-	BIT_FIELD_REFs accesses or assignments.  Use REPLDUP.
-	(scalarize_copy): Use REPLDUP.
-	(scalarize_ldst): Move assert before dereference.  Adjust EH handling.
-	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
-
-2007-10-01  Paolo Bonzini  <bonzini@gnu.org>
-
-	* simplify-rtx.c (comparison_result, simplify_relational_operation_1):
-	Rename CR_* constants to CMP_*.  Fix spacing.
-
-2007-10-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR other/33585
-	* Makefile.in (build_html_dir/gccinstall): gccinstall.texi needs
-	to be processed with the special script doc/install.texi2html.
-	
-2007-09-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Wall): List the options enabled by Wall.
-	(Wstrict-aliasing): Add missing @option.
-	
-2007-09-30  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_split_64bit_move): Use gen_rtx_REG_offset
-	rather than gen_lowpart to change a register from DImode to DFmode.
-	(mips_cannot_change_mode_class): Only allow FPRs to change mode if
-	both FROM and TO are integer modes that are no bigger than 4 bytes.
-	(mips_mode_ok_for_mov_fmt_p): New function.
-	(mips_preferred_reload_class): Use it instead of FLOAT_MODE_P.
-	(mips_secondary_reload_class): Tweak formatting and comments.
-	Use reg_class_subset_p instead of direct comparisons with
-	classes.  Only allow direct FPR<->FPR moves for modes that
-	satisfy mips_mode_ok_for_mov_fmt_p.  Only allow loads and stores
-	for 4- and 8-byte types.  Handle reloads in which X is an FPR.
-	* config/mips/mips.md (*movdi_gp32_fp64): Remove f<-f alternative.
-	(*movdi_64bit): Likewise.
-	(*movsi_internal): Likewise.
-	(*movhi_internal): Likewise.
-	(*movqi_internal): Likewise.
-
-2007-09-30  Diego Novillo  <dnovillo@google.com>
-
-	PR 33593
-	* tree-ssa-ter.c (is_replaceable_p): Return false if STMT may
-	throw an exception.
-
-2007-09-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/33597
-	* tree-vect-analyze.c (vect_build_slp_tree): Check if optab handler
-	for LSHIFT_EXPR and RSHIFT_EXPR is available for vec_mode.
-
-2007-09-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_move): Use can_create_pseudo_p ()
-	instead of variants of (!reload_in_progress && !reload_completed).
-	(x86_expand_vector_move): Ditto.
-
-2007-09-28  Ollie Wild  <aaw@google.com>
-
-	Revert
-	2007-09-27  Ollie Wild  <aaw@google.com>
-
-	* varasm.c (compare_constant): Removed call to
-	lang_hooks.expand_constant.
-	(copy_constants): Removed call to lang_hooks.expand_constant.
-	(compute_reloc_for_constant): Removed call to
-	lang_hooks.expand_constant.
-	(output_addressed_constants): Removed call to
-	lang_hooks.expand_constant.
-	(constructor_static_from_elts_p): Removed call to
-	lang_hooks.expand_constant.
-	(output_constant): Removed calls to lang_hooks.expand_constant.
-	* langhooks.h (struct lang_hooks): Removed field expand_constant.
-	* langhooks-def.h (lhd_return_tree): Removed.
-	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
-	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
-	* langhooks.c (lhd_return_tree): Removed.
-
-2007-09-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR target/33347
-	* config/spu/spu.c (spu_expand_insv): Call copy_rtx on the second
-	argument to gen_selb.
-
-2007-09-28  Chao-ying Fu  <fu@mips.com>
-
-	* libgcc-std.ver: Add fixed-point routines to GCC_4.3.0 section.
-	* doc/libgcc.texi (Fixed-point fractional library routines):
-	Fix typos for neg and cmp functions.
-
-2007-09-28  Michael Matz  <matz@suse.de>
-
-	PR rtl-optimization/33552
-	* function.c (match_asm_constraints_1): Check for overlap in
-	inputs and replace all occurences.
-
-2007-09-28  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (override_options): Fix comment typo.
-
-2007-09-28  Jie Zhang  <jie.zhang@analog.com>
-
-	* config.gcc (bfin*-linux-uclibc*): Set extra_parts
-	to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
-	* config/bfin/t-bfin-linux (crti.o): Don't build.
-	(crtn.o): Likewise.
-	(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
-	* config/bfin/t-bfin-uclinux (crti.o): Don't build.
-	(crtn.o): Likewise.
-	(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
-
-2007-09-27  Ollie Wild  <aaw@google.com>
-
-	* varasm.c (compare_constant): Removed call to
-	lang_hooks.expand_constant.
-	(copy_constants): Removed call to lang_hooks.expand_constant.
-	(compute_reloc_for_constant): Removed call to
-	lang_hooks.expand_constant.
-	(output_addressed_constants): Removed call to
-	lang_hooks.expand_constant.
-	(constructor_static_from_elts_p): Removed call to
-	lang_hooks.expand_constant.
-	(output_constant): Removed calls to lang_hooks.expand_constant.
-	* langhooks.h (struct lang_hooks): Removed field expand_constant.
-	* langhooks-def.h (lhd_return_tree): Removed.
-	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
-	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
-	* langhooks.c (lhd_return_tree): Removed.
-
-2007-09-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR middle-end/33436
-	* expr.c (emit_group_load_1): Split constant double when destination
-	length is half source length.
-
-2007-09-27  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): New macro.
-	(mips_cpu_info): Add tune_flags.
-	(GENERATE_BRANCHLIKELY): Remove TARGET_SR71K check.
-	* config/mips/mips.c (mips_cpu_info_table): Add tune_flags fields.
-	Remove end marker.
-	(override_options): Remove deprecation code.  Use branch-likely
-	instructions for optimize_size or if the tuning flags do not
-	suggest otherwise.  Tweak warning.
-	(mips_matching_cpu_name_p, mips_parse_cpu): Use ARRAY_SIZE.
-
-2007-09-27  Matthias Klose  <doko@ubuntu.com>
-
-	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
-	multilib osdirname if it exists.
-	* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
-
-2007-09-27  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/33565
-	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING on
-	assignments of comparisons.
-	* tree-ssa-sccvn.c (simplify_binary_expression): Add stmt
-	parameter.  Change caller.  Defer overflow warnings around call to
-	fold_binary.
-	* fold-const.c (fold_undefer_overflow_warnings): Don't warn if
-	TREE_NO_WARNING is set on the statement.
-	* tree-ssa-forwprop.c
-	(tree_ssa_forward_propagate_single_use_vars): Don't test
-	TREE_NO_WARNING when calling fold_undefer_overflow_warnings.
-	* tree-cfg.c (fold_cond_expr_cond): Likewise.
-
-2007-09-27  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
-	reduce offset by units of 0x10000 for SPE vector modes or modes
-	used with E500 double instructions.
-
-2007-09-04  Paolo Bonzini  <bonzini@gnu.org>
-
-	* simplify-rtx.c (comparison_result): New.
-	(simplify_const_relational_operation): Use it instead of the five
-	"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
-	Improve bounds-checking optimizations; remove subsumed POPCOUNT
-	optimizations.  Extract nonzero_address_p optimizations into a
-	separate "if" together with optimizations where op1 is const0_rtx.
-	Optimize comparing an IOR with zero.  Simplify op0 RELOP op0 for
-	floating-point arguments too when appropriate.  Hoist test for ABS
-	outside the final switch statement.
-	* cse.c (fold_rtx): Don't look for an IOR equivalent of
-	folded_arg0 if we found a constant equivalent.	Remove
-	transformations done in simplify-rtx.c for "op0 RELOP op0".
-
-2007-09-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* builtins.c (expand_builtin, expand_builtin_object_size,
-	expand_builtin_memory_chk, maybe_emit_chk_warning,
-	maybe_emit_sprintf_chk_warning): Use new %K format string specifier
-	for diagnostics.
-	* expr.c (expand_expr_real_1): Likewise.
-	* langhooks-def.h (struct diagnostic_info): Add forward decl.
-	(lhd_print_error_function): Add third argument.
-	* langhooks.h (struct diagnostic_info): Add forward decl.
-	(struct lang_hooks): Add third argument to print_error_function.
-	* diagnostic.h (diagnostic_info): Add abstract_origin field.
-	(diagnostic_last_function_changed, diagnostic_set_last_function): Add
-	second argument.
-	(diagnostic_report_current_function): Likewise.
-	* toplev.c (announce_function): Pass NULL as second argument to
-	diagnostic_set_last_function.
-	* diagnostic.c (diagnostic_report_current_function): Add second
-	argument, pass it as third argument to lang_hooks.print_error_function.
-	(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
-	to diagnostic_report_current_function.
-	(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
-	and message.abstract_origin.
-	(verbatim): Initialize abstract_origin.
-	* pretty-print.h (text_info): Add abstract_origin field.
-	* pretty-print.c (pp_base_format): Handle %K.
-	* langhooks.c (lhd_print_error_function): Add third argument.  If
-	diagnostic->abstract_origin, print virtual backtrace.
-	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
-	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
-	(init_dynamic_diag_info): Likewise.
-
-2007-09-26  David Daney  <ddaney@avtrex.com>
-
-	PR target/33479
-	* config/mips/mips.md (sync_compare_and_swap<mode>, sync_old_add<mode>,
-	sync_new_add<mode>, sync_old_<optab><mode>, sync_new_<optab><mode>,
-	sync_old_nand<mode>, sync_new_nand<mode>,
-	sync_lock_test_and_set<mode>): Fix '&' constraint modifiers.
-	Update length attributes.
-	(sync_add<mode>, sync_sub<mode>, sync_old_sub<mode>,
-	sync_new_sub<mode>, sync_<optab><mode>, sync_nand<mode>): Update
-	length attributes.
-	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP,
-	MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND,
-	MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Add
-	post-loop sync.
-
-2007-09-26  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33563
-	* tree-ssa-dse.c (get_use_of_stmt_lhs): Rename to ...
-	(get_kill_of_stmt_lhs): ... this.  Re-structure.  Handle
-	aggregate stores.
-	(dse_optimize_stmt): Call get_kill_of_stmt_lhs instead of
-	get_use_of_stmt_lhs.
-
-2007-09-26  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/25309
-	* c-common.c (complete_array_type): Diagnose too-large arrays and
-	set type to error_mark_node.
-
-2007-09-26  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/30375
-	PR tree-optimization/33560
-	* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
-	with calls.
-
-	Revert
-	2006-05-22  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-ssa-dse.c (aggregate_vardecl_d): New.
-	(dse_global_data): Add aggregate_vardecl field.
-	(dse_possible_dead_store_p): New.
-	Add prev_defvar variable.
-	Allow immediate uses and previous immediate uses to differ
-	if they are setting different parts of the whole.
-	(get_aggregate_vardecl): New.
-	(dse_record_partial_aggregate_store): New.
-	(dse_whole_aggregate_clobbered_p): New.
-	(dse_partial_kill_p): New.
-	Call dse_maybe_record_aggregate_store().
-	When checking whether a STMT and its USE_STMT refer to the
-	same memory address, check also for partial kills that clobber
-	the whole.
-	Move some variable definitions to the block where they are used.
-	(aggregate_vardecl_hash): New.
-	(aggregate_vardecl_eq): New.
-	(aggregate_vardecl_free): New.
-	(aggregate_whole_store_p): New.
-	(tree_ssa_dse): Initialize and free aggregate_vardecl.
-	Mark which aggregate stores we care about.
-
-2007-09-25  DJ Delorie  <dj@redhat.com>
-
-	PR target/33551
-	* config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of XINT.
-
-2007-09-25  Michael Meissner  <michael.meissner@amd.com>
-
-	PR target/33524
-	* config/i386/i386.c (ix86_expand_sse5_unpack): Change to call
-	gen_sse5_pperm_sign_v4si_v2di and gen_sse5_pperm_zero_v4si_v2di
-	for vector int32 -> int64 conversions.  Don't write beyond the end
-	of the allocated vector for int32 -> int64 conversions.
-
-2007-09-25  Revital Eres  <eres@il.ibm.com>
-
-	* config/rs6000/paired.h (paired_sel): New.
-	* config/rs6000/rs6000.c (bdesc_3arg): Add selv2sf4.
-	(rs6000_expand_ternop_builtin): Pass zero const_double operand
-	when expanding selv2sf.
-	* config/rs6000/rs6000.h (rs6000_builtins): Add
-	PAIRED_BUILTIN_SELV2SF4.
-
-2007-09-25  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/32295
-	* c-typeck.c (default_conversion): Call require_complete_type
-	before perform_integral_promotions.
-	(build_unary_op): Call require_complete_type except for ADDR_EXPR.
-	(build_c_cast): Call require_complete_type except for casts to
-	void types.
-	(convert_for_assignment): Call require_complete_type.
-
-2007-09-25  Revital Eres  <eres@il.ibm.com>
-
-	* config/spu/spu.md: Fix doloop pattern.
-
-2007-09-25  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.c (expand_prologue_reg_save,
-	expand_epilogue_reg_restore): Code to save and restore I/M/B/L regs
-	and ASTAT moved here...
-	(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
-	... from here.  New argument ALL; callers changed.
-	(n_regs_saved_by_prologue): Count ASTAT for plain saveall functions.
-	(bfin_expand_prologue, bfin_expand_epilogue): Deal with functions that
-	have the "saveall" attribute.
-
-2007-09-25  Hans-Peter Nilsson  <hp@bitrange.com>
-
-	* config/mmix/mmix.h (FUNCTION_INCOMING_ARG_REGNO_P): Don't define
-	bogus target macro.
-	(INCOMING_REGNO, OUTGOING_REGNO): Define.
-	* config/mmix/mmix.c (mmix_opposite_regno): New function.
-	* config/mmix/mmix-protos.h (mmix_opposite_regno): Prototype.
-
-	* config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
-	with REG_P tests before REGNO access.
-
-2007-09-24  DJ Delorie  <dj@redhat.com>
-
-	PR target/31482
-	* config/m32c/cond.md (stzx_reversed_<mode>): Add an output
-	constraint.
-	(movqicc_<code>_<mode>): Likewise.
-	(movhicc_<code>_<mode>): Likewise.
-
-2007-09-24  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/33184
-	* config/m32c/m32c.c (m32c_eh_return_data_regno): Leave an address
-	register for reload.
-
-2007-09-24  Danny Smith  <dannysmith@user.sourceforge.net>
-
-	PR c++/14688
-	* config/i386/i386.c (ix86_comp_type_attributes): Check
-	METHOD_TYPE too.
-
-2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
-
-	* config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
-	"move.l %a4,%a4" to produce nops.
-	* config/m68k/m68k.c (override_options): Reset align options,
-	if neccessary align macro isn't avaible.
-
-2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
-
-	config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.
-
-2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
-
-	* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
-	the basic block.
-	* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
-	reload is completed.
-	(peephole pattern): Convert most of them to RTL peephole pattern.
-
-2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
-
-	* config/m68k/m68k.c (notice_update_cc): Recognize fp compare
-	(moved from fp compare patterns).
-	* config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
-	Cleanup predicates to relieve reload.
-	(conditional_trap): Reject conditional trap with fp condition.
-	* config/m68k/predicates.md (fp_src_operand): New, reject
-	certain constants early.
-
-2007-09-24  Roman Zippel <zippel@linux-m68k.org>
-
-	* final.c (final_scan_insn): Remove accidentally duplicated code.
-
-2007-09-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
-	Allow --with-tune=cell and --with-cpu=cell.
-
-2007-09-24  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
-	* config/rs6000/rs6000.opt (swdiv): Change option to ...
-	(recip): this.
-	* config/rs6000/rs6000.c (rs6000_builtin_reciprocal): New
-	function.
-	(TARGET_BUILTIN_RECIPROCAL): Use it.
-	(rs6000_builtin_expand): Expand recip, recipf, and rsqrtf.
-	(rs6000_init_builtins): Initialize recip, recipf, and rsqrtf.
-	(rs6000_emit_swrsqrtsf): New.
-	* config/rs6000/rs6000.h (rs6000_builtins): Add recip, recipf, and
-	rsqrtf. 
-	* config/rs6000/rs6000.md (UNSPEC_RSQRT): Define.
-	(divsf3): Remove swdiv support.
-	(recipsf3): New.
-	(rsqrtsf2): New.
-	(rsqrt_internal1): New.
-	(divdf3): Remove swdiv support.
-	(reciptdf3): New.
-
-2007-09-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/33506
-	* langhooks.h (struct lang_hooks_for_types): Add type_hash_eq
-	field.
-	* langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ.
-	* tree.c (type_hash_eq): For FUNCTION_TYPE use
-	lang_hooks.type.type_hash_eq in addition to generic tests.
-
-2007-09-24  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
-	Ramana Radhakrishnan  <ramana@hercules.pun.celunite.com>
-
-	* tree-inline.h (eni_weights): Add field target_builtin_cost to
-	reflect the cost per call to a target specific builtin.
-	* tree-inline.c (estimate_num_insns_1): If it is a CALL_EXPR for a
-	call to a target specific builtin, then use target_builtin_call_cost.
-	(init_inline_once): Initialize target_builtin_call_cost field.
-
-2007-09-24  Kai Tietz  <kai.tietz@onevision.com>
-
-	PR middle-end/33472
-	* config/i386/i386.c (return_in_memory_ms_64): Handle return types for
-	complex types.
-
-2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
-	* configure: Regenerated.
-
-2007-09-23  Ollie Wild  <aaw@google.com>
-
-	* fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer
-	operand.
-	(get_pointer_modulus_and_residue): New function.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (build_mips16_call_stub): On 64-bit targets,
-	combine an SC return value into a single register.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* opth-gen.awk (target_flags_explicit): Declare.
-	* toplev.h (target_flags_explicit): Delete declaration.
-	* toplev.c (target_flags): Likewise.
-	* config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete.
-	(GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags.
-	Never return true for TARGET_MIPS16.
-	* config/mips/mips.c (mips_llsc): Delete.
-	(mips_handle_option): Remove -mllsc handling.
-	(mips_strip_unspec_address): Tweak comment.
-	* config/mips/mips.opt (mllsc): Use a target mask.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
-	word_mode as well as Pmode.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* function.c (assign_parm_setup_block): Explicitly convert BLKmode
-	parameters from word_mode to the subword type if such a truncation
-	is not a no-op.
-
-2007-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
-	* configure: Regenerated.
-
-2007-09-23  Jan Hubicka  <jh@suse.cz>
-
-	* params.def (INLINE_CALL_COST): Set to 12.
-	* invoke.texi (inline-call-cost): Update default value.
-
-2007-09-23  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/alpha/alpha.md (movti): Use operand_subword for the split.
-
-2007-09-23  Ayal Zaks  <zaks@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (doloop_register_get): Rewrite the loop which
-	checks whether the count_reg is found outside the control part.
-
-2007-09-23  Jakub Jelinek  <jakub@redhat.com>
-
-	* expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
-	instead of checking CALL_EXPR_FN directly to test for builtins.
-	If error or warning attributes are present, print
-	error resp. warning.
-	* c-common.c (handle_error_attribute): New function.
-	(c_common_attribute_table): Add error and warning
-	attributes.
-	* doc/extend.texi: Document error and warning attributes.
-
-	* tree.h (block_nonartificial_location): New prototype.
-	* tree.c (block_nonartificial_location): New function.
-	* dwarf2out.c (gen_subprogram_die): Add DW_AT_artificial
-	if artificial attribute is present on abstract inline decl.
-	* c-common.c (handle_artificial_attribute): New function.
-	(c_common_attribute_table): Add artificial attribute.
-	* final.c (override_filename, override_linenum): New variables.
-	(final_scan_insn): For DBX_DEBUG or SDB_DEBUG, set override_filename
-	and override_linenum if inside of a block inlined from
-	__attribute__((__artificial__)) function.
-	(notice_source_line): Honor override_filename and override_linenum.
-	* doc/extend.texi: Document __attribute__((__artificial__)).
-	* config/i386/emmintrin.h: Add __artificial__ attribute to
-	all __always_inline__ functions.
-	* config/i386/mmintrin.h: Likewise.
-	* config/i386/tmmintrin.h: Likewise.
-	* config/i386/mm3dnow.h: Likewise.
-	* config/i386/pmmintrin.h: Likewise.
-	* config/i386/ammintrin.h: Likewise.
-	* config/i386/xmmintrin.h: Likewise.
-	* config/i386/smmintrin.h: Likewise.
-	* config/i386/bmmintrin.h: Likewise.
-	* config/i386/mmintrin-common.h: Likewise.
-
-	PR middle-end/28755
-	* expr.c (expand_constructor): New function.
-	(expand_expr_real_1) <case CONSTRUCTOR>: Call it.
-	(expand_expr_real_1) <case ARRAY_REF>: Call it if VALUE is
-	CONSTRUCTOR.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (dump_constants_1): Generalize to include
-	fractional and accumulator modes.
-
-2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (ISA_HAS_DSP, ISA_HAS_DSPR2): New macros.
-	* config/mips/mips.c (mips_set_mips16_mode): Don't clear the DSP
-	flags for MIPS16.
-	(override_options): Check TARGET_HARD_FLOAT_ABI instead of
-	TARGET_HARD_FLOAT when testing whether -mpaired-single is
-	supported.
-	(mips_conditional_register_usage): Check ISA_HAS_DSP instead of
-	TARGET_DSP.
-	* config/mips/constraints.md (ka): Check ISA_HAS_DSPR2 instead of
-	TARGET_DSPR2.
-	* config/mips/mips.md (ANYF): Require TARGET_HARD_FLOAT for V2SF.
-	(mulv2sf3, movv2sf, movv2sf_hardfloat_64bit): Require
-	TARGET_HARD_FLOAT.
-	(<u>mulsidi3_32bit_internal, <u>msubsidi4, <u>maddsidi4): Check
-	ISA_HAS_DSPR2 instead of TARGET_HAS_DSPR2.
-	* config/mips/mips-dsp.md: Use ISA_HAS_DSP instead of TARGET_HAS_DSP
-	throughout.
-	* config/mips/mips-dspr2.md: Likewise ISA_HAS_DSPR2 and
-	TARGET_HAS_DSPR2.
-	* config/mips/mips-fixed.md: Use ISA_HAS_DSP and ISA_HAS_DSPR2
-	instead of TARGET_HAS_DSP and TARGET_HAS_DSPR2.
-	* config/mips/mips-ps-3d.md: Add TARGET_HARD_FLOAT to V2SF patterns.
-
-2007-09-22  Jason Merrill  <jason@redhat.com>
-
-	PR c++/19407
-	* attribs.c (lookup_attribute_spec): Split out...
-	(decl_attributes): From here.
-	* tree.h: Declare it.
-
-2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* doc/sourcebuild.texi: Document dg-add-options mips16_attribute.
-
-2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-inline.c (remap_type_1): Correctly chain variants.
-
-2007-09-22  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33146
-	* fold-const.c (fold_binary): Use the original tree for negating.
-	* tree.h (STRIP_SIGN_NOPS): Converting from or to pointer
-	also changes "sign".
-
-2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR target/32325
-	* except.c (finish_eh_generation): Call commit_edge_insertions if
-	there are insns queued on the entry edge.
-	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on
-	the entry edge.
-
-2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* doc/sourcebuild.texi (dg-add-c99-runtime-options): Document.
-
-2007-09-19  Michael Meissner  <michael.meissner@amd.com>
-
-	* config/i386/i386.c: Delete trailing whitespace.
-	* config/i386/i386.h: Ditto.
-	* config/i386/bmmintrin.h: Ditto.
-	* config/i386/sync.md: Ditto.
-	* config/i386/ppro.md: Ditto.
-	* config/i386/mmx.md: Ditto.
-	* config/i386/constraints.md: Ditto.
-	* config/i386/sse.md: Ditto.
-	* config/i386/athlon.md: Ditto.
-	* config/i386/i386.md: Ditto.
-
-2007-09-21  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33508
-	* tree-ssa-alias.c (mark_aliases_call_clobbered): Avoid
-	quadratic loop by keeping a bitmap of variables we have
-	to clobber all subvariables for.
-	(set_initial_properties): Likewise.
-
-2007-09-21  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Delete.
-
-2007-09-20  Nigel Stephens  <nigel@mips.com>
-	    Chao-ying Fu  <fu@mips.com>
-
-	* c-decl.c (finish_declspecs): When _Sat is used without
-	_Fract or _Accum, set the default type to cts_fract.
-	This avoids a warning of "type defaults to int".
-
-2007-09-20  Joseph Myers  <joseph@codesourcery.com>
-
-	* c-decl.c (check_bitfield_type_and_width): Don't allow _Bool
-	bit-fields wider than one bit.
-
-2007-09-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/33316
-	* dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
-	DECL_NAME.
-	* dbxout.c (dbxout_type): Likewise.
-
-	PR c/33238
-	PR c/27301
-	* gimplify.c (gimplify_vla_decl): New function.
-	(gimplify_decl_expr): Move VLA decl handling to gimplify_vla_decl.
-	Call it.
-	(gimplify_target_expr): Handle variable length TARGET_EXPRs.
-
-2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* doc/invoke.texi (-minterlink-mips16): Document.
-	* config/mips/mips.opt (minterlink-mips16): New option.
-	* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
-	-minterlink-mips16
-
-2007-09-20  Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/extend.texi (Attribute Syntax): Remove old speculative
-	future direction.
-
-2007-09-20  Mark Shinwell  <shinwell@codesourcery.com>
-
-	* combine.c: Include cgraph.h.
-	(setup_incoming_promotions): Rework to allow more aggressive
-	elimination of sign extensions when all call sites of the
-	current function are known to lie within the current unit.
-
-2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* dse.c (find_shift_sequence): No-op rework of control flow.
-
-2007-09-19  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (build_mips16_call_stub): Tidy.  Fix second
-	GPR for DCmode on 64-bit targets.  Remove redundant fallback.
-
-2007-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* cfgexpand.c (dump_stack_var_partition): Use the correct
-	index for the offset.
-
-2007-09-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/mips/sde.h: Switch to GPLv3.
-
-2007-09-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-sra.c (decide_block_copy): Decide if there are groups.
-
-2007-09-19  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.c (output_move_himode): Remove jump table
-	recognition.
-	config/m68k/m68k.md (lea): Likewise.
-	* config/m68k/m68k.c (print_operand_address): Use simple pc
-	relative addressing.
-
-2007-09-19  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* doc/tm.texi (IS_ASM_LOGICAL_LINE_SEPARATOR): Document new argument.
-	* final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide two-argument
-	default definition.
-	(asm_insn_count): Pass template as second argument to it.
-	* config/avr/avr.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
-	* config/pa/pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
-	* config/stormy16/stormy16.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
-	* config/cris/cris.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
-	* config/sh/sh.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
-	(sh_insn_length_adjustment): Pass template as second argument to it.
-	* config/bfin/bfin.h (IS_ASM_LOGICAL_LINE_SEPARATOR): New macro.
-
-	* config/bfin/bfin.md (define_asm_attributes): New.
-
-2007-09-19  Jie Zhang  <jie.zhang@analog.com>
-
-	* config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
-	to tm_file.
-	* config/bfin/print-sysroot-suffix.sh: New.
-	* config/bfin/t-bfin-elf (EXTRA_PARTS): Remove.
-	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
-	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
-	* config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove.
-	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
-	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
-	* config/bfin/t-bfin-linux (EXTRA_PARTS): Remove.
-	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
-	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
-	(linux-sysroot-suffix.h): New target.
-	* config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask.
-	(mspecld-anomaly): Likewise.
-	* config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from
-	(enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525,
-	BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542,
-	BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549.
-	(bfin_si_revision): Declare.
-	(bfin_workarounds): Declare.
-	(WA_SPECULATIVE_LOADS): Define.
-	(ENABLE_WA_SPECULATIVE_LOADS): Define.
-	(WA_SPECULATIVE_SYNCS): Define.
-	(ENABLE_WA_SPECULATIVE_SYNCS): Define.
-	* config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o.
-	(LIB_SPEC): Add %s to the linker scripts.
-	Use proper linker script for bf522, bf525, bf527,
-	bf538, bf539, bf542, bf544, bf548, and bf549.
-	* config/bfin/bfin.c (bfin_si_revision): Define.
-	(bfin_workarounds): Define.
-	(struct bfin_cpu): New.
-	(bfin_cpus): New.
-	(bfin_handle_option): Handle silicon revision part of -mcpu option.
-	(override_options): Set bfin_workarounds.
-	(length_for_loop): Replace TARGET_CSYNC_ANOMALY with
-	ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with
-	ENABLE_WA_SPECULATIVE_LOADS.
-	(bfin_reorg): Likewise.
-	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
-	macros for bf522, bf525, bf527, bf538, bf539,
-	bf542, bf544, bf548, and bf549.
-	Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed.
-	Don't define __ID_SHARED_LIB__ when -msep-data.
-	(TARGET_DEFAULT): Define as 0.
-	(DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option.
-	* doc/invoke.texi (Blackfin Options): Document silicon
-	revision part of -mcpu option and it now accepts bf522, bf525,
-	bf527, bf538, bf539, bf542, bf544, bf548, and bf549.
-
-2007-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (memory_modified_1): Deconstify.
-	(memory_modified_in_insn_p): Don't use const_note_stores.
-	* rtl.h (const_note_stores): Delete.
-	* rtlanal.c (const_note_stores): Likewise.
-
-2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* dse.c (find_shift_sequence): Temporarily revert to forbidding
-	word shifts.
-
-2007-09-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/33388
-	PR target/33397
-	* config/fr30/fr30.md (addsi3): Check REG_P() before calling REGNO().
-	(addsi_small_int): Likewise.
-	(addsi_big_int): Use rtx_equal_p() instead of REGNO() comparison.
-	(one_cmplsi2): Likewise.
-	(negsi2): Delete.
-	(enter_func): Expand insn using hard_frame_pointer_rtx and
-	stack_pointer_rtx.
-	(*enter_func): New.
-	* config/fr30/fr30.c (fr30_expand_prologue): Check for
-	hard_frame_pointer_rtx instead of using REGNO() check.
-	Properly sign extend GEN_INT() argument.
-
-2007-09-18  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.c (override_options): Remove USE_GAS,
-	use %. syntax.
-	(output_dbcc_and_branch, output_scc_di): Replace all jbcc
-	alternatives with just jcc.
-	* config/m68k/m68k.md (addsi_lshrsi_31, beq0_di, bne0_di,
-	bge0_di, blt0_di, bgtu, bltu, bgeu, bleu, bgtu_rev,
-	bltu_rev, bgeu_rev, bleu_rev, jump, dbne_hi, dbne_si,
-	dbge_hi, dbge_si): Likewise.
-
-2007-09-18  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered,
-	bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev,
-	bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev,
-	bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev,
-	bunlt_rev, bltgt_rev): Replace all fbcc with fjcc.
-
-2007-09-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* config/m68k/m68k-devices.def (51qe): New device.
-	* config/m68k/m68k.c (FL_FOR_isa_c): Remove division unit.  Add it
-	to all uses of FL_FOR_isa_c for compatibility.
-	(all_microarchs): Add cfv1 microarchitecture.
-	(m68k_handle_option): Handle m51qe option.
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Handle 51QE.
-	(TUNE_CFV1): New macro.
-	(enum uarch_type): Add ucfv1.
-	* doc/invoke.texi: Document 51qe device and cfv1 microarchitecture.
-	
-2007-09-18  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31863
-	* tree-ssa-structalias.c (create_variable_info_for): Always
-	free the fieldstack.
-
-2007-09-18  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* opts.c (decode_options): Enable vectorization under -O3.
-
-2007-09-18  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33340
-	* tree-ssa-sccvn.c (set_ssa_val_to): Do not set values to
-	SSA_NAMEs that occur in abnormal PHI nodes.
-
-2007-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* tree-cfg.c (is_ctrl_altering_stmt, tree_block_ends_with_call_p):
-	Don't use const_get_call_expr_in.
-	* tree-gimple.c (const_get_call_expr_in): Delete.
-	* tree-gimple.h (const_get_call_expr_in): Likewise.
-
-2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* df-scan.c (df_notes_rescan): Do nothing if the instruction does
-	not yet have a basic block.
-	* dse.c (find_shift_sequence): Don't set DF_NO_INSN_RESCAN.
-
-2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_file_start): Add ".previous" directives
-	to both ".section"s.
-
-2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_output_mi_thunk): Use
-	mips_function_ok_for_sibcall and const_call_insn_operand
-	to determine if a direct sibcall is allowed.  Use
-	mips_classify_symbol to determine a global pointer is needed.
-
-2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.md (*clear_upper32): Use "W" as the memory operand.
-
-2007-09-17  Chao-ying Fu  <fu@mips.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/fixed-bit.h: New file.
-	* config/fixed-bit.c: New file.
-	* doc/libgcc.texi (Fixed-point fractional library routines): New node.
-
-2007-09-18  Jakub Jelinek  <jakub@redhat.com>
-
-	* c-format.h (format_kind_info): Add alloc_char field.
-	* c-format.c (scanf_flag_specs): Add 'm'.
-	(scanf_flag_pairs): Add 'a', 'm' pair.
-	(scan_char_table): Allow 'm' modifier for c, s, [, C and S.
-	(format_types_orig): Add alloc_char fields.
-	(check_format_info_main): Rename aflag to alloc_flag.
-	Handle fki->alloc_char. modifier after width and before length
-	modifiers.  Move FMT_FLAG_SCANF_A_KLUDGE handling before
-	length modifiers as well.
-	* config/sol2-c.c (solaris_format_types): Add alloc_char field.
-
-	PR middle-end/33423
-	* builtins.c (expand_builtin_memory_chk): Handle COMPOUND_EXPRs
-	returned by build_call_expr.
-
-2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-sra.c (maybe_lookup_element_for_expr) <COMPONENT_REF>: Return
-	NULL for variable-sized records too.
-	(sra_walk_expr) <COMPONENT_REF>: Stop at variable-sized records too.
-
-2007-09-17  Tom Tromey  <tromey@redhat.com>
-
-	* c-decl.c (pushdecl): Don't set DECL_LANG_SPECIFIC.
-	(c_builtin_function): Likewise.
-	(grokdeclarator): Likewise.
-
-2007-09-17  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR rtl-optimization/26449
-	* loop-invariant.c (move_invariant_reg): Do not use force_operand.
-	(seq_insns_valid_p): Removed.
-
-2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-nomudflap.c (gate_mudflap): New static function.
-	(pass_mudflap_1): Use it as gate function.
-	(pass_mudflap_2): Likewise.
-
-2007-09-17  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/33348
-	PR target/33406
-	* loop-invariant.c (move_invariant_reg): Unshare sequence.
-
-2007-09-17  Victor Kaplansky  <victork@il.ibm.com>
-
-	PR tree-optimization/33319
-	* tree-vect-analyze.c (vect_same_range_drs): New.
-	(vect_vfa_range_equal): New.
-	(vect_is_duplicate_ddr): Removed.
-	(vect_mark_for_runtime_alias_test): Do not perform marking when
-	optimizing for size or max_param for alias checking is zero.
-	Move the function before vect_analyze_data_ref_dependence.
-	(vect_analyze_data_ref_dependence): Add call to
-	vect_mark_for_runtime_alias_test in two cases when dependence
-	is not clear.
-	(vect_analyze_data_ref_dependences): Do not call to
-	vect_mark_for_runtime_alias_test.
-	(vect_prune_runtime_alias_test_list): New.
-	(vect_analyze_loop): Add call to vect_prune_runtime_alias_test_list.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters):
-	Update vec_outside_cost.
-	(vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
-	(vect_create_cond_for_alias_checks): Build the base address of data
-	reference from DR_GROUP_FIRST_DR.
-	(vect_loop_versioning): New.
-	(vect_transform_loop): Add a call to vect_loop_versioning.
-	Remove factored out code.
-
-2007-09-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR middle-end/33273
-	* expr.c (store_expr): Call adjust_address to change mode of dest_mem
-	to BLKmode.
-
-2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* dse.c (find_shift_sequence): Allow word as well as subword shifts.
-	Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
-	Fix the call to insn_rtx_cost.  Skip access sizes that require a
-	real truncation of the store register.  Use convert_move instead
-	of gen_lowpart when narrowing the result.
-	(replace_read): Use convert_move instead of gen_lowpart when
-	narrowing the store rhs.
-
-2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.md (SHORT): Fix long line.
-	(SUBDI): New mode iterator.  Extend the shift-and-truncate insns
-	to QImode and HImode.
-
-2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.
-
-2007-09-15  Zdenek Dvorak  <ook@ucw.cz>
-
-	* tree-parloops.c: New file.
-	* tree-ssa-operands.h (free_stmt_operands): Declare.
-	* tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic
-	block.
-	* tree-pass.h (pass_parallelize_loops): Declare.
-	* omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for
-	virtual operands.
-	(build_omp_regions_1): Allow analysing just a single OMP region and
-	its subregions.
-	( build_omp_regions_root, omp_expand_local): New functions.
-	(build_omp_regions): Add argument to build_omp_regions_1 call.
-	* builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when
-	autoparallelization is run.
-	* timevar.def (TV_TREE_PARALLELIZE_LOOPS): New.
-	* tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops,
-	pass_parallelize_loops): New.
-	* common.opt (ftree-parallelize-loops): New.
-	* tree-flow.h (omp_expand_local, tree_duplicate_sese_tail,
-	parallelize_loops): Declare.
-	(add_phi_args_after_copy, split_loop_exit_edge): Declaration changed.
-	* Makefile.in (tree-parloops.o): Added.
-	* tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail):
-	New functions.
-	(add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge.
-	(add_phi_args_after_copy): Call add_phi_args_after_copy_edge for
-	one extra edge as well.
-	(tree_duplicate_sese_region): Add argument to add_phi_args_after_copy.
-	Use VEC_free to free doms vector.
-	(move_block_to_fn): Update loop info. Remove phi nodes for virtual
-	operands.  Recompute operand caches in the new function.
-	(move_sese_region_to_fn): Update loop info.
-	* passes.c (init_optimization_passes): Add pass_parallelize_loops.
-	* tree-ssa-operands.c (free_stmt_operands): New function.
-
-	* doc/passes.texi: Document autoparallelization.
-	* doc/invoke.texi (-ftree-parallelize-loops): New option.
-
-2007-09-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/33062
-	* pa.c (function_value): Use GET_MODE_BITSIZE instead of
-	TYPE_PRECISION.
-
-2007-09-15  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if 
-	the VEC is not NULL.
-	(vectorizable_type_demotion, vectorizable_type_promotion): Check that 
-	get_vectype_for_scalar_type succeeded.
-	(vectorizable_conversion): Likewise.
-
-2007-09-14  Jan Hubicka  <jh@suse.cz>
-
-	* config/i386/i386.md (*floatdi<mode>2_i387): Guard against
-	TARGET_64BIT.
-
-2007-09-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/33438
-	* config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
-	register when operands[2] equals operands[1].
-	(remainderxf3): Ditto.
-
-2007-09-14  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* doc/tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document.
-	* unwind-generic.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
-	(_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE to declaration.
-	(_Unwind_ForcedUnwind): Likewise.
-	(_Unwind_Resume): Likewise.
-	(_Unwind_Resume_or_Rethrow): Likewise.
-	(_Unwind_Backtrace): Likewise.
-	(_Unwind_SjLj_RaiseException): Likewise.
-	(_Unwind_SjLj_ForcedUnwind): Likewise.
-	(_Unwind_SjLj_Resume): Likewise.
-	(_Unwind_SjLj_Resume_or_Rethrow): Likewise.
-	* unwind.inc (_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE
-	to definition.
-	(_Unwind_ForcedUnwind): Likewise.
-	(_Unwind_Resume): Likewise.
-	(_Unwind_Resume_or_Rethrow): Likewise.
-	(_Unwind_Backtrace): Likewise.
-	* unwind-compat.c (_Unwind_Backtrace): Likewise.
-	(_Unwind_ForcedUnwind): Likewise.
-	(_Unwind_RaiseException): Likewise.
-	(_Unwind_Resume): Likewise.
-	(_Unwind_Resume_or_Rethrow): Likewise.
-
-	* config/mips/mips.h (LIBGCC2_UNWIND_ATTRIBUTE): Define to force
-	nomips16 mode when IN_LIBGCC2 with hard float.
-
-2007-09-14  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/sdemtk.opt: Update to GPLv3.
-	* config/mips/sdemtk.h: Likewise.
-
-2007-09-14  Nigel Stephens  <nigel@mips.com>
-
-	* config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set
-	MIPS_ISA_DEFAULT appropriately.  Don't make soft-float the default
-	for mipsisa32-*-linux*.
-
-2007-09-14  Nigel Stephens  <nigel@mips.com>
-	    David Ung  <davidu@mips.com>
-	    Thiemo Seufer  <ths@mips.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (mips*-sde-elf*): Add support for the SDE C libraries.
-	* configure.ac: Add a mipssde threading type.
-	* configure: Regenerate.
-	* config/mips/sdemtk.h: New file.
-	* config/mips/t-sdemtk: Likewise.
-	* config/mips/sdemtk.opt: Likewise.
-	* gthr-mipssde.h: Likewise.
-	* config/mips/sde.h (FUNCTION_PROFILER): Move to config/mips/sdemtk.h.
-	* config/mips/mips.h (MIPS_SAVE_REG_FOR_PROFILING_P): New macro.
-	(MIPS_ICACHE_SYNC): New macro, split from ...
-	* config/mips/mips.md (clear_cache): ...here.
-	* config/mips/mips.c (mips_save_reg_p): Check
-	MIPS_SAVE_REG_FOR_PROFILING_P on profiled functions.
-	(build_mips16_function_stub): Use targetm.strip_name_encoding.
-	(build_mips16_call_stub): Likewise.
-
-2007-09-14  Richard Sandiford  <richard@codesourcery.com>
-
-	* Makefile.in (stmp-int-hdrs): Depend on fixinc_list.
-
-2007-09-14  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/32337
-	* config/ia64/ia64.c (find_gr_spill): Don't decrement
-	current_frame_info.n_local_regs.  Don't return emitted local regs.
-	(ia64_compute_frame_size): Improve unwind hack to put
-	RP, PFS, FP in that order by allowing some of the registers
-	been already emitted, as long as they are emitted to the
-	desired register.
-
-2007-09-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	* config/spu/vmx2spu.h (vec_extract, vec_insert, vec_lvlx,
-	vec_lvlxl, vec_lvrx, vec_lvrxl, vec_promote, vec_splats,
-	vec_stvlx, vec_stvlxl, vec_stvrx, vec_stvrxl): New intrinsics.
-
-2007-09-13  Eric Christopher  <echristo@apple.com>
-	    Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* dse.c (find_shift_sequence): New function.
-	(replace_read): Add case to remove read if it requires shift.
-	* config/i386/i386.c (ix86_expand_prologue): Fixed typo in comment.
-	
-2007-09-13  Tom Tromey  <tromey@redhat.com>
-
-	* c-common.c (fname_as_string): Update.
-	* c-parser.c (c_parser) <lex_untranslated_string>: New field.
-	(c_lex_one_token): Update.  Add 'parser' argument.
-	(c_parser_simple_asm_expr): Update.
-	(c_parser_attributes): Update.
-	(c_parser_asm_statement): Update.
-	(c_parser_asm_operands): Update.
-	(c_parser_peek_token): Update.
-	(c_parser_peek_2nd_token): Update.
-	* c-lex.c (c_lex_string_translate): Remove.
-	(c_lex_return_raw_strings): Likewise.
-	(c_lex_with_flags): Added 'lex_flags' argument.
-	(lex_string): Added 'translate' argument.
-	* c-pragma.h (c_lex_with_flags): Update.
-	(c_lex_string_translate, c_lex_return_raw_strings): Remove.
-	(C_LEX_STRING_NO_TRANSLATE): New define.
-	(C_LEX_RAW_STRINGS): Likewise.
-
-2007-09-13  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	From Jie Zhang:
-	* config/bfin/bfin.c (enum bfin_builtins): Add BFIN_BUILTIN_ONES,
-	BFIN_BUILTIN_CPLX_MUL_16_S40, BFIN_BUILTIN_CPLX_MAC_16_S40,
-	BFIN_BUILTIN_CPLX_MSU_16_S40, and BFIN_BUILTIN_CPLX_SQU.
-	(bfin_init_builtins): Initialize __builtin_bfin_ones,
-	__builtin_bfin_min_fr1x16, __builtin_bfin_max_fr1x16,
-	__builtin_bfin_min_fr1x32, __builtin_bfin_max_fr1x32,
-	__builtin_bfin_cmplx_add, __builtin_bfin_cmplx_sub,
-	__builtin_bfin_cmplx_mul_s40, __builtin_bfin_cmplx_mac_s40,
-	__builtin_bfin_cmplx_msu_s40 and __builtin_bfin_csqu_fr16.
-	(bdesc_1arg): Add __builtin_bfin_ones.
-	(bfin_expand_builtin): Expand __builtin_bfin_cmplx_mul_s40,
-	__builtin_bfin_cmplx_mac_s40, __builtin_bfin_cmplx_msu_s40,
-	and __builtin_bfin_csqu_fr16.
-	* config/bfin/bfin.md (UNSPEC_ONES): New constant.
-	(ones): New define_insn.
-	(ssaddhi3_parts): New define_insn.
-	(sssubhi3_parts): New define_insn.
-	(flag_mulhi_parts): New define_insn.
-
-2007-09-13  Seongbae Park <seongbae.park@gmail.com>
-
-	* common.opt (femit-class-debug-always): Turn off by default.
-
-2007-09-13  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
-	* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
-
-2007-09-13  James E. Wilson  <wilson@specifix.com>
-
-	PR tree-optimization/33389
-	* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
-	then set build_loads before returning.
-
-2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
-	{d}addiu and a negative	immediate such that it works with MIPS16
-	instructions.
-	
-2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR bootstrap/33418
-	* configure.ac (ld_vers): Support Linux linker.
-	* configure: Regenerated.
-
-2007-09-13  Richard Sandiford  <richard@codesourcery.com>
-	    Sandra Loosemore <sandra@codesourcery.com>
-
-	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
-	(SYMBOL_REF_MIPS16_FUNC_P): Delete.
-	* config/mips/mips.c (mips_attribute_table): Turn mips16 and
-	nomips16 into decl attributes.
-	(TARGET_INSERT_ATTRIBUTES): Override.
-	(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
-	(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
-	(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
-	(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
-	(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
-	(mips_use_mips16_mode_p): Reimplement as a function that takes
-	a decl and considers only decl attributes.  If the decl is nested
-	function, use its parent attributes.
-	(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
-	instead of SYMBOL_REF_MIPS16_FUNC_P.
-	(mips_set_mips16_mode): Move call to sorry here from old
-	mips_use_mips16_mode_p.
-	(mflip_mips16_entry): New structure.
-	(mflip_mips16_htab): New variable.
-	(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
-	(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
-	(mips_merge_decl_attributes): New function.
-	(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
-	Use mips_use_mips16_mode_p.
-	(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
-	SYMBOL_REF_MIPS16_FUNC_P.
-	(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
-
-2007-09-13  Richard Sandiford  <richard@codesourcery.com>
-
-	* c-parser.c (c_parser_struct_declaration): Check for a null return.
-
-2007-09-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	PR driver/33309
-	* gcc.c (xputenv): Make argument const, and use CONST_CAST.
-
-2007-09-12  Michael Meissner  <michael.meissner@amd.com>
-	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
-	    Tony Linthicum  <tony.linthicum@amd.com>
-
-	* tree.h (function_args_iterator): New type to iterate over
-	function arguments.
-	(FOREACH_FUNCTION_ARGS_PTR): Iterator macros for iterating over
-	function arguments providing a pointer to the argument.
-	(FOREACH_FUNCTION_ARGS): Iterator macros for iterating over
-	function arguments providing the argument.
-	(function_args_iter_init): Inline function to initialize
-	function_args_iterator.
-	(function_args_iter_cond_ptr): Inline function to return the next
-	pointer to hold the argument.
-	(function_args_iter_cond): Inline function to return the next
-	argument.
-	(function_args_iter_cond_next): Advance the function args iterator.
-	(stdarg_p): New function, return true if variable argument function.
-	(prototype_p): New function, return true if function is prototyped.
-	(function_args_count): New function, count the number of arguments
-	of a function.
-
-	* tree.c (stdarg_p): New function, return true if variable
-	argument function.
-	(prototype_p): New function, return true if function is prototyped.
-
-	* config/i386/i386.h (TARGET_SSE5): New macro for SSE5.
-	(TARGET_ROUND): New macro for the round/ptest instructions which
-	are shared between SSE4.1 and SSE5.
-	(OPTION_MASK_ISA_ROUND): Ditto.
-	(OPTION_ISA_ROUND): Ditto.
-	(TARGET_FUSED_MADD): New macro for -mfused-madd swtich.
-	(TARGET_CPU_CPP_BUILTINS): Add SSE5 support.
-
-	* config/i386/i386.opt (-msse5): New switch for SSE5 support.
-	(-mfused-madd): New switch to give users control over whether the
-	compiler optimizes to use the multiply/add SSE5 instructions.
-
-	* config/i386/i386.c (m_AMD_MULTIPLE): Rename from
-	m_ATHLON_K8_AMDFAM10, and change all uses.
-	(enum pta_flags): Add PTA_SSE5.
-	(ix86_handle_option): Turn off 3dnow if -msse5.
-	(override_options): Add SSE5 support.
-	(print_operand): %Y prints comparison codes for SSE5 com/pcom
-	instructions.
-	(ix86_expand_sse_movcc): Add SSE5 support.
-	(ix86_expand_sse5_unpack): New function to use pperm to unpack a
-	vector type to the next largest size.
-	(ix86_expand_sse5_pack): New function to use pperm to pack a
-	vector type to the next smallest size.
-	(IX86_BUILTIN_FMADDSS): New for SSE5 intrinsic.
-	(IX86_BUILTIN_FMADDSD): Ditto.
-	(IX86_BUILTIN_FMADDPS): Ditto.
-	(IX86_BUILTIN_FMADDPD): Ditto.
-	(IX86_BUILTIN_FMSUBSS): Ditto.
-	(IX86_BUILTIN_FMSUBSD): Ditto.
-	(IX86_BUILTIN_FMSUBPS): Ditto.
-	(IX86_BUILTIN_FMSUBPD): Ditto.
-	(IX86_BUILTIN_FNMADDSS): Ditto.
-	(IX86_BUILTIN_FNMADDSD): Ditto.
-	(IX86_BUILTIN_FNMADDPS): Ditto.
-	(IX86_BUILTIN_FNMADDPD): Ditto.
-	(IX86_BUILTIN_FNMSUBSS): Ditto.
-	(IX86_BUILTIN_FNMSUBSD): Ditto.
-	(IX86_BUILTIN_FNMSUBPS): Ditto.
-	(IX86_BUILTIN_FNMSUBPD): Ditto.
-	(IX86_BUILTIN_PCMOV_V2DI): Ditto.
-	(IX86_BUILTIN_PCMOV_V4SI): Ditto.
-	(IX86_BUILTIN_PCMOV_V8HI): Ditto.
-	(IX86_BUILTIN_PCMOV_V16QI): Ditto.
-	(IX86_BUILTIN_PCMOV_V4SF): Ditto.
-	(IX86_BUILTIN_PCMOV_V2DF): Ditto.
-	(IX86_BUILTIN_PPERM): Ditto.
-	(IX86_BUILTIN_PERMPS): Ditto.
-	(IX86_BUILTIN_PERMPD): Ditto.
-	(IX86_BUILTIN_PMACSSWW): Ditto.
-	(IX86_BUILTIN_PMACSWW): Ditto.
-	(IX86_BUILTIN_PMACSSWD): Ditto.
-	(IX86_BUILTIN_PMACSWD): Ditto.
-	(IX86_BUILTIN_PMACSSDD): Ditto.
-	(IX86_BUILTIN_PMACSDD): Ditto.
-	(IX86_BUILTIN_PMACSSDQL): Ditto.
-	(IX86_BUILTIN_PMACSSDQH): Ditto.
-	(IX86_BUILTIN_PMACSDQL): Ditto.
-	(IX86_BUILTIN_PMACSDQH): Ditto.
-	(IX86_BUILTIN_PMADCSSWD): Ditto.
-	(IX86_BUILTIN_PMADCSWD): Ditto.
-	(IX86_BUILTIN_PHADDBW): Ditto.
-	(IX86_BUILTIN_PHADDBD): Ditto.
-	(IX86_BUILTIN_PHADDBQ): Ditto.
-	(IX86_BUILTIN_PHADDWD): Ditto.
-	(IX86_BUILTIN_PHADDWQ): Ditto.
-	(IX86_BUILTIN_PHADDDQ): Ditto.
-	(IX86_BUILTIN_PHADDUBW): Ditto.
-	(IX86_BUILTIN_PHADDUBD): Ditto.
-	(IX86_BUILTIN_PHADDUBQ): Ditto.
-	(IX86_BUILTIN_PHADDUWD): Ditto.
-	(IX86_BUILTIN_PHADDUWQ): Ditto.
-	(IX86_BUILTIN_PHADDUDQ): Ditto.
-	(IX86_BUILTIN_PHSUBBW): Ditto.
-	(IX86_BUILTIN_PHSUBWD): Ditto.
-	(IX86_BUILTIN_PHSUBDQ): Ditto.
-	(IX86_BUILTIN_PROTB): Ditto.
-	(IX86_BUILTIN_PROTW): Ditto.
-	(IX86_BUILTIN_PROTD): Ditto.
-	(IX86_BUILTIN_PROTQ): Ditto.
-	(IX86_BUILTIN_PROTB_IMM): Ditto.
-	(IX86_BUILTIN_PROTW_IMM): Ditto.
-	(IX86_BUILTIN_PROTD_IMM): Ditto.
-	(IX86_BUILTIN_PROTQ_IMM): Ditto.
-	(IX86_BUILTIN_PSHLB): Ditto.
-	(IX86_BUILTIN_PSHLW): Ditto.
-	(IX86_BUILTIN_PSHLD): Ditto.
-	(IX86_BUILTIN_PSHLQ): Ditto.
-	(IX86_BUILTIN_PSHAB): Ditto.
-	(IX86_BUILTIN_PSHAW): Ditto.
-	(IX86_BUILTIN_PSHAD): Ditto.
-	(IX86_BUILTIN_PSHAQ): Ditto.
-	(IX86_BUILTIN_FRCZSS): Ditto.
-	(IX86_BUILTIN_FRCZSD): Ditto.
-	(IX86_BUILTIN_FRCZPS): Ditto.
-	(IX86_BUILTIN_FRCZPD): Ditto.
-	(IX86_BUILTIN_CVTPH2PS): Ditto.
-	(IX86_BUILTIN_CVTPS2PH): Ditto.
-	(IX86_BUILTIN_COMEQSS): Ditto.
-	(IX86_BUILTIN_COMNESS): Ditto.
-	(IX86_BUILTIN_COMLTSS): Ditto.
-	(IX86_BUILTIN_COMLESS): Ditto.
-	(IX86_BUILTIN_COMGTSS): Ditto.
-	(IX86_BUILTIN_COMGESS): Ditto.
-	(IX86_BUILTIN_COMUEQSS): Ditto.
-	(IX86_BUILTIN_COMUNESS): Ditto.
-	(IX86_BUILTIN_COMULTSS): Ditto.
-	(IX86_BUILTIN_COMULESS): Ditto.
-	(IX86_BUILTIN_COMUGTSS): Ditto.
-	(IX86_BUILTIN_COMUGESS): Ditto.
-	(IX86_BUILTIN_COMORDSS): Ditto.
-	(IX86_BUILTIN_COMUNORDSS): Ditto.
-	(IX86_BUILTIN_COMFALSESS): Ditto.
-	(IX86_BUILTIN_COMTRUESS): Ditto.
-	(IX86_BUILTIN_COMEQSD): Ditto.
-	(IX86_BUILTIN_COMNESD): Ditto.
-	(IX86_BUILTIN_COMLTSD): Ditto.
-	(IX86_BUILTIN_COMLESD): Ditto.
-	(IX86_BUILTIN_COMGTSD): Ditto.
-	(IX86_BUILTIN_COMGESD): Ditto.
-	(IX86_BUILTIN_COMUEQSD): Ditto.
-	(IX86_BUILTIN_COMUNESD): Ditto.
-	(IX86_BUILTIN_COMULTSD): Ditto.
-	(IX86_BUILTIN_COMULESD): Ditto.
-	(IX86_BUILTIN_COMUGTSD): Ditto.
-	(IX86_BUILTIN_COMUGESD): Ditto.
-	(IX86_BUILTIN_COMORDSD): Ditto.
-	(IX86_BUILTIN_COMUNORDSD): Ditto.
-	(IX86_BUILTIN_COMFALSESD): Ditto.
-	(IX86_BUILTIN_COMTRUESD): Ditto.
-	(IX86_BUILTIN_COMEQPS): Ditto.
-	(IX86_BUILTIN_COMNEPS): Ditto.
-	(IX86_BUILTIN_COMLTPS): Ditto.
-	(IX86_BUILTIN_COMLEPS): Ditto.
-	(IX86_BUILTIN_COMGTPS): Ditto.
-	(IX86_BUILTIN_COMGEPS): Ditto.
-	(IX86_BUILTIN_COMUEQPS): Ditto.
-	(IX86_BUILTIN_COMUNEPS): Ditto.
-	(IX86_BUILTIN_COMULTPS): Ditto.
-	(IX86_BUILTIN_COMULEPS): Ditto.
-	(IX86_BUILTIN_COMUGTPS): Ditto.
-	(IX86_BUILTIN_COMUGEPS): Ditto.
-	(IX86_BUILTIN_COMORDPS): Ditto.
-	(IX86_BUILTIN_COMUNORDPS): Ditto.
-	(IX86_BUILTIN_COMFALSEPS): Ditto.
-	(IX86_BUILTIN_COMTRUEPS): Ditto.
-	(IX86_BUILTIN_COMEQPD): Ditto.
-	(IX86_BUILTIN_COMNEPD): Ditto.
-	(IX86_BUILTIN_COMLTPD): Ditto.
-	(IX86_BUILTIN_COMLEPD): Ditto.
-	(IX86_BUILTIN_COMGTPD): Ditto.
-	(IX86_BUILTIN_COMGEPD): Ditto.
-	(IX86_BUILTIN_COMUEQPD): Ditto.
-	(IX86_BUILTIN_COMUNEPD): Ditto.
-	(IX86_BUILTIN_COMULTPD): Ditto.
-	(IX86_BUILTIN_COMULEPD): Ditto.
-	(IX86_BUILTIN_COMUGTPD): Ditto.
-	(IX86_BUILTIN_COMUGEPD): Ditto.
-	(IX86_BUILTIN_COMORDPD): Ditto.
-	(IX86_BUILTIN_COMUNORDPD): Ditto.
-	(IX86_BUILTIN_COMFALSEPD): Ditto.
-	(IX86_BUILTIN_COMTRUEPD): Ditto.
-	(IX86_BUILTIN_PCOMEQUB): Ditto.
-	(IX86_BUILTIN_PCOMNEUB): Ditto.
-	(IX86_BUILTIN_PCOMLTUB): Ditto.
-	(IX86_BUILTIN_PCOMLEUB): Ditto.
-	(IX86_BUILTIN_PCOMGTUB): Ditto.
-	(IX86_BUILTIN_PCOMGEUB): Ditto.
-	(IX86_BUILTIN_PCOMFALSEUB): Ditto.
-	(IX86_BUILTIN_PCOMTRUEUB): Ditto.
-	(IX86_BUILTIN_PCOMEQUW): Ditto.
-	(IX86_BUILTIN_PCOMNEUW): Ditto.
-	(IX86_BUILTIN_PCOMLTUW): Ditto.
-	(IX86_BUILTIN_PCOMLEUW): Ditto.
-	(IX86_BUILTIN_PCOMGTUW): Ditto.
-	(IX86_BUILTIN_PCOMGEUW): Ditto.
-	(IX86_BUILTIN_PCOMFALSEUW): Ditto.
-	(IX86_BUILTIN_PCOMTRUEUW): Ditto.
-	(IX86_BUILTIN_PCOMEQUD): Ditto.
-	(IX86_BUILTIN_PCOMNEUD): Ditto.
-	(IX86_BUILTIN_PCOMLTUD): Ditto.
-	(IX86_BUILTIN_PCOMLEUD): Ditto.
-	(IX86_BUILTIN_PCOMGTUD): Ditto.
-	(IX86_BUILTIN_PCOMGEUD): Ditto.
-	(IX86_BUILTIN_PCOMFALSEUD): Ditto.
-	(IX86_BUILTIN_PCOMTRUEUD): Ditto.
-	(IX86_BUILTIN_PCOMEQUQ): Ditto.
-	(IX86_BUILTIN_PCOMNEUQ): Ditto.
-	(IX86_BUILTIN_PCOMLTUQ): Ditto.
-	(IX86_BUILTIN_PCOMLEUQ): Ditto.
-	(IX86_BUILTIN_PCOMGTUQ): Ditto.
-	(IX86_BUILTIN_PCOMGEUQ): Ditto.
-	(IX86_BUILTIN_PCOMFALSEUQ): Ditto.
-	(IX86_BUILTIN_PCOMTRUEUQ): Ditto.
-	(IX86_BUILTIN_PCOMEQB): Ditto.
-	(IX86_BUILTIN_PCOMNEB): Ditto.
-	(IX86_BUILTIN_PCOMLTB): Ditto.
-	(IX86_BUILTIN_PCOMLEB): Ditto.
-	(IX86_BUILTIN_PCOMGTB): Ditto.
-	(IX86_BUILTIN_PCOMGEB): Ditto.
-	(IX86_BUILTIN_PCOMFALSEB): Ditto.
-	(IX86_BUILTIN_PCOMTRUEB): Ditto.
-	(IX86_BUILTIN_PCOMEQW): Ditto.
-	(IX86_BUILTIN_PCOMNEW): Ditto.
-	(IX86_BUILTIN_PCOMLTW): Ditto.
-	(IX86_BUILTIN_PCOMLEW): Ditto.
-	(IX86_BUILTIN_PCOMGTW): Ditto.
-	(IX86_BUILTIN_PCOMGEW): Ditto.
-	(IX86_BUILTIN_PCOMFALSEW): Ditto.
-	(IX86_BUILTIN_PCOMTRUEW): Ditto.
-	(IX86_BUILTIN_PCOMEQD): Ditto.
-	(IX86_BUILTIN_PCOMNED): Ditto.
-	(IX86_BUILTIN_PCOMLTD): Ditto.
-	(IX86_BUILTIN_PCOMLED): Ditto.
-	(IX86_BUILTIN_PCOMGTD): Ditto.
-	(IX86_BUILTIN_PCOMGED): Ditto.
-	(IX86_BUILTIN_PCOMFALSED): Ditto.
-	(IX86_BUILTIN_PCOMTRUED): Ditto.
-	(IX86_BUILTIN_PCOMEQQ): Ditto.
-	(IX86_BUILTIN_PCOMNEQ): Ditto.
-	(IX86_BUILTIN_PCOMLTQ): Ditto.
-	(IX86_BUILTIN_PCOMLEQ): Ditto.
-	(IX86_BUILTIN_PCOMGTQ): Ditto.
-	(IX86_BUILTIN_PCOMGEQ): Ditto.
-	(IX86_BUILTIN_PCOMFALSEQ): Ditto.
-	(IX86_BUILTIN_PCOMTRUEQ): Ditto.
-	(bdesc_ptest): Change OPTION_MASK_ISA_SSE4_1 to
-	OPTION_MASK_ISA_ROUND for instructions that are shared between
-	SSE4.1 and SSE5.
-	(bdesc_2arg): Ditto.
-	(bdesc_sse_3arg): Ditto.
-	(enum multi_arg_type): New enum for describing the various SSE5
-	intrinsic argument types.
-	(bdesc_multi_arg): New table for SSE5 intrinsics.
-	(ix86_init_mmx_sse_builtins): Add SSE5 intrinsic support.
-	(ix86_expand_multi_arg_builtin): New function for creating SSE5
-	intrinsics.
-	(ix86_expand_builtin): Add SSE5 intrinsic support.
-	(ix86_sse5_valid_op_p): New function to validate SSE5 3 and 4
-	operand instructions.
-	(ix86_expand_sse5_multiple_memory): New function to split the
-	second memory reference from SSE5 instructions.
-	(type_has_variadic_args_p): Delete in favor of stdarg_p.
-	(ix86_return_pops_args): Use stdarg_p to determine if the function
-	has variable arguments.
-	(ix86_setup_incoming_varargs): Ditto.
-	(x86_this_parameter): Ditto.
-
-	* config/i386/i386-protos.h (ix86_expand_sse5_unpack): Add
-	declaration.
-	(ix86_expand_sse5_pack): Ditto.
-	(ix86_sse5_valid_op_p): Ditto.
-	(ix86_expand_sse5_multiple_memory): Ditto.
-
-	* config/i386/i386.md (UNSPEC_SSE5_INTRINSIC): Add new UNSPEC
-	constant for SSE5 support.
-	(UNSPEC_SSE5_UNSIGNED_CMP): Ditto.
-	(UNSPEC_SSE5_TRUEFALSE): Ditto.
-	(UNSPEC_SSE5_PERMUTE): Ditto.
-	(UNSPEC_SSE5_ASHIFT): Ditto.
-	(UNSPEC_SSE5_LSHIFT): Ditto.
-	(UNSPEC_FRCZ): Ditto.
-	(UNSPEC_CVTPH2PS): Ditto.
-	(UNSPEC_CVTPS2PH): Ditto.
-	(PCOM_FALSE): Add new constant for true/false SSE5 comparisons.
-	(PCOM_TRUE): Ditto.
-	(COM_FALSE_S): Ditto.
-	(COM_FALSE_P): Ditto.
-	(COM_TRUE_S): Ditto.
-	(COM_TRUE_P): Ditto.
-	(type attribute): Add ssemuladd, sseiadd1, ssecvt1, sse4arg types.
-	(unit attribute): Add support for ssemuladd, ssecvt1, sseiadd1 sse4arg
-	types.
-	(memory attribute): Ditto.
-	(sse4_1_round<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
-	Use SSE4_1_ROUND_* constants instead of hard coded numbers.
-	(rint<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
-	(floor<mode>2): Ditto.
-	(ceil<mode>2): Ditto.
-	(btrunc<mode>2): Ditto.
-	(nearbyintdf2): Ditto.
-	(nearbyintsf2): Ditto.
-	(sse_setccsf): Disable if SSE5.
-	(sse_setccdf): Ditto.
-	(sse5_setcc<mode>): New support for SSE5 conditional move.
-	(sse5_pcmov_<mode>): Ditto.
-
-	* config/i386/sse.md (SSEMODE1248): New mode iterator for SSE5.
-	(SSEMODEF4): Ditto.
-	(SSEMODEF2P): Ditto.
-	(ssemodesuffixf4): New mode attribute for SSE5.
-	(ssemodesuffixf2s): Ditto.
-	(ssemodesuffixf2c): Ditto.
-	(sserotatemax): Ditto.
-	(ssescalarmode): Ditto.
-	(sse_maskcmpv4sf3): Disable if SSE5.
-	(sse_maskcmpv2df3): Ditto.
-	(sse_vmmaskcmpv4sf3): Ditto.
-	(sse5_fmadd<mode>4): Add SSE5 floating point multiply/add
-	instructions.
-	(sse5_vmfmadd<mode>4): Ditto.
-	(sse5_fmsub<mode>4): Ditto.
-	(sse5_vmfmsub<mode>4): Ditto.
-	(sse5_fnmadd<mode>4): Ditto.
-	(sse5_vmfnmadd<mode>4): Ditto.
-	(sse5_fnmsub<mode>4): Ditto.
-	(sse5_vmfnmsub<mode>4): Ditto.
-	(sse5i_fmadd<mode>4): Ditto.
-	(sse5i_fmsub<mode>4): Ditto.
-	(sse5i_fnmadd<mode>4): Ditto.
-	(sse5i_fnmsub<mode>4): Ditto.
-	(sse5i_vmfmadd<mode>4): Ditto.
-	(sse5i_vmfmsub<mode>4): Ditto.
-	(sse5i_vmfnmadd<mode>4): Ditto.
-	(sse5i_vmfnmsub<mode>4): Ditto.
-	(mulv16qi3): Add SSE5 support.
-	(mulv4si3): Ditto.
-	(sse5_mulv4si3): New insn for 32-bit multiply support on SSE5.
-	(sse2_mulv4si3): Disable if SSE5.
-	(sse4_1_roundpd): Use TARGET_ROUND instead of TARGET_SSE4_1.
-	(sse4_1_roundps): Ditto.
-	(sse4_1_roundsd): Ditto.
-	(sse4_1_roundss): Ditto.
-	(sse_maskcmpv4sf3): Disable if SSE5 so the SSE5 instruction will
-	be generated.
-	(sse_maskcmpsf3): Ditto.
-	(sse_vmmaskcmpv4sf3): Ditto.
-	(sse2_maskcmpv2df3): Ditto.
-	(sse2_maskcmpdf3): Ditto.
-	(sse2_vmmaskcmpv2df3): Ditto.
-	(sse2_eq<mode>3): Ditto.
-	(sse2_gt<mode>3): Ditto.
-	(sse5_pcmov_<mode>): Add SSE5 support.
-	(vec_unpacku_hi_v16qi): Ditto.
-	(vec_unpacks_hi_v16qi): Ditto.
-	(vec_unpacku_lo_v16qi): Ditto.
-	(vec_unpacks_lo_v16qi): Ditto.
-	(vec_unpacku_hi_v8hi): Ditto.
-	(vec_unpacks_hi_v8hi): Ditto.
-	(vec_unpacku_lo_v8hi): Ditto.
-	(vec_unpacks_lo_v8hi): Ditto.
-	(vec_unpacku_hi_v4si): Ditto.
-	(vec_unpacks_hi_v4si): Ditto.
-	(vec_unpacku_lo_v4si): Ditto.
-	(vec_unpacks_lo_v4si): Ditto.
-	(sse5_pmacsww): New SSE5 intrinsic insn.
-	(sse5_pmacssww): Ditto.
-	(sse5_pmacsdd): Ditto.
-	(sse5_pmacssdd): Ditto.
-	(sse5_pmacssdql): Ditto.
-	(sse5_pmacssdqh): Ditto.
-	(sse5_pmacsdqh): Ditto.
-	(sse5_pmacsswd): Ditto.
-	(sse5_pmacswd): Ditto.
-	(sse5_pmadcsswd): Ditto.
-	(sse5_pmadcswd): Ditto.
-	(sse5_pcmov_<move>): Conditional move support on SSE5.
-	(sse5_phaddbw): New SSE5 intrinsic insn.
-	(sse5_phaddbd): Ditto.
-	(sse5_phaddbq): Ditto.
-	(sse5_phaddwd): Ditto.
-	(sse5_phaddwq): Ditto.
-	(sse5_phadddq): Ditto.
-	(sse5_phaddubw): Ditto.
-	(sse5_phaddubd): Ditto.
-	(sse5_phaddubq): Ditto.
-	(sse5_phadduwd): Ditto.
-	(sse5_phadduwq): Ditto.
-	(sse5_phaddudq): Ditto.
-	(sse5_phsubbw): Ditto.
-	(sse5_phsubwd): Ditto.
-	(sse5_phsubdq): Ditto.
-	(sse5_pperm): Ditto.
-	(sse5_pperm_sign_v16qi_v8hi): New insns for pack/unpack with SSE5.
-	(sse5_pperm_zero_v16qi_v8hi): Ditto.
-	(sse5_pperm_sign_v8hi_v4si): Ditto.
-	(sse5_pperm_zero_v8hi_v4si): Ditto.
-	(sse5_pperm_sign_v4si_v2di): Ditto.
-	(sse5_pperm_sign_v4si_v2di): Ditto.
-	(sse5_pperm_pack_v2di_v4si): Ditto.
-	(sse5_pperm_pack_v4si_v8hi): Ditto.
-	(sse5_pperm_pack_v8hi_v16qi): Ditto.
-	(sse5_perm<mode>): New SSE5 intrinsic insn.
-	(rotl<mode>3): Ditto.
-	(sse5_rotl<mode>3): Ditto.
-	(sse5_ashl<mode>3): Ditto.
-	(sse5_lshl<mode>3): Ditto.
-	(sse5_frcz<mode>2): Ditto.
-	(sse5s_frcz<mode>2): Ditto.
-	(sse5_cvtph2ps): Ditto.
-	(sse5_cvtps2ph): Ditto.
-	(sse5_vmmaskcmp<mode>3): Ditto.
-	(sse5_com_tf<mode>3): Ditto.
-	(sse5_maskcmp<mode>3): Ditto.
-	(sse5_maskcmp_uns<mode>3): Ditto.
-	(sse5_maskcmp_uns2<mode>3): Ditto.
-	(sse5_pcom_tf<mode>3): Ditto.
-	
-	* config/i386/predicates.md (const_0_to_31_operand): New predicate
-	to match 0..31.
-	(sse5_comparison_float_operator): New predicate to match the
-	comparison operators supported by the SSE5 com instruction.
-	(ix86_comparison_int_operator): New predicate to match just the
-	signed int comparisons.
-	(ix86_comparison_uns_operator): New predicate to match just the
-	unsigned int comparisons.
-
-	* doc/invoke.texi (-msse5): Add documentation.
-	(-mfused-madd): Ditto.
-
-	* doc/extend.texi (x86 intrinsics): Document new SSE5 intrinsics.
-
-	* config.gcc (i[34567]86-*-*): Include bmmintrin.h and
-	mmintrin-common.h.
-	(x86_64-*-*): Ditto.
-
-	* config/i386/cpuid.h (bit_SSE5): Define SSE5 bit.
-
-	* config/i386/bmmintrin.h: New file, provide common x86 compiler
-	intrinisics for SSE5.
-
-	* config/i386/smmintrin.h: Move instructions shared with SSE5 to
-	mmintrin-common.h.
-
-	* config/i386/mmintrin-common.h: New file, to contain common
-	instructions between SSE4.1 and SSE5.
-
-	* config/i386/netware.c (gen_stdcall_or_fastcall_decoration): Use
-	FOREACH_FUNCTION_ARGS to iterate over the argument list.
-	(gen_regparm_prefix): Ditto.
-
-	* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix): Use
-	FOREACH_FUNCTION_ARGS to iterate over the argument list.  Use
-	prototype_p to determine if a function is prototyped.
-
-2007-09-12  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/dfp-bit.c (dfp_conversion_exception): New function.
-	(DFP_TO_DFP) Add new variants to use direct conversions in decNumber.
-	(DFP_TO_INT): Ditto.
-	(INT_TO_DFP): Ditto.
-	* config/dfp-bit.h (DEC_FLOAT_FROM_INT, DEC_FLOAT_TO_INT): New.
-
-2007-09-12  Jakub Jelinek  <jakub@redhat.com>
-
-	PR target/32338
-	* config/ia64/ia64.c (ia64_expand_epilogue): Emit blockage
-	before sp restoration even when total_size is 0, but
-	frame_pointer_needed.
-
-2007-09-12  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
-	(xtensa_copy_incoming_a7): Use start_sequence instead of
-	push_to_sequence.  Stash insns in vararg_a7_copy for builtin_saveregs.
-	(xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
-	of the saveregs sequence.
-
-2007-09-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* c-tree.h (grokfield): Add a "tree *" argument.
-	* c-decl.c (grokdeclarator): Take a pointer to the decl's attributes.
-	Chain nested decl attributes to it.  Don't call decl_attributes here.
-	(groktypename): Pass grokdeclarator a pointer to the attribute list.
-	(start_decl, grokparm, push_parm_decl, start_function): Likewise.
-	(grokfield): Take a pointer to the decl's attributes and pass
-	it to grokdeclarator.
-	* c-parser.c (c_parser_struct_declaration): Update the calls to
-	grokfield.  Call decl_attributes for anonymous struct and union
-	fields.
-
-2007-09-12  Jan Hubicka  <jh@suse.cz>
-
-	* c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
-
-2007-09-12  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/32377
-	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
-	between positive and negative dependence distance using DDR_REVERSED_P.
-
-2007-09-12  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33373
-	* tree-vect-analyze (vect_determine_vectorization_factor): Call 
-	TREE_INT_CST_LOW when comparing TYPE_SIZE_UNIT.	
-
-2007-09-12  Jan Hubicka  <jh@suse.cz>
-
-	PR target/33393
-	* config/i386/i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory):
-	Disable for !SSE_MATH
-
-2007-09-12  Christian Bruel  <christian.bruel@st.com>
-
-	* sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
-	* linux-unwind.h (SH_DWARF_FRAME_GBR): fixed. 
-	
-2007-09-12  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
-	for oprnd1 if not required.
-	(vectorizable_operation): Use scalar operand in SLP in case of 
-	shift with scalar argument.
-
-2007-09-12  Ira Rosen  <irar@il.ibm.com>
-
-	* params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and
-	minimum to 1.
-
-2007-09-11  James E. Wilson  <wilson@specifix.com>
-
-	* defaults.h (DWARF2_UNWIND_INFO): Don't define if
-	TARGET_UNWIND_INFO is defined.
-	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef
-	after definition.
-
-2007-09-12  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.c (calc_live_regs): Use
-	current_function_saves_all_registers instead of
-	current_function_has_nonlocal_label.
-	(sh_allocate_initial_value): Likewise.
-	(sh_get_pr_initial_val): Likewise.
-	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
-	* config/sh/sh.md (load_ra): Likewise.
-
-2007-09-12  Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
-
-	PR target/33360
-	* config/cris/cris.c (cris_expand_pic_call_address): Fix typo in
-	GET_CODE (x) == CONST_INT to CONST_INT_P (x) transformation.
-
-2007-09-12  Sa Liu  <saliu@de.ibm.com>
-
-	* config/spu/spu.c (spu_emit_branch_or_set): Handle NaN values as
-	operands to DFmode GE or LE compares.
-
-2007-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (enum reg_class, REG_CLASS_CONTENTS,
-	REG_CLASS_NAMES): Add P0REGS.
-	(REGNO_REG_CLASS): Return it where appropriate.
-	(REG_CLASS_FROM_CONSTRAINT): Add 'qA'.
-	(CLASS_LIKELY_SPILLED_P): P0REGS is likely_spilled.
-	* doc/md.texi (Blackfin family): Document 'q' constraints.
-
-2007-09-11  Steve Kenton  <skenton@ou.edu>
-
-	* pa/linux-unwind.h: Guard with inhibit_libc.
-	* pa/hpux-unwind.h: Likewise.
-
-2007-09-11  David Daney  <ddaney@avtrex.com>
-
-	* doc/invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
-	* doc/install.texi: Document new --with-llsc and --without-llsc
-	options.
-	* config.gcc: Handle --with-llsc and --without-llsc configure options.
-	* config/mips/mips.md (sync, memory_barrier): Wrap sync instrunction
-	in %| and %- operand codes.  Depend on GENERATE_SYNC instead of
-	ISA_HAS_SYNC.
-	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
-	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
-	sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
-	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
-	sync_new_nand<mode>, sync_lock_test_and_set<mode>): Depend on
-	GENERATE_LL_SC instead of ISA_HAS_LL_SC.
-	* config/mips/mips.opt (mllsc): New option.
-	* config/mips/mips.c (mips_llsc): Define variable.
-	(mips_handle_option): Handle mllsc option.
-	(override_options): Set mips_print_operand_punct for '|' and '-'.
-	(print_operand): Add new %| and %- operand codes.
-	* config/mips/mips.h (mips_llsc_setting): New enum type.
-	(mips_llsc): Declare.
-	(OPTION_DEFAULT_SPECS): Add llsc handling.
-	(GENERATE_SYNC): New macro.
-	(GENERATE_LL_SC): New macro.
-	(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
-	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
-	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Wrap instructions
-	in %| and %- operand codes.
-
-2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with
-	TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.
-
-2007-09-11  Jason Merrill  <jason@redhat.com>
-
-	PR middle-end/27945
-	* stor-layout.c (layout_decl): Do pack variable size fields.	
-
-2007-09-11  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* config/m68k/predicates.md (movsi_const0_operand,
-	non_symbolic_call_operand): New predicates.
-
-	* config/m68k/constraints.md (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
-	New constraints.
-	* doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
-	Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
-	CW, CZ, CS, Ap and Ac.
-
-	* config/m68k/m68k.md (UNSPEC_IB): New constant.
-	(constraints.md): New include.
-	(cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access,
-	opx_mem, opy_mem, op_mem, guess, split): New attributes.
-	(movdf_internal): Name pattern.  Fix to use alternatives.  Add split.
-	Specify attributes.
-	(pushdi): Add split.
-	(tstsi_internal): Name pattern.  Fix to use alternatives.  Specify
-	attributes.  Split tstsi_internal_68020_cf from it.
-	(tstsi_internal_68020_cf): New pattern.
-	(tsthi_internal, tstqi_internal): Name pattern.  Specify attributes.
-	(tst<mode>_cf): Specify attributea.
-	(cmpsi_cf): Name pattern.  Specify attributes.
-	(cmp<mode>_68881, cmp<mode>_cf): Specify type attribute.
-	(pushexthisi_const): Fix to use alternatives.  Specify
-	attributes.
-	(movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60
-	from it.  Fix to use alternatives.  Specify attributes.
-	(movsi_const0_68040_10, movsi_const0_68040_60): New patterns.
-	(movsi_cf, movstrictqi_cf): Fix to use alternatives.  Specify
-	attributes.
-	(movsf_cf_soft): Specify attributes.
-	(movdf_cf_soft): Add split.
-	(pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4,
-	cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2,
-	68k_extendqisi2, truncdfsf2_cf): Specify attributes.
-	(truncdfsf2_68881): Name pattern.  Specify attributes.
-	(floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf,
-	floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf,
-	fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32):
-	Specify attributes.
-	(addsi3_5200): Fix to use alternatives.  Specify attributes.
-	Add splits.
-	(add<mode>3_cf, subdi_dishl32): Specify attributes.
-	(subsi3): Add alternative for subq.l.  Specify attributes.
-	(sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes.
-	(mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern.  Specify
-	attributes.
-	(umulhisi3): Specify attributes.
-	(mulhisisi3_z): Name pattern.  Specify attributes.
-	(fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200,
-	sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32,
-	subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3,
-	bsetmemqi): Specify attributes.
-	(bsetmemqi_ext): Name pattern.  Specify attributes.
-	(bclrmemqi): Specify attributes.
-	(bclrmemqi_ext, scc, sls): Name pattern.  Specify attributes.
-	(beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify
-	attributes.
-	(beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name
-	pattern.  Specify attributes.
-	(jump): Specify attributes.
-	(tablejump_internal): Name pattern.  Specify attributes.
-	(call_value): Split into non_symbolic_call_value,
-	symbolic_call_value_jsr, symbolic_call_value_bsr.  Fix to use
-	alternatives.  Specify attributes.
-	(non_symbolic_call_value, symbolic_call_value_jsr,
-	symbolic_call_value_bsr): New patterns.
-	(nop, return, unlink, indirect_jump): Specify attributes.
-	(trap): Fix condition.  Specify attributes.
-	(ib): New pattern.
-
-	* config/m68k/m68k.c (m68k_symbolic_call_var): New variable.
-	(override_options): Initialize it.  Initialize m68k_sched_cpu.
-	(CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h.
-	(const_method): Make global, rename to m68k_const_method.
-	(const_int_cost, output_move_const_into_data_reg): Update.
-	(output_move_double): Parametrize to emit rtl code, rename to
-	handle_move_double.
-	(output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi,
-	emit_movsi): New static functions.
-	(output_move_double): New function with semantics of old
-	output_move_double.
-	(m68k_emit_move_double): New function.
-	(m68k_sched_cpu): New variable.
-	(attr_op_type): New enum.
-	(sched_guess_p): New variable.
-	(sched_address_type, sched_operand_type, sched_attr_op_type):
-	New static functions.
-	(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
-	m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions.
-	(sched_branch_type): New static variable.
-	(m68k_sched_branch_type): New function.
-	* config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum.
-	(m68k_symbolic_call_var): Declare.
-	(M68K_CONST_METHOD): Rename from CONST_METHOD.  Move here from m68k.c.
-	(m68k_const_method, m68k_emit_move_double, m68k_sched_cpu,
-	m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
-	m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type):
-	Declare.
-
-2007-09-11  Jakub Jelinek  <jakub@redhat.com>
-
-	* builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
-	* builtins.c (expand_builtin) <case BUILT_IN_VA_ARG_PACK_LEN>: Issue
-	error if __builtin_va_arg_pack_len () wasn't optimized out during
-	inlining.
-	* tree-inline.c (copy_bb): Replace __builtin_va_arg_pack_len ()
-	with the number of inline's anonymous arguments.
-	* doc/extend.texi: Document __builtin_va_arg_pack_len ().
-
-2007-09-11  Zdenek Dvorak  <ook@ucw.cz>
-
-	* fold-const.c (extract_muldiv_1): Do not simplify var * c * c to var.
-
-2007-09-11  Jan Hubicka <jh@suse.cz>
-
-	* config/i386/i386.h (ix86_tune_indices): Add
-	X86_TUNE_INTER_UNIT_CONVERSIONS.
-	(TARGET_INTER_UNIT_CONVERSIONS): New.
-	* config/i386/i386.md (floatsi expanders): Remove redundant check
-	for SImode source; offload to memory when asked for.
-	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
-	floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
-	Update conditions;
-	(floatsisf2_mixed_memory, floatsisf2_sse_memory,
-	floatsidf2_mixed_memory, floatsidf2_sse_memory
-	floatdisf2_mixed_memory, floatsisf2_sse_memory,
-	floatsidf2_mixed_memory, floatsidf2_sse_memory): New.
-
-2007-09-11  Jan Hubicka <jh@suse.cz>
-
-	* toplev.c (process_options): all frontends now do unit-at-a-time.
-	* cgraphunit.c: update comments.
-	(cgraph_expand_function): call passmanager dirrectly; emit thunks.
-	* c-decl.c (finish_function): use cgraph_add_new_function.
-	* function.c (expand_function_end): We are always unit-at-a-time.
-
-2007-09-11  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
-	settings for MIPS16.
-	(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.
-
-2007-09-11  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
-	SYMBOL_FORCE_TO_MEM constants.
-	(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
-	(mips16_rewrite_pool_refs_info): New structure.
-	(mips16_rewrite_pool_constant): New function, split out from...
-	(mips16_rewrite_pool_refs): ...here.  Take a pointer to a
-	mips16_rewrite_pool_refs_info structure rather than a pointer
-	to a constant pool.  Force force_to_mem_operands into memory.
-	(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
-	* config/mips/predicates.md (force_to_mem_operand): New predicate.
-	* config/mips/constraints.md (kf): New constraint.
-	* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
-	(*movsi_mips16): Likewise.
-
-2007-09-11  Richard Sandiford  <richard@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
-	* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
-	(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
-	(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
-	(mips_zero_extend_cost): New functions.
-	(mips_rtx_costs): Treat COMPARE constants as having zero cost.
-	Use the new functions.  Tweak many cost estimates, both here
-	and in the new subroutines.  Return false when the cost of the
-	operands has not been calculated.  Check for *clear_upper32.
-	Check for floating-point multiply-add, reciprocal and rsqrt
-	patterns.  Handle comparison and rotation codes.
-
-2007-09-11  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
-	override default.
-	* config/i386/i386.c (get_dllimport_decl): Don't strip
-	FASTCALL_PREFIX.
-
-2007-09-10  Janis Johnson  <janis187@us.ibm.com>
-
-	PR c/30013
-	* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
-	declarations to top.
-	(DFP_TO_BFP): Use for either XFmode or TFmode.
-	(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
-	of BFP_VIA_TYPE.
-	* config/dfp-bit.h: Include float.h.
-	(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
-	double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
-	which doesn't mean the same thing.
-	(BFP_KIND): Use 4 to mean TFmode.
-	(BFP_FMT): Specify the number of decimal digits based on the
-	number of mantissa digits.
-	(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
-	(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
-	(STR_TO_BFP): Use strtold for XFmode or TFmode.
-	(TFtype): Define if TFmode is supported.
-	* doc/libgcc.texi (Decimal float library routines): Document
-	TF conversion functions.
-
-2007-09-10  Chao-ying Fu  <fu@mips.com>
-
-	* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
-	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
-	(mips_emit_compare): Process fixed-point modes.
-	(mips_pad_arg_upward): Support fixed-point types.
-	(override_options): Allow fixed-point modes in accumulators.
-	(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
-	(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
-	V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
-	(mips_scalar_mode_supported_p): New function to accept fixed-point
-	modes if the width is not greater than two BITS_PER_WORD.
-	* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
-	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
-	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
-	LONG_LONG_ACCUM_TYPE_SIZE): Define.
-	* config/mips/mips.md ("d"): Update mode attribute for fixed-point
-	modes.
-	("IMODE"): New mode attribute.
-	(mips-fixed.md): Include.
-	* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
-	ACCUM, UACCUM.
-	* config/mips/mips-fixed.md: New file.
-
-2007-09-11  Ben Elliston  <bje@au.ibm.com>
-
-	* config/spu/spu.md: Formatting fixes.
-
-2007-09-10  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/dfp-bit.c (dfp_unary_func): Delete.
-	(dfp_unary_op): Delete.
-	(dfp_binary_op): Use decFloat functions instead of decNumber
-	functions for binary operations.
-	(d32_binary_op): Convert 32-bit operands to 64 bits for evaluation.
-	(dnn_binary_op): Call dfp_binary_op with decFloat rather than
-	DFP_C_TYPE.
-	(dfp_compare_op): Use decFloat functions insteadof decNumber
-	functions for comparisons.
-	(d32_compare_op): Convert 32-bit operands to 64 bits for evaluation.
-	(dnn_binary_op): Call dfp_compare_op with decFloat rather than
-	DFP_C_TYPE.
-	(DFP_ADD, DFP_SUB, DFP_MULTIPLE, DFP_DIVIDE): Use macros for
-	call to dxx_binary_op and decFloat function.
-	(DFP_EQ, DFP_NE, DFP_LT, DFP_GT, DFP_LE, DFP_GE): Use macros for
-	calls to dxx_binary_op and decFloat function.
-	* config/dfp-bit.h: Include decFloat header files.
-	(decFloat, DFP_BINARY_OP, DFP_COMPARE_OP, DEC_FLOAT_ADD,
-	DEC_FLOAT_SUBTRACT, DEC_FLOAT_MULTIPLY, DEC_FLOAT_DIVIDE,
-	DEC_FLOAT_COMPARE, DEC_FLOAT_IS_ZERO, DEC_FLOAT_IS_NAN,
-	DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.
-
-2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>
-	    Jan Sjodin <jan.sjodin@amd.com>
-
-	* tree-vect-analyze.c (vect_analyze_operations): Change
-	comparison of loop iterations with threshold to less than
-	or equal to instead of less than. Reduce
-	min_scalar_loop_bound by one.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters): 
-	Change prologue and epilogue iterations estimate to vf/2,
-	when unknown at compile-time. Change versioning guard
-	cost to taken_branch_cost. If peeling for alignment is
-	unknown at compile-time, change peel guard costs to one
-	taken branch and one not-taken branch per peeled loop.
-	If peeling for alignment is known but number of scalar loop
-	iterations is unknown at compile-time, change peel guard
-	costs to one taken branch per peeled loop. Change the cost
-	model equation to consider vector iterations as the loop
-	iterations less the prologue and epilogue iterations.
-	Change outside vector cost check to less than or equal to
-	zero instead of equal to zero.
-	(vect_do_peeling_for_loop_bound): Reduce
-	min_scalar_loop_bound by one.
-	* tree-vectorizer.h: Add TARG_COND_TAKEN_BRANCH_COST and
-	TARG_COND_NOT_TAKEN_BRANCH_COST.	
-	* config/i386/i386.h (processor_costs): Add
-	scalar_stmt_cost, scalar_load_cost, scalar_store_cost,
-	vec_stmt_cost, vec_to_scalar_cost, scalar_to_vec_cost,
-	vec_align_load_cost, vect_unalign_load_cost,
-	vec_store_cost, cond_taken_branch_cost,
-	cond_not_taken_branch_cost.
-	Define macros for x86 costs.
-	* config/i386/i386.c:
-	(size_cost): Set scalar_stmt_cost, scalar_load_cost,
-	scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
-	scalar_to_vec_cost, vec_align_load_cost, 
-	vect_unalign_load_cost, vec_store_cost,
-	cond_taken_branch_cost, cond_not_taken_branch_cost to one. 
-	(i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
-	geode_cost, k6_cost, athlon_cost, pentium4_cost, nocona_cost, 
-	core2_cost, generic64_cost, generic32_cost): Set to default
-	untuned costs.
-	(k8_cost, amdfam10_cost): Costs for vectorization tuned.
-	(x86_builtin_vectorization_cost): New.
-
-2007-09-10  Janis Johnson  <janis187@us.ibm.com>
-	    Ben Elliston  <bje@au.ibm.com>
-
-	* dfp.c: Include decimal128Local.h; 
-	(dfp_byte_swap): Remove.
-	(encode_decimal32, decode_decimal32): Don't handle endianness.
-	(encode_decimal64, decode_decimal64): Ditto.
-	(encode_decimal128, decode_decimal128): Ditto.
-	* config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
-	(__swap64): Remove.
-	(host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
-	(__swap128): Remove
-	(host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
-	* Makefile.in (DECNUM_H): Add decimal128Local.h.
-
-2007-09-10  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
-	define_constants.
-	(memory_barrier): Rewrote as an insn that clobbers memory.
-
-2007-09-10  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_global_pointer): Check
-	call_really_used_regs instead of call_used_regs.
-	(mips_save_reg_p): Likewise.  Save all call-saved registers
-	if current_function_saves_all_registers.  Fix indentation.
-	No longer treat $18 as a special case.
-	(compute_frame_size): Guard FPR loop with TARGET_HARD_FLOAT.
-
-2007-09-10  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
-	* config/mips/mips.c (mips_cpu_info_table): Mention it in the
-	the introductory comment.
-	(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
-	(override_options): Don't test for it.
-	* config/mips/sde.h (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
-	(DRIVER_SELF_SPECS): Add MIPS_ARCH_FLOAT_SPEC.
-	* config/mips/vr.h: As for config/mips/sde.h.
-
-2007-09-10  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* target.h (struct gcc_target.sched): New field: sms_res_mii.
-	(struct ddg): Define.
-	* target-def.h (TARGET_SCHED_SMS_RES_MII): Define.
-	(TARGET_SCHED): Add TARGET_SCHED_SMS_RES_MII.
-	* config/spu/spu.c: Include ddg.h.
-	(TARGET_SCHED_SMS_RES_MII): Define.
-	(spu_sms_res_mii): New function to calculate mii.
-	* modulo-sched (res_MII): Use it.
-	* doc/tm.texi: Document TARGET_SCHED_SMS_RES_MII.
-
-2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (s390_dump_pool): Create copy of constant
-	pool entries since they might hold values that must not be shared.
-
-2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
-
-	* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
-	RTL level tracer pass.
-	* passes.c (init_optimization_passes): Move pass_tracer from
-	after pass_rtl_ifcvt to after pass_dce.
-	* tracer.c: Update copyright.
-	(layout_superblocks): Remove function.
-	(mark_bb_seen): New.
-	(bb_seen_p): New.
-	(count_insns): Change to estimate instructions in a Tree-SSA
-	statement.
-	(find_trace): Use bb_seen_p.
-	(tail_duplicate): Use bb_seen_p.  Call add_phi_args_after_copy
-	after duplicate_block.
-	(tracer): Change prototype to match that of a pass execute
-	callback.
-	(gate_tracer): Rename from gate_handle_tracer.
-	(rest_of_handle_tracer): Remove function.
-	* rtl.h: Remove prototype for tracer.
-	* testsuite/gcc.dg/tree-prof/tracer-1.c: New.
-
-2007-09-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/33369
-	* config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
-	Use 'N' operand constraint for op2.
-	(lshr<mode>3): Ditto.
-	(ashl<mode>3): Ditto.
-	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
-	(vec_shr_<mode>): Ditto.
-	* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
-	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
-
-2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
-	Change mode macro in the last real_2expN parameter to uppercase.
-
-2007-09-10  Michael Matz  <matz@suse.de>
-
-	* tree-pass.h (pass_cselim): Declare new pass.
-	* passes.c (init_optimization_passes): Link in pass_cselim.
-	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
-	tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
-	cond_store_replacement.
-	(condstoretemp): New static variable.
-	(cond_store_replacement): New function.
-	(tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
-	tree_ssa_phiopt_worker.
-	(struct name_to_bb): New.
-	(get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
-	nt_init_block, nt_fini_block): New static functions.
-	(seen_ssa_names, nontrap_set): New static variables.
-	(gate_cselim, pass_cselim): Define new pass.
-	* common.opt (ftree-cselim): New flag.
-	* toplev.c (process_options): Set flag_tree_cselim if required.
-
-2007-09-10  Hans-Peter Nilsson  <hp@axis.com>
-
-	* simplify-rtx.c (simplify_relational_operation_1): For recent
-	canonicalization, don't recurse if op1 equals both PLUS arguments.
-
-2007-09-09  David Daney  <ddaney@avtrex.com>
-
-	* optabs.c (expand_sync_operation):  Use plus insn if minus
-	CONST_INT_P(val).
-	(expand_sync_fetch_operation):  Ditto.
-
-2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
-	of cvtpq2ps.
-	(*floatsisf2_sse_vector): Likewise.
-
-2007-09-09  Krister Walfridsson  <cato@df.lth.se>
-
-	* config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
-
-2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.h (ix86_tune_indices): Rename
-	X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
-	(TARGET_USE_VECTOR_CONVERTS): Updated.
-	* config/i386/i386.c: Likewise.
-
-2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens <nigel@mips.com>
-
-	* doc/invoke.texi (Overall Options):  Add .sx file extension
-	as a synonym for .S.
-	* cppspec.c (known_suffixes): Likewise.
-	* gcc.c (default_compilers): Likewise.
-
-2007-09-09  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/30315
-	* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
-	* simplify-rtx.c (simplify_relational_operation_1): Add the
-	canonicalization from i386.h.
-	* doc/md.texi (Canonicalization of Instructions): Document it.
-
-2007-09-09  Jan Hubicka  <jh@suse.cz>
-	    Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
-
-	* config/i386/i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
-	(TARGET_USE_VECTOR_CONVERTS): New.
-	* config/i386/i386.md: New post-reload splitters for converting
-	SF to DF and DF to SF.
-	(floatsi* expander): Special case vector conversions.
-	(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
-	floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
-	floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
-	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
-	Disable when doing vector converts.
-	(floatsi<mode>2_i387): Disable when
-	* config/i386/sse.md (vec_dupv2df): Export.
-	* config/i386/i386.c (ix86_tune_features): Enable SSE conversions.
-
-2007-09-09  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_virtual_operand): Only mark
-	stores as has_volatile_ops if alias information is not available.
-
-2007-09-09  Revital Eres  <eres@il.ibm.com>
-
-	* doc/contrib.texi: Add myself.
-
-2007-09-09  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
-	stmt_vinfo_set_outside_of_loop_cost): New functions.
-	* tree-vect-transform.c (vect_get_cost_fields): Remove.
-	(vect_model_simple_cost): Call
-	stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
-	field instead of calling vect_get_cost_fields.
-	(vect_model_store_cost, vect_model_load_cost): Likewise.
-
-2007-09-09  Revital Eres  <eres@il.ibm.com>
-
-	* config/rs6000/rs6000.c (paired_init_builtins): Add const
-	declaration to bdesc_paired_preds variable.
-	(paired_expand_builtin): Likewise.
-
-2007-09-09  Revital Eres  <eres@il.ibm.com>
-
-	* dbgcnt.def (sms_sched_loop): New counter.
-	* modulo-sched.c: Use sms_sched_loop instead of
-	MAX_SMS_LOOP_NUMBER to determine the maximum number of loops to
-	perform swing modulo scheduling on.  Include dbgcnt.h.
-	* Makefile.in: Add DBGCNT_H to modulo-sched.o.
-	* params.def: Remove PARAM_MAX_SMS_LOOP_NUMBER.
-
-2007-09-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
-	Substitute all uses with ...
-	(MODEF): New mode iterator.
-
-	(fix_trunc<mode>_fisttp_i387_1): Remove operand constraints
-	from pre-regalloc define_insn_and_split splitter pattern.
-	(*fix_trunc<mode>_i387_1): Ditto.
-	(*fistdi2_1): Ditto.
-	(*fist<mode>2_1): Ditto.
-	(frndintxf2_floor): Ditto.
-	(*fist<mode>2_floor_1): Ditto.
-	(frndintxf2_ceil): Ditto.
-	(*fist<mode>2_ceil_1): Ditto.
-	(frndintxf2_trunc): Ditto.
-	(frndintxf2_mask_pm): Ditto.
-
-	(prologue): Use (const_int 0) as never generated filler insn.
-	(epilogue): Ditto.
-	(sibcall_epilogue): Ditto.
-	(eh_return_si): Ditto.
-	(eh_return_di): Ditto.
-
-	(add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
-	using MODEF mode iterator.
-	(sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
-	using MODEF mode iterator.
-	(mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
-	using MODEF mode iterator.
-	(nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
-	Macroize expander using MODEF mode iterator.
-
-	(zero_extendsidi2): Remove operand constraints from expander.
-	(smuldi3_highpart): Ditto.
-	(indirect_jump): Ditto.
-	(tablejump): Ditto.
-	(rsqrtsf2): Ditto.
-	* config/i386/sse.md (storentv4sf): Ditto.
-	(storentv2df): Ditto.
-	(storentv2di): Ditto.
-	(storentsi): Ditto.
-	(sse2_cvtpd2ps): Ditto.
-	(vec_interleave_highv16qi): Ditto.
-	(vec_interleave_lowv16qi): Ditto.
-	(vec_interleave_highv8hi): Ditto.
-	(vec_interleave_lowv8hi): Ditto.
-	(vec_interleave_highv4si): Ditto.
-	(vec_interleave_lowv4si): Ditto.
-	(vec_interleave_highv2di): Ditto.
-	(vec_interleave_lowv2di): Ditto.
-	(sse2_maskmovdqu): Ditto.
-	* config/i386/mmx.md (mmx_maskmovq): Ditto.
-
-2007-09-09  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
-	(struct _slp_tree, struct _slp_instance): Define new data structures
-	along macros for their access.
-	(struct _loop_vec_info): Define new fields: strided_stores,
-	slp_instances, and slp_unrolling_factor along macros for their access.
-	(enum slp_vect_type): New.
-	(struct _stmt_vec_info): Define new field, slp_type, and macros for
-	its access.
-	(STMT_VINFO_STRIDED_ACCESS): New macro.
-	(vect_free_slp_tree): Declare.
-	(vectorizable_load): Add an argument of type slp_tree.
-	(vectorizable_store, vectorizable_operation, vectorizable_conversion,
-	vectorizable_assignment): Likewise.
-	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
-	Declare (make extern).
-	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
-	(new_loop_vec_info): Likewise.
-	(destroy_loop_vec_info): Free memory allocated for SLP structures.
-	* tree-vect-analyze.c: Include recog.h.
-	(vect_update_slp_costs_according_to_vf): New.
-	(vect_analyze_operations): Add argument for calls to vectorizable_ ()
-	functions. For not pure SLP stmts with strided access check that the
-	group size is power of 2. Update the vectorization factor according to
-	SLP. Call vect_update_slp_costs_according_to_vf.
-	(vect_analyze_group_access): New.
-	(vect_analyze_data_ref_access): Call vect_analyze_group_access.
-	(vect_free_slp_tree): New functions.
-	(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
-	vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
-	vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
-	vect_detect_hybrid_slp): Likewise.
-	(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
-	and vect_detect_hybrid_slp.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
-	SLP costs into account.
-	(vect_get_cost_fields): New function.
-	(vect_model_simple_cost): Make extern, add SLP parameter and handle
-	SLP.
-	(vect_model_store_cost, vect_model_load_cost): Likewise.
-	(vect_get_constant_vectors): New function.
-	(vect_get_slp_vect_defs, vect_get_slp_defs,
-	vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
-	vect_get_vec_defs): Likewise.
-	(vectorizable_reduction): Don't handle SLP for now.
-	(vectorizable_call): Don't handle SLP for now. Add argument to
-	vect_model_simple_cost.
-	(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
-	get SLPed and vectorized defs). Fix indentation and spacing.
-	(vectorizable_assignment): Handle SLP.
-	(vectorizable_induction): Don't handle SLP for now.
-	(vectorizable_operation): Likewise.
-	(vectorizable_type_demotion): Add argument to
-	vect_model_simple_cost.
-	(vectorizable_type_promotion): Likewise.
-	(vectorizable_store, vectorizable_load): Handle SLP.
-	(vectorizable_condition): Don't handle SLP for now.
-	(vect_transform_stmt): Add a new argument for SLP. Check that there is
-	no SLP transformation required for unsupported cases. Add SLP
-	argument for supported cases.
-	(vect_remove_stores): New function.
-	(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
-	(vect_transform_loop): Schedule SLP instances.
-	* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.
-
-2007-09-09  Andrew Haley  <aph@redhat.com>
-
-	* optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
-	signed optab.
-
-2007-09-09  Hans-Peter Nilsson  <hp@axis.com>
-
-	Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
-	* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
-	Similar for what label_refs can go in the JUMP_TARGET field.  Split
-	REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
-	* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
-	REG_LABEL when replacing an operand with a LABEL_REF for a
-	non-jump insn.
-	(subst_reloads): When replacing a LABEL_REG with a register,
-	instead of generating a REG_LABEL note, assert that there already
-	is one or that the label is a known target for the insn.
-	* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
-	note, check the JUMP_LABEL field.  Remove "else" after return.
-	* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
-	cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
-	(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
-	REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
-	insns.  Iterate over all notes; don't assume there's only one.
-	* cse.c (recorded_label_ref): Adjust comment to refer to
-	REG_LABEL_OPERAND.
-	(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
-	insns, not just NONJUMP_INSN_P.
-	(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
-	isn't a jump target.
-	* jump.c (rebuild_jump_labels): Adjust head comment.
-	(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
-	don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
-	(mark_all_labels): For JUMP_P insns without a target, check if the
-	the target is noted on the previous nonjump insn.
-	(mark_jump_label_1): New function, guts from mark_jump_label.
-	<case IF_THEN_ELSE>: Handle first operand as a non-target when
-	marking jump target labels.
-	<case LABEL_REF>: Adjust for whether to generate a
-	REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
-	For 'E' format rtl, iterate in descending element order.
-	(delete_related_insns): Handle both REG_LABEL_TARGET and
-	REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
-	reference count, delete and fallthrough.  Move finding-next-
-	non-deleted insn last in the function.  Look at all INSN_P insns
-	for REG_LABEL_OPERAND notes.
-	(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
-	JUMP.
-	* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
-	JUMP_LABEL, output the INSN_UID of it.
-	* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
-	and/or REG_LABEL_TARGET.
-	(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
-	with jump.c copy by only adding notes for labels actually
-	referenced in the insn.
-	* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
-	usage count increment; handle all INSN_P trial insns.
-	(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
-	notes.
-	* rtl.h (struct rtx_def) <volatil>: Adjust to mention
-	REG_LABEL_TARGET and REG_LABEL_OPERAND.
-	(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
-	REG_LABEL_OPERAND.
-	* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
-	JUMP_P insns and REG_LABEL_OPERAND everywhere.
-	* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
-	on all INSN_P insns.
-	* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
-	* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
-	REG_LABEL_OPERAND notes.
-	* reload1.c (calculate_needs_all_insns): Adjust comments.
-	(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
-	* config/alpha/alpha.md (split for load of an address into a
-	four-insn sequence on Unicos/Mk): Adjust to use
-	REG_LABEL_OPERAND.
-	* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.
-
-2007-09-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	Revert:
-	2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-	* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
-	FOR_BB_INSNS_SAFE instead of for loop.
-	* cse.c (cse_extended_basic_block): Likewise.
-	* postreload.c (reload_cse_regs_1): New variable next. Make sure
-	that the for loop does not invoke NEXT_INSN on a deleted insn.
-	* function.c (instantiate_virtual_regs): Likewise.
-	* lower-subreg.c (remove_retval_note): Likewise.
-	(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
-	FOR_BB_INSNS.
-	* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
-	a deleted insn.
-	* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
-	insn, if it's a jump.
-	(try_redirect_by_replacing_jump): New variable jump_p. Call
-	tablejump_p before delete_insn_chain.
-	* reload1.c (reload): New variable next. Make sure that the for
-	loop does not invoke NEXT_INSN on a deleted insn.
-	(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
-	(delete_output_reload): New variable prev. Make sure the the for
-	loops do not invoke PREV_INSN on a deleted insn.
-
-2007-09-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa/constraints.md: Remove 'X' from unused letters comment.
-
-2007-09-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree-tailcall.c (find_tail_calls): If we don't have aliases
-	computed check stmt_ann->references_memory instead of counting
-	virtual operands.
- 
-2007-09-08  Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* cse.c (fold_rtx): Use validate_unshare_change() instead of
-	validate_change() in one more case.
-
-2007-09-08  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR tree-optimization/32283
-	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Use
-	estimated_loop_iterations.
-	(determine_use_iv_cost_condition): Decrease cost of expressions
-	used in iv elimination.
-
-2007-09-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree-cfg.c (verify_gimple_expr): Avoid building new
-	pointer types, use TYPE_POINTER_TO if available instead.
-
-2007-09-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/33329
-	PR rtl-optimization/26449
-	* config/i386/sse.md (mulv4si3): Do not expand sse2 sequence.
-	(*sse2_mulv4si3): New define_insn_and_split pattern. Split insn in
-	split1 pass.
-	(mulv16qi3): Implement as define_insn_and_split pattern instead of
-	define_expand.  Split insn in split1 pass.
-	(mulv2di3): Ditto.
-
-2007-09-08  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33301
-	* tree-vect-analyze (analyze_operations): Look at the type of the rhs
-	when relevant.
-
-2007-09-07  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR tree-optimization/32183
-	* Makefile.in (tree-ssa-reassoc.o): Also depend on $(CFGLOOP_H).
-
-	* tree-ssa-reassoc.c: Include cfgloop.h.
-	(is_reassociable_op): Add a loop argument and return true only
-	for inside loop.
-	(linearize_expr): Updated.
-	(should_break_up_subtract): Likewise.
-	(linearize_expr_tree): Likewise.
-	(init_reassoc): Call loop_optimizer_init with
-	AVOID_CFG_MODIFICATIONS.  Remove calculate_dominance_info call
-	with CDI_DOMINATORS.
-	(fini_reassoc): Call loop_optimizer_finalize.
-
-2007-09-07  Sterling Augustine  <sterling@tensilica.com>
-
-	* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
-	if there is no i-cache.
-
-2007-09-07  Richard Guenther  <rguenther@suse.de>
-
-	Reapply
-	2007-09-06  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32586
-	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
-	folding if nothing changed.
-	(simplify_unary_expression): New function.  Do tree combining
-	on conversion like codes.
-	(try_to_simplify): Call it.
-
-2007-09-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/33286
-	* gthr-posix.h (__gthread_active_p): Add implementation for hppa-hpux.
-	(__gthread_active,__gthread_start, __gthread_active_init): New.
-	* gthr-posix95.h: Likewise.
-
-2007-09-07  Roman Zippel <zippel@linux-m68k.org>
-
-	* function.h (struct function): Rename calls_unwind_init
-	to saves_all_registers.
-	(current_function_saves_all_registers): Renamed from
-	current_function_calls_unwind_init.
-	* reload1.c (reload): Set current_function_saves_all_registers.
-	* except.c (expand_builtin_unwind_init): Likewise.
-	* config/m68k/m68k.c (m68k_save_reg): Use
-	current_function_saves_all_registers to save pic register.
-
-2007-09-07  Janis Johnson  <janis187@us.ibm.com>
-
-	config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN.
-	config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto.
-
-	Reapply reverted changes:
-
- 	2007-09-06  Jan Hubicka  <jh@suse.cz>
- 
-	* config/i386.c (ix86_expand_lround, ix86_expand_round): Update call
-	of real_2expN.
-
-	2007-09-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
-	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
-
-	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-07  Diego Novillo  <dnovillo@google.com>
-
-	* tree-flow.h (const_block_stmt_iterator): Remove.
-	Update all users to use block_stmt_iterator.
-	* tree-iterator.h (const_tree_stmt_iterator): Remove.
-	Update all users to use tree_stmt_iterator.
-
-2007-09-07  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/mips/mips.c (mips_set_current_function): Temporarily
-	make this a no-op to fix bootstrap errors, pending rewrite.
-
-2007-09-07  Jan Hubicka  <jh@suse.cz>
-
-	* reorg.c (dbr_schedule): Move code removing placeholder USEs later
-	in the pass.
-
-2007-09-07  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/33299
-	* tree-vect-transform.c (vect_create_epilog_for_reduction): Update
-	uses for all relevant loop-exit phis, not just the first.
-
-2007-09-07  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33330
-	* tree-ssa-operands.c (access_can_touch_variable): An access
-	of the form (*p)[0] can touch a variable of same size.
-
-2007-09-07  Jan Hubicka  <jh@suse.cz>
-
-	* passes.c (init_optimization_passes): Add simple dce and addressable
-	passes.
-	* tree-ssa.c (execute_update_addresses_taken): New function.
-	(pass_update_address_taken): New.
-	* tree-ssa-dse.c (execute_simple_dse): New function.
-	(pass_simple_dse): New.
-	* tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare.
-
-2007-09-07  Tobias Burnus  <burnus@net-b.de>
-
-	PR middle-end/33321
-	* doc/invoke.texi: Fix -Wstrict-overflow= table.
-
-2007-09-07  Richard Guenther  <rguenther@suse.de>
-
-	Revert
-	2007-09-06  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32586
-	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
-	folding if nothing changed.
-	(simplify_unary_expression): New function.  Do tree combining
-	on conversion like codes.
-	(try_to_simplify): Call it.
-
-2007-09-07  Richard Guenther  <rguenther@suse.de>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32821
-	* tree_if_conv.c (combine_blocks): Use alloc_stmt_list instead of
-	NULL in the call to set_bb_stmt_list.
-
-2007-09-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (build_mips16_call_stub): Emit all direct
-	float calls here, rather than leaving some to the caller.
-	Use call_internal_direct and call_value_internal_direct.
-	* config/mips/mips.md (call_internal_direct): New pattern.
-	(call_value_internal_direct): Likewise.
-
-2007-09-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_base_move_loop_invariants): New variable.
-	(mips_set_mips16_mode): Restore flag_move_loop_invariants, then set
-	to 0 for MIPS16.
-	(override_options): Set mips_base_move_loop_invariants.
-
-2007-09-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.opt (mcode-readable=): Move to keep list
-	alphabetical.
-
-2007-09-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata
-	and -mgpopt options.  Adjust the -G documentation to match.
-	* config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New.
-	* config/mips/mips.c (mips_rtx_constant_in_small_data_p): New
-	function, split out from mips_classify_symbol.  Return false for
-	!TARGET_LOCAL_SDATA.
-	(mips_classify_symbol): Call mips_rtx_constant_in_small_data_p.
-	Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT.
-	(override_options): Check whether the -mgpopt setting is consistent
-	with the other flags.
-	(symbolic_expression_p): Delete.
-	(mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p
-	and default_elf_select_rtx_section.
-	(mips_in_small_data_p): Honor section attributes for MIPS16 too.
-	Return false for local data unless TARGET_LOCAL_SDATA.  Likewise
-	external data and TARGET_EXTERN_SDATA.
-
-2007-09-07  Tobias Burnus  <burnus@net-b.de>
-
-	PR fortran/33303
-	* doc/cpp.texi (Common Predefined Macros): Add __GFORTRAN__.
-
-2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
-	FOR_BB_INSNS_SAFE instead of for loop.
-	* cse.c (cse_extended_basic_block): Likewise.
-	* postreload.c (reload_cse_regs_1): New variable next. Make sure
-	that the for loop does not invoke NEXT_INSN on a deleted insn.
-	* function.c (instantiate_virtual_regs): Likewise.
-	* lower-subreg.c (remove_retval_note): Likewise.
-	(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
-	FOR_BB_INSNS.
-	* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
-	a deleted insn.
-	* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
-	insn, if it's a jump.
-	(try_redirect_by_replacing_jump): New variable jump_p. Call
-	tablejump_p before delete_insn_chain.
-	* reload1.c (reload): New variable next. Make sure that the for
-	loop does not invoke NEXT_INSN on a deleted insn.
-	(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
-	(delete_output_reload): New variable prev. Make sure the the for
-	loops do not invoke PREV_INSN on a deleted insn.
-
-2007-09-06  Zdenek Dvorak  <ook@ucw.cz>
-
-	* cgraphbuild.c (rebuild_cgraph_edges): Export.
-	* cgraph.h (rebuild_cgraph_edges): Declare.
-	* tree-pass.h (pass_expand_omp_ssa): New.
-	* omp-low.c (find_omp_clause): Export.
-	(copy_var_decl): Split from omp_copy_decl_2.
-	(build_omp_barrier): Return the call to emit instead of emitting
-	it directly.
-	(lower_rec_input_clauses, expand_omp_single): Gimplify the result of
-	build_omp_barrier.
-	(extract_omp_for_data, expand_parallel_call, expand_omp_parallel,
-	expand_omp_for_generic, expand_omp_for_static_nochunk,
-	expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
-	Adapted to work on SSA form.
-	(execute_expand_omp): Do not invalidate dominance information.
-	(gate_expand_omp): Do not run with -fopenmp-ssa flag.
-	(gate_expand_omp_ssa, pass_expand_omp_ssa): New.
-	* gimplify.c (gimplify_omp_for): Ensure that the control variable is
-	a gimple_reg.
-	(force_gimple_operand): Allow gimplifying code expressions without
-	value.
-	* tree-predcom.c (mark_virtual_ops_for_renaming): Handle phi nodes.
-	* common.opt (fopenmp-ssa): New.
-	* tree-flow.h (find_omp_clause, copy_var_decl): Declare.
-	* Makefile.in (tree-cfg.o): Add TREE_INLINE_H dependency.
-	* tree-cfg.c: Include tree-inline.h.
-	(struct move_stmt_d): Replace vars_to_remove by vars_map field.
-	(replace_by_duplicate_decl, replace_ssa_name,
-	mark_virtual_ops_in_region): New functions.
-	(move_stmt_r, move_block_to_fn, move_sese_region_to_fn): Adapted
-	to work on SSA form.
-	* passes.c (init_optimization_passes): Add pass_expand_omp_ssa pass.
-	* tree-ssa-operands.c (get_expr_operands): Handle operands of OMP
-	constructs.
-
-2007-09-06  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* tree-loop-linear.c: Include obstack.h.
-	(linear_transform_loops): New obstack lambda_obstack.
-	Initialize it, pass it to gcc_loopnest_to_lambda_loopnest,
-	lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls
-	and free afterwards.
-	* lambda.h (struct obstack): New forward declaration.
-	(lambda_linear_expression_new): New parameter of type struct
-	obstack *.
-	(lambda_loopnest_new): Likewise.
-	(lambda_loopnest_transform): Likewise.
-	(lambda_body_vector_new): Likewise.
-	(lambda_body_vector_compute_new): Likewise.
-	(gcc_loopnest_to_lambda_loopnest): Likewise.
-	(lambda_loopnest_to_gcc_loopnest): Likewise.
-	* lambda-code.c: Include obstack.h.
-	(lambda_lattice_new): New parameter lambda_obstack.  Use it for
-	allocation of ret.
-	(lambda_body_vector_new): Likewise.
-	(lambda_linear_expression_new): Likewise.
-	(lambda_lattice_new): Likewise.
-	(lambda_loopnest_new): Likewise.  Additionally use obstack to
-	allocate LN_LOOPS(ret).
-	(lambda_lattice_compute_base): New parameter lambda_obstack.  Pass
-	it to lambda_lattice_new.
-	(lambda_body_vector_compute_new): New parameter lambda_obstack.
-	Pass it to lambda_body_vector_new.
-	(lambda_lattice_compute_base): New paramater lambda_obstack.  Pass
-	it to lambda_lattice_new.
-	(compute_nest_using_fourier_motzkin): New parameter lambda_obstack.
-	Pass it to lambda_loopnest_new, lambda_linear_expression_new.
-	(lambda_compute_target_space): Likewise.
-	(lambda_compute_auxillary_space): New parameter lambda_obstack.
-	Pass it to lambda_lattice_compute_base and
-	compute_nest_using_fourieer_motzkin.
-	(lambda_loopnest_transform): New parameter lambda_obstack.  Pass
-	it to lambda_lattice_compute_base, lambda_lattice_auxillary_space
-	and lambda_lattice_compute_target_space.
-	(gcc_tree_to_linear_expression): Nex parameter lambda_obstack.
-	Pass it to lambda_linear_expression_new.
-	(gcc_loop_to_lambda_loop): New parameter lambda_obstack.  Pass it
-	to gcc_tree_to_linear_expression.
-	(gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack.
-	Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new.
-	(lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack.
-	Pass it to lambda_body_vector_new and
-	lambda_body_vector_compute_new.
-	* Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency.
-	(lambda-code.o): Likewise.
-
-2007-09-06  Chao-ying Fu  <fu@mips.com>
-
-	* ginclude/stdfix.h: New file.
-	* Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h.
-	(convert.o): Add dependence on fixed-value.h.
-	* c-convert.c (convert): Support FIXED_POINT_TYPE.
-	* c-cppbuiltin.c (builtin_define_fixed_point_constants): New function
-	to define fixed-point constants.
-	(c_cpp_builtins): Define fixed-point constants.
-	* convert.c (fixed-value.h): New include.
-	(convert_to_real): Update comment to include fixed-point.
-	Support FIXED_POINT_TYPE.
-	(convert_to_integer): Update comment to include fixed-point.
-	Support FIXED_POINT_TYPE.
-	(convert_to_complex): Support FIXED_POINT_TYPE.
-	(convert_to_fixed): New function.
-	* convert.h (convert_to_fixed): Declare.
-	* genopinit.c: Add comment about $Q for only fixed-point modes.
-	(optabs): Add fract_optab, fractuns_optab, satfract_optab,
-	satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab,
-	sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab,
-	ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab,
-	usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab,
-	usneg_optab for fixed-point modes.
-	(gen_insn): Add force_fixed to track the $Q format for all fixed-point
-	modes.
-	* optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR,
-	PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or
-	unsigned saturation optabs, when type is saturating.
-	(shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT.
-	(expand_fixed_convert): New function.
-	(gen_fixed_libfunc, gen_signed_fixed_libfunc,
-	gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc,
-	gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc,
-	gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc,
-	gen_fract_conv_libfunc, gen_fractuns_conv_libfunc,
-	gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New
-	functions.
-	(init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab,
-	ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab,
-	usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab,
-	ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab,
-	usneg_optab, fract_optab, fractuns_optab, satfract_optab,
-	satfractuns_optab.
-	Initialize fixed-point libraries, including add, ssadd, usadd, sub,
-	sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl,
-	ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract,
-	fractuns, satfractuns.
-	* optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub,
-	OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg,
-	OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen,
-	OTI_ssmsub_widen,  OTI_usmsub_widen.
-	(ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
-	usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
-	ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab,
-	umsub_widen_optab, usmsub_widen_optab): Define.
-	(enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract,
-	COI_satfractuns.
-	(fract_optab, fractuns_optab, satfract_optab, satfractuns_optab):
-	Define.
-	(expand_fixed_convert): Declare.
-	* expr.c (convert_move): Support the move of fixed-point modes.
-	(emit_move_insn_1): Handle fixed-point mode to move via integer.
-	(categorize_ctor_elements_1): Handle FIXED_CST.
-	(count_type_elements): Handle FIXED_POINT_TYPE.
-	(expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT,
-	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	Support FIXED_CST.
-	For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating
-	multiply and add/subtract for fixed-point types.
-	For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point
-	mode, we jump to binop directly.
-	Support FIXED_CONVERT_EXPR.
-	(do_store_flag): Check FIXED_CST to put a constant second.
-	(vector_mode_valid_p): Handle MODE_VECTOR_FRACT,
-	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	(const_vector_from_tree): Support FIXED_CST.
-	* doc/extend.texi (Fixed-Point): New node.
-	* doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv,
-	ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract,
-	satfract, fractuns, satfractuns): Document them.
-
-2007-09-07  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
-	addresses into I registers.
-
-2007-09-06  Jan Hubicka  <jh@suse.cz>
-	    Andreas Tobler  <a.tobler@schweiz.org>
-
-	* config/darwin.c (machopic_indirect_data_reference): Avoid invalid
-	sharing.
-	(machopic_legitimize_pic_address): Likewise.
-
-2007-09-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-	    Jan Hubicka  <jh@suse.cz>
-
-	* config/spu/spu.md (floatsidf2): Use convert_optab_libfunc
-	instead of ufloat_optab->handlers directly.
-	(floatdidf2): Likewise.
-
-2007-09-06  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/mips/mips.c:  Include diagnostic.h.
-	(mips_set_current_function): Check errorcount and sorrycount 
-	before generating RTL.
-
-2007-09-06  Richard Sandiford  <richard@codesourcery.com>
-
-	PR target/33256
-	* config/mips/mips.c (mips_classify_symbolic_expression): New function.
-	(mips_classify_address): Use it instead of mips_symbolic_constant_p.
-	(print_operand_reloc): Likewise.
-
-2007-09-06  Janis Johnson  <janis187@us.ibm.com>
-
-	Revert:
-
- 	2007-09-06  Jan Hubicka  <jh@suse.cz>
- 
-	* config/i386/i386.c (ix86_expand_lround, ix86_expand_round):
-	Update call of real_2expN.
-
-	2007-09-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
-	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
-
-	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-06  Tom Tromey  <tromey@redhat.com>
-
-	* tree-cfg.c (remove_bb): Only warn if line is non-zero.
-	* c-pch.c (c_common_read_pch): Restore current location after
-	reading PCH file.
-	* tree.c (expand_location): Update.
-	(expr_filename): Changed return type.  Unified the two cases.
-	(expr_lineno): Likewise.
-	(annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME
-	as lvalues.
-	* toplev.c (line_table): Changed type.
-	(general_init): Update.
-	(realloc_for_line_map): New function.
-	(general_init): Allocate line_table using GC.
-	* fix-header.c (line_table): Changed type.
-	(read_scan_file): Update.
-	(read_scan_file): Update.
-	* c-ppoutput.c (maybe_print_line): Update.
-	(print_line): Update.
-	(cb_line_change): Update.
-	(cb_define): Update.
-	(pp_file_change): Update.
-	* c-opts.c (c_common_init_options): Update.
-	(finish_options): Update.
-	(push_command_line_include): Update.
-	* c-lex.c (cb_line_change): Update.
-	(cb_def_pragma): Update.
-	(cb_define): Update.
-	(cb_undef): Update.
-	(c_lex_with_flags): Use cpp_get_token_with_location.
-	* input.h (line_table): Changed type.
-	(location_from_locus): New macro.
-	* tree.h (EXPR_FILENAME): No longer an lvalue.
-	(EXPR_LINENO): Likewise.
-	(expr_locus, set_expr_locus): Declare separately for
-	USE_MAPPED_LOCATION.
-	(expr_filename, expr_lineno): Changed return type.
-	* gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS.
-	* cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus.
-	(expand_gimple_basic_block): Likewise.
-	* final.c (final_scan_insn): Use expanded_location.
-
-2007-09-06  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32586
-	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
-	folding if nothing changed.
-	(simplify_unary_expression): New function.  Do tree combining
-	on conversion like codes.
-	(try_to_simplify): Call it.
-	* builtins.c (fold_builtin_cexp): Fold the built expressions.
-	* fold-const.c (fold_unary): Test result of get_callee_fndecl().
-
-2007-09-06  Jan Hubicka  <jh@suse.cz>
-
-	PR target/33318
-	* cse.c (fold_rtx): Avoid invalid sharing.
-
-2007-09-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
-	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
-
-2007-09-06  Revital Eres  <eres@il.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
-	Fix offsettable memory reference for 750CL.
-
-2007-09-06  Pat Haugen  <pthaugen@us.ibm.com>
-
-	* reload.c (find_reloads_address_1): Try to preserve original
-	base/index regclass of operands.
-	* regrename.c (scan_rtx_address): Likewise.
-	(replace_oldest_value_addr): Likewise.
-
-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>
-
-	* config/i386/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
-	* builtins.c (build_builtin_expect_predicate): New function.
-	(fold_builtin_expect): Add argument for expected value.
-	Distribute __builtin_expect over short-circuiting operations.
-	Fold nested builtin_expects.
-	(fold_builtin_2): Adjust call to fold_builtin_expect.
-
-2007-09-05  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR web/32965
-	PR tree-optimization/13756
-	* doc/invoke.texi (Options That Control Optimization): Document
-	-ftree-dse.
-
-2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/cpuid.h: New file.
-	* config/i386/driver-i386.c: Include cpuid.h.
-	(describe_cache): Shrink size and line strings to 100 bytes.
-	(detect_caches_amd): Return "" for unsupported max_ext_level.
-	Use __cpuid function.
-	(detect_caches_intel): Return "" for unsupported max_level.
-	Use __cpuid function.
-	(host_detect_local_cpu): Change feature flag variables to
-	unsigned int.  Initialize only extended feature flag variables.
-	Use __get_cpuid_max to determine max supported cpuid level.
-	Use __cpuid function to determine supported features.  Fix
-	calculation of family id.  Remove is_amd and check signature
-	directly.  Check for Geode signature.  Handle family 4 id.
-	[PROCESSOR_GENERIC32]: New default for unknown family id.  Move
-	cpu discovery code to lower part of the function.
-	[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
-	for sub-architecture.
-	[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
-	[PROCESSOR_K8]: Add k8-sse3 architecture.
-	[PROCESSOR_NOCONA]: Remove.
-	[PROCESSOR_GENERIC64]: Ditto.
-	* config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
-	* config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
-	to check for SSE and FXSAVE support.
-	* config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
-	Add -minline-all-stringops.
-	* config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
-	(x86_64-*-*): Ditto.
-
-2007-09-05  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/linux-unwind.h: New file.
-	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
-	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.
-
-2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* Makefile.in (stmt.o): Add alloc-pool.h dependency.
-	* stmt.c: Include alloc-pool.h.
-	(struct case_node): Remove GTY marker.
-	(add_case_node): New parameter case_node_pool.  Use it for
-	allocation of r.
-	(expand_case): New allocation pool case_node_pool.  Initialize it,
-	pass to add_case_node and free it.
-
-2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-	    Nigel Stephens <nigel@mips.com>
-
-	Add mips16/nomips16 function attributes and -mflip-mips16 option
-	for testing mixed-mode compilation.
-
-	* config/mips/mips.opt (mflip-mips16): New.
-
-	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
-	(SYMBOL_FLAG_MIPS16_FUNC_P): Define.
-
-	* config/mips/mips.c (mips_base_target_flags): New.
-	(mips_base_mips16): New.
-	(mips_base_schedule_insns): New.
-	(mips_base_reorder_blocks_and_partition): New.
-	(mips_base_align_loops): New.
-	(mips_base_align_jumps): New.
-	(mips_base_align_functions): New.
-	(mips16_flipper): New.
-	(mips_attribute_table): Add "mips16" and "nomips16" entries.
-	(TARGET_SET_CURRENT_FUNCTION): Define.
-	(mips_mips16_type_p, mips_nomips16_type_p): New.
-	(mips_comp_type_attributes): Check mips16/nomips16 attributes.
-	(mips_function_ok_for_sibcall): Make it deal with functions with
-	mips16 attributes.
-	(mips_init_split_addresses): New, split out from override_options.
-	(mips_init_relocs): New, split out from override_options.
-	(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
-	combination.  Remove error for mips16/dsp combination.	Save
-	base option settings.  
-	(mips_file_start): Move mips16 mode setting output from here....
-	(mips_output_function_prologue): ....to here.
-	(mips_output_mi_thunk): Check for mips16 function.
-	(build_mips16_function_stub): Don't set .mips16 here.
-	(build_mips16_call_stub): Likewise.
-	(mips_expand_builtin): Error in mips16 mode.
-	(mips_use_mips16_mode_p): New.
-	(mips_encode_section_info): Check for mips16 function, and set
-	SYMBOL_REF_FLAGS accordingly.
-
-	* doc/extend.texi (Function Attributes): Document new
-	mips16/nomips16 attributes.
-	* doc/invoke.texi (Option Summary): Add -mflip-mips16.
-	(MIPS Options): Document -mflip-mips16.
-
-2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* 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
-	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,
-	because that now enables emutls, which is not ABI compatible
-	with native TLS in non-MIPS16 mode.
-
-2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	Add target hook invoked when cfun changes.
-
-	* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
-	* target.h (struct gcc_target): Add set_current_function.
-	* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
-	(TARGET_INITIALIZER): Add initializer for set_current_function.
-	* tree.h (push_struct_function): New.
-	* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
-	* function.h: Here.
-	(set_cfun): Declare.
-	* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
-	* 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.
-	(in_dummy_function): New.
-	(invoke_set_current_function_hook): New.
-	(set_cfun): New.
-	(push_cfun, pop_cfun): Use set_cfun.
-	(push_struct_function): New.
-	(allocate_struct_function): Call invoke_set_current_function_hook
-	before returning.
-	(prepare_function_start): Don't set cfun here.  Remove unused
-	argument; fix all callers.
-	(init_dummy_function_start): Fiddle with in_dummy_function.  Call
-	push_struct_function.
-	(init_function_start): Set cfun here.
-	(expand_dummy_function_end): Fiddle with in_dummy_function.  Pop cfun.
-	* omp-low.c (create_omp_child_function): Use push_struct_function
-	and pop_cfun to save/restore state.
-	(expand_omp_parallel): Remove unused saved_cfun variable.
-	* cgraphunit.c (ipa_passes): Use set_cfun.
-	* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
-	* dwarf2out.c (dwarf2out_abstract_function): Likewise.
-	* matrix-reorg.c (transform_allocation_sites): Likewise.
-	(matrix_reorg): Use set_cfun.
-	* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
-	* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
-	assignment to cfun; use set_cfun for the other.
-	* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
-	(dump_function_to_file): Use push_cfun/pop_cfun here.
-	* c-decl.c (finish_function): Use set_cfun.
-
-2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* regrename.c (rerename_optimize): Use deferred rescanning and
-	insert explicit calls to rescan insns when changed.
-	
-2007-09-05  Jan Hubicka  <jh@suse.cz>
-
-	* optabs.c (libfunc_entry): Change optab to integer.
-	(hash_libfunc, convert_optab_libfunc, optab_libfunc,
-	set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
-	of pointers for hashing.
-
-2007-09-05  Jan Hubicka  <jh@suse.cz>
-
-	* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
-	verifier.
-	* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
-	* see.c (pass_see): Likewise.
-	* tracer.c (pass_tracer): Likewise.
-	* postreload-gcse.c (pass_gcse2): Likewise.
-	* postreload.c (pass_postreload_cse): Likewise.
-	* mode-switching.c (pass_mode_switching): Likewise.
-	* modulo-sched.c (pass_sms): Likewise.
-	* cse.c (cse_insn): Likewise.
-	* web.c (pass_web): Likweise.
-	* combine-stack-adj.c (pass_stack_adjustments): Likewise.
-	* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
-	* loop-init.c (pass_rtl_loop_init): Likewise.
-	(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
-	pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
-	* global.c (pass_global_alloc): Likewise.
-	* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
-	pass_if_after_reload): Likewise.
-	* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
-	* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
-	* regmove.c (pass_regmove): Likewise.
-	* function.c (pass_thread_prologugues_epilogues): Likewise.
-	* gcse.c (pass_gcse): Likewise.
-	* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
-	* lower-subreg.c (pass_lower_subreg2): Likewise.
-	* bt-load.c (pass_branch_target_load): Likewise.
-	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
-	* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
-	* combine.c (pass_combine): Likewise.
-	* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
-	(pass_partition_blocks): Likewise.
-	* var-tracking.c (pass_variable_track): Likewise.
-	* reg-stack.c (pass_stack_regs_run): Likewise.
-	* sched-rgn.c (pass_sched, pass_sched2): Likewise.
-	* passes.c (pass_postreload): Likewise.
-	(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
-	* tree-pass.h (TODO_verify_rtl_sharing): New.
-	(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
-	TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
-	TODO_set_props, TODO_df_finish, TODO_df_verify,
-	TODO_mark_first_instance, TODO_rebuild_alias): Renumber.
-
-2007-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* fold-const.c (all_ones_mask_p, sign_bit_p, simple_operand_p,
-	fold_real_zero_addition_p, reorder_operands_p,
-	div_if_zero_remainder, fold_undefer_overflow_warnings,
-	int_binop_types_match_p, fold_convert_const_int_from_int,
-	fold_convert_const_int_from_real,
-	fold_convert_const_int_from_fixed,
-	fold_convert_const_real_from_real,
-	fold_convert_const_real_from_fixed,
-	fold_convert_const_fixed_from_fixed,
-	fold_convert_const_fixed_from_int,
-	fold_convert_const_fixed_from_real, maybe_lvalue_p,
-	fold_checksum_tree, fold_check_failed, print_fold_checksum,
-	debug_fold_checksum, multiple_of_p): Constify.
-	* tree-flow-inline.h (get_lineno): Likewise.
-	* tree-flow.h (get_lineno): Likewise.
-	* tree-object-size.c (compute_object_offset, addr_object_size,
-	alloc_object_size, pass_through_call): Likewise.
-	* tree-pretty-print.c (op_symbol, print_call_name,
-	print_struct_decl, do_niy): Likewise.
-	* tree.h (fold_undefer_overflow_warnings, multiple_of_p,
-	debug_fold_checksum): Likewise.
-
-2007-09-04  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR middle-end/33029
-	* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
-	note, remove the associated REG_RETVAL note.
-
-2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* config.gcc (powerpc*-*-*): Install
-	spu2vmx.h, vec_types.h, and si2vmx.h headers.
-	* config/rs6000/spu2vmx.h: New header.
-	* config/rs6000/si2vmx.h: New header.
-	* config/rs6000/vec_types.h: New header.
-
-2007-09-05  Ben Elliston  <bje@au.ibm.com>
-
-	* varasm.c (initializer_constant_valid_p): Fix comment typo.
-
-2007-09-05  Ben Elliston  <bje@au.ibm.com>
-
-	* config/rs6000/ppu_intrinsics.h (__ldarx): Use `Z' constraint,
-	not `m' for *ptrp.
-	(__stdcx): Make asm volatile.
-	(__stwcx, __stdcx): Return only 0 or 1.
-
-2007-09-05  Jan Hubicka  <jh@suse.cz>
-
-	Revert:
-
-	2007-09-04  Jan Hubicka  <jh@suse.cz>
-	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
-
-	2007-09-04  Richard Guenther  <rguenther@suse.de>
-	* tree-ssa-operands.c (add_virtual_operand): Only mark
-	stores as has_volatile_ops if alias information is not available.
-
-2007-09-05  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/tramp.asm: Include config.h.
-	Check __PIC__ or __pic__ macro instead of SHARED.
-
-	PR rtl-optimization/32300
-	* see.c (see_copy_insn): New function.
-	(see_def_extension_not_merged, see_merge_one_use_extension,
-	see_merge_one_def_extension): Use it.  Avoid changing
-	PREV_INSN/NEXT_INSN chains directly, insted emit insns
-	into sequences.  Call df_insn_delete on temporary insns
-	that won't be emitted into the insn stream.
-	(rest_of_handle_see): Turn off DF_DEFER_INSN_RESCAN
-	and run df_process_deferred_rescans () before run_fast_dce.
-
-	PR tree-optimization/33017
-	* tree-data-ref.c (split_constant_offset) <case SSA_NAME>: Don't
-	recurse for pure or const function calls.
-
-2007-09-04  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* c-format.c: Include alloc-pool.h.
-	(check_format_info_main): New argument fwt_alloc.  Use allocation
-	pool instead of GC.  Remove GC deallocation code.
-	(check_format_arg): Create allocation pool, pass it to
-	check_format_info_main and free it afterwards.
-	* Makefile.in (c-format.o): Add alloc-pool.h dependency.
-
-2007-09-05  Ben Elliston  <bje@au.ibm.com>
-
-	* config/rs6000/ppu_intrinsics.h (__protected_stream_count):
-	Rename count macro arugment for clarity.
-	(__protected_unlimited_stream_set): Pass UG=1 to __dcbt_TH1000.
-	(__protected_stream_set): Likewise, pass 0.
-
-2007-09-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
-
-2007-09-04  Jan Hubicka  <jh@suse.cz>
-
-	* invoke.texi (-finline-small-functions): Document.
-	* ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE
-	when deciding what is inlinable.
-	(cgraph_decide_recursive_inlining): Handle flag_inline_functions.
-	(cgraph_decide_inlining_of_small_function): Handle new flags.
-	(cgraph_decide_inlining_incrementally): Likewise.
-	* opts.c (decode_options): Enable flag_inline_small_functions at -O2
-	* common.opt (finline-small-functions): New.
-	* Makefile.in (build/gengtype.o-warn): Work around PR29478
-
-2007-09-04  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-operands.c (add_virtual_operand): Only mark
-	stores as has_volatile_ops if alias information is not available.
-
-2007-09-04  Andrew Haley  <aph@redhat.com>
-
-	* config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
-
-2007-09-04  Andrew Haley  <aph@redhat.com>
-
-	* config/arm/libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
-	* config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New.
-	* config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New.
-
-2007-09-04  Emmanuel Thome  <Emmanuel.Thome@inria.fr>
-
-	PR c++/14178
-	* common.opt: Mention ABI version 2 in comment.
-
-2007-09-04  Jan Hubicka  <jh@suse.cz>
-
-	* optabs.c (debug_optab_libfunc): Update; make available to gdb.
-	(libfunc_entry): New structure.
-	(libfunc_hash): New hashtable.
-	(hash_libfunc): New function.
-	(eq_libfunc): New function.
-	(convert_optab_libfunc): New function.
-	(optab_libfunc): New function.
-	(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
-	expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
-	expand_float, expand_fix, new_optab, new_convert_optab):
-	 Update for new libfunc API.
-	(init_libfunc, init_integral_libfuncs,
-	init_floating_libfuncs, init_interclass_conv_libfuncs
-	init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
-	(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
-	gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
-	gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
-	gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
-	gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
-	gen_extend_conv_libfunc): New.
-	(init_one_libfunc): Revamp for hashtables.
-	(set_conv_libfunc): Likewise.
-	(init_optabs): Initialize hashtable; use lazy initialization where
-	possible.
-	* optabs.h (optab_handlers): Move out of GGC.
-	(optab, convert_optab): Move out of GGC; add lazy gen info.
-	(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
-	(optab_libfunc, convert_optab_libfunc): New.
-	* builtins.c (expand_builtin_powi): Update for new API.
-	* expr.c (convert_move): Likewise.
-	* expmed.c (expand_divmod): Likewise.
-
-2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
-	GOT pointer only if there is a constant pool.  Use the allocated space
-	for SPE also.
-
-2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
-	typo for AltiVec.
-
-2007-09-04  Revital Eres  <eres@il.ibm.com>
-	    Richard Guenther  <rguenther@suse.de>
-	    R. Clint Whaley  <whaley@cs.utsa.edu>
-
-	* doc/invoke.texi (-fassociative-math, -freciprocal-math):
-	Document new flags.
-	* tree-tailcall.c (process_assignment): Use -fassociative-math
-	when reodering operands of floating-point type.
-	* fold-const.c (fold_comparison, fold_binary): Use
-	-fassociative-math and -freciprocal-math instead of
-	-funsafe-math-optimization flag.
-	* toplev.h (set_unsafe_math_optimizations_flags): Declare function.
-	* tree-ssa-math-opts.c (gate_cse_reciprocals): Use
-	-freciprocal-math instead of -funsafe-math-optimizations.
-	* opts.c (set_fast_math_flags): Set -freciprocal-math and
-	-fassociative-math when -ffast-math is set.
-	(set_unsafe_math_optimizations_flags): New Function
-	to set -freciprocal-math and -fassociative-math when
-	-funsafe-math-optimizations is set.
-	(common_handle_option): Call it.
-	* tree-vectorizer.c (vect_is_simple_reduction): Use
-	-fassociative-math when doing reduction on floats.
-	* loop-unroll.c (analyze_insn_to_expand_var): Use
-	-fassociative-math when expanding an accumulator of type float.
-	* simplify-rtx.c (simplify_binary_operation_1): Use
-	-fassociative-math and -freciprocal-math when reordeing operands
-	of floating-point type.
-	* combine.c (combine_simplify_rtx): Likewise.
-	* tree-ssa-reassoc.c (break_up_subtract_bb, reassociate_bb):
-	Likewise.
-	* common.opt (-fassociative-math, -freciprocal-math): New flags.
-
-2007-09-04  Paolo Carlini  <pcarlini@suse.de>
-
-	PR c++/18608
-	* doc/install.texi (--enable-__cxa_atexit): Fix typo.
-
-2007-09-04  Jan Hubicka  <jh@suse.cz>
-
-	* regrename.c(copyprop_hardreg_forward_1): Unshare when doing copyprop.
-
-2007-09-04  Jan Hubicka  <jh@suse.cz>
-
-	* regrename.c (build_def_use): Don't share RTL between MATCH_OPERATOR
-	and corresponding MATCH_DUP.
-
-2007-09-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/33187
-	* combine.c (subst): Do not try to simplify X if it represents load
-	of FP constant from the constant pool via float extension.
-
-2007-09-04  Ben Elliston  <bje@au.ibm.com>
-
-	* c-opts.c: Include "tm_p.h".
-	* Makefile.in (c-opts.o): Add $(TM_P_H) as a dependency.
-
-2007-09-04  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33291
-	* tree-pretty-print.c (dump_generic_node): Dump all
-	qualifiers for pointer types, not only first.  Dump
-	qualifiers for aggregate types as well.
-	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Always
-	use the canonical type for building ARRAY_REFs.
-	* gimplify.c (canonicalize_addr_expr): Clean up.  The
-	correct validness check is compatibility of the pointer
-	types.  Always use the canonical type for building
-	ARRAY_REFs and ADDR_EXPRs.
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Revert
-	change that disabled propagation of ADDR_EXPRs into statements
-	with volatile ops.
-
-2007-09-03  Zack Weinberg  <zack@codesourcery.com>
-
-	* config/arm/arm.md (mulsidi3, umulsidi3, mulsi3_highpart)
-	(umulsi3_highpart): Make into expanders; existing insns are
-	now named *[insn]_nov6.  Add stars to existing [insn]_v6
-	counterparts' names.
-
-2007-09-03  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* Makefile.in (DRIVER_DEFINES, gcc.o, gccspec.o, protoize.o)
-	(unprotoize.o): Remove SHLIB_MULTILIB.
-
-2007-09-03  Eric Weddington  <eweddington@cso.atmel.com>
-
-	* doc/extend.texi: Document progmem attribute for AVR.
-
-2007-09-03  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/28902
- 	* config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
-
-2007-09-03  Zack Weinberg  <zack@codesourcery.com>
-
-	* optabs.c (expand_ffs): Initialize val and defined_at_zero
-	to avoid warnings.
-
-	* optabs.c: Remove unnecessary forward declarations.
-	(expand_unop_direct): New, broken out of expand_unop.
-	(expand_doubleword_clz): New.
-	(expand_ctz): Move above expand_ffs.  Use
-	start_sequence, end_sequence, add_equal_note, and
-	expand_unop_direct.  Add more commentary.
-	(expand_ffs): Try both ctz optab and expand_ctz.
-	Generate a test and branch if the hardware doesn't give us
-	a useful value for input zero.  Style improvements similar to
-	expand_ctz.
-
-	* config/arm/arm.md (ffssi2, ctzsi2): Delete.
-
-2007-09-03  Zack Weinberg  <zack@codesourcery.com>
-
-	* config.gcc: Delete stanza for arm-semi-aof and
-	armel-semi-aof targets.
-	* config/arm/arm-protos.h
-	* config/arm/arm.c
-	* config/arm/arm.h: Delete all #ifdef AOF_ASSEMBLER blocks;
-	make all #ifndef AOF_ASSEMBLER blocks unconditional.  Also
-	delete aof_pic_label and remove mention of AOF in comments.
-	* config/arm/arm.md: Delete patterns used only for AOF assembly.
-	* config/arm/aof.h
-	* config/arm/semiaof.h
-	* config/arm/t-semi: Delete file.
-
-2007-09-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
-	CONST_CAST_BB): New macros for type-specific casts.
-	(CONST_CAST): Add a TYPE parameter and define it in terms of
-	CONST_CAST2.
-
-	* c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST.
-	* c-lex.c (cb_ident, lex_string): Likewise,
-	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise,
-	* config/i386/i386.c (ix86_function_regparm,
-	ix86_function_sseregparm): Use CONST_CAST_TREE.
-	* config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for
-	CONST_CAST.
-	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
-	give_switch, set_multilib_dir): Likewise,
-	* gengtype-parse.c (string_seq, typedef_name): Likewise,
-	* gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE.
-	* jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX.
-	* passes.c (execute_one_pass): Supply a TYPE for CONST_CAST.
-	* prefix.c (update_path): Likewise,
-	* pretty-print.c (pp_base_destroy_prefix): Likewise,
-	* rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX.
-	* tree-cfg.c (tree_can_merge_blocks_p,
-	tree_block_ends_with_condjump_p): Use CONST_CAST_BB.
-	* tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE.
-	* tree.c (build_string): Supply a TYPE for CONST_CAST.
-	(attribute_list_contained): Use CONST_CAST_TREE.
-
-2007-09-03  Krister Walfridsson  <cato@df.lth.se>
-
-	* config/netbsd-elf.h (USE_LD_AS_NEEDED): Define.
-
-2007-09-03  Richard Sandiford  <richard@codesourcery.com>
-
-	PR middle-end/33290
-	* optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs
-	before forcing them into a register.
-
-2007-09-03  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (fetchop_bit): Use define_code_iterator
-	rather than define_code_macro.
-
-2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	* gcc.c (xputenv): New function.
-	(putenv_from_prefixes): Use xputenv instead of putenv.
-	(process_command): Use xputenv instead of putenv.
-	(set_collect_gcc_options): Use xputenv instead of putenv.
-	(main): Use xputenv instead of putenv.
-
-2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
-
-	* config/cris/cris.h (TARGET_HAS_SWAP): Defined to describe
-	availability of swap instruction.
-	* config/cris/cris.md (bswapsi2): Implement using swap instruction.
-
-2007-09-03  Revital Eres  <eres@il.ibm.com>
-
-	* doc/invoke.texi (-fmodulo-sched-allow-regmoves): Update
-	Documentation.
-
-2007-09-03  Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Ayal Zaks  <zaks@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (ps_insert_empty_row, verify_partial_schedule,
-	compute_split_row): New functions.
-	(ps_unschedule_node): Remove.
-	(normalize_sched_times): Iterate over the already scheduled
-	insns instead of the number of nodes.
-	(MAX_SPLIT_NUM): New definition.
-	(sms_schedule_by_order): Change the scheduling heuristic to
-	avoid useless increases of initiation interval ii.
-	(get_sched_window): Add dump printouts.
-
-2007-09-02  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP, UNSPEC_SYNC_OLD_OP,
-	UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE): New define_constants.
-	(optab, insn): Add more attributes.
-	(fetchop_bit): New code macro.
-	(immediate_insn): New code macro attribute.
-	(sync): Change condition to ISA_HAS_SYNC.
-	(rdhwr): Change predicate for operand 0 to register_operand.
-	(memory_barrier): New expand.
-	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
-	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
-	sync_new_sub<mode>, sync_<optab><mode>,	sync_old_<optab><mode>,
-	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
-	sync_new_nand<mode>, sync_lock_test_and_set<mode>): New insns.
-	* config/mips/mips.h (ISA_HAS_SYNC, ISA_HAS_LL_SC): New ISA predicates.
-	(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
-	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
-	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): New Macros.
-	
-2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
-	    Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/cris.h (TARGET_HAS_LZ, CLZ_DEFINED_VALUE_AT_ZERO):
-	Defined to describe availability and behavior of CLZ.
-	* config/cris/cris.md (clzsi2): Implement using lz instruction.
-	* config/cris/cris.opt: Tweak comment for "-metrax4".
-	* config/cris/arit.c (LZ): When defined, define as __builtin_clz.
-	* longlong.h [__CRIS__ && __CRIS_arch_version >= 3]
-	(count_leading_zeros): Define.
-
-2007-09-01  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* ggc-page.c (ggc_pch_read): Call validate_free_objects.
-
-2007-09-02  Joseph Myers  <joseph@codesourcery.com>
-
-	PR c/29237
-	PR middle-end/33272
-	* c-decl.c (grokdeclarator): Apply qualifiers to type of parameter
-	decayed from array.
-
-2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/arm/arm.c, config/rs6000/ppu_intrinsics.h,
-	config/spu/spu.c, df-scan.c, fixed-value.c, fold-const.c,
-	ginclude/tgmath.h, haifa-sched.c, optabs.c, recog.c,
-	sched-deps.c, sched-int.h, system.h, target.h,
-	tree-ssa-live.c, tree-vect-transform.c, tree-vectorizer.c,
-	tree.def: Fix comment typos.
-
-2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
-	(override_options): Turn on -mstrict-align on non-ColdFire
-	targets.
-	* config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment.
-
-2007-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-common.c (const_strip_array_types): Delete.
-	* c-common.h (const_strip_array_types): Likewise.
-	* emit-rtl.c (const_next_insn, const_previous_insn,
-	const_next_nonnote_insn, const_prev_nonnote_insn,
-	const_next_real_insn, const_prev_real_insn,
-	const_next_active_insn, const_prev_active_insn, const_next_label,
-	const_prev_label): Delete.
-	* gimple-low.c (block_may_fallthru): Use expr_last.
-	* jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
-	* rtl.h (const_previous_insn, const_next_insn,
-	const_prev_nonnote_insn, const_next_nonnote_insn,
-	const_prev_real_insn, const_next_real_insn,
-	const_prev_active_insn, const_next_active_insn, const_prev_label,
-	const_next_label): Delete.
-	* rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
-	* system.h (CONST_CAST): Update comment.
-	* tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
-	(const_first_stmt, const_last_stmt): Delete.
-	(tree_block_ends_with_condjump_p): Use last_stmt.
-	* tree-flow.h (const_first_stmt, const_last_stmt): Delete.
-	* tree-iterator.c (const_expr_first, const_expr_last,
-	const_expr_only): Delete.
-	* tree.c (const_lookup_attribute): Likewise.
-	(attribute_list_contained): Use lookup_attribute.
-	* tree.h (const_lookup_attribute, const_expr_first,
-	const_expr_last, const_expr_only): Delete.
-
-2007-09-01  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-alias.c (create_name_tags): Use TYPE_VOLATILE
-	instead of TREE_THIS_VOLATILE.
-	* tree-ssa-operands.c (add_virtual_operand): Do not set
-	has_volatile_ops.  Do not check s_ann for NULL.
-	(get_indirect_ref_operands): Likewise.
-	(get_expr_operands): Likewise.  For all reference trees
-	set has_volatile_ops based on TREE_THIS_VOLATILE.  Also
-	check base of reference for TREE_THIS_VOLATILE.
-
-2007-09-01  Richard Guenther  <rguenther@suse.de>
-
-	* tree-cfg.c (verify_gimple_expr): Fix check for conversions
-	between integral types.  Also allow conversions between
-	pointer types.
-
-2007-08-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* optabs.c (prepare_float_lib_cmp): Use
-	libgcc_cmp_return_mode instead of word_mode.
-	* config/dfp-bit.h: Likewise.
-	* config/fp-bit.h: Likewise.
-	* config/spu/spu.c (spu_libgcc_cmp_return_mode):
-	New function.
-	(spu_libgcc_shift_count_mode): New function.
-	(TARGET_LIBGCC_CMP_RETURN_MODE): Define.
-	(TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.
-
-2007-08-31  Joseph Myers  <joseph@codesourcery.com>
-
-	* tree-pretty-print.c: Include output.h.
-	(dump_decl_name, dump_generic_node): Use %wd with pp_printf, not
-	HOST_WIDE_INT_PRINT_DEC.
-	* Makefile.in (tree-pretty-print.o): Add dependency on output.h.
-
-2007-08-31  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR rtl-optimization/33224
-	* loop-iv.c (latch_dominating_def): Check that the definition belongs
-	to the analysed region.
-
-2007-08-31  Richard Guenther  <rguenther@suse.de>
-
-	* function.c (allocate_struct_function): Do not set
-	current_function_returns_pointer.
-	* function.h (struct var_refs_queue): Remove.
-	(struct simple_obstack_stack): Likewise.
-	(struct function): Remove fixup_var_refs_queue member.
-	Remove returns_pointer flag.
-	(current_function_returns_pointer): Remove define.
-
-2007-08-31  Nick Clifton  <nickc@redhat.com>
-
-	* tree-ssa-coalesce.c (compare_pairs): Use the elements as
-	secondary keys in order to obtain a stable sort.
-
-2007-08-31  Nick Clifton  <nickc@redhat.com>
-
-	PR target/33132
-	* config/m32r/constraints.md: Add W constraint for integer zero.
-	* config/m32r/m32r.md (get_pc): Use W and i constraints.
-	Fix length calculation by using alternatives.
-
-2007-08-31  Richard Sandiford  <richard@codesourcery.com>
-
-	* optabs.c (shift_optab_p, commutative_optab_p): New functions,
-	split out from expand_binop.
-	(avoid_expensive_constant): New function.
-	(expand_binop_directly): Remove commutative_op argument and
-	(expand_binop_directly): Remove commutative_op argument and
-	call cummutative_optab_p instead.  Do not change op0 or op1
-	when swapping xop0 and xop1.  Apply avoid_expensive_constant
-	to each argument after potential swapping.  Enforce the
-	canonical order of commutative operands.
-	(expand_binop): Use shift_optab_p and commutative_optab_p.
-	Update the calls to expand_binop_directly.  Only force constants
-	into registers when widening an operation.  Only swap operands
-	once a direct expansion has been rejected.
-	(expand_twoval_binop): Only force constants into registers when
-	using a direct expansion.
-
-2007-08-31  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* sched-deps.c (update_dep): Mark arguments with ATTRIBUTE_UNUSED.
-	(sched_analyze_insn): Don't postprocess speculative dependencies when
-	target has no scheduling.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Fix
-	'uninitialized' warning.
-
-2007-08-31  Richard Guenther  <rguenther@suse.de>
-
-	* tree.c (build_complex_type): Always set TYPE_NAME for
-	comples types.
-
-2007-08-31  Olivier Hainque  <hainque@adacore.com>
-
-	* config/rs6000/xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New
-	internal macro. Default alignment factor for csect directives, chosen
-	to match what BIGGEST_ALIGNMENT allows.
-	(DATA_SECTION_ASM_OP): Use it.
-	* config/rs6000/rs6000.c
-	(rs6000_xcoff_output_readonly_section_asm_op):
-	Use XCOFF_CSECT_DEFAULT_ALIGNMENT_STR.
-	(rs6000_xcoff_output_readwrite_section_asm_op): Likewise.
-	
-2007-08-31  Olivier Hainque  <hainque@adacore.com>
-
-	* dbxout.c (dbxout_block): Move declaration within the first
-	#if defined (DBX_DEBUGGING_INFO) block.  Rearrange another such
-	block to include the definition, together with the associated
-	helpers.
-
-2007-08-31  David Edelsohn  <edelsohn@gnu.org>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* doc/invoke.texi (-mpaired): Document flag.
-	* config.gcc: Include paired.h in powerpc extra_headers and
-	750cl.h in powerpc-*-linux*paired*.
-	* config/rs6000/rs6000.opt (-mpaired): New flag.
-	* config/rs6000/rs6000.c (paired_init_builtins,
-	paired_expand_builtin, paired_expand_lv_builtin,
-	paired_expand_stv_builtin, paired_expand_predicate_builtin):
-	New functions to support the paired single builtin functions.
-	(rs6000_hard_regno_mode_ok): Handle PAIRED_VECTOR_MODE.
-	(def_builtin, bdesc_3arg, bdesc_2arg, bdesc_1arg): Add paired
-	single builtins.
-	(bdesc_paired_preds): New structure for paired predicate
-	instructions.
-	(rs6000_expand_builtin): Expand paired single builtins.
-	(rs6000_init_builtins): Init paired single builtins.
-	(rs6000_common_init_builtins): Add v2sf_ftype_v2sf_v2sf_v2sf.
-	Rename v2sf_ftype_v2sf_v2sf to v2sf_ftype_v2sf_v2sf_spe
-	and v2sf_ftype_v2sf_spe to v2sf_ftype_v2sf.  Add new types
-	v2sf_ftype_v2sf_v2sf and v2sf_ftype_v2sf.
-	(rs6000_vector_mode_supported_p): Support paired vector mode.
-	* config/rs6000/rs6000.h: (UNITS_PER_PAIRED_WORD,
-	PAIRED_VECTOR_MODE, PAIRED_SIMD_REGNO_P, TARGET_PAIRED_FLOAT):
-	New.
-	(LOCAL_ALIGNMENT): Handle PAIRED_VECTOR_MODE.
-	(DATA_ALIGNMENT): Likewise.
-	(UNITS_PER_SIMD_WORD): Handle PAIRED_VECTOR_MODE.
-	(rs6000_builtins): Add PAIRED builtins.
-	* config/rs6000/rs6000.md: Include paired.md.
-	* config/rs6000/paired.h: New.
-	* config/rs6000/paired.md: New.
-	* config/rs6000/750cl.h: New.
-	* config/rs6000/spe.md: Recognize movv2sf instruction for 750cl.
-
-2007-08-30  Ollie Wild  <aaw@google.com>
-
-	* c-opts.c (c_common_handle_option): Support -fno-directives-only.
-	* gcc.c (default_compilers): Add -fno-directives-only to
-	@assembler-with-cpp.
-
-2007-08-30  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR middle-end/33211
-
-	* regclass.c (initial_fixed_regs): Revert previous change and make
-	it const again.
-	(initial_call_used_regs): Likewise.
-	(initial_call_really_used_regs): Delete, reverting previous addition.
-	(initial_reg_names): Likewise.
-	(init_reg_sets): Revert previous change.
-	(saved_fixed_regs): New.
-	(saved_call_used_regs): New.
-	(saved_call_really_used_regs): New.
-	(saved_reg_names): New.
-	(save_register_info): New.
-	(restore_register_info): New.
-	(init_reg_sets_1): Replace reset of register info with call to
-	restore_register_info.
-	* rtl.h (save_register_info): Declare.
-	* toplev.c (backend_init): Call save_register_info.
-
-2007-08-30  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
-
-	* tree-ssa-propagate.c (set_rhs): Remove the copied annotation
-	from the original statement.
-
-2007-08-30  Chao-ying Fu  <fu@mips.com>
-
-	* c-lex.c (interpret_fixed): Declare.
-	(interpret_float): Process _Fract and _Accum.
-	(interpret_fixed): New function.
-	* final.c (output_addr_const): Process CONST_FIXED.
-	* simplify-rtx.c (simplify_const_unary_operation): Handle US_NEG.
-	(simplify_binary_operation_1): Handle US_ASHIFT, SS_MULT, US_MULT,
-	SS_DIV, US_DIV.
-	(simplify_const_binary_operation): Handle SS_MULT, US_MULT, SS_DIV,
-	US_DIV, US_ASHIFT.
-	(simplify_immed_subreg): Support CONST_FIXED.
-	Process MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
-	(simplify_subreg): Support CONST_FIXED.
-
-2007-08-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* config/rs6000/ppu_intrinsics.h: New file.
-	* config.gcc (powerpc*-*-* <extra_headers>): Install
-	ppu_intrinsics.h.
-
-2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* cfg.c (dump_flow_info): Change to also print entry and exit
-	block info.
-	* print-rtl.c (print_rtl_single): Allow to print rtl with
-	-fdump-unnumbered.
-	
-2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* df-core.h (df_dump_region): New function.
-	* df.h (df_dump_region): New function.
-	* loop-invariant.c (find_defs): Add call to df_dump_region.
-	* loop-iv.c (iv_analysis_loop_init): Changed call from df_dump to
-	df_dump_region.
-	
-2007-08-30  Jakub Jelinek  <jakub@redhat.com>
-
-	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,
-	rather than if any returned false.
-
-2007-08-30  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/33199
-	* tree-ssa-structalias.c (handle_lhs_call): New function.
-	(find_func_aliases): In non-IPA mode make sure that for
-	calls that return a pointer we add a constraint for the
-	result to point to anything.
-
-2007-08-30  Richard Guenther  <rguenther@suse.de>
-
-	* doc/invoke.texi (-mveclibabi): Document new target option.
-	* config/i386/i386.opt (-mveclibabi): New target option.
-	* config/i386/i386.c (ix86_veclib_handler): Handler for
-	vectorization library support.
-	(override_options): Handle the -mveclibabi option, initialize
-	the vectorization library handler.
-	(ix86_builtin_vectorized_function): As fallback call the
-	vectorization library handler, if set.
-	(ix86_veclibabi_acml): New static function for ACML ABI style
-	vectorization support.
-
-2007-08-30  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_sync): For QI or HI mode
-	used_m, even if it is 32-bit aligned, adjust used_m MEM to have
-	SImode and update m.  Don't run gen_lowpart_common on arbitrary
-	memory address, force it to register first.
-
-	PR middle-end/32758
-	* dce.c (dce_process_block): Don't delete setters of
-	artificially used registers.
-
-2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	* config/s390/s390.md ("*add<mode>3_alc_carry1_cc",
-	"*add<mode>3_alc_carry1_cconly", "*add<mode>3_alc_carry2_cc",
-	"*add<mode>3_alc_carry2_cconly"): New insn definitions.
-
-2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
-
-	* config/s390/s390.c (s390_expand_addcc): Emit canonical alc
-	pattern.
-	* config/s390/s390.md ("*add<mode>3_alc_cc", "*add<mode>3_alc",
-	"addti3", "*adddi3_31z", "*scond<mode>"): Make alc pattern canonical.
-
-2007-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* system.h: Activate -Wcast-qual as warning-only.
-
-2007-08-29  Paolo Bonzini  <bonzini@gnu.org>
-
-	PR target/33168
-	* config/rs6000/rs6000.c (compare_section_name): New function.
-	(rs6000_elf_in_small_data_p): Compare section prefixes instead
-	of full name.
-
-2007-08-29  Olivier Hainque  <hainque@adacore.com>
-
-	* xcoffout.c: #include debug.h.
-	* Makefile.in (xcoffout.o): Add debug.h dependency.
-
-2007-08-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
-	Change CONST_VECTOR_ELT to XVECEXP in elem calculation.
-
-2007-08-29  Richard Guenther  <rguenther@suse.de>
-
-	* tree-pretty-print.c (dump_generic_node): Print
-	label DECL_UID as D.%u.
-	* tree-dfa.c (dump_variable): Print DECL_UID as D.%u.
-
-2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	* builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
-	* builtins.def (BUILT_IN_REALLOC): New builtin.
-
-2007-08-29  Douglas Gregor  <doug.gregor@gmail.com>
-
-	PR c++/33194
-	* tree.c (build_type_attribute_qual_variant): Set canonical types
-	on the final, unqualified attribute variant before building the
-	qualified version.
-
-2007-08-29  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.c (bfin_expand_builtin): Fix the argument
-	order of __builtin_bfin_cmplx_mac and __builtin_bfin_cmplx_msu.
-
-2007-08-29  Jie Zhang  <jie.zhang@analog.com>
-
-	Revert
-	2007-08-29  Jie Zhang  <jie.zhang@analog.com>
-	* config/bfin/bfin.md (composev2hi): Put operands into vector
-	with correct order.
-
-2007-08-29  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.md (composev2hi): Put operands into vector
-	with correct order.
-
-2007-08-29  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.c (bfin_expand_call): Inline PLT with l1_text
-	attribute when appropriate.
-	(bfin_handle_l1_text_attribute): New.
-	(bfin_handle_l1_data_attribute): New.
-	(bfin_attribute_table): Add attributes: l1_text, l1_data,
-	l1_data_A and l1_data_B.
-	* doc/extend.texi (node Function Attributes): Document l1_text
-	function attribute.
-	(Variable Attributes): Add Blackfin subsection. Document l1_data,
-	l1_data_A and l1_data_B variable attributes.
-
-2007-08-28  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.opt (minline-plt): Add.
-	* config/bfin/bfin.c (bfin_expand_call): Inline PLT when emit
-	call to global functions.
-	* doc/invoke.texi (Option Summary): Mention -minline-plt.
-	(Blackfin Options): Document -minline-plt.
-
-2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_get_function_kind): Assert we're never
-	given a non-function.
-	(m68k_ok_for_sibcall_p): Only sibcall functions of the same kind.
-
-2007-08-28  DJ Delorie  <dj@redhat.com>
-
-	* config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
-
-2007-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* system.h (CONST_CAST): Avoid union for gcc-4.0.x.
-
-2007-08-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree.h (struct tree_function_decl): Increase size of
-	function_code bitfield.
-
-2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
-	    Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/linux.h
-	(M68K_HONOR_TARGET_STRICT_ALIGNMENT): Redefine as 0.
-	* config/m68k/m68k.c (TARGET_RETURN_IN_MEMORY): New.
-	(m68k_return_in_memory): New.
-	* config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
-	New.
-
-2007-08-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32661
-	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
-	Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
-	operand) when top VEC_SELECT extracts scalar element.
-	* config/i386/sse.md (*vec_extract_v4si_mem): New pattern.
-	(*vec_extract_v4sf_mem): Ditto.
-
-2007-08-28  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/32370
-	* passes.c (init_optimization_passes): Move pass_df_finish
-	after pass_postreload sublist.
-
-	PR rtl-optimization/33148
-	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
-	(neg (lt X 0)) if X has scalar int mode.
-
-	PR debug/32914
-	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
-	initializer, use build_vector_from_ctor if possible to create
-	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
-	even after this, return NULL.
-
-2007-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
-
-	* c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST.
-
-2007-08-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
-	(struct tree_function_decl): Make function_code a bitfield.
-	Add disregard_inline_limits flag.
-	* cgraphunit.c (cgraph_process_new_functions): Check
-	DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
-	(cgraph_preserve_function_body_p): Likewise.
-	* ipa-inline.c (compute_inline_parameters): Likewise.
-	* c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
-	for GNU C extern inline functions.
-	(merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
-	* tree-inline.c (disregard_inline_limits_p): Remove.
-	* tree-inline.h (disregard_inline_limits_p): Likewise.
-	* c-common.c (handle_always_inline_attribute): Set
-	DECL_DISREGARD_INLINE_LIMITS.
-	* langhooks.c (add_builtin_function): Verify the function code
-	fits in the bitfield.
-
-2007-08-28  Mircea Namolaru  <namolaru@il.ibm.com>
-	    Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-	    Andrey Belevantsev  <abel@ispras.ru>
-
-	* config/spu/spu.md: Recognize doloop pattern when -fmodulo-sched
-	is set.
-	* modulo-sched.c: Add documentation regarding do-loop.
-	(doloop_register_get): Change number of arguments to support
-	the new do-loop pattern and check whether COUNT_REG has no other
-	occurences in the loop besides in the control part.
-	(duplicate_insns_of_cycles): Do not duplicate the insn which
-	changes count_reg as it is already adjusted.
-	(generate_prolog_epilog): New argument to support the new
-	do-loop pattern.  Change the subtract instruction to use
-	expand_simple_binop.  Call duplicate_insns_of_cycles with new
-	argument.
-	(sms_schedule): Call doloop_register_get and
-	generate_prolog_epilog with new argument.  Do not handle loops
-	with single sets insns with subreg in their lhs.
-	* loop-doloop.c (doloop_optimize): Support for another do-loop
-	pattern.
-	(doloop_condition_get): Gets an instruction instead of a pattern
-	and change the return condition when the do-loop pattern is
-	not parallel.
-	* ddg.c (create_ddg_dep_from_intra_loop_link): Handle only reg
-	deps when considering to not create edges.
-
-2007-08-27  Alexandre Oliva  <aoliva@redhat.com>
-
-	* doc/extend.texi (gnu_inline funtion attribute): Document C++
-	behavior.
-
-2007-08-27  Jason Merrill  <jason@redhat.com>
-
-	PR c++/31337
-	* gimplify.c (gimplify_modify_expr): Discard the assignment of 
-	zero-sized types after calling gimplify_modify_expr_rhs.
-
-2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* regclass.c (init_reg_autoinc): Fix typo.
-
-2007-08-27  Daniel Berlin  <dberlin@dberlin.org>
-	
-	Fix PR tree-optimization/33173
-	* tree-ssa-alias.c (find_used_portions): Fix reversed test.
-
-2007-08-27  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/31385
-	* config/i386/i386.h (VALID_DFP_MODE_P): New.
-	* config/i386/i386.c (ix86_hard_regno_mode_ok): Allow DFP in
-	GPR.
-
-2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-	    Nigel Stephens <nigel@mips.com>
-
-	Separate target-specific initialization from general
-	back-end initialization.
-
-	* toplev.c (init_alignments): New, split out from...
-	(process_options): ...here.
-	(backend_init_target): New, split out from...
-	(backend_init): ...here.
-	(lang_dependent_init_target): New, split out from...
-	(lang_dependent_init): ...here.
-	(target_reinit): New.
-	* toplev.h (target_reinit): Declare.
-	* expr.c (init_expr_target): Renamed from init_expr_once, since it
-	now can be called more than once.  Update comments.
-	* expr.h (init_expr_target): Likewise.
-	* alias.c (init_alias_target): Renamed from init_alias_once, since it
-	now can be called more than once.  Explicitly zero
-	static_reg_base_value.
-	* emit-rtl.c (init_emit_regs): New, split out from...
-	(init_emit_once): Here.
-	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
-	non-const, so that changes from command-line arguments can overwrite
-	values provided by the static initializers.
-	(initial_call_really_used_regs): New, used similarly to the above.
-	(initial_reg_names): Likewise.
-	(last_mode_for_init_move_cost): Promoted function-local static to
-	file-scope static to make it accessible outside init_move_cost.
-	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
-	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
-	reg_names since it is needed for parsing command-line options.
-	(init_move_cost): Use last_mode_for_init_move_cost instead of
-	function-local static.
-	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
-	call_really_used_regs now.  Reinitialize reg_names.  Also
-	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
-	reg_class_superunion.  Clear losing_caller_save_reg_set.
-	Preserve global registers if called more than once.  Reset
-	move cost, may_move_in_cost, may_move_out_cost, and
-	last_mode_for_init_move_cost.
-	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
-	can now be invoked more than once.  Update comments.
-	(init_regs): Update comments.
-	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
-	and initial_call_really_used_regs, instead of the non-initial 
-	variables.  This allows us to save the command-line register settings
-	after target reinitialization.
-	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
-	* rtl.h (init_emit_regs): Declare.
-	(init_reg_modes_target, init_alias_target): Renamed as described
-	above.
-	* reload1.c (init_reload): Update comments.
-	* optabs.c (init_optabs): Likewise.
-	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
-	
-2007-08-26  Chao-ying Fu  <fu@mips.com>
-
-	* rtl.h (XCNMPFV): Preserve const-ness of parameters through use of
-	__typeof().
-
-2007-08-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (memory_modified_1, memory_modified_in_insn_p):
-	Constify.
-	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
-	Likewise.
-	* bb-reorder.c (copy_bb_p): Likewise.
-	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
-	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
-	block_ends_with_condjump_p): Likewise.
-	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
-	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
-	block_ends_with_condjump_p): Likewise.
-	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
-	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
-	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
-	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
-	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
-	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
-	debug_true_const_tree instad of debug_true_tree.
-	* debug.c (do_nothing_debug_hooks): Likewise.
-	* debug.h (ignore_block, debug_true_const_tree): Constify.
-	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
-	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
-	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
-	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
-	dbx_reg_number, is_based_loc, field_type,
-	simple_type_align_in_bits, simple_decl_align_in_bits,
-	simple_type_size_in_bits, field_byte_offset, insert_float,
-	type_tag, member_declared_type, is_redundant_typedef,
-	secname_for_decl, is_inlined_entry_point): Likewise.
-	* emit-rtl.c (const_next_insn, const_previous_insn,
-	const_next_nonnote_insn, const_prev_nonnote_insn,
-	const_next_real_insn, const_prev_real_insn,
-	const_next_active_insn, const_prev_active_insn, const_next_label,
-	const_prev_label): Likewise.
-	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
-	Likewise.
-	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
-	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
-	sched_insn_is_legitimate_for_speculation_p): Likewise.
-	* jump.c (reversed_comparison_code_parts,
-	reversed_comparison_code, reversed_comparison, condjump_label):
-	Likewise.
-	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
-	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
-	Likewise.
-	* rtl.h (const_previous_insn, const_next_insn,
-	const_prev_nonnote_insn, const_next_nonnote_insn,
-	const_prev_real_insn, const_next_real_insn,
-	const_prev_active_insn, const_next_active_insn, const_prev_label,
-	const_next_label, modified_between_p, modified_in_p,
-	const_note_storeskeep_with_call_p, condjump_label,
-	reversed_comparison, reversed_comparison_code,
-	reversed_comparison_code_parts, memory_modified_in_insn_p,
-	stack_regs_mentioned): Likewise.
-	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
-	keep_with_call_p): Likewise.
-	* sched-deps.c (deps_may_trap_p, sched_get_condition,
-	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
-	sd_lists_size, sd_lists_empty_p): Likewise.
-	* sched-int.h (sched_insns_conditions_mutex_p,
-	haifa_classify_insn, no_real_insns_p,
-	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
-	sd_lists_size, sd_lists_empty_p): Likewise.
-	* sdbout.c (sdb_debug_hooks): Likewise.
-	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
-	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
-	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
-	Likewise.
-	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
-	tree_can_throw_internal): Likewise.
-	* tree-flow-inline.h (phi_nodes): Likewise.
-	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
-	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
-	* tree-gimple.c (const_get_call_expr_in): Likewise.
-	* tree-gimple.h (const_get_call_expr_in): Likewise.
-	* tree.c (const_lookup_attribute, attribute_list_equal,
-	attribute_list_contained): Likewise.
-	* tree.h (attribute_list_equal, attribute_list_contained,
-	const_lookup_attribute): Likewise.
-	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
-
-2007-08-26  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	* tree-ssa-sccvn.c, tree-ssa-sccvn.h, tree-vn.c,
-	tree-ssa-pre.c: Remove unnecessary trailing whitespace.
-
-2007-08-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/32991
-	* config/alpha/constraints.md: Delete "svn:mime-type" property
-	with svn propdel "svn:mime-type".
-
-2007-08-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR middle-end/33181
-	* ifcvt.c (noce_get_alt_condition): Make sure that the previous
-	non NOTE insn doesn't cross basic block.
-	(noce_try_abs): Likewise.
-	(noce_process_if_block): Likewise.
-
-2007-08-26  David Edelsohn  <edelsohn@gnu.org>
-
-	PR target/33151
-	* config/rs6000/predicates.md (offsettable_mem_operand): Memory
-	operand without auto-inc-dec.
-	* config/rs6000/rs6000.md (floatsidf2_internal): Use
-	offsettable_mem_operand.
-	(floatunssidf2_internal): Same.
-	(fix_truncdfsi2_internal): Same.
-	(floatsidf_ppc64): Same.
-	(floatunssidf_ppc64): Same.
-	(fix_trunctfsi2_internal): Same.
-
-2007-08-26  Bernhard Fischer  <aldot@gcc.gnu.org>
-
-	PR bootstrap/30620
-	* Makefile.in (libbackend.o): Add gcov-iov.h dependency and
-	pass defines needed for version.c.
-
-2007-08-25  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac (--debug-prefix-map check): Change assembler
-	version presumed to have feature to 2.18.
-	* configure: Regenerate.
-
-2007-08-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-common.c (vector_types_convertible_p,
-	decl_with_nonnull_addr_p, c_promoting_integer_type_p,
-	self_promoting_args_p): Constify.
-	* c-common.h (has_c_linkage, decl_with_nonnull_addr_p,
-	c_promoting_integer_type_p, self_promoting_args_p,
-	anon_aggr_type_p, vector_types_convertible_p): Likewise.
-	* c-decl.c (anon_aggr_type_p): Likewise.
-	* * c-dump.c (dump_stmt): Likewise.
-	* c-objc-common.c (has_c_linkage): Likewise.
-	* c-tree.h (same_translation_unit_p): Likewise.
-	* c-typeck.c (null_pointer_constant_p,
-	tagged_types_tu_compatible_p, function_types_compatible_p,
-	type_lists_compatible_p, lvalue_or_else, lvalue_p,
-	comptypes_internal, struct tagged_tu_seen_cache,
-	same_translation_unit_p, alloc_tagged_tu_seen_cache,
-	c_size_in_bytes): Likewise.
-	* ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor,
-	hash_ptr, eq_ptr): Likewise.
-	* langhooks-def.h (lhd_decl_ok_for_sibcall,
-	LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise.
-	* langhooks.c (lhd_decl_ok_for_sibcall): Likewise.
-	* langhooks.h (ok_for_sibcall, omp_privatize_by_reference):
-	Likewise.
-	* optabs.c (optab_for_tree_code): Likewise.
-	* optabs.h (optab_for_tree_code): Likewise.
-	* rtl.h (simplify_rtx): Likewise.
-	* simplify-rtx.c (simplify_rtx): Likewise.
-	* tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type,
-	dump_flag, dump_node): Likewise.
-	* tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index,
-	queue_and_dump_type, dump_flag): Likewise.
-	* tree-flow.h (vect_can_force_dr_alignment_p): Likewise.
-	* tree-pass.h (dump_node): Likewise.
-	* tree-vectorizer.c (vect_can_force_dr_alignment_p,
-	supportable_narrowing_operation): Likewise.
-	* tree-vectorizer.h (vect_can_force_dr_alignment_p,
-	supportable_narrowing_operation): Likewise.
-	* tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity,
-	is_negative_overflow_infinity, is_positive_overflow_infinity,
-	is_overflow_infinity, vrp_val_is_max, vrp_val_is_min,
-	nonnull_arg_p, get_value_range, vrp_operand_equal_p,
-	update_value_range, add_equivalence, ssa_name_nonnegative_p,
-	ssa_name_nonzero_p, fp_predicate): Likewise.
-	* tree.c (auto_var_in_fn_p, empty_body_p): Likewise.
-	* tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p,
-	ssa_name_nonnegative_p): Likewise.
-
-2007-08-25  Hans Kester  <hans.kester@ellips.nl>
-
-	* config.gcc : Add x86_64-elf target.
-
-2007-08-25  Jakub Jelinek  <jakub@redhat.com>
-
-	* expr.c (store_expr): Fix order of store_by_pieces arguments.
-
-2007-08-24  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens <nigel@mips.com>
-
-	PR target/11787
-
-	* doc/tm.texi (SET_RATIO, SET_BY_PIECES_P): Document new macros.
-	(STORE_BY_PIECES_P): No longer applies to __builtin_memset.
-	* expr.c (SET_BY_PIECES_P): Define.
-	(can_store_by_pieces, store_by_pieces): Add MEMSETP argument; use
-	it to decide whether to use SET_BY_PIECES_P or STORE_BY_PIECES_P.
-	(store_expr): Pass MEMSETP argument to can_store_by_pieces and
-	store_by_pieces.
-	* expr.h (SET_RATIO): Define.
-	(can_store_by_pieces, store_by_pieces):	Update prototypes.
-	* builtins.c (expand_builtin_memcpy): Pass MEMSETP argument to
-	can_store_by_pieces/store_by_pieces.
-	(expand_builtin_memcpy_args): Likewise.
-	(expand_builtin_strncpy): Likewise.
-	(expand_builtin_memset_args): Likewise.  Also remove special case
-	for optimize_size so that can_store_by_pieces/SET_BY_PIECES_P can
-	decide what to do instead.
-	* value-prof.c (tree_stringops_transform): Pass MEMSETP argument
-	to can_store_by_pieces.
-
-	* config/sh/sh.h (SET_BY_PIECES_P): Clone from STORE_BY_PIECES_P.
-	* config/s390/s390.h (SET_BY_PIECES_P): Likewise.
-
-	* config/mips/mips.opt (mmemcpy): Change from Var to Mask.
-	* config/mips/mips.c (override_options): Make -Os default to -mmemcpy.
-	* config/mips/mips.h (MIPS_CALL_RATIO): Define.
-	(MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Define.
-	(STORE_BY_PIECES_P): Define.
-
-2007-08-24  Tom Tromey  <tromey@redhat.com>
-
-	* varpool.c (varpool_last_needed_node): Fix comment typo.
-	* c-decl.c (duplicate_decls): Fix comment typo.
-	(clone_underlying_type): Update comment.
-
-2007-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
-	alpha_in_small_data_p, alpha_split_complex_arg,
-	alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
-	Constify.
-	* config/arm/arm-protos.h (arm_mangle_type): Likewise.
-	* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
-	Likewise.
-	* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
-	TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
-	* config/darwin-protos.h (darwin_binds_local_p): Likewise.
-	* config/darwin.c (darwin_binds_local_p): Likewise.
-	* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
-	Likewise.
-	* config/i386/i386-protos.h (i386_pe_binds_local_p,
-	i386_pe_valid_dllimport_attribute_p): Likewise.
-	* config/i386/i386.c (ix86_function_regparm,
-	ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
-	x86_can_output_mi_thunk, ix86_mangle_type,
-	TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
-	* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
-	i386_pe_binds_local_p): Likewise.
-	* config/ia64/ia64.c
-	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
-	ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
-	ia64_invalid_conversion, ia64_invalid_unary_op,
-	ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
-	Likewise.
-	* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
-	* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
-	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
-	* config/mips/mips.c (mips_use_blocks_for_constant_p,
-	mips_in_small_data_p, mips_use_anchors_for_symbol_p,
-	mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
-	mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
-	mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
-	* config/pa/pa.c (pa_commutative_p): Likewise.
-	* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
-	Likewise.
-	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
-	rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
-	rs6000_use_blocks_for_constant_p,
-	rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
-	invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
-	TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
-	* config/s390/s390.c (s390_mangle_type,
-	TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
-	Likewise.
-	* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
-	th_in_small_data_p): Likewise.
-	* config/sh/sh.c (sh_ms_bitfield_layout_p,
-	sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
-	Likewise.
-	* config/sparc/sparc.c (sparc_can_output_mi_thunk,
-	sparc_mangle_type): Likewise.
-	* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
-	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
-	* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
-	Likewise.
-	* hooks.c (hook_bool_mode_const_rtx_false,
-	hook_bool_mode_const_rtx_true,
-	hook_bool_const_tree_hwi_hwi_const_tree_false,
-	hook_bool_const_tree_hwi_hwi_const_tree_true,
-	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
-	hook_constcharptr_const_tree_null,
-	hook_constcharptr_const_rtx_null,
-	hook_constcharptr_const_tree_const_tree_null,
-	hook_constcharptr_int_const_tree_null,
-	hook_constcharptr_int_const_tree_const_tree_null): New.
-	(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
-	hook_bool_tree_hwi_hwi_tree_false,
-	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
-	hook_int_tree_tree_1, hook_constcharptr_tree_null,
-	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
-	hook_constcharptr_int_tree_null,
-	hook_constcharptr_int_tree_tree_null): Delete.
-	(default_can_output_mi_thunk_no_vcall): Constify.
-	* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
-	hook_bool_tree_hwi_hwi_tree_false,
-	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
-	hook_int_tree_tree_1, hook_constcharptr_tree_null,
-	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
-	hook_constcharptr_int_tree_null,
-	hook_constcharptr_int_tree_tree_null): Delete.
-	(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
-	hook_bool_const_tree_hwi_hwi_const_tree_false,
-	hook_bool_const_tree_hwi_hwi_const_tree_true,
-	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
-	hook_constcharptr_const_tree_null,
-	hook_constcharptr_const_rtx_null,
-	hook_constcharptr_const_tree_const_tree_null,
-	hook_constcharptr_int_const_tree_null,
-	hook_constcharptr_int_const_tree_const_tree_null): New.
-	(default_can_output_mi_thunk_no_vcall): Constify.
-	* integrate.c (function_attribute_inlinable_p): Likewise.
-	* integrate.h (function_attribute_inlinable_p): Likewise.
-	* jump.c (rtx_renumbered_equal_p): Likewise.
-	* output.h (decl_readonly_section, categorize_decl_for_section,
-	default_use_anchors_for_symbol_p, default_binds_local_p,
-	default_binds_local_p_1): Likewise.
-	* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
-	Likewise.
-	* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
-	TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
-	TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
-	TARGET_COMP_TYPE_ATTRIBUTES,
-	TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
-	TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
-	TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
-	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
-	TARGET_DWARF_CALLING_CONVENTION): Likewise.
-	* target.h (can_output_mi_thunk, needs_block_p,
-	first_cycle_multipass_dfa_lookahead_guard_spec,
-	vector_alignment_reachable, comp_type_attributes,
-	function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
-	commutative_p, use_blocks_for_constant_p,
-	use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
-	vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
-	invalid_within_doloop, valid_dllimport_attribute_p,
-	split_complex_arg, invalid_arg_for_unprototyped_fn,
-	invalid_conversion, invalid_unary_op, invalid_binary_op):
-	Likewise.
-	* targhooks.c (default_invalid_within_doloop,
-	hook_invalid_arg_for_unprototyped_fn,
-	default_builtin_vector_alignment_reachable): Likewise.
-	(hook_bool_rtx_commutative_p): Delete.
-	(hook_bool_const_rtx_commutative_p): New.
-	* targhooks.h (default_invalid_within_doloop,
-	default_builtin_vector_alignment_reachable,
-	hook_invalid_arg_for_unprototyped_fn): Constify.
-	(hook_bool_rtx_commutative_p): Delete.
-	(hook_bool_const_rtx_commutative_p): New.
-	* varasm.c (bss_initializer_p, decl_default_tls_model,
-	categorize_decl_for_section, decl_readonly_section,
-	default_use_anchors_for_symbol_p, default_binds_local_p,
-	default_binds_local_p_1): Constify.
-
-2007-08-24  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
-	__NO_BUILTIN if -fno-builtin.
-
-2007-08-24  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.c (print_operand): Report error instead of
-	ICE for wrong operand.
-
-2007-08-24  Michael Matz  <matz@suse.de>
-
-	* Makefile.in (GTFILES_H): Use $(patsubst) instead of $(subst).
-
-2007-08-24  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33166
-	* tree-ssa.c (useless_type_conversion_p): Split into a
-	recursive and a non-recursive part.
-	(useless_type_conversion_p_1): New function.
-	* tree-ssa-ccp.c (fold_stmt_r): Make sure that the result
-	from maybe_fold_offset_to_reference is trivially convertible
-	to the desired type before doing the simplification.
-
-2007-08-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* expr.c (store_expr): Optimize initialization of an array
-	with STRING_CST.
-	* expr.h (builtin_strncpy_read_str): New prototype.
-	* builtins.c (builtin_strncpy_read_str): Remove prototype.
-	No longer static.
-
-2007-08-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/33157
-	* ifcvt.c (noce_find_if_block): Do not clear if_info.cond_earliest
-	field when initializing if_info structure.
-
-2007-08-24  Richard Guenther  <rguenther@suse.de>
-
-	* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
-	dependencies.
-	* c-objc-common.c (c_cannot_inline_tree_fn): Remove.
-	* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
-	* tree-inline.c (inlinable_function_p): Fold in common parts of
-	the cannot_inline_tree_fn langhook.
-	* langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
-	(LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
-	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
-	cannot_inline_tree_fn langhook.
-	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
-	cannot_inline_tree_fn member.
-
-2007-08-24  Richard Guenther  <rguenther@suse.de>
-
-	* expr.c (get_inner_reference): Do computation of bitoffset
-	from offset in a way we can detect overflow reliably.
-
-2007-08-24  Jie Zhang  <jie.zhang@analog.com>
-
-	* crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc.
-
-2007-08-24  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin.opt (mfast-fp): Add.
-	* config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Let
-	libbffastfp override libgcc if -mfast-fp.
-	* config/bfin/bfin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
-	* doc/invoke.texi (Option Summary): Mention -mfast-fp.
-	(Blackfin Options): Document -mfast-fp.
-
-2007-08-24  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/32573
-	PR middle-end/32946
-	* tree-data-ref.c (initialize_data_dependence_relation): Clear
-	DDR_SUBSCRIPTS, DDR_DIR_VECTS and DDR_DIST_VECTS at the beginning.
-	(finalize_ddr_dependent): Clear DDR_SUBSCRIPTS after freeing it.
-	(build_classic_dist_vector): Return false rather than true if
-	DDR_ARE_DEPENDENT is non-NULL at the beginning.  Return false
-	if either subscript_dependence_tester_1 or build_classic_dist_vector_1
-	returned false.  Don't call save_dist_v before calling
-	build_classic_dist_vector_1.
-	(free_dependence_relation): Don't guard freeing DDR_SUBSCRIPTS
-	with NULL DDR_ARE_DEPENDENT.  Also free DDR_DIST_VECTS and/or
-	DDR_DIR_VECTS vectors.
-
-2007-08-23  Brian Sidebotham  <brian.sidebotham@gmail.com>
-
-	* configure.ac (leb128): Modify sed statement to work with any
-	binutils version string.
-	* configure: Regenerate
-
-2007-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* config/arc/arc-protos.h arc_select_cc_mode, gen_compare_reg):
-	Wrap in RTX_CODE macro guard.
-	* config/arm/pe.c (arm_dllexport_p, arm_dllimport_p,
-	arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport,
-	arm_mark_dllimport, arm_pe_encode_section_info,
-	arm_pe_unique_section): Use ISO-C function declarations.
-	* config/c4x/c4x-c.c (c4x_parse_pragma, c4x_pr_CODE_SECTION,
-	c4x_pr_DATA_SECTION, c4x_pr_FUNC_IS_PURE,
-	c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, c4x_pr_ignored):
-	Likewise.
-	* config/iq2000/iq2000.h (ASM_OUTPUT_SKIP): Fix format warning.
-	* config/m68hc11/m68hc11.h (ASM_OUTPUT_EXTERNAL): Undef before
-	defining.
-	* config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Fix format
-	warnings.
-	* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Likewise.
-	* config/pdp11/pdp11.c (pdp11_output_function_epilogue): Likewise.
-	(register_move_cost): Use ISO-C function declarations.
-	* config/pdp11/pdp11.h (PRINT_OPERAND): Fix format warnings.
-	* config/score/score-protos.h (score_declare_object): Add
-	ATTRIBUTE_PRINTF_4.
-	* config/score/score.h (ASM_DECLARE_OBJECT_NAME): Fix format
-	warnings.
-	* final.c (profile_function): Avoid empty if-bodies.
-	
-	
-	* calls.c (must_pass_in_stack_var_size,
-	must_pass_in_stack_var_size_or_pad): Constify.
-	* config/alpha/alpha-protos.h (function_value): Likewise.
-	* config/alpha/alpha.c (alpha_return_in_memory,
-	alpha_pass_by_reference, function_value,
-	unicosmk_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
-	Likewise.
-	* config/arc/arc.c (arc_return_in_memory, arc_pass_by_reference,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/arm/arm-protos.h (arm_return_in_memory,
-	arm_pad_arg_upward, arm_function_value): Likewise.
-	* config/arm/arm.c (arm_pass_by_reference,
-	arm_promote_prototypes, arm_return_in_msb, arm_must_pass_in_stack,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	arm_function_value, arm_return_in_memory, arm_pad_arg_upward):
-	Likewise.
-	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
-	* config/avr/avr-protos.h (avr_function_value): Likewise.
-	* config/avr/avr.c (avr_return_in_memory,
-	gas_output_limited_string, gas_output_ascii, avr_function_value,
-	avr_return_in_memory): Likewise.
-	* config/bfin/bfin-protos.h (bfin_return_in_memory): Likewise.
-	* config/bfin/bfin.c (bfin_pass_by_reference,
-	bfin_return_in_memory, TARGET_PROMOTE_PROTOTYPES,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN):
-	Likewise.
-	* config/cris/cris.c (cris_pass_by_reference,
-	TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
-	* config/crx/crx.c (crx_return_in_memory): Likewise.
-	* config/darwin.c (function_base, machopic_function_base_name):
-	Likewise.
-	* config/fr30/fr30.c (fr30_must_pass_in_stack,
-	TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/frv/frv.c (frv_must_pass_in_stack): Likewise.
-	* config/h8300/h8300.c (h8300_return_in_memory): Likewise.
-	* config/i386/i386-protos.h (ix86_return_in_memory,
-	ix86_sol10_return_in_memory): Likewise.
-	* config/i386/i386.c (ix86_function_value,
-	ix86_function_sseregparm, ix86_must_pass_in_stack,
-	type_natural_mode, classify_argument, examine_argument,
-	construct_container, ix86_pass_by_reference, function_value_32,
-	function_value_64, ix86_function_value_1, return_in_memory_32,
-	return_in_memory_64, return_in_memory_ms_64,
-	ix86_return_in_memory, ix86_sol10_return_in_memory,
-	TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/ia64/ia64-protos.h (ia64_function_value,
-	ia64_hpux_function_arg_padding): Likewise.
-	* config/ia64/ia64.c (hfa_element_mode, ia64_return_in_memory,
-	ia64_function_value, bundle_state_hash, bundle_state_eq_p,
-	ia64_hpux_function_arg_padding): Likewise.
-	* config/iq2000/iq2000-protos.h (function_arg,
-	iq2000_function_value): Likewise.
-	* config/iq2000/iq2000.c (iq2000_return_in_memory,
-	iq2000_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
-	function_arg, iq2000_function_value): Likewise.
-	* config/m32c/m32c-protos.h (m32c_function_value,
-	m32c_promote_function_return): Likewise.
-	* config/m32c/m32c.c (m32c_pass_by_reference,
-	m32c_promote_prototypes, m32c_promote_function_return,
-	m32c_function_value): Likewise.
-	* config/m32r/m32r.c (m32r_return_in_memory,
-	m32r_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
-	m32r_in_small_data_p): Likewise.
-	* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg_padding):
-	Likewise.
-	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory,
-	m68hc11_function_arg_padding): Likewise.
-	* config/m68k/m68k-protos.h (m68k_function_value): Likewise.
-	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES,
-	m68k_function_value): Likewise.
-	* config/mcore/mcore-protos.h (mcore_num_arg_regs,
-	mcore_function_value): Likewise.
-	* config/mcore/mcore.c (handle_structs_in_regs,
-	mcore_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
-	mcore_num_arg_regs, mcore_function_value): Likewise.
-	* config/mips/mips-protos.h (mips_pad_arg_upward,
-	mips_function_value): Likewise.
-	* config/mips/mips.c (mips_fpr_return_fields, mips_return_in_msb,
-	mips_return_in_memory, mips_pass_by_reference, mips_callee_copies,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	TARGET_PROMOTE_PROTOTYPES, mips_pad_arg_upward,
-	mips_function_value): Likewise.
-	* config/mmix/mmix-protos.h (mmix_function_outgoing_value):
-	Likewise.
-	* config/mmix/mmix.c (mmix_pass_by_reference,
-	TARGET_PROMOTE_FUNCTION_ARGS, mmix_function_outgoing_value,
-	mmix_encode_section_info): Likewise.
-	* config/mn10300/mn10300-protos.h (mn10300_function_value):
-	Likewise.
-	* config/mn10300/mn10300.c (mn10300_return_in_memory,
-	mn10300_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
-	mn10300_function_value): Likewise.
-	* config/mt/mt-protos.h (mt_function_value): Likewise.
-	* config/mt/mt.c (mt_pass_by_reference, mt_function_value,
-	mt_pass_in_stack, TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/pa/pa-protos.h (function_arg_padding, function_value,
-	pa_return_in_memory): Likewise.
-	* config/pa/pa.c (pa_pass_by_reference,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
-	function_arg_padding, function_value, pa_return_in_memory):
-	Likewise.
-	* config/pdp11/pdp11.c (pdp11_return_in_memory): Likewise.
-	* config/rs6000/rs6000-protos.h (rs6000_function_value,
-	function_arg_padding): Likewise.
-	* config/rs6000/rs6000.c (rs6000_return_in_memory,
-	rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg,
-	rs6000_pass_by_reference, rs6000_must_pass_in_stack,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	function_arg_padding, altivec_expand_dst_builtin,
-	altivec_expand_builtin, rs6000_expand_builtin, spe_init_builtins,
-	altivec_init_builtins, rs6000_common_init_builtins,
-	rs6000_function_value): Likewise.
-	* s390/s390-protos.h (s390_function_value): Likewise.
-	* config/s390/s390.c (s390_function_arg_size,
-	s390_pass_by_reference, s390_return_in_memory,
-	s390_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
-	* config/score/score-protos.h (score_function_value): Likewise.
-	* config/score/score.c (score_arg_partial_bytes,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	TARGET_PROMOTE_PROTOTYPES, score_return_in_memory,
-	score_pass_by_reference, score_add_offset, score_function_value):
-	Likewise.
-	* config/sh/sh-protos.h (sh_attr_renesas_p,
-	sh_promote_prototypes): Likewise.
-	* config/sh/sh.c (sh_return_in_memory, sh_pass_by_reference,
-	sh_callee_copies, sh_promote_prototypes, shcompact_byref,
-	sh_attr_renesas_p): Likewise.
-	* config/sparc/sparc-protos.h (function_value,
-	function_arg_padding): Likewise.
-	* config/sparc/sparc.c (sparc_promote_prototypes,
-	sparc_return_in_memory, sparc_pass_by_reference,
-	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
-	function_arg_record_value_2, function_arg_record_value_1,
-	function_arg_record_value, function_arg_record_value,
-	function_arg_padding, function_value): Likewise.
-	* config/spu/spu-protos.h (spu_function_value): Likewise.
-	* config/spu/spu.c (spu_pass_by_reference, spu_return_in_memory,
-	spu_function_value): Likewise.
-	* config/stormy16/stormy16-protos.h (xstormy16_function_value):
-	Likewise.
-	* config/stormy16/stormy16.c (xstormy16_return_in_memory,
-	xstormy16_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
-	Likewise.
-	* config/v850/v850.c (v850_return_in_memory,
-	v850_pass_by_reference, TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): Likewise.
-	* config/xtensa/xtensa.c (xtensa_return_in_msb,
-	xtensa_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
-	Likewise.
-	* explow.c (promote_mode, hard_function_value): Likewise.
-	* expr.h (hard_function_value, promote_mode): Likewise.
-	* function.c (aggregate_value_p): Likewise.
-	* hooks.c (hook_bool_const_tree_true): New.
-	* hooks.h (hook_bool_const_tree_true): New.
-	* sdbout.c (SET_KNOWN_TYPE_TAG, plain_type_1): Constify.
-	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS,
-	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
-	TARGET_RETURN_IN_MSB): Likewise.
-	* target.h (promote_function_args, promote_function_return,
-	promote_prototypes, return_in_memory, return_in_msb,
-	pass_by_reference, must_pass_in_stack, callee_copies,
-	function_value): Likewise.
-	* targhooks.c (default_return_in_memory,
-	hook_pass_by_reference_must_pass_in_stack,
-	hook_callee_copies_named,
-	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
-	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
-	default_function_value): Likewise. 
-	* targhooks.h (default_return_in_memory,
-	hook_pass_by_reference_must_pass_in_stack,
-	hook_callee_copies_named,
-	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
-	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
-	default_function_value): Likewise.
-	* tree-ssa-structalias.c (const_equiv_class_label_t): New.
-	(equiv_class_label_hash, equiv_class_label_eq): Constify.
-	* tree-vectorizer.c (bb_in_loop_p): Likewise.
-	* tree.c (needs_to_live_in_memory): Likewise.
-	* tree.h (struct tree_type, needs_to_live_in_memory,
-	aggregate_value_p, must_pass_in_stack_var_size,
-	must_pass_in_stack_var_size_or_pad): Likewise.
-	* vmsdbgout.c (write_debug_addr, write_debug_delta4,
-	write_debug_string, ASM_OUTPUT_DEBUG_STRING, write_rtnbeg,
-	lookup_filename): Likewise.
-
-2007-08-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/17390
-	* config/i386/i386.c (ix86_expand_fp_compare): Expand fp comparison to
-	fake fcomi i387 instruction for !TARGET_CMOVE.
-	(ix86_expand_branch): Expand natural sequence with one jump for
-	all targets, not only TARGET_CMOVE.
-	* config/i386/i386.md (*cmpfp_0_cc): New define_insn_and_split
-	pattern to implement fake fcomi sequence.  Split instruction after
-	reload to correct compare sequences.
-	(*cmpfp_xf_cc): Ditto.
-	(*cmpfp_<mode>_cc): Ditto.
-	(*cmpfp_u_cc): Ditto.
-	(*cmpfp_<mode>_cc): Ditto.
-
-2007-08-23  Richard Guenther  <rguenther@suse.de>
-
-	* tree-pretty-print.c (dump_generic_node): Annotate
-	GIMPLE_MODIFY_STMTs with volatile ops with "{v}".
-
-2007-08-23  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (expand_builtin_mathfn): Wrap argument in
-	save_expr directly instead of re-building the call.
-	(expand_builtin_mathfn_2): Likewise.
-	(expand_builtin_mathfn_3): Likewise.
-	(expand_builtin_interclass_mathfn): Likewise.
-	(expand_builtin_int_roundingfn): Set arg.
-	(expand_builtin_int_roundingfn_2): Likewise.
-
-2007-08-23  Paolo Bonzini  <bonzini@gnu.org>
-
-	* config/i386/sse.md (*sse_and<mode>3, *sse_ior<mode>3,
-	*sse_nand<mode>3, *sse_xor<mode>3): New.
-
-2007-08-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (PRINT_OPERAND_PUNCT_VALID_P): Add ';' code.
-	* config/i386/i386.c (print_operand): Handle ';' code.  Output
-	semicolon for TARGET_MACHO.
-	* config/i386/sync.md (*sync_compare_and_swap<mode>): Use '%;' to
-	emit semicolon after 'lock' prefix.
-	(sync_double_compare_and_swap<mode>): Ditto.
-	(*sync_double_compare_and_swapdi_pic): Ditto.
-	(*sync_compare_and_swap_cc<mode>): Ditto.
-	(sync_double_compare_and_swap_cc<mode>): Ditto.
-	(*sync_double_compare_and_swap_ccdi_pic): Ditto.
-	(sync_old_add<mode>): Ditto.
-	(sync_add<mode>): Ditto.
-	(sync_sub<mode>): Ditto.
-	(sync_ior<mode>): Ditto.
-	(sync_and<mode>): Ditto.
-	(sync_xor<mode>): Ditto.
-
-2007-08-22  Chao-ying Fu  <fu@mips.com>
-
-	* rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes
-	in DEF_RTL_EXPR.
-	(copy_rtx): Handle CONST_FIXED.
-	(rtx_equal_p): Likewise.
-	* rtl.h (fixed_value.h): New include.
-	(rtx_def): Add a new field of fixed_value to u.
-	(XCNMPFV): Define for accessing fixed_value.
-	(CONST_FIXED_VALUE, CONST_FIXED_VALUE_HIGH, CONST_FIXED_VALUE_LOW):
-	Define.
-	* rtl.def (CONST_FIXED): New constant.
-	(SS_MULT, US_MULT, SS_DIV, US_DIV, FRACT_CONVERT,
-	UNSIGNED_FRACT_CONVERT, SAT_FRACT, UNSIGNED_SAT_FRACT, US_NEG,
-	US_ASHIFT): New codes.
-	* doc/rtl.texi (Expressions): Document const_fixed, us_neg, ss_mult,
-	us_mult, ss_div, us_div, us_ashift, fract_convert, sat_fract,
-	unsigned_fract_convert, unsigned_sat_fract): Document them.
-	* varasm.c (assemble_integer): Extend to support fixed-point constants
-	by using different machine classes.
-	(decode_addr_const): Handle FIXED_CST.
-	(const_hash_1): Likewise.
-	(compare_constant): Likewise.
-	(copy_constant): Likewise.
-	(const_rtx_hash_1): Handle CONST_FIXED.
-	(output_constant_pool_2): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
-	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
-	MODE_VECTOR_UACCUM.
-	(initializer_constant_valid_p): Handle FIXED_CST.
-	(output_constant): Support FIXED_POINT_TYPE.
-	* gengenrtl.c (excluded_rtx): Check CONST_FIXED to exclude.
-	* cse.c (hash_rtx): Support CONST_FIXED.
-	(exp_equiv_p): Likewise.
-	(cannon_reg): Likewise.
-	(fold_rtx): Likewise.
-	(equiv_constant): Likewise.
-	(cse_process_notes_1): Likewise.
-	(count_reg_usage): Likewise.
-	* cselib.c (entry_and_rtx_equal_p): Check CONST_FIXED.
-	(rtx_equal_for_cselib_p): Handle CONST_FIXED.
-	(wrap_constant): Check CONST_FIXED.
-	(cselib_hash_rtx): Support CONST_FIXED.
-	(cselib_subst_to_values): Likewise.
-	* df-scan.c (df_uses_record): Likewise.
-	* gcse.c (want_to_gcse_p): Likewise.
-	(oprs_unchanged_p): Likewise.
-	(oprs_not_set_p): Likewise.
-	(compute_transp): Likewise.
-	(extract_mentioned_regs_helper): Likewise.
-	* genemit.c (gen_exp): Likewise.
-	* local-alloc.c (equiv_init_varies_p): Likewise.
-	(contains_replace_regs): Likewise.
-	(memref_referenced_p): Likewise.
-	* loop-invariant.c (check_maybe_invariant): Likewise.
-	(hash_invariant_expr_1): Likewise.
-	(invariant_expr_equal_p): Likewise.
-	* postreload-gcse.c (oprs_unchanged_p): Likewise.
-	* regclass.c (reg_scan_mark_refs): Likewise.
-	* regrename.c (scan_rtx): Likewise.
-	* resource.c (mark_referenced_resources): Likewise.
-	(mark_set_resources): Likewise.
-	* rtlanal.c (rtx_unstable_p): Likewise.
-	(rtx_varies_p): Likewise.
-	(count_occurrences): Likewise.
-	(reg_mentioned_p): Likewise.
-	(modified_between_p): Likewise.
-	(modified_in_p): Likewise.
-	(volatile_insn_p): Likewise.
-	(volatile_refs_p): Likewise.
-	(side_effects_p): Likewise.
-	(may_trap_p_1): Likewise.
-	(inequality_comparisons_p): Likewise.
-	(computed_jump_p_1): Likewise.
-	(commutative_operand_precedence): Likewise.
-	* sched-deps.c (sched_analyze_2): Likewise.
-	* sched-vis.c (print_value): Likewise.
-	* reload.c (operands_match_p): Likewise.
-	(subst_reg_equivs): Likewise.
-	* reload1.c (eliminate_regs_1): Likewise.
-	(elimination_effects): Likewise.
-	(scan_paradoxical_subregs): Likewise.
-	* alias.c (rtx_equal_for_memref_p): Likewise.
-	* Makefile.in (RTL_BASE_H): Add fixed-value.h.
-	* emit-rtl.c (const_fixed_htab): New hash table.
-	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed):
-	Declare.
-	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed,
-	const_fixed_from_fixed_value): New functions.
-	(verify_rtx_sharing): Handle CONST_FIXED.
-	(copy_rtx_if_shared_1): Likewise.
-	(reset_used_flags): Likewise.
-	(set_used_flags): Likewise.
-	(copy_insn_1): Likewise.
-	(init_emit_once): Create const_fixed_htab.
-	Store fixed-point scalar and vector zero and one to const_tiny_rtx.
-
-2007-08-22  Zdenek Dvorak  <ook@ucw.cz>
-
-	PR tree-optimization/32949
-	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Test nowrap_type_p
-	before failing for ivs with non-constant step.
-
-2007-08-22  Hans-Peter Nilsson  <hp@axis.com>
-
-	* doc/md.texi (Iterators): Renamed from Macros.  All contents
-	changed to reflect rename of respectively define_code_macro and
-	define_mode_macro to define_code_iterator and define_mode_iterator.
-	(Mode Iterators, Code Iterators): Similar.
-	* read-rtl.c (struct iterator_group, struct iterator_traverse_data)
-	(uses_mode_iterator_p, apply_mode_iterator, uses_code_iterator_p)
-	(apply_iterator_to_string, uses_iterator_p, apply_iterator_traverse)
-	(initialize_iterators, find_iterator, check_code_iterator)
-	(map_attr_string, apply_mode_maps, apply_iterator_to_rtx, add_mapping)
-	(read_mapping, read_rtx_1): Similar.
-	* config/alpha/sync.md, config/alpha/alpha.md, config/frv/frv.md,
-	config/s390/s390.md, config/m32c/blkmov.md, config/m32c/m32c.md,
-	config/spu/spu.md, config/sparc/sparc.md, config/sparc/sync.md,
-	config/i386/i386.md, config/i386/mmx.md, config/i386/sse.md,
-	config/i386/sync.md, config/crx/crx.md, config/xtensa/xtensa.md,
-	config/cris/cris.c, config/cris/cris.md, config/ia64/sync.md,
-	config/ia64/div.md, config/ia64/vect.md, config/ia64/ia64.md,
-	config/m68k/m68k.md, config/rs6000/spe.md, config/rs6000/altivec.md,
-	config/rs6000/sync.md, config/rs6000/rs6000.md,
-	config/arm/vec-common.md, config/arm/neon.md, config/arm/iwmmxt.md,
-	config/arm/arm.md, config/mips/mips-dsp.md, config/mips/mips.md,
-	config/vax/vax.md, config/bfin/bfin.md: Similar.
-
-2007-08-22  David Daney  <ddaney@avtrex.com>
-
-	* doc/install.texi (Testing): Mention testing on a simulator.
-
-2007-08-22  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/dfp-bit.c (DFP_TO_DFP): Check for overflow.
-
-	* doc/libgcc.texi (Decimal float library routines): Fix formatting
-	and rearrange floating point conversion functions into different
-	categories.
-
-2007-08-22  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* target.h (struct gcc_target.sched: dfa_pre_advance_cycle,
-	dfa_post_advance_cycle): New scheduler hooks.
-	* target-def.h (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
-	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): New macros to initialize
-	new hooks.
-	(TARGET_SCHED): Use them.
-	* doc/tm.texi (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
-	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Document new hooks.
-	* haifa-sched.c (advance_one_cycle): Invoke new hooks.
-
-	* genautomata.c (insn_has_dfa_reservation_p): New DFA interface
-	function to facilitate debugging.
-	(INSN_HAS_DFA_RESERVATION_P_FUNC_NAME): New macro.
-	(output_insn_has_dfa_reservation_p): New static function to output
-	insn_has_dfa_reservation_p ().
-	(write_automata): Use it.
-	* genattr.c (main): Output declaration for
-	insn_has_dfa_reservation_p ().
-
-2007-08-22  Christian Bruel  <christian.bruel@st.com>	
-	    Richard Guenther <rguenther@suse.de>
-	
-	* fold-const.c (fold_binary): Optimize A-A if -ffinite-math-only.
-	* simplify_rtx (simplify_binary_operation_1): Likewise.
-		
-2007-08-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR rtl-optimization/32557
-	* df-problems.c (df_note_bb_compute): Use mws->start_regno instead
-	of REGNO (mws->mw_reg).
-
-2007-08-22  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33007
-	* builtins.c (expand_builtin_int_roundingfn): Replace call
-	argument wrapped with SAVE_EXPR directly.
-	(expand_builtin_int_roundingfn_2): Likewise.
-
-2007-08-22  Richard Guenther  <rguenther@suse.de>
-
-	* tree-inline.c (inlinable_function_p): Restore disregarding
-	inline limits for GNU extern inline functions.
-
-2007-08-22  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32563
-	* tree.c (host_integerp): Treat sizetype as signed as it is
-	sign-extended.
-
-2007-08-21  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/33134
-	* tree-vrp.c (adjust_range_with_scev): Call
-	set_value_range_to_value.
-
-2007-08-21  Aldy Hernandez  <aldyh@redhat.com>
-
-	* value-prof.h (gimple_remove_histogram_value): Remove duplicate
-	prototype.
-	
-2007-08-21  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-flow-inline.h (next_imm_use_stmt): Remove unecessary
-	whitespace.
-
-2007-08-21  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* config/rs6000/rs6000.c (expand_block_clear): Add TARGET_SPE
-	cases to set eight bytes at a time.
-	(expand_block_move): Likewise.
-	
-2007-08-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR debug/32610
-	* dwarf2out.c (gen_decl_die): Don't call
-	gen_tagged_type_instantiation_die if decl doesn't have tagged type.
-
-2007-08-21  Paul Brook  <paul@codesourcery.com>
-	    Nathan Sidwell  <nathan@codesourcery.com>
-	    Mark Mitchell  <mark@codesourcery.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac: Add --with-pkgversion and --with-bugurl.
-	* configure: Regenerate.
-	* doc/install.texi: Document them.
-	* version.c (version_string): Remove VERSUFFIX.
-	(VERSUFFIX): Remove.
-	(pkgversion_string): New.
-	(bug_report_url): Do not hard-code initializer.
-	* version.h (pkgversion_string): Declare.
-	* Makefile.in (PKGVERSION_s, BUGURL_s, PKGVERSION, BUGURL_TEXI):
-	Define.
-	(version.o): Define PKGVERSION and BUGURL.
-	(gcc-vers.texi): Define VERSION_PACKAGE and BUGURL.
-	(%.pod): Define BUGURL.
-	* gcc.c (process_command, main): Use pkgversion_string.
-	* toplev.c (compile_file, print_version): Likewise.
-	* protoize.c (main): Likewise.
-	* gcov.c (print_version): Likewise.  Update copyright date.
-	* gcov-dump.c (print_version): Likewise.  Update copyright date.
-	* mips-tdump.c (main): Likewise.  Update copyright date.
-	* mips-tfile.c (main): Likewise.  Update copyright date.
-	* doc/include/gcc-common.texi: Include VERSION_PACKAGE as subtitle.
-	* doc/bugreport.texi: Use BUGURL for bug-reporting instructions;
-	shorten description.
-	* doc/gcc.texi: Include VERSION_PACKAGE in version description.
-	* doc/gccint.texi: Likewise.
-	* doc/invoke.texi: Use BUGURL for bug-reporting instructions.
-	Update copyright date.
-
-2007-08-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_clear): Use FLAGS_REG.
-	(ix86_expand_strlensi_unroll_1): Ditto.
-	(ix86_expand_branch): Use FLAGS_REG and FPSR_REG.
-	(ix86_expand_carry_flag_compare): Update comment.
-
-2007-08-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/32912
-	* fold-const.c (fold_unary): Optimize BIT_NOT_EXPR of VECTOR_CST.
-	(fold_binary): Handle vectors in X | ~X and X ^ ~X optimizations.
-
-2007-08-21  Richard Guenther  <rguenther@suse.de>
-
-	* fold-const.c (fold_binary): Revert removing of index +p PTR folding.
-
-2007-08-21  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/33122
-	* fold-const.c (fold_binary): Remove index +p PTR folding.
-	Fix types of POINTER_PLUS_EXPR generated by folding of
-	(PTR +p B) +p A.
-
-2007-08-20  Chao-ying Fu  <fu@mips.com>
-
-	* c-common.h (enum rid): Add new enumeration values of RID_SAT,
-	RID_FRACT, and RID_ACCUM.  RID_SAT needs to be inserted before
-	RID_ONEWAY, so that it can be checked in declspecs_add_type.
-	(c_common_fixed_point_type_for_size): Declare.
-	* c-parser.c (reswords): Add _Fract, _Accum, and _Sat.
-	(c_token_starts_typename): Handle RID_FRACT, RID_ACCUM, and RID_SAT.
-	(c_token_starts_declspecs): Likewise.
-	(c_parser_declspecs): Likewise.
-	(c_parser_attributes): Likewise.
-	* c-tree.h (enum c_typespec_keyword): Add cts_fract and cts_accum.
-	(c_declspecs): Add saturating_p.
-	* c-decl.c (build_null_declspecs): Initialize saturating_p.
-	(declspecs_add_type): Avoid using complex with _Fract, _Accum, or
-	_Sat.  Handle RID_SAT.
-	Avoid using void, bool, char, int, float, double, _Decimal32,
-	_Decimal64, _Decimal128, and complex with _Sat.
-	Handle RID_FRACT and RID_ACCUM.
-	Make sure _Sat is used with _Fract or _Accum.
-	(finish_declspecs): Handle cts_fract and cts_accum.
-	* c-common.c (fixed-value.h): New include.
-	(constant_expression_warning): Handle FIXED_CST.
-	(overflow_warning): Likewise.
-	(warnings_for_convert_and_check): Likewise.
-	(c_common_fixed_point_type_for_size): New.
-	(c_common_type_for_mode): Handle fixed-point modes to
-	return various saturating/non-saturating, signed/unsigned types.
-	(c_common_signed_or_unsigned_type): Support fixed-point types.
-	(shorten_compare): Check fixed-point zero.
-	Handle FIXED_POINT_TYPE.
-	(c_common_truthvalue_conversion): Handle FIXED_CST.
-	Handle FIXED_POINT_TYPE.
-	(c_common_nodes_and_builtins): Record builtin types for fixed-point
-	types.
-	(handle_mode_attribute): Handle fixed-point modes.  Need to check
-	if the signness of base type and fixed-point modes are consistent.
-	(handle_vector_size_attribute): Handle fixed-point modes.
-	(same_scalar_type_ignoring_signedness): Handle FIXED_POINT_TYPE.
-	(warn_for_div_by_zero): Check fixed-point zero.
-	* c-typeck.c (c_common_type): Check FIXED_POINT_TYPE.  Build
-	a common fixed-point type based on fbit, ibit, sign, and saturation.
-	(build_unary_op): Allow FIXED_POINT_TYPE for CONVERT_EXPR,
-	NEGATE_EXPR, TRUTH_NOT_EXPR, PREINCREMENT_EXPR, POSTINCREMENT_EXPR,
-	PREDECREMENT_EXPR, and POSTDECREMENT_EXPR.
-	(convert_for_assignment): Support FIXED_POINT_TYPE.
-	(digest_init): Handle FIXED_POINT_TYPE.
-	(build_binary_op): Support FIXED_POINT_TYPE in *_DIV_EXPR,
-	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
-	TRUTH_XOR_EXPR, RSHIFT_EXPR, LSHIFT_EXPR, EQ_EXPR, NE_EXPR, LE_EXPR,
-	GE_EXPR, LT_EXPR, GT_EXPR.
-	* target-def.h (TARGET_FIXED_POINT_SUPPORTED_P): New.
-	(TARGET_INITIALIZER): Add TARGET_FIXED_POINT_SUPPORTED_P.
-	* target.h (gcc_target): Add fixed_point_supported_p.
-	* targhooks.c (default_scalar_mode_supported_p): Handle MODE_FRACT,
-	MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM.
-	(default_fixed_point_supported_p): Define.
-	* targhooks.h (default_fixed_point_supported_p): Declare.
-	* doc/tm.texi (TARGET_FIXED_POINT_SUPPORTED_P): Add.
-	* doc/install.texi (Configuration): Add --enable-fixed-point.
-	* configure.ac (--enable-fixed-point): New to enable fixed-point
-	arithmetic extension to C.  For mips targets, we enable it by default.
-	* configure, config.in: Regenerate.
-
-2007-08-20  Pawel Sikora  <pluto@pld-linux.org>
-
-	* doc/invoke.texi (-Wnon-virtual-dtor): Update documentation.
-
-2007-08-20  David Edelsohn  <edelsohn@gnu.org>
-
-	* dwarf2out.c (text_section_used): Move declaration outside ifdef
-	DWARF2_DEBUGGING_INFO.
-	(cold_text_section_used): Same.
-	(cold_text_section): Same.
-
-2007-08-20  Richard Guenther  <rguenther@suse.de>
-
-	* c-typeck.c (convert_for_assignment): Use the type of
-	the member for the initialization.
-
-2007-08-20  Richard Guenther  <rguenther@suse.de>
-
-	* c-objc-common.c (c_disregard_inline_limits): Remove.
-	* c-objc-common.h (c_disregard_inline_limits): Likewise.
-	* cgraphunit.c (cgraph_process_new_functions): Call
-	disregard_inline_limits_p.
-	(cgraph_preserve_function_body_p): Likewise.
-	* ipa-inline.c (compute_inline_parameters): Likewise.
-	* langhooks-def.h (lhd_tree_inlining_disregard_inline_limits):
-	Remove.
-	(LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS): Remove.
-	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
-	disregard_inline_limits langhook.
-	* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
-	Remove.
-	* langhooks.h (lang_hooks_for_tree_inlining): Remove
-	disregard_inline_limits langhook.
-	* tree-inline.c (disregard_inline_limits_p): New function.
-	* tree-inline.h (disregard_inline_limits_p): Declare.
-
-2007-08-20  Richard Guenther  <rguenther@suse.de>
-
-	* langhooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.
-	(LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P): Likewise.
-	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
-	auto_var_in_fn_p langhook.
-	* langhooks.c (lhd_tree_inlining_auto_var_in_fn_p): Rename and
-	move ...
-	* tree.c (auto_var_in_fn_p): ... here.
-	(find_var_from_fn): Call auto_var_in_fn_p directly.
-	* langhooks.h (lang_hooks_for_tree_inlining): Remove
-	auto_var_in_fn_p langhook.
-	* tree-inline.c (remap_decls): Call auto_var_in_fn_p directly.
-	(copy_body_r): Likewise.
-	(self_inlining_addr_expr): Likewise.
-	* tree.h (auto_var_in_fn_p): Declare.
-
-2007-08-20  Richard Guenther  <rguenther@suse.de>
-
-	* tree.c (WALK_SUBTREE): Call walk_tree_1.
-	(walk_type_fields): Take lh parameter.
-	(walk_tree): Rename to ...
-	(walk_tree_1): ... this.  Do not call the walk_subtrees
-	langhook but the now passed callback.  Pass lh on recursion.
-	(walk_tree_without_duplicates): Rename to ...
-	(walk_tree_without_duplicates_1): ... this.  Take lh parameter
-	and call walk_tree_1.
-	* tree.h (walk_tree_lh): New typedef.
-	(walk_tree_1): Declare.
-	(walk_tree_without_duplicates_1): Likewise.
-	(walk_tree): New define to walk_tree_1 with NULL lh parameter.
-	(walk_tree_without_duplicates): New define to
-	walk_tree_without_duplicates_1 with NULL lh parameter.
-	* langhooks.c (lhd_tree_inlining_walk_subtrees): Remove.
-	* langhooks.h (lang_hooks_for_tree_inlining): Remove walk_subtrees
-	langhook.
-	* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Remove.
-	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
-	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove walk_subtrees
-	initializer.
-
-2007-08-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/30564
-	* tree-inline.c (optimize_inline_calls): Move the cgraph checking
-	code in front of the compacting of basic blocks.
-	Move the folding of statements inbetween the cgraph checking
-	and compacting of basic blocks.
-
-2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-	   Serge Belyshev  <belyshev@depni.sinp.msu.ru>
-
-	PR target/32522
-	* config/alpha/alpha.c (va_list_skip_additions): Check for
-	POINTER_PLUS_EXPR in addition to PLUS_EXPR.
-	(alpha_stdarg_optimize_hook): Look for POINTER_PLUS_EXPR instead of
-	PLUS_EXPR when checking ap.__base.
-	(alpha_va_start): Create POINTER_PLUS_EXPR instead of PLUS_EXPR
-	when doing addition on pointer types.  Use size_int instead of
-	build_int_cst.
-	(alpha_gimplify_va_arg_1): Likewise, but use sizetype instead of
-	ptr_type in the second operand.
-
-2007-08-19  Andrew Pinski  <pinskia@gmail.com>
-
-	PR target/33115
-	* config/i386/darwin.h (CC1_SPEC): Add %(cc1_cpu) in front.
-
-2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32940
-	* cfgexpand.c  (expand_one_register_var): Mark pointer
-	DECL_ARTIFICIAL as REG_POINTER also.
-	* stmt.c (expand_decl): Likewise.
-
-2007-08-19  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR 32772
-	Fix PR 32716
-	Fix PR 32328
-	Fix PR 32303
-
-	* tree-flow.h (struct stmt_ann_d): Remove makes_clobbering_call.
-	* tree-ssa-alias.c (init_transitive_clobber_worklist): Add
-	on_worklist argument and avoid adding things to worklist multiple
-	times.
-	(add_to_worklist): Ditto.
-	(mark_aliases_call_clobbered): Mark entire structure clobbered if
-	single SFT is clobbered.
-	(set_initial_properties): Ditto.
-	(compute_call_clobbered): Update for changes to function
-	arguments.
-	(create_overlap_variables_for): Always create SFT for offset 0.
-	(create_structure_vars): Handle PHI's, since we are in SSA form at
-	this point.
-	* tree-ssa-loop-ivopts.c (get_ref_tag): Don't return subvars.
-	* tree-ssa-operands.c (access_can_touch_variable): Don't handle
-	TARGET_MEM_REF.
-	(add_vars_for_offset): Figure out aliases from access + points-to.
-	(add_virtual_operand): Use add_vars-for_offset.
-	(get_tmr_operands): Update for NMT changes, rewrite to be correct.
-	(add_call_clobber_ops): Remove makes_clobbering_call set.
-	(get_expr_operands): Always pass through the INDIRECT_REF
-	reference.
-	* tree-ssa-structalias.c (struct constraint_graph): Remove
-	variables member.
-	Add pe, pe_rep, pointer_label, loc_label, pointed_by, points_to,
-	address_taken, pt_used, number_incoming.
-	(FIRST_ADDR_NODE): Removed.
-	(merge_graph_nodes): Remove broken code for the moment.
-	(init_graph): New function.
-	(build_pred_graph): Remove code to init_graph.
-	Add location equivalence support.
-	(struct scc_info): Rename roots to deleted.
-	(scc_visit): Ditto.
-	(init_scc_info): Ditto
-	(init_topo_info): Use graph->size.
-	(compute_topo_order): Ditto.
-	(do_da_constraint): Removed.
-	(do_sd_constraint): Remove calls to find().
-	set_union_with_increment should always get 0 as last arg here.
-	(do_complex_constraint): Replace do_da_constraint with assert.
-	Stop calling find.
-	(struct equiv_class_label): New.
-	(pointer_equiv_class_table): Ditto.
-	(location_equiv_class_table): Ditto.
-	(equiv_class_label_hash): Ditto.
-	(equiv_class_label_eq): Ditto
-	(equiv_class_lookup): Ditto.
-	(equiv_class_ladd): Ditto.
-	(pointer_equiv_class): Ditto.
-	(location_equiv_class): Ditto.
-	(condense_visit): Rename and rewrite from label_visit to do only
-	SCC related stuff for HU.
-	(label_visit): Do HU work for HU.
-	(perform_var_substitution): Update to do HU and location
-	equivalence.
-	(free_var_substitution_info): Update to free HU and location
-	equivalence structures.  */
-	(find_equivalent_node): Update for pointer but not location
-	equivalence.
-	(unite_pointer_equivalences): New function.
-	(move_complex_constraints): Rewrite to only do moving.
-	(rewrite_constraints): Split out of move_complex_constraints.
-	(solve_graph): Use graph->size.
-	(process_constraint_1): Add from_call argument, use it.
-	Split *a = &b into two constraints.
-	(process_constraint): Use new process_constraint_1.
-	(get_constraint_for_component_ref): Handle bitmaxsize == -1 case.
-	(get_constraint_for): Handle non-pointer integers properly.
-	Remove code that used to handle structures.
-	(handle_ptr_arith): Fix a few bugs in pointer arithmetic handling
-	with unknown addends.
-	(handle_rhs_call): New function.
-	(find_func_aliases): Use handle_rhs_call.
-	(set_uids_in_ptset): Add an assert.
-	(set_used_smts): Fix bug in not considering unified vars.
-	(compute_tbaa_pruning): Stop initing useless iteration_obstack.
-	(compute_points_to_sets): Update for other function changes.
-	(delete_points_to_sets): Ditto.
-	(ipa_pta_execute): Ditto.
-	(pass_ipa_pta): We need to update SSA after ipa_pta.
-	
-2007-08-19  Jan Hubicka  <jh@suse.cz>
-
-	* config/i386/i386.md: Replace "rim" and "mri" constraints by "g".
-
-2007-08-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* dwarf2out.c (text_section_used, cold_text_section_used,
-	cold_text_section, dwarf2out_note_section_used): New.
-	(dwarf2out_init): Initialize cold_text_section.
-	(dwarf2out_switch_text_section, dwarf2out_begin_function): Call
-	dwarf2out_note_section_used.
-	(size_of_aranges): Only count entry for text section if it was
-	used.  Count entry for cold text section if it was used.
-	(output_aranges): Only output entries for text section and cold
-	text section if they were used.
-
-2007-08-19  Andrew Pinski  <pinskia@gmail.com>
-
-	* tree-pretty-print.c (debug_generic_expr): Add a comment about
-	the function.
-	(debug_generic_stmt): Likewise.
-	(debug_tree_chain): Likewise.
-
-2007-08-19  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-data-refs.c (split_constant_offset): Expose.
-	* tree-data-refs.h (split_constant_offset): Add declaration.
-
-	* tree-vectorizer.h (dr_alignment_support): Renamed
-	dr_unaligned_software_pipeline to dr_explicit_realign_optimized.
-	Added a new value dr_explicit_realign.
-	(_stmt_vec_info): Added new fields: dr_base_address, dr_init,
-	dr_offset, dr_step, and dr_aligned_to, along with new access
-	functions for these fields: STMT_VINFO_DR_BASE_ADDRESS,
-	STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET, STMT_VINFO_DR_STEP, and
-	STMT_VINFO_DR_ALIGNED_TO.
-
-	* tree-vectorizer.c (vect_supportable_dr_alignment): Add
-	documentation.
-	In case of outer-loop vectorization with non-fixed misalignment - use
-	the dr_explicit_realign scheme instead of the optimized realignment
-	scheme.
-	(new_stmt_vec_info): Initialize new fields.
-
-	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Handle the
-	'nested_in_vect_loop' case. Change verbosity level.
-	(vect_analyze_data_ref_access): Handle the 'nested_in_vect_loop' case.
-	Don't fail on zero step in the outer-loop for loads.
-	(vect_analyze_data_refs): Call split_constant_offset to calculate
-	base, offset and init relative to the outer-loop.
-
-	* tree-vect-transform.c (vect_create_data_ref_ptr): Replace the unused
-	BSI function argument with a new function argument - at_loop.
-	Simplify the condition that determines STEP. Takes additional argument
-	INV_P. Support outer-loop vectorization (handle the
-	nested_in_vect_loop case), including zero step in the outer-loop. Call
-	vect_create_addr_base_for_vector_ref with additional argument.
-	(vect_create_addr_base_for_vector_ref): Takes additional argument LOOP.
-	Updated function documentation. Handle the 'nested_in_vect_loop' case.
-	Fixed and simplified calculation of step.
-	(vectorizable_store): Call vect_create_data_ref_ptr with loop instead
-	of bsi, and with additional argument. Call bump_vector_ptr with
-	additional argument. Fix typos. Handle the 'nested_in_vect_loop' case.
-	(vect_setup_realignment): Takes additional arguments INIT_ADDR and
-	DR_ALIGNMENT_SUPPORT. Returns another value AT_LOOP. Handle the case
-	when the realignment setup needs to take place inside the loop.
-	Support the dr_explicit_realign scheme. Allow generating the optimized
-	realignment scheme for outer-loop vectorization. Added documentation.
-	(vectorizable_load): Support the dr_explicit_realign scheme. Handle
-	the 'nested_in_vect_loop' case, including loads that are invariant in
-	the outer-loop and the realignment schemes. Handle the case when the
-	realignment setup needs to take place inside the loop. Call
-	vect_setup_realignment with additional arguments.  Call
-	vect_create_data_ref_ptr with additional argument and with loop instead
-	of bsi. Fix 80-column overflow. Fix typos. Rename PHI_STMT to PHI.
-	(vect_gen_niters_for_prolog_loop): Call
-	vect_create_addr_base_for_vector_ref with additional arguments.
-	(vect_create_cond_for_align_checks): Likewise.
-	(bump_vector_ptr): Updated to support the new dr_explicit_realign
-	scheme: takes additional argument bump; argument ptr_incr is now
-	optional; updated documentation.
-	(vect_init_vector): Takes additional argument (bsi). Use it, if
-	available, to insert the vector initialization.
-	(get_initial_def_for_induction): Pass additional argument in call to
-	vect_init_vector.
-	(vect_get_vec_def_for_operand): Likewise.
-	(vect_setup_realignment): Likewise.
-	(vectorizable_load): Likewise.
-
-2007-08-19  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
-	as argument instead of struct loop.
-	(nested_in_vect_loop_p): New function.
-	(vect_relevant): Add enum values vect_used_in_outer_by_reduction and
-	vect_used_in_outer.
-	(is_loop_header_bb_p): New. Used to differentiate loop-header phis
-	from other phis in the loop.
-	(destroy_loop_vec_info): Add additional argument to declaration.
-
-	* tree-vectorizer.c (supportable_widening_operation): Also check if
-	nested_in_vect_loop_p (don't allow changing the order in this case).
-	(vect_is_simple_reduction): Takes a loop_vec_info as argument instead
-	of struct loop. Call nested_in_vect_loop_p and don't require
-	flag_unsafe_math_optimizations if it returns true.
-	(new_stmt_vec_info): When setting def_type for phis differentiate 
-	loop-header phis from other phis.
-	(bb_in_loop_p): New function.
-	(new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so
-	just update their loop_vinfo.  Order of BB traversal now matters -
-	call dfs_enumerate_from with bb_in_loop_p.
-	(destroy_loop_vec_info): Takes additional argument to control whether
-	stmt_vinfo of the loop stmts should be destroyed as well.
-	(vect_is_simple_reduction): Allow the "non-reduction" use of a
-	reduction stmt to be defines by a non loop-header phi.
-	(vectorize_loops): Call destroy_loop_vec_info with additional argument.
-
-	* tree-vect-transform.c (vectorizable_reduction): Call
-	nested_in_vect_loop_p. Check for multitypes in the inner-loop.
-	(vectorizable_call): Likewise.
-	(vectorizable_conversion): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_type_promotion): Likewise.
-	(vectorizable_type_demotion): Likewise.
-	(vectorizable_store): Likewise.
-	(vectorizable_live_operation): Likewise.
-	(vectorizable_reduction): Likewise. Also pass loop_info to
-	vect_is_simple_reduction instead of loop.
-	(vect_init_vector): Call nested_in_vect_loop_p.
-	(get_initial_def_for_reduction): Likewise.
-	(vect_create_epilog_for_reduction): Likewise.
-	(vect_init_vector): Check which loop to work with, in case there's an
-	inner-loop.
-	(get_initial_def_for_inducion): Extend to handle outer-loop
-	vectorization. Fix indentation.
-	(vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
-	In the case vect_induction_def get the vector def from the induction
-	phi node, instead of calling get_initial_def_for_inducion.
-	(get_initial_def_for_reduction): Extend to handle outer-loop 
-	vectorization.
-	(vect_create_epilog_for_reduction): Extend to handle outer-loop
-	vectorization.
-	(vect_transform_loop): Change assert to just skip this case.  Add a
-	dump printout.
-	(vect_finish_stmt_generation): Add a couple asserts.
-
-	(vect_estimate_min_profitable_iters): Multiply
-	cost of inner-loop stmts (in outer-loop vectorization) by estimated
-	inner-loop bound.
-	(vect_model_reduction_cost): Don't add reduction epilogue cost in case
-	this is an inner-loop reduction in outer-loop vectorization.
-
-	* tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
-	Same code as what used to be vect_analyze_scalar_cycles, only with
-	additional argument loop, and loop_info passed to
-	vect_is_simple_reduction instead of loop.
-	(vect_analyze_scalar_cycles): Code factored out into
-	vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
-	Updated documentation.
-	(analyze_operations): Check for inner-loop loop-closed exit-phis during
-	outer-loop vectorization that are live or not used in the outerloop,
-	cause this requires special handling.
-	(vect_enhance_data_refs_alignment): Don't consider versioning for
-	nested-loops.
-	(vect_analyze_data_refs): Check that there are no datarefs in the
-	inner-loop.
-	(vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
-	and vect_used_in_outer_by_reduction cases.
-	(process_use): Also consider the case of outer-loop stmt defining an
-	inner-loop stmt and vice versa.
-	(vect_analyze_loop_1): New function.
-	(vect_analyze_loop_form): Extend, to allow a restricted form of nested
-	loops.  Call vect_analyze_loop_1.
-	(vect_analyze_loop): Skip (inner-)loops within outer-loops that have
-	been vectorized.  Call destroy_loop_vec_info with additional argument.
-
-	* tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
-	in the inner-loop when doing outer-loop vectorization. Add
-	documentation and printout.
-	(vect_recog_dot_prod_pattern): Likewise. Also add check for
-	GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).
-
-2007-08-18  Andrew Pinski  <pinskia@gmail.com>
-
-	* tree-affine.h (print_aff): New prototype.
-	(debug_aff): Likewise.
-	* tree-affine.c (print_aff): New function.
-	(debug_aff): Likewise.
-
-2007-08-18  Paul Brook  <paul@codesourcery.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* common.opt (-fdebug-prefix-map=): New option.
-	* opts.c: Include debug.h.
-	(common_handle_option): Handle -fdebug-prefix-map.
-	* final.c: Include ggc.h.
-	(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
-	remap_debug_filename): New.
-	* Makefile.in (final.o, opts.o): Update dependencies.
-	* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
-	* configure.ac: Check for assembler --debug-prefix-map support.
-	* configure, config.in: Regenerate.
-	* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
-	(ASM_DEBUG_SPEC): Include ASM_MAP.
-	* doc/install.texi (--with-debug-prefix-map): Document.
-	* doc/invoke.texi (-fdebug-prefix-map): Document.
-	* dbxout.c (dbxout_init, dbxout_start_source_file,
-	dbxout_source_file): Call remap_debug_filename.
-	* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
-	dwarf2out_start_source_file, dwarf2out_finish): Call
-	remap_debug_filename.
-	(file_table_relative_p): Do not check d->emitted_number.
-	* toplev.c (output_file_directive): Call remap_debug_filename.
-	* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
-	* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.
-
-2007-08-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* loop-invariant.c (find_invariants_to_move): Add missing macro
-	argument.
-
-2007-08-17  Tom Tromey  <tromey@redhat.com>
-
-	* tree.h (struct tree_label_decl): Removed old "java" fields.
-
-2007-08-17  Richard Sandiford  <richard@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/sde.h (DRIVER_SELF_SPECS): Add commas.
-	Treat -mno-data-in-code and -mcode-xonly as aliases for
-	-mcode-readable=no and -mcode-readable=pcrel respectively.
-	* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Add -mcode-xonly.
-	(MULTILIB_OPTIONS): Add -mcode-readable=no multilibs.
-	(MULTILIB_DIRNAMES): Update accordingly.
-
-2007-08-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* Makefile.in (version.o): Depend on $(REVISION) only if
-	REVISION_s is defined.
-
-2007-08-17  Sa Liu  <saliu@de.ibm.com>
-	    Ulrich Weigand  <uweigand@de.ibm.com>
-
-	PR middle-end/32970
-	* tree.c (reconstruct_complex_type): For a pointer to a vector,
-	use build_qualified_type to retain qualifiers of the base type.
-
-2007-08-17  Chen Liqin  <liqin@sunnorth.com.cn>
-
-	* config/score/score.md : Update pattern tablejump.
-	* config/score/score.c : Update score_initialize_trampoline 
-	function.
-	* config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
-	(TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
-	* doc/contrib.texi: Add my entry.
-
-2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* Makefile.in (REVISION): New.
-	(REVISION_c): New.
-	(REVISION_s): New.
-	(version.o): Also depend on $(REVISION). Add
-	-DREVISION=$(REVISION_s).
-
-	* version.c (version_string): Add REVISION.
-
-2007-08-16  Seongbae Park <seongbae.park@gmail.com>
-
-	* tree-eh.c (lower_try_finally_onedest): Reset the locus
-	of GOTO that's relocated to a different block.
-
-2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-common.c (const_strip_array_types): New.
-	* c-common.h (lang_missing_noreturn_ok_p): Delete.
-	(const_strip_array_types): New.
-	* c-objc-common.c (c_disregard_inline_limits,
-	c_warn_unused_global_decl): Constify.
-	* c-tree.h (c_disregard_inline_limits, c_warn_unused_global_decl,
-	c_vla_type_p, c_incomplete_type_error): Likewise.
-	* c-typeck.c (c_incomplete_type_error, c_vla_type_p): Likewise.
-	* hooks.c (hook_bool_const_tree_false): New.
-	* hooks.h (hook_bool_const_tree_false): Likewise.
-	* langhooks-def.h (lhd_warn_unused_global_decl,
-	lhd_incomplete_type_error, lhd_expr_size,
-	lhd_tree_inlining_disregard_inline_limits,
-	lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
-	LANG_HOOKS_GENERIC_TYPE_P, LANG_HOOKS_TYPE_MAX_SIZE): Constify.
-	* langhooks.c (lhd_warn_unused_global_decl,
-	lhd_incomplete_type_error,
-	lhd_tree_inlining_disregard_inline_limits,
-	lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
-	lhd_expr_size): Likewise.
-	* langhooks.h (lang_hooks_for_tree_inlining,
-	lang_hooks_for_tree_dump, lang_hooks_for_types,
-	lang_hooks_for_decls, lang_hooks): Likewise.
-	* pointer-set.c (pointer_set_t, pointer_set_create,
-	pointer_set_contains, insert_aux, pointer_set_insert,
-	pointer_set_traverse, pointer_map_t, pointer_map_create,
-	pointer_map_contains, pointer_map_insert, pointer_map_traverse):
-	Likewise.
-	* pointer-set.h (pointer_set_contains, pointer_set_insert,
-	pointer_set_traverse, pointer_map_contains, pointer_map_insert,
-	pointer_map_traverse): Likewise.
-	* predict.c (assert_is_empty): Likewise.
-	* tree-affine.c (free_name_expansion): Likewise.
-	* tree-cfg.c (edge_to_cases_cleanup): Likewise.
-	* tree.c (size_in_bytes, max_int_size_in_bytes): Likewise.
-	* tree.h (size_in_bytes, max_int_size_in_bytes): Likewise.
-
-2007-08-16  Victor Kaplansky <victork@il.ibm.com>
-
-	* tree-vectorizer.c (new_loop_vec_info): Initialize new 
-	field.
-	(destroy_loop_vec_info): Add call to VEC_free.
-	* tree-vectorizer.h (may_alias_ddrs): Define.
-	(LOOP_VINFO_MAY_ALIAS_DDRS): Define.
-	* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
-	Change reporting to dump.
-	(vect_is_duplicate_ddr): New.
-	(vect_mark_for_runtime_alias_test): New.
-	(vect_analyze_data_ref_dependences) Add call to
-	vect_mark_for_runtime_alias_test.
-	(vect_enhance_data_refs_alignment): Define local variable
-	vect_versioning_for_alias_required, don't perform
-	peeling for alignment if versioning for alias is
-	required.
-	(vect_enhance_data_refs_alignment): Use
-	PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS instead of
-	PARAM_VECT_MAX_VERSION_CHECKS.
-	* tree-vect-transform.c
-	(vect_create_cond_for_alias_checks): New.
-	(vect_transform_loop): Add call to
-	vect_create_cond_for_alias_checks.
-	(vect_vfa_segment_size): New.
-	* params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
-	Rename.
-	(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
-	* doc/invoke.texi
-	(vect-max-version-for-alignment-checks): Document.
-	(vect-max-version-for-alias-checks): Document.
-	(vect-max-version-checks): Remove.
-
-2007-08-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
-	the same line as the instruction for all asm dialects.
-	(*rep_movsi): Ditto.
-	(*rep_movsi_rex64): Ditto.
-	(*rep_movqi): Ditto.
-	(*rep_movqi_rex64): Ditto.
-	(*rep_stosdi_rex64): Ditto.
-	(*rep_stossi): Ditto.
-	(*rep_stossi_rex64): Ditto.
-	(*rep_stosqi): Ditto.
-	(*rep_stosqi_rex64): Ditto.
-	(*cmpstrnqi_nz_1): Ditto.
-	(*cmpstrnqi_nz_rex_1): Ditto.
-	(*cmpstrnqi_1): Ditto.
-	(*cmpstrnqi_rex_1): Ditto.
-	(*strlenqi_1): Ditto.
-	(*strlenqi_rex_1): Ditto.
-	* config/i386/sync.md (*sync_compare_and_swap<mode>): Emit "lock"
-	prefix on the same line as the instruction for all asm dialects.
-	(sync_double_compare_and_swap<mode>): Ditto.
-	(*sync_double_compare_and_swapdi_pic): Ditto.
-	(*sync_compare_and_swap_cc<mode>): Ditto.
-	(sync_double_compare_and_swap_cc<mode>): Ditto.
-	(*sync_double_compare_and_swap_ccdi_pic): Ditto.
-	(sync_old_add<mode>): Ditto.
-	(sync_add<mode>): Ditto.
-	(sync_sub<mode>): Ditto.
-	(sync_ior<mode>): Ditto.
-	(sync_and<mode>): Ditto.
-	(sync_xor<mode>): Ditto.
-
-2007-08-16  Richard Sandiford  <richard@codesourcery.com>
-
-	PR middle-end/32897
-	* reload.c (find_reloads): Check that the memory returned by
-	find_reloads_toplev was not the result of forcing a constant
-	to memory.
-	(find_reloads_toplev): Always use simplify_gen_subreg to get
-	the subreg of a constant.  If the result is also a constant,
-	but not a legitimate one, force it into the constant pool
-	and reload its address.
-
-2007-08-15  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
-	POPCOUNT.
-
-2007-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
-	directive for the current vector ABI.
-
-2007-08-15  Steve Ellcey  <sje@cup.hp.com>
-
-	PR target/32963
-	* caller-save.c (reg_save_code): Set invalide status on restore code.
-	
-2007-08-15  Diego Novillo  <dnovillo@google.com>
-
-	* tree-ssa-alias.c (compute_memory_partitions): Use
-	alias_bitmap_obstack to allocate bitmaps.
-	(reset_alias_info): Factor out of init_alias_info.
-	Mark all name tags not associated to an SSA name for renaming.
-	(init_alias_info): Call it.
-	(create_name_tags): Tidy.  Add comments.
-	(dump_points_to_info_for): Do not call get_mem_sym_stats_for.
-
-2007-08-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
-	scheduler dependencies.
-
-2007-08-15  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
-	"register_operand".
-	(*iorsi_1_zext): Likewise.
-	(*iorsi_1_zext_imm): Likewise.
-	* config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
-	with "rm"/"xm" constraint.
-	(sse2_vmsqrtv2df2): Likewise.
-
-2007-08-15  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/33074
-	* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
-	REG_LIBCALL note.
-
-2007-08-14  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-pass.h (PROP_pta): Removed.
-	(TODO_rebuild_alias): New.
-	(pass_may_alias): Removed.
-	* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
-	aliasing if we changed something.
-	* tree-ssa-alias.c (compute_may_aliases): Make non-static.  Update
-	SSA internally.
-	(pass_may_alias): Removed.
-	(create_structure_vars): Return TODO_rebuild_alias.
-	* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
-	* tree-sra.c (tree_sra): Only rebuild aliasing if something
-	changed.
-	(tree_sra_early): We never affect aliasing right now.
-	* tree-flow.h (compute_may_aliases): New prototype.
-	* passes.c: Remove pass_may_alias from the passes.
-	(execute_function_todo): Support TODO_rebuild_alias.	
-
-2007-08-14  Kai Tietz  <kai.tietz@onevision.com>
-
-	* config/i386/i386.c (legitimize_address): Move dllimported variable
-	check infront of legitimizing pic address of CONST symbols.
-
-2007-08-14  Steve Ellcey  <sje@cup.hp.com>
-
-	PR tree-optimization/32941
-	* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
-	(goto_queue_cmp): Remove.
-	(find_goto_replacement): Change search method.
-	(maybe_record_in_goto_queue): Add assert.
-	(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
-	* Makefile.in (tree-eh.o): Add pointer-set.h dependency.
-
-2007-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (component_uses_parent_alias_set): Constify.
-	* alias.h (component_uses_parent_alias_set): Likewise.
-	* cfgrtl.c (print_rtl_with_bb): Likewise.
-	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
-	mpz_get_double_int): Likewise.
-	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
-	mpz_get_double_int): Likewise.
-	* expr.c (is_aligning_offset, undefined_operand_subword_p,
-	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
-	Likewise.
-	* expr.h (safe_from_p): Likewise.
-	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
-	Likewise.
-	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
-	zero_sized_type, goa_lhs_expr_p): Likewise.
-	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
-	* rtl.h (print_rtl_with_bb): Likewise.
-	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
-	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
-	* tree-flow-inline.h (bb_stmt_list): Constify.
-	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
-	cbsi_stmt): New.
-	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
-	const_first_stmt, const_last_stmt): New.
-	(block_may_fallthru, empty_block_p): Constify.
-	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
-	EXPR_ONLY_BODY): New.
-	(expr_first, expr_last, expr_only): Use macro for body.
-	(const_expr_first, const_expr_last, const_expr_only): New.
-	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
-	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
-	ctsi_prev, ctsi_stmt): New.
-	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
-	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
-	* tree-ssa-loop-niter.c (loop_only_exit_p,
-	derive_constant_upper_bound): Likewise.
-	* tree-ssa-phiopt.c (empty_block_p): Likewise.
-	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
-	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
-	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
-	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
-	* tree.c (get_type_static_bounds): Likewise.
-	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
-	(get_type_static_bounds): Constify.
-
-2007-08-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/30315
-	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
-	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
-	(*<addsub><mode>3_cc_overflow): New.
-	(*add<mode>3_cconly_overflow): New.
-	(*sub<mode>3_cconly_overflow): New.
-	(*<addsub>si3_zext_cc_overflow): New.
-	* config/i386/predicates.md (fcmov_comparison_operator): Accept
-	CCCmode for LTU, GTU, LEU and GEU.
-	(ix86_comparison_operator): Likewise.
-	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
-	* config/i386/i386.c (put_condition_code): Support CCCmode.
-	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
-	or MINUS expressions.
-
-2007-08-14  Andrew Pinski  <pinskia@gmail.com>
-
-	PR c/30428
-	* c-typeck.c (build_binary_op): Disallow vector float types with
-	BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
-
-2007-08-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
-
-	* sched-int.h (struct _dep): Rename field 'kind' to 'type'.
-	(DEP_KIND): Rename to DEP_TYPE.  Update all uses.
-	(dep_def): New typedef.
-	(init_dep_1, sd_debug_dep): Declare functions.
-	(DEP_LINK_KIND): Rename to DEP_LINK_TYPE.
-	(debug_dep_links): Remove.
-	(struct _deps_list): New field 'n_links'.
-	(DEPS_LIST_N_LINKS): New macro.
-	(FOR_EACH_DEP_LINK): Remove.
-	(create_deps_list, free_deps_list, delete_deps_list): Remove
-	declaration.
-	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
-	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
-	(copy_deps_list_change_con, move_dep_link): Ditto.
-	(struct haifa_insn_data): Split field 'back_deps' into 'hard_back_deps'
-	and 'spec_back_deps'.  New field 'resolved_forw_deps'.  Remove field
-	'dep_count'.
-	(INSN_BACK_DEPS): Remove.
-	(INSN_HARD_BACK_DEPS, INSN_SPEC_BACK_DEPS, INSN_RESOLVED_FORW_DEPS):
-	New macros.
-	(INSN_DEP_COUNT): Remove.
-	(enum DEPS_ADJUST_RESULT): Add new constant DEP_NODEP.  Fix comments.
-	(spec_info, haifa_recovery_block_was_added_during_scheduling_p):
-	Declare global variables.
-	(deps_pools_are_empty_p, sched_free_deps): Declare functions.
-	(add_forw_dep, compute_forward_dependences): Remove declarations.
-	(add_or_update_back_dep, add_or_update_back_forw_dep): Ditto.
-	(add_back_forw_dep, delete_back_forw_dep): Ditto.
-	(debug_ds, sched_insn_is_legitimate_for_speculation_p): Declare
-	functions.
-	(SD_LIST_NONE, SD_LIST_HARD_BACK, SD_LIST_SPEC_BACK, SD_LIST_FORW):
-	New constants.
-	(SD_LIST_RES_BACK, SD_LIST_RES_FORW, SD_LIST_BACK): Ditto.
-	(sd_list_types_def): New typedef.
-	(sd_next_list): Declare function.
-	(struct _sd_iterator): New type.
-	(sd_iterator_def): New typedef.
-	(sd_iterator_start, sd_iterator_cond, sd_iterator_next): New inline
-	functions.
-	(FOR_EACH_DEP): New cycle wrapper.
-	(sd_lists_size, sd_lists_empty_p, sd_init_insn, sd_finish_insn):
-	Declare functions.
-	(sd_find_dep_between, sd_add_dep, sd_add_or_update_dep): Ditto.
-	(sd_resolve_dep, sd_copy_back_deps, sd_delete_dep, sd_debug_lists):
-	Ditto.
-
-	* sched-deps.c (init_dep_1): Make global.
-	(DUMP_DEP_PRO, DUMP_DEP_CON, DUMP_DEP_STATUS, DUMP_DEP_ALL): New
-	constants.
-	(dump_dep): New static function.
-	(dump_dep_flags): New static variable.
-	(sd_debug_dep): New function.
-	(add_to_deps_list, remove_from_deps_list): Update 'n_links' field of
-	the list.
-	(move_dep_link): Use remove_from_deps_list (), instead of
-	detach_dep_link ().
-	(dep_links_consistent_p, dump_dep_links, debug_dep_links): Remove.
-	(dep_link_is_detached_p): New static function.
-	(deps_obstack, dl_obstack, dn_obstack): Remove.  Use dn_pool, dl_pool
-	instead.
-	(dn_pool, dl_pool): New alloc_pools.
-	(dn_pool_diff, dl_pool_diff): New static variables.
-	(create_dep_node, delete_dep_node): New static function.
-	(create_deps_list): Make it static.  Use alloc_pool 'dl_pool'.
-	(deps_list_empty_p): Make it static.  Use 'n_links' field.
-	(deps_pools_are_empty_p): New static function.
-	(alloc_deps_list, delete_deps_list): Remove.
-	(dump_deps_list, debug_deps_list, add_back_dep_to_deps_list): Remove.
-	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
-	(copy_deps_list_change_con): Remove.  Use sd_copy_back_deps () instead.
-	(forward_dependency_cache): Remove.
-	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Remove
-	'back' from the names.  Change signature to use dep_t instead of
-	equivalent quad.
-	(add_back_dep): Ditto.  Make global.
-	(check_dep_status): Rename to check_dep ().
-	(sd_next_list, sd_lists_size, sd_lists_empty_p, sd_init_insn):
-	New functions.
-	(sd_finish_insn): Ditto.
-	(sd_find_dep_between_no_cache): New static function.
-	(sd_find_dep_between): New function.
-	(ask_dependency_caches, set_dependency_caches): New static functions.
-	(update_dependency_caches, change_spec_dep_to_hard, update_dep): Ditto.
-	(add_or_update_dep_1): Separate pieces of functionality into
-	ask_dependency_caches (), update_dependency_caches (),
-	change_spec_dep_to_hard (), update_dep ().
-	(get_back_and_forw_lists): New static function.
-	(sd_add_dep): Separate setting of dependency caches into
-	set_dependency_caches ().
-	(sd_add_or_update_dep, sd_resolve_dep, sd_copy_back_deps):
-	New functions.
-	(sd_delete_dep): Ditto.
-	(DUMP_LISTS_SIZE, DUMP_LISTS_DEPS, DUMP_LISTS_ALL): New constants.
-	(dump_lists): New static function.
-	(sd_debug_lists): New debug function.
-	(delete_all_dependences, fixup_sched_groups): Update to use
-	sd_* infrastructure.
-	(sched_analyze_2): Create data-speculative dependency only if
-	data-speculation is enabled.
-	(sched_analyze_insn): If insn cannot be speculative, make all its
-	dependencies non-speculative.
-	(sched_analyze): Use sd_init_insn ().
-	(add_forw_dep, compute_forward_dependencies): Remove.
-	(delete_dep_nodes_in_back_deps): New static function.
-	(sched_free_deps): New function.
-	(init_dependency_caches): Init alloc_pools.
-	(extend_depedency_caches): Update after removing of
-	forward_dependency_cache.
-	(free_dependency_caches): Ditto.  Free alloc_pools.
-	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Remove.
-	(delete_forw_dep, add_or_update_back_dep, add_or_update_back_forw_dep):
-	Ditto.
-	(add_back_forw_dep, delete_back_forw_dep): Ditto.
-	(add_dependence): Use init_dep ().
-	(get_dep_weak_1): New static function.
-	(get_dep_weak): Move logic to get_dep_weak_1 ().
-	(dump_ds): New static function moved from haifa-sched.c:
-	debug_spec_status ().
-	(debug_ds): New debug function.
-	(check_dep_status): Rename to check_dep ().  Update to check whole
-	dependencies.
-
-	* haifa-sched.c (spec_info): Make global.
-	(added_recovery_block_p): Rename to
-	'haifa_recovery_block_was_added_during_current_schedule_block_p'.
-	(haifa_recovery_block_was_added_during_scheduling_p): New variable.
-	(dep_cost, priority, rank_for_schedule, schedule_insn): Update
-	to use new interfaces.
-	(ok_for_early_queue_removal): Ditto.
-	(schedule_block): Initialize logical uids of insns emitted by the
-	target.
-	(sched_init): Initialize new variable.
-	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
-	interfaces.
-	(extend_global): Initialize insn data.
-	(init_h_i_d): Remove code that is now handled in sd_init_insn ().
-	(process_insn_forw_deps_be_in_spec): Change signature.  Update to use
-	new interfaces.
-	(add_to_speculative_block): Update to use new interfaces.
-	(create_recovery_block): Set new variables.
-	(create_check_block_twin, fix_recovery_deps): Update to use new
-	interfaces.
-	(sched_insn_is_legitimate_for_speculation_p): New function.
-	(speculate_insn): Move checking logic to
-	sched_insn_is_legitimate_for_speculation_p ().
-	(sched_remove_insn): Finalize sched-deps information of instruction.
-	(clear_priorities, add_jump_dependencies): Update to use new
-	interfaces.
-	(debug_spec_status): Rename to dump_ds () and move to sched-deps.c.
-	
-	* sched-rgn.c (set_spec_fed, find_conditional_protection): Update
-	to use new interfaces.
-	(is_conditionally_protected, is_pfree, is_prisky) Ditto.
-	(new_ready): Try to use control speculation only if it is available.
-	(add_branch_dependences): Update to use new interfaces.
-	(compute_block_backward_dependences): Rename to
-	compute_block_dependences ().  Call
-	targetm.sched.dependencies_evaluation_hook ().
-	(free_block_dependencies): New static function.
-	(debug_dependencies): Update to use new interfaces.
-	(schedule_region): Remove separate computation of forward dependencies.
-	Move call of targetm.sched.dependencies_evaluation_hook () to
-	compute_block_dependences ().  Free dependencies at the end of
-	scheduling the region.
-
-	* sched-ebb.c (earliest_block_with_similiar_load): Update to use
-	new interfaces.
-	(add_deps_for_risky_insns): Ditto.
-	(schedule_ebb): Remove separate computation of forward dependencies.
-	Free dependencies at the end of	scheduling the ebb.
-
-	* ddg.c (create_ddg_dependence): Update to use new interfaces.
-	(build_intra_loop_deps): Ditto.  Remove separate computation of
-	forward dependencies.  Free sched-deps dependencies.
-
-	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Update
-	to use new interfaces.
-	(ia64_dfa_new_cycle, ia64_gen_check): Ditto.
-
-	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Update to use
-	new interfaces.
-	(is_costly_group): Ditto.
-
-2007-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (rtx_equal_for_memref_p): Constify.
-	* basic-block.h (const_edge, const_basic_block): New.
-	(reg_set_to_hard_reg_set, dfs_enumerate_from, single_succ_p,
-	single_pred_p, single_succ_edge, single_pred_edge, single_succ,
-	single_pred, maybe_hot_bb_p, probably_cold_bb_p,
-	probably_never_executed_bb_p, edge_probability_reliable_p,
-	br_prob_note_reliable_p, forwarder_block_p, flow_nodes_print,
-	inside_basic_block_p, control_flow_insn_p, dominated_by_p):
-	Likewise.
-	* bb-reorder.c (better_edge_p, push_to_next_round_p): Likewise.
-	* bt-load.c (basic_block_freq, insn_sets_btr_p, can_move_up):
-	Likewise.
-	* cfganal.c (flow_active_insn_p, forwarder_block_p,
-	flow_nodes_print, dfs_enumerate_from): Likewise.
-	* cfgbuild.c (count_basic_blocks, inside_basic_block_p,
-	control_flow_insn_p, count_basic_blocks): Likewise.
-	* cfgloop.c (flow_bb_inside_loop_p, glb_enum_p,
-	get_loop_body_with_size, loop_exit_edge_p): Likewise.
-	* cfgloop.h (flow_bb_inside_loop_p, num_loop_insns,
-	average_num_loop_insns, loop_exit_edge_p,
-	just_once_each_iteration_p, can_duplicate_loop_p): Likewise.
-	* cfgloopanal.c (just_once_each_iteration_p, num_loop_insns,
-	average_num_loop_insns, seq_cost): Likewise.
-	* cfgloopmanip.c (rpe_enum_p, can_duplicate_loop_p): Likewise.
-	* dominance.c (dominated_by_p): Likewise.
-	* emit-rtl.c (validate_subreg): Likewise.
-	* except.c (can_throw_internal, can_throw_external): Likewise.
-	* except.h (can_throw_internal, can_throw_external): Likewise.
-	* gcse.c (gcse_constant_p, oprs_unchanged_p, oprs_anticipatable_p,
-	oprs_available_p, hash_expr, expr_equiv_p, oprs_not_set_p,
-	compute_transp, load_killed_in_block_p, reg_killed_on_edge,
-	simple_mem, store_ops_ok, load_kills_store, find_loads,
-	store_killed_in_insn, store_killed_after, store_killed_before,
-	gcse_mem_operand, implicit_set_cond_p, store_killed_in_pat):
-	Likewise.
-	* ifcvt.c (count_bb_insns, cheap_bb_rtx_cost_p, noce_operand_ok,
-	noce_mem_write_may_trap_or_fault_p): Likewise.
-	* pointer-set.c (pointer_set_contains, pointer_map_contains):
-	Likewise.
-	* pointer-set.h (pointer_set_contains, pointer_map_contains):
-	Likewise.
-	* predict.c (can_predict_insn_p, maybe_hot_bb_p,
-	probably_cold_bb_p, probably_never_executed_bb_p,
-	edge_probability_reliable_p, br_prob_note_reliable_p,
-	can_predict_insn_p): Likewise.
-	* regclass.c (reg_set_to_hard_reg_set): Likewise.
-	* resource.c (return_insn_p): Likewise.
-	* rtl.h (reg_set_between_p, reg_set_p, validate_subreg):
-	Likewise.
-	* rtlanal.c (reg_set_between_p, reg_set_p): Likewise.
-	* tracer.c (count_insns, ignore_bb_p, better_p): Likewise.
-	* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
-	verify_gimple_modify_stmt): Likewise.
-	* tree-chrec.c (is_not_constant_evolution,
-	is_multivariate_chrec_rec, is_multivariate_chrec,
-	chrec_contains_symbols, chrec_contains_undetermined,
-	tree_contains_chrecs, evolution_function_is_affine_multivariate_p,
-	evolution_function_is_univariate_p, avoid_arithmetics_in_type_p,
-	eq_evolutions_p, scev_direction): Likewise.
-	* tree-chrec.h (automatically_generated_chrec_p, tree_is_chrec,
-	eq_evolutions_p, is_multivariate_chrec, chrec_contains_symbols,
-	chrec_contains_symbols_defined_in_loop,
-	chrec_contains_undetermined, tree_contains_chrecs,
-	evolution_function_is_affine_multivariate_p,
-	evolution_function_is_univariate_p, chrec_zerop,
-	evolution_function_is_constant_p, evolution_function_is_affine_p,
-	evolution_function_is_affine_or_constant_p,
-	tree_does_not_contain_chrecs, chrec_type): Likewise.
-	* tree-data-ref.c (tree_fold_divides_p,
-	object_address_invariant_in_loop_p, dr_may_alias_p,
-	ziv_subscript_p, siv_subscript_p, gcd_of_steps_may_divide_p,
-	same_access_functions, constant_access_functions,
-	access_functions_are_affine_or_constant_p, find_vertex_for_stmt):
-	Likewise.
-	* tree-flow.h (scev_direction): Likewise.
-	* tree-gimple.c (is_gimple_stmt): Likewise.
-	* tree-outof-ssa.c (identical_copies_p, identical_stmt_lists_p):
-	Likewise.
-	* tree-pretty-print.c (op_prio): Likewise.
-	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
-	analyzable_condition, backedge_phi_arg_p): Likewise.
-	* tree-scalar-evolution.h (get_chrec_loop): Likewise.
-	* tree-ssa-operands.c (get_name_decl, operand_build_cmp): Likewise.
-	* tree-ssa-threadupdate.c (dbds_continue_enumeration_p):
-	Likewise.
-
-2007-08-13  Dan Hipschman  <dsh@google.com>
-
-	PR c/32953
-	* c-format.c (check_format_arg): Move check for zero-length
-	format strings below the check for unterminated strings.
-
-2007-08-13  Andrew Pinski  <pinskia@gmail.com>
-
-	PR C/30427
-	* c-typeck.c (build_unary_op <case BIT_NOT_EXPR>): Reject vector float
-	types.
-
-2007-08-13  Nick Clifton  <nickc@redhat.com>
-
-	* config/arm/arm_neon.h: Revert GPLv3 patch to this file.
-
-2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	PR fortran/32860
-	* c-format.c (gcc_gfc_length_specs): New array.
-	(gcc_gfc_char_table): Add unsigned specifier, and references to
-	the l length modifier.
-	(format_types_orig): Use the new gcc_gfc_length_specs.
-
-2007-08-12  Sa Liu  <saliu@de.ibm.com>
-
-	* emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note
-	and with REG_RETVAL note after split.
-
-2007-08-11  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.c (mips_sched_reorder): Mark cycle parameter
-	as ATTRIBUTE_UNUSED.
-
-2007-08-11  David Edelsohn  <edelsohn@gnu.org>
-	    Segher Boessenkool  <segher@kernel.crashing.org>
-
-	* config/rs6000/rs6000.h (CC1_CPU_SPEC): Define as empty string if
-	HAVE_LOCAL_CPU_DETECT not defined.
-
-2007-08-11  Jan Hubicka  <jh@suse.cz>
-
-	* cgraphunit.c (record_cdtor_fn): Declare all cdtors always inlined.
-	(cgraph_process_new_functions): Honor previous value of
-	disregard_inline_limits.
-	* ipa-inline.c (compute_inline_parameters): Likewise.
-
-2007-08-11  Ian Lance Taylor  <iant@google.com>
-
-	* alias.h (alias_set_type): Define new type.
-	(ALIAS_SET_MEMORY_BARRIER): Use it.
-	* rtl.h: Include alias.h.
-	(struct mem_attrs): Use alias_set_type.
-	* tree.h: Include alias.h
-	(struct tree_type): Use alias_set_type.
-	(struct tree_struct_field_tag): Likewise.
-	(struct tree_decl_common): Likewise.
-	* alias.c (struct alias_set_entry): Use alias_set_type.
-	(get_alias_set_entry, alias_set_subset_of): Likewise.
-	(alias_sets_conflict_p): Likewise.
-	(alias_sets_must_conflict_p): Likewise.
-	(objects_must_conflict_p): Likewise.
-	(get_alias_set, new_alias_set): Likewise.
-	(record_alias_subset, record_component_aliases): Likewise.
-	(varargs_set, frame_set): Change to alias_set_type.
-	(get_varargs_alias_set): Use alias_set_type.
-	(get_frame_alias_set): Likewise.
-	* builtins.c (setjmp_alias_set): Change to alias_set_type.
-	* dse.c (struct store_info): Use alias_set_type.
-	(struct read_info, struct clear_alias_mode_holder): Likewise.
-	(clear_alias_set_lookup, canon_address): Likewise.
-	(record_store, check_mem_read_rtx): Likewise.
-	(dse_record_singleton_alias_set): Likewise.
-	(dse_invalidate_singleton_alias_set): Likewise.
-	* emit-rtl.c (get_mem_attrs): Likewise.
-	(set_mem_attributes_minus_bitpos): Likewise.
-	(set_mem_alias_set): Likewise.
-	* expr.c (store_constructor_field, store_field): Likewise.
-	* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
-	* langhooks.c (lhd_get_alias_set): Likewise.
-	* langhooks-def.h (lhd_get_alias_set): Likewise.
-	* reload1.c (alter_reg): Likewise.
-	* tree-flow.h (struct fieldoff): Likewise.
-	* tree-ssa-alias.c (struct alias_map_d): Likewise.
-	(may_alias_p, get_smt_for, create_sft): Likewise.
-	* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
-	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
-	(merge_smts_into): Likewise.
-	* varasm.c (const_alias_set): Likewise.
-	* c-common.c (strict_aliasing_warning): Likewise.
-	(c_common_get_alias_set): Likewise.
-	* dse.h (dse_record_singleton_alias_set): Update declaration.
-	(dse_invalidate_singleton_alias_set): Likewise.
-	* emit-rtl.h (set_mem_alias_set): Likewise.
-	* c-common.h (c_common_get_alias_set): Likewise.
-	* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
-	* print-tree.c (print_node): Likewise.
-	* config/alpha/alpha.c (alpha_sr_alias_set): Change to
-	alias_set_type.
-	(alpha_setup_incoming_varargs): Use alias_set_type.
-	* config/i386/i386.c (setup_incoming_varargs_64): Use
-	alias_set_type.
-	(setup_incoming_varargs_ms_64): Likewise.
-	(ix86_GOT_alias_set): Likewise.
-	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
-	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
-	(set): Change to alias_set_type.
-	(get_TOC_alias_set): Use alias_set_type.
-	* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
-	declaration.
-	* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
-	* config/sparc/sparc.c (sparc_sr_alias_set): Change to
-	alias_set_type.
-	(struct_value_alias_set): Likewise.
-	* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
-
-2007-08-11  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vxworks-dummy.h (TARGET_VXWORKS): Define.
-	* config/vxworks.h (TARGET_VXWORKS): Override.
-	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
-	"mips" if TARGET_VXWORKS.
-
-2007-08-11  Richard Sandiford  <richard@codesourcery.com>
-
-	* calls.c (avoid_likely_spilled_reg): New function.
-	(expand_call): Use it.
-
-2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-typeck.c (build_c_cast): Add OPT_Wcast_qual to warnings.
-
-2007-08-10  Adam Nemet  <anemet@caviumnetworks.com>
-
-	* config/mips/predicates.md (const_call_insn_operand): Invoke
-	SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
-
-2007-08-10  David Edelsohn  <edelsohn@gnu.org>
-
-	PR target/33042
-	* config/rs6000/driver-rs6000.c: Include link.h.
-	Use ElfW instead of wordsize-specif typedef.
-
-2007-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* system.h (CONST_CAST): New.
-	* c-decl.c (c_make_fname_decl): Use it.
-	* c-lex.c (cb_ident, lex_string): Likewise.
-	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
-	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
-	give_switch, set_multilib_dir): Likewise.
-	* gengtype-parse.c (string_seq, typedef_name): Likewise.
-	* passes.c (execute_one_pass): Likewise.
-	* prefix.c (update_path): Likewise.
-	* pretty-print.c (pp_base_destroy_prefix): Likewise.
-	* tree.c (build_string): Likewise.
-
-2007-08-10  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-flow-inline.h (is_exec_stmt): Remove.
-	(is_label_stmt): Remove.
-	* tree-flow.h: Remove prototypes for is_exec_stmt, get_filename, and
-	is_label_stmt.
-
-2007-08-10  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* lower-subreg.c (resolve_shift_zext): Don't adjust
-	src_reg_num for wordmode operands.
-
-2007-08-10  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips.c (TARGET_SCHED_INIT): Define.
-	(TARGET_SCHED_REORDER2): Define.
-	(mips_maybe_swap_ready): New.
-	(mips_last_74k_agen_insn): New.
-	(mips_74k_agen_init): New.
-	(mips_74k_agen_reorder): New function to group loads and stores
-	in the ready queue.
-	(mips_sched_init): New.  
-	(mips_sched_reorder): Don't do initialization here.  Call
-	mips_74k_agen_reorder.
-	(mips_variable_issue): Call mips_74k_agen_init.
-
-2007-08-10  Aldy Hernandez  <aldyh@redhat.com>
-
-	* tree-flow-inline.h (get_filename): Remove.
-
-2007-08-10  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (mips_address_insns): Add a boolean
-	argument.
-	(mips_fetch_insns): Delete in favor of...
-	(mips_load_store_insns): ...this new function.
-	* config/mips/mips.c (mips_address_insns): Add a boolean argument
-	to say whether multiword moves _might_ be split.
-	(mips_fetch_insns): Delete in favor of...
-	(mips_load_store_insns): ...this new function.
-	(mips_rtx_costs): Update the call to mips_address_insns.
-	(mips_address_cost): Likewise.
-	* config/mips/mips.md (length): Use mips_load_store_insns instead
-	of mips_fetch_insns.
-	* config/mips/constraints.md (R): Use mips_address_insns rather
-	than mips_fetch_insns.  Assume that the move never needs to be split.
-
-2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* 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
-	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
-	MASK_SOFT_FLOAT_ABI.  Delete twiddling with MASK_SOFT_FLOAT
-	and mips16_hard_float when TARGET_MIPS16.
-	
-2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR c/32796
-	* c-typeck.c (build_binary_op): Check for non pointer types before
-	calling int_fits_type_p.
-
-2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32813
-	* fold-const.c (omit_one_operand): Return only the ommitted expression
-	if the result is an empty statement.
-	(pedantic_omit_one_operand): Likewise.
-
-2007-08-09  Daniel Berlin  <dberlin@dberlin.org>
-
-	* c-typeck.c (readonly_error): Improve error for assignment.
-	
-	* c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus
-	expression. 
-	(pp_c_expression): Ditto.
-
-2007-08-09  Simon Baldwin  <simonb@google.com>
-
-	* simplify-rtx.c (simplify_binary_operation_1): Removed erroneous
-	break that was preventing simplify_associative_operation() for xor.
-
-2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO):
-	Document change in interpretation of value from boolean to
-	tri-state integer.
-	* optabs.c (expand_ffs, expand_ctz): New functions to compute
-	ffs and ctz using clz.
-	(expand_unop): Call them.
-	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
-	result value.
-	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
-	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to
-	enable the new ffs expansion on this target.
-
-2007-08-09  Jan Hubicka  <jh@suse.cz>
-
-	* optabs.c (expand_widen_pattern_expr): Use optabs accestors.
-	(expand_ternary_op): Likewise.
-	(expand_vec_shift_expr): Likewise.
-	(expand_binop_directly): Likewise.
-	(expand_binop): Likewise.
-	(sign_expand_binop): Likewise.
-	(expand_twoval_unop): Likewise.
-	(expand_twoval_binop): Likewise.
-	(expand_twoval_binop_libfunc): Likewise.
-	(widen_clz): Likewise.
-	(widen_bswap): Likewise.
-	(expand_parity): Likewise.
-	(expand_unop): Likewise.
-	(expand_abs_nojump): Likewise.
-	(expand_copysign): Likewise.
-	(emit_no_conflict_block): Likewise.
-	(emit_libcall_block): Likewise.
-	(can_compare_p): Likewise.
-	(prepare_cmp_insn): Likewise.
-	(emit_cmp_and_jump_insn_1): Likewise.
-	(prepare_float_lib_cmp): Likewise.
-	(emit_conditional_add): Likewise.
-	(gen_add2_insn): Likewise.
-	(have_add2_insn): Likewise.
-	(gen_sub2_insn): Likewise.
-	(have_sub2_insn): Likewise.
-	(can_extend_p): Likewise.
-	(can_fix_p): Likewise.
-	(can_float_p): Likewise.
-	(expand_float): Likewise.
-	(expand_fix): Likewise.
-	(expand_sfix_optab): Likewise.
-	(new_optab): Likewise.
-	(new_convert_optab): Likewise.
-	(init_libfuncs): Likewise.
-	(init_interclass_conv_libfuncs): Likewise.
-	(init_intraclass_conv_libfuncs): Likewise.
-	(set_conv_libfunc): Likewise.
-	(init_optabs): Likewise.
-	(debug_optab_libfuncs): Likewise.
-	(gen_cond_trap): Likewise.
-	* optabs.h (optab_handler, convert_optab_hanlder): New.
-	* genopinit.c: Update optabs generation table.
-	* reload.c (find_reloads_address_1): Use optabs accestors.
-	* builtins.c (expand_builtin_mathfn): Likewise.
-	(expand_builtin_mathfn_2): Likewise.
-	(expand_builtin_mathfn_3): Likewise.
-	(expand_builtin_interclass_mathfn): Likewise.
-	(expand_builtin_sincos): Likewise.
-	(expand_builtin_cexpi): Likewise.
-	(expand_builtin_powi): Likewise.
-	(expand_builtin_strlen): Likewise.
-	* dojump.c (do_jump): Likewise.
-	* expr.c (convert_move): Likewise.
-	(move_by_pieces): Likewise.
-	(move_by_pieces_ninsns): Likewise.
-	(can_store_by_pieces): Likewise.
-	(store_by_pieces_1): Likewise.
-	(emit_move_via_integer): Likewise.
-	(emit_move_complex): Likewise.
-	(emit_move_ccmode): Likewise.
-	(emit_move_insn_1): Likewise.
-	(emit_single_push_insn): Likewise.
-	(store_constructor): Likewise.
-	(expand_expr_real_1): Likewise.
-	(do_store_flag): Likewise.
-	* ada/misc.c (gnat_compute_largest_alignment): Likewise.
-	(enumerate_modes): Likewise.
-	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
-	(supportable_widening_operation): Likewise.
-	(supportable_narrowing_operation): Likewise.
-	* expmed.c (store_bit_field_1): Likewise.
-	(extract_bit_field_1): Likewise.
-	(expand_mult_highpart_optab): Likewise.
-	(expand_smod_pow2): Likewise.
-	(expand_divmod): Likewise.
-	(emit_store_flag): Likewise.
-	* tree-vect-patterns.c
-	(vect_pattern_recog_1): Likewise.
-	* tree-ssa-loop-prefetch.c
-	(nontemporal_store_p): Likewise.
-	* tree-vect-transform.c (vect_model_reduction_cost): Likewise.
-	(vect_create_epilog_for_reduction): Likewise.
-	(vectorizable_reduction): Likewise.
-	(vectorizable_operation): Likewise.
-	(vect_strided_store_supported): Likewise.
-	(vectorizable_store): Likewise.
-	(vect_strided_load_supported): Likewise.
-	(vectorizable_load): Likewise.
-	* combine.c (simplify_comparison): Likewise.
-	* tree-vect-generic.c
-	(type_for_widest_vector_mode): Likewise.
-	(expand_vector_operations_1): Likewise.
-	* config/spu/spu.c (spu_expand_mov): Likewise.
-	(spu_emit_vector_compare): Likewise.
-	* config/rs6000/rs6000.c
-	(rs6000_emit_vector_compare): Likewise.
-	* stmt.c (add_case_node): Likewise.
-	* reload1.c (gen_reload):
-
-2007-08-09  Michael Matz  <matz@suse.de>
-
-	* tree.h (fixed_zerop): Declare as taking a const_tree.
-	* tree.c (fixed_zerop): Take a const_tree.
-
-2007-08-09  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vect-transform.c (vectorizable_store): Remove call to
-	copy_virtual_operands() and call mark_symbols_for_renaming() for
-	the created vector store.
-	(vect_setup_realignment): Don't call copy_virtual_operands() and
-	update_vuses_to_preheader(). 
-	(vectorizable_load): Don't call copy_virtual_operands(). 
-	(update_vuses_to_preheader): Remove.
-
-2007-08-08  Chao-ying Fu  <fu@mips.com>
-
-	* tree.def (FIXED_POINT_TYPE): New type.
-	(FIXED_CST): New constant.
-	(FIXED_CONVERT_EXPR): New expr.
-	* doc/c-tree.texi (Types): Document FIXED_POINT_TYPE.
-	(Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR.
-	* tree.h (struct tree_base): Add saturating_flag.
-	Remove one bit of spare for saturating_flag.
-	(NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE.
-	(NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P,
-	FIXED_POINT_TYPE_P): Define.
-	(TYPE_SATURATING): Define.
-	(TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define.
-	(struct tree_fixed_cst): New.
-	(TYPE_IBIT, TYPE_FBIT): Define.
-	(tree_node): Add fixed_cst.
-	(enum tree_index): Add new enumeration values of
-	TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE,
-	TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE,
-	TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE,
-	TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE,
-	TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE,
-	TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE,
-	TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE,
-	TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE,
-	TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE,
-	TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE,
-	TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE,
-	TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE,
-	TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE,
-	TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE,
-	TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE,
-	TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE,
-	TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE,
-	TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE.
-	(sat_short_fract_type_node, sat_fract_type_node,
-	sat_long_fract_type_node, sat_long_long_fract_type_node,
-	sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node,
-	sat_unsigned_long_fract_type_node,
-	sat_unsigned_long_long_fract_type_node, short_fract_type_node,
-	fract_type_node, long_fract_type_node, long_long_fract_type_node,
-	unsigned_short_fract_type_node, unsigned_fract_type_node,
-	unsigned_long_fract_type_node, unsigned_long_long_fract_type_node,
-	sat_short_accum_type_node, sat_accum_type_node,
-	sat_long_accum_type_node, sat_long_long_accum_type_node,
-	sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node,
-	sat_unsigned_long_accum_type_node,
-	sat_unsigned_long_long_accum_type_node, short_accum_type_node,
-	accum_type_node, long_accum_type_node, long_long_accum_type_node,
-	unsigned_short_accum_type_node, unsigned_accum_type_node,
-	unsigned_long_accum_type_node, unsigned_long_long_accum_type_node,
-	qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node,
-	uqq_type_node, uhq_type_node, usq_type_node, udq_type_node,
-	utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node,
-	sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node,
-	sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node,
-	sat_utq_type_node, ha_type_node, sa_type_node, da_type_node,
-	ta_type_node, uha_type_node, usa_type_node, uda_type_node,
-	uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node,
-	sat_ta_type_node, sat_uha_type_node, sat_usa_type_node,
-	sat_uda_type_node, sat_uta_type_node): New macro.
-	(make_fract_type, make_accum_type): Declare.
-	(make_signed_fract_type, make_unsigned_fract_type,
-	make_sat_signed_fract_type, make_sat_unsigned_fract_type,
-	make_signed_accum_type, make_unsigned_accum_type,
-	make_sat_signed_accum_type, make_sat_unsigned_accum_type,
-	make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type,
-	make_or_reuse_sat_signed_fract_type,
-	make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type,
-	make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type,
-	make_or_reuse_sat_unsigned_accum_type): New macro.
-	(fixed_zerop): Declare.
-	* defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
-	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
-	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
-	LONG_LONG_ACCUM_TYPE_SIZE): Define.
-	* treestruct.def: Add TS_FIXED_CST.
-	* Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h.
-	(tree.o): Likewise.
-	(tree-dump.o): Likewise.
-	(print-tree.o): Likewise.
-	(tree-pretty-print.o): Likewise.
-	(fold-const.o): Likewise.
-	* tree-complex.c (some_nonzerop): Handle FIXED_CST.
-	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST.
-	(is_gimple_min_invariant): Handle FIXED_CST.
-	* stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT,
-	MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
-	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	(layout_type): Handle FIXED_POINT_TYPE.
-	(make_fract_type, make_accum_type): New functions.
-	* tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE.
-	* tree-dump.c (fixed-value.h): New include.
-	(dump_fixed): New function.
-	(dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST.
-	* tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE.
-	(estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR.
-	* tree-pretty-print.c (fixed-value.h): New include.
-	(dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and
-	FIXED_CONVERT_EXPR.
-	* tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST.
-	* tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST.
-	* tree-ssa-pre.c (poolify_tree): Handle FIXED_CST.
-	* tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation
-	for non-saturating fixed-point types.
-	(reassociate_bb): Likewise.
-	* emit-rtl.c (fixed-value.h): New include.
-	(fconst0, fconst1): New array.
-	(init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes.
-	* tree-vect-generic.c expand_vector_operation): Support
-	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and
-	MODE_VECTOR_UACCUM.
-	(type_for_widest_vector_mode): Add one parameter for the 
-	saturating flag.
-	Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their
-	vector mode.
-	Pass the satp parameter to type_for_mode for fixed-point types.
-	(expand_vector_operations_1): Pass the saturating flag to
-	type_for_widest_vector_mode.
-	Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
-	and MODE_VECTOR_UACCUM.
-	* tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST.
-	(vectorizable_condition): Likewise.
-	* tree.c (fixed-value.h): New include.
-	(tree_code_size): Support FIXED_CST.
-	(build_fixed): New function.
-	(build_one_cst): Support FIXED_POINT_TYPE for accum types.
-	(fixed_zerop): New function.
-	(tree_node_structure): Support FIXED_CST.
-	(type_contains_placeholder_1): Support FIXED_POINT_TYPE.
-	(build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE.
-	(type_hash_eq): Handle FIXED_POINT_TYPE.
-	(simple_cst_equal): Support FIXED_CST.
-	(iterative_hash_expr): Handle FIXED_CST.
-	(get_unwidened): Make sure type is not FIXED_POINT_TYPE.
-	(get_narrower): Likewise.
-	(variably_modified_type_p): Handle FIXED_POINT_TYPE.
-	(make_or_reuse_fract_type, make_or_reuse_accum_type): New functions.
-	(build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and
-	MAKE_FIXED_MODE_NODE macros to initialize fixed-point type
-	nodes.
-	(build_vector_type_for_mode): Handle MODE_VECTOR_FRACT,
-	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	(initializer_zerop): Support FIXED_CST.
-	(walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE.
-	* dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or
-	DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE.
-	(is_base_type): Handle FIXED_POINT_TYPE.
-	(add_type_attribute): Handle FIXED_POINT_TYPE.
-	(gen_type_die_with_usage): Handle FIXED_POINT_TYPE.
-	* print-tree.c (fixed-value.h): New include.
-	(print_node_brief): Support FIXED_CST.
-	(print_node): Support FIXED_POINT_TYPE and FIXED_CST.
-	* c-pretty-print.c (fixed-value.h): New include.
-	(pp_c_type_specifier): Handle FIXED_POINT_TYPE.  Need to pass
-	TYPE_SATURATING to c_common_type_for_mode for fixed-point modes.
-	(pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE.
-	Support fixed-point types for inner items in VECTOR_TYPE.
-	(pp_c_direct_declarator): Likewise.
-	(pp_c_declarator): Likewise.
-	(pp_c_fixed_constant): New function.
-	(pp_c_constant): Handle FIXED_CST.
-	(pp_c_primary_expression): Likewise.
-	(pp_c_expression): Likewise.
-	* fold-const.c (fixed-value.h): New include.
-	(negate_expr_p): Return true for FIXED_CST.
-	(fold_negate_expr): Support FIXED_CST.
-	(split_tree): Support FIXED_CST.
-	(const_binop): Support FIXED_CST.
-	(fold_convert_const_int_from_fixed): New function to convert from
-	fixed to int.
-	(fold_convert_const_real_from_fixed): New function to convert from
-	fixed to real.
-	(fold_convert_const_fixed_from_fixed): New function to convert from
-	fixed to another fixed.
-	(fold_convert_const_fixed_from_int): New function to convert from
-	int to fixed.
-	(fold_convert_const_fixed_from_real): New function to convert from
-	real to fixed.
-	(fold_convert_const): Support conversions from fixed to int, from
-	fixed to real, from fixed to fixed, from int to fixed, and from real
-	to fixed.
-	(fold_convert): Support FIXED_CST and FIXED_POINT_TYPE.
-	(operand_equal_p): Support FIXED_CST.
-	(make_range): For fixed-point modes, we need to pass the
-	saturating flag as the 2nd parameter.
-	(tree_swap_operands_p): Handle FIXED_CST.
-	(fold_plusminus_mult_expr): For fract modes, we cannot generate
-	constant 1.
-	(fold_unary): Support FIXED_CONVERT_EXPR.
-	(fold_binary): Handle FIXED_CST.
-	Make sure the type is not saturating, before associating operations.
-	Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2).
-	(tree_expr_nonnegative_warnv_p): Handle FIXED_CST.
-	(fold_negate_const): Support FIXED_CST.
-	(fold_relational_const): Support FIXED_CST.
-	* gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE.
-	(gimplify_expr): Handle FIXED_CST.
-	(gimplify_type_sizes): Handle FIXED_POINT_TYPE.
-	* ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST.
-	* ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE.
-	* doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE,
-	FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
-	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
-	LONG_LONG_ACCUM_TYPE_SIZE.
-	* dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE.
-	* c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE.
-	* tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE.
-	* expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT,
-	MODE_ACCUM, and MODE_UACCUM.
-	* tree-vectorizer.c (vect_is_simple_reduction): Check for saturating
-	fixed-point types to disable reduction.
-	* explow.c (promote_mode): Support FIXED_POINT_TYPE.
-
-2007-08-08  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/x-rs6000: New file.
-	* config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu.
-	* config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu.
-	(EXTRA_SPEC_FUNCTIONS): Define.
-	(HAVE_LOCAL_CPU_DETECT): Define.
-	(CC1_CPU_SPEC): Define.
-	* config/rs6000/driver-rs6000.c: New file.
-	* config/rs6000/aix.h (CC1_SPEC): Define.
-	* config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu.
-	* config.host: Add x-rs6000 to host_xmake_file if host and target
-	are rs6000 or powerpc.
-
-2007-08-08  Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
-
-	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-	    Sandra Loosemore  <sandra@codesourcery.com>
-	    Chao-ying Fu  <fu@mips.com>
-	    Nigel Stephens  <nigel@mips.com>
-	    David Ung  <davidu@mips.com>
-
-	* doc/invoke.texi (-mcode-readable): Document.
-	* config/mips/mips.opt (mcode-readable): New option.
-	* config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
-	* config/mips/mips.h (mips_code_readable_setting): New enum.
-	(mips_code_readable): Declare.
-	(TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
-	(TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
-	(JUMP_TABLES_IN_TEXT_SECTION): Use it.
-	(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise.  Remove
-	boiler-plate comments.
-	(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
-	* config/mips/mips.c (mips_code_readable): New variable.
-	(mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
-	MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES.  Use both the
-	context and -mcode-readable setting to restrict the use of
-	SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
-	Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
-	(mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
-	(mips_blocks_for_constant_p): Only return false for
-	TARGET_MIPS16_PCREL_LOADS.
-	(mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
-	for MIPS16.  Handle SYMBOL_32_HIGH.
-	(mips_const_insns): Allow HIGHs for MIPS16 too.
-	(mips_unspec_address_offset): New function, split out from...
-	(mips_unspec_address): ...here.
-	(mips_output_move): Handle MIPS16 HIGH moves.  Use "li" to load
-	16-bit symbolic constants.  Assert approropiate conditions for
-	using the "la" and "dla" macros.
-	(mips_handle_option): Handle -mcode-readable=.
-	(override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
-	Set up mips_lo_relocs[SYMBOL_32_HIGH].
-	(mips_strip_unspec_address): New function, split out from...
-	(print_operand_reloc): ...here.
-	(print_operand): Pass constants through mips_strip_unspec_address.
-	(print_operand_address): Likewise.
-	(mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
-	(mips_select_rtx_section): Remove MIPS16 handling.
-	(mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
-	(mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
-	(mips16_lay_out_constants): Do nothing unless
-	TARGET_MIPS16_PCREL_LOADS.
-	(mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
-	* config/mips/mips.md: Split HIGHs for MIPS16.
-	(tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (mips_emit_move): Declare.
-	* config/mips/mips.c (mips_emit_move): New function.
-	(mips_force_temporary): Use mips_emit_move instead of emit_move_insn.
-	(mips_legitimize_const_move): Likewise.
-	(mips_legitimize_move): Likewise.
-	(mips_split_64bit_move): Likewise.
-	(mips_restore_gp): Likewise.
-	(mips_load_call_address): Likewise.
-	(mips_emit_fcc_reload): Likewise.
-	(mips_set_return_address): Likewise.
-	(mips_block_move_straight): Likewise.
-	(mips_block_move_loop): Likewise.
-	(mips_setup_incoming_varargs): Likewise.
-	(mips_save_reg): Likewise.
-	(mips_expand_prologue): Likewise.
-	(mips_restore_reg): Likewise.
-	(mips_expand_epilogue): Likewise.
-	(mips_output_mi_thunk): Likewise.
-	(build_mips16_call_stub): Likewise.
-	(mips_builtin_branch_and_move): Likewise.
-	* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise.
-	* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
-	(fixuns_truncdfdi2): Likewise.
-	(fixuns_truncsfsi2): Likewise.
-	(fixuns_truncsfdi2): Likewise.
-	(loadgp_absolute): Likewise.
-	(builtin_setjmp_setup): Likewise.
-	(builtin_longjmp): Likewise.
-	(untyped_call): Likewise.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (mips_split_symbol): Add a mode and
-	an "rtx *" argument.  Return a bool.
-	* config/mips/mips.c (mips_split_symbol): Accept arbitrary source
-	values and return true if they can be split.  Take the same kind of
-	mode argument as mips_symbol_insns.  Add a "lo_sum_out" parameter
-	and store the lo_sum there if nonnull.  Use the symbol type to
-	determine whether a $gp or HIGH is needed.
-	(mips_legitimize_address): Update call to mips_split_symbol and
-	simplify accordingly.
-	(mips_legitimize_const_move): Likewise.
-	* config/mips/mips.md: In the combine define_split,
-	check mips_split_symbol instead of splittable_symbolic_operand.
-	Update use of mips_split_symbol in the generator code.
-	* config/mips/predicates.md (splittable_symbolic_operand): Delete.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_symbolic_address_p): Delete.
-	(mips_symbol_insns_1): New function, split out from...
-	(mips_symbol_insns): ...here.  Take a mode argument.  Treat loads
-	and stores separately from load addresses.
-	(mips_classify_address): Replace uses of mips_symbolic_address_p
-	with uses of mips_symbol_insns.
-	(mips_address_insns): Update calls to mips_symbol_insns.
-	(mips_const_insns): Likewise.
-	(mips_legitimize_address): Likewise.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
-	* config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS
-	block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS.
-	Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for
-	non-call contexts if TARGET_MIPS16.
-	(mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM.
-	(mips_symbolic_address_p): Likewise.  Remove special TARGET_MIPS16
-	code for SYMBOL_ABSOLUTE.
-	(mips_symbol_insns): Likewise.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (mips_symbol_context): New enumeration.
-	* config/mips/mips.c (mips_classify_symbol): Take a context argument.
-	(mips_symbolic_constant_p): Likewise.  Update the call to
-	mips_classify_symbol.
-	(mips_classify_address): Update the calls to mips_symbolic_constant_p.
-	(mips_const_insns): Likewise.  Update the call to mips_classify_symbol.
-	(mips_legitimize_address): Update the call to mips_symbolic_constant_p.
-	(print_operand_reloc): Add a context argument.  Update the call to
-	mips_symbolic_constant_p.
-	(print_operand): Update the calls to print_operand_reloc.
-	(print_operand_address): Use print_operand_reloc rather than
-	print_operand.
-	(mips_rewrite_small_data_p): Add a context argument.  Update the call
-	to mips_symbolic_constant_p.
-	(mips_small_data_pattern_1): Make DATA the containing mem.
-	Update the call to mips_rewrite_small_data_p.
-	(mips_rewrite_small_data_1): Likewise.
-	(mips_use_anchors_for_symbol_p): Update the call to
-	mips_symbolic_constant_p.
-	* config/mips/predicates.md (const_call_insn_operand): Likewise.
-	(splittable_symbolic_operand): Likewise.
-	(move_operand): Likewise.
-	(absolute_symbolic_operand): Likewise.
-	(got_disp_operand): Likewise.
-	(got_page_ofst_operand): Likewise.
-
-2007-08-08  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to...
-	(SYMBOL_ABSOLUTE): ...this.
-	(SYMBOL_SMALL_DATA): Rename to...
-	(SYMBOL_GP_RELATIVE): ...this.
-	(SYMBOL_CONSTANT_POOL): Rename to...
-	(SYMBOL_PC_RELATIVE): ...this.
-	* config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p)
-	(mips_symbolic_address_p, mips_symbol_insns, override_options)
-	(mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update
-	after above changes.
-	* config/mips/predicates.md (const_call_insn_operand): Likewise.
-	(general_symbolic_operand): Rename to...
-	(absolute_symbolic_operand): ...this.
-	* config/mips/mips.md: Update after above changes.
-
-2007-08-08  Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* ddg.c (print_ddg): Add dump information.
-	* modulo-sched.c (print_node_sched_params): Add parameter and
-	verbosity.
-	(calculate_maxii): Remove function.
-	(undo_generate_reg_moves): Likewise.
-	(undo_permute_partial_schedule): Likewise.
-	(kernel_number_of_cycles): Likewise.
-	(MAXII_FACTOR): New definition to calculate the upper bound of II.
-	(sms_schedule): Use it.  Remove profitability checks.
-	(sms_schedule_by_order): Fix order of nodes within the cycle.
-
-2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
-	-profile option, add pie support.
-	(ENDFILE_SPEC): New spec.
-	* config/gnu.h (LIB_SPEC): Add -profile option.
-
-2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
-
-	* config/i386/gnu.h (CPP_SPEC): Add -pthread option.
-	* config/gnu.h (LIB_SPEC): Likewise.
-
-2007-08-07  Yaz Saito  <saito@google.com>
-	    Ian Lance Taylor  <iant@google.com>
-
-	* common.opt (finstrument-functions-exclude-function-list): New
-	option.
-	(finstrument-functions-exclude-file-list): New option.
-	* opts.c (char_p): Define and DEF_VEC.
-	(flag_instrument_functions_exclude_functions): New static
-	variable.
-	(flag_instrument_functions_exclude_files): New static variable.
-	(add_instrument_functions_exclude_list): New static function.
-	(flag_instrument_functions_exclude_p): New function.
-	(common_handle_option): Handle new options.
-	* flags.h (flag_instrument_functions_exclude_p): Declare.
-	* gimplify.c (gimplify_function_tree): Call
-	flag_instrument_functions_exclude_p.
-	* doc/invoke.texi (Option Summary): Mention new options.
-	(Code Gen Options): Document new options.
-
-2007-08-07  Ian Lance Taylor  <iant@google.com>
-
-	PR rtl-optimization/32776
-	* lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
-	(resolve_use): Likewise.
-	(decompose_multiword_subregs): Remove "changed" local variable.
-
-2007-08-07  Carlos O'Donell  <carlos@codesourcery.com>
-
-	* configure.ac: Define HAVE_GNU_AS if $gas_flag is yes.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* gcc.c [HAVE_GNU_AS]: Add "%{v} %{w:-W} %{I*} " to asm_options
-	spec string.
-
-2007-08-07  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL
-	note, just delete the insn.
-
-2007-08-07  Andreas Schwab  <schwab@suse.de>
-
-	PR bootstrap/32973
-	* gengtype-lex.l: Ignore backslash/newline pair while scanning a
-	struct definition.
-
-2007-08-07  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* lower-subreg.c (resolve_subreg_use): Remove assertion.
-	(find_decomposable_shift_zext, resolve_shift_zext): New functions.
-	(decompose_multiword_subregs): Use the functions above to decompose
-	multiword shifts and zero-extends.
-
-2007-08-07  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* doc/sourcebuild.texi (Test Directives): Fix "compile" and
-	"assemble" descriptions which were swapped.
-
-2007-08-06  Chao-ying Fu  <fu@mips.com>
-
-	* fixed-value.h: New file.
-	* fixed-value.c: New file.
-	* Makefile.in (OBJS-common): Add fixed-value.o.
-	(fixed-value.o): New rule.
-	(GTFILES): Add fixed-value.h.
-	* double-int.c (double_int_scmp): We should use unsigned HOST_WIDE_INT
-	to compare a.low and b.low.
-	* gengtype.c (main): Handle FIXED_VALUE_TYPE type as scalar typedef.
-
-2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
-	    Daniel Jacobowitz  <dan@codesourcery.com>
-
-	PR target/31868
-	* config.gcc (x86_64-*-freebsd*): Add i386/t-crtstuff to
-	tmake_file.
-	(x86_64-*-netbsd*): Likewise.
-	(x86_64-*-linux*): Likewise.
-	(x86_64-*-kfreebsd*-gnu): Likewise.
-	(x86_64-*-knetbsd*-gnu): Likewise.
-	(i[34567]86-*-solaris2.1[0-9]*): Likewise.
-
-	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Removed.
-
-	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Update comments.
-	Add -fno-asynchronous-unwind-tables.
-
-	* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
-	* config/t-libc-ok (CRTSTUFF_T_CFLAGS_S): Likewise.
-	* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Likewise.
-	* config/t-netbsd (CRTSTUFF_T_CFLAGS_S): Likewise.
-	* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Likewise.
-
-2007-08-06  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.c (ia64_c_mode_for_suffix): New.
-	(TARGET_C_MODE_FOR_SUFFIX): New.
-
-2007-08-06  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/div.md (m2subrf4_cond): Change 'g' to 'G'.
-
-2007-08-06  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.h (MODES_TIEABLE_P): Fix typo.
-
-2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.md: Check TARGET_ macros and optimize_size
-	before checking function returns in conditional expressions.
-
-2007-08-06  Alfred Minarik  <a.minarik@aon.at>
-
-	PR pch/13676
-	* doc/invoke.texi: Add .hp, .hxx, .hpp, .h, .HPP, .tcc as c++ header.
-
-2008-08-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32988
-	* tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check
-	for INTEGRAL_TYPE_P.
-
-2008-08-05  Paolo Bonzini  <bonzini@gnu.org>
-
-	* configure.ac: Remove --enable-checking=df from default settings.
-	* tree-pass.h (TODO_df_verify): New.  Shift TODO_mark_first_instance.
-	* df-core.c (df_finish_pass) [ENABLE_CHECKING]: Schedule verification
-	if the parameter is true.
-	(df_analyze) [!ENABLE_DF_CHECKING]: Also do verification if the
-	DF_VERIFY_SCHEDULED flag is true.
-	* df.h (enum df_changeable_flags): Add DF_VERIFY_SCHEDULED.
-	(df_finish_pass): Adjust prototype.
-	* passes.c (execute_todo): Schedule verification if TODO_df_verify is
-	true.
-
-	* see.c (pass_see): Add TODO_df_verify.
-	* loop-init.c (pass_rtl_move_loop_invariants): Add TODO_df_verify.
-	* global.c (rest_of_handle_global_alloc): Schedule verification
-	after the pass.
-	* local-alloc.c (rest_of_handle_local_alloc): Schedule verification
-	before the pass.
-	* function.c (pass_thread_prologue_and_epilogue): Add TODO_df_verify.
-	* gcse.c (rest_of_handle_gcse): Adjust call to df_finish_pass.
-	* loop-iv.c (iv_analysis_done): Schedule verification after the pass.
-
-	* config/sh/sh.c (sh_output_mi_thunk): Remove dead code.
-	* config/ia64/ia64.c (ia64_reorg): Adjust call to df_finish_pass.
-	* config/bfin/bfin.c (bfin_reorg): Adjust call to df_finish_pass.
-
-2007-08-05  Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Revital Eres <eres@il.ibm.com>
-
-	* doc/invoke.texi (-fmodulo-sched-allow-regmoves): Document new
-	flag.
-	* ddg.c (create_ddg_dependence): Rename to...
-	(create_ddg_dep_from_intra_loop_link): This.  Do not check
-	for interloop edges.  Do not create anti dependence edge when
-	a true dependence edge exists in the opposite direction and
-	-fmodulo-sched-allow-regmoves is set.
-	(build_intra_loop_deps): Call create_ddg_dep_from_intra_loop_link.
-	(add_cross_iteration_register_deps): Create anti dependence edge
-	when -fno-modulo-sched-allow-regmoves is set.
-	* common.opt (-fmodulo-sched-allow-regmoves): New flag.
-
-2007-08-04  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/arm/arm.md (movsi): Add braces.
-
-2007-08-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32780
-	* fold-const.c (fold_binary <case MINUS_EXPR>): Fix the type of
-	operands for the folding of "A - (A & B)" into "~B & A"; cast them
-	to type.
-
-2007-08-03  Zdenek Dvorak  <ook@ucw.cz>
-
-	* tree-ssa-threadupdate.c (thread_through_all_blocks): Use loops'
-	state accessor functions.
-	* cfgloopmanip.c (remove_path, create_preheaders,
-	force_single_succ_latches, fix_loop_structure): Ditto.
-	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
-	tree_duplicate_loop_to_header_edge): Ditto.
-	* cfgloopanal.c (mark_irreducible_loops): Ditto.
-	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize):
-	Ditto.
-	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures,
-	cleanup_tree_cfg): Ditto.
-	* tree-cfg.c (tree_merge_blocks): Ditto.
-	* cfgloop.c (rescan_loop_exit, record_loop_exits,
-	release_recorded_exits, get_loop_exit_edges, verify_loop_structure,
-	loop_preheader_edge, single_exit): Ditto.
-	(flow_loops_find): Do not clear loops->state.
-	* cfgloop.h (loops_state_satisfies_p, loops_state_set,
-	loops_state_clear): New functions.
-
-2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32399
-	* tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
-	when adding to the base and convert ELT to sizetype instead of type.
-
-2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32304
-	* ipa-reference.c (has_proper_scope_for_analysis): Return false when
-	the decl's type has TYPE_NEEDS_CONSTRUCTING set.
-
-2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/32935
-	* fold-convert.c (fold_negate_expr <NOP_EXPR>): Convert back to the
-	 correct type the negate expression.
-
-2007-08-03  Jan Hubicka  <jh@suse.cz>
-
-	* config/i386/i386.c (setup_incoming_varargs_64): Tolerate 64bit
-	preferred stack boundary.
-
-2007-08-03  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000.c (struct processor_cost): Change
-	l1_cache_lines to l1_cache_size.  Add l2_cache_size.
-	(*_cost): Convert l1 cache information to kilobytes.  Add l2 cache
-	information.
-	(rios1_costs, rios2_cost): Correct cache line size.
-	(rs6000_override_options): Set l2-cache-size parameter.
-
-2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-	    Diego Novillo  <dnovillo@google.com>
-
-	PR 31521
-	* tree-vrp.c (simplify_div_or_mod_using_ranges): Also simplify
-	if the range includes 0.
-
-2007-08-03  Ben Elliston  <bje@au.ibm.com>
-
-	* config/spu/spu.md (dftsv, dftsv_celledp): Attach the appropriate
-	mode to unspec expressions to silence a warning from the generator
-	programs.
-	
-2007-08-02  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/constraints.md ("U"): Make constraint vector only.
-
-2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>
-
-	PR middle-end/25446
-	* c-objc-common.c (c_cannot_inline_tree_fn): Check for an
-	always_inline attribute on the function decl.
-
-2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>
-
-	PR middle-end/25445
-	* varasm.c (default_binds_local_p_1): Consult flag_whole_program
-	if we are compiling with -fPIC.
-
-2007-08-02  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* longlong.h [__mips__] (count_leading_zeros, COUNT_LEADING_ZEROS_0):
-	Define for MIPS32 and MIPS64.
-
-2007-08-02  Nick Clifton  <nickc@redhat.com>
-
-	* config/host-hpux.c: Change copyright header to refer to version
-	3 of the GNU General Public License and to point readers at the
-	COPYING3 file and the FSF's license web page.
-	* config/alpha/predicates.md, config/alpha/vms-ld.c,
-	config/alpha/linux.h, config/alpha/alpha.opt,
-	config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h,
-	config/alpha/vms-unwind.h, config/alpha/ev4.md,
-	config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c,
-	config/alpha/alpha.h, config/alpha/sync.md,
-	config/alpha/openbsd.h, config/alpha/alpha.md,
-	config/alpha/alpha-modes.def, config/alpha/ev5.md,
-	config/alpha/alpha-protos.h, config/alpha/freebsd.h,
-	config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h,
-	config/alpha/constraints.md, config/alpha/osf.h,
-	config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h,
-	config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h,
-	config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def,
-	config/frv/frv-asm.h, config/frv/frv-protos.h,
-	config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h,
-	config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h,
-	config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt,
-	config/s390/2064.md, config/s390/2084.md, config/s390/s390.md,
-	config/s390/s390.opt, config/s390/s390-modes.def,
-	config/s390/fixdfdi.h, config/s390/constraints.md,
-	config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h,
-	config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md,
-	config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md,
-	config/m32c/m32c-pragma.c, config/m32c/m32c.h,
-	config/m32c/prologue.md, config/m32c/m32c.abi,
-	config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md,
-	config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt,
-	config/m32c/t-m32c, config/m32c/m32c-modes.def,
-	config/m32c/jump.md, config/m32c/shift.md,
-	config/m32c/m32c-protos.h, config/libgloss.h,
-	config/spu/spu-protos.h, config/spu/predicates.md,
-	config/spu/spu-builtins.h, config/spu/spu.c,
-	config/spu/spu-builtins.def, config/spu/spu-builtins.md,
-	config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md,
-	config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt,
-	config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h,
-	config/sparc/hypersparc.md, config/sparc/predicates.md,
-	config/sparc/linux.h, config/sparc/sp64-elf.h,
-	config/sparc/supersparc.md, config/sparc/cypress.md,
-	config/sparc/openbsd1-64.h, config/sparc/openbsd64.h,
-	config/sparc/niagara.md, config/sparc/sparc.md,
-	config/sparc/long-double-switch.opt, config/sparc/ultra3.md,
-	config/sparc/sparc.opt, config/sparc/sync.md,
-	config/sparc/sp-elf.h, config/sparc/sparc-protos.h,
-	config/sparc/ultra1_2.md, config/sparc/biarch64.h,
-	config/sparc/sparc.c, config/sparc/little-endian.opt,
-	config/sparc/sysv4-only.h, config/sparc/sparc.h,
-	config/sparc/linux64.h, config/sparc/freebsd.h,
-	config/sparc/sol2.h, config/sparc/rtemself.h,
-	config/sparc/netbsd-elf.h, config/sparc/vxworks.h,
-	config/sparc/sparc-modes.def, config/sparc/sparclet.md,
-	config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h,
-	config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md,
-	config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt,
-	config/m32r/linux.h, config/m32r/constraints.md,
-	config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt,
-	config/darwin-c.c, config/darwin.opt, config/i386/i386.h,
-	config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h,
-	config/i386/i386.md, config/i386/netware-crt0.c,
-	config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h,
-	config/i386/kaos-i386.h, config/i386/winnt-stubs.c,
-	config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h,
-	config/i386/sol2.h, config/i386/constraints.md,
-	config/i386/netware-libgcc.c, config/i386/sysv5.h,
-	config/i386/predicates.md, config/i386/geode.md,
-	config/i386/x86-64.h, config/i386/kfreebsd-gnu.h,
-	config/i386/freebsd64.h, config/i386/vxworksae.h,
-	config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h,
-	config/i386/rtemself.h, config/i386/netbsd-elf.h,
-	config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c,
-	config/i386/netware.h, config/i386/i386-modes.def,
-	config/i386/sysv4-cpp.h, config/i386/i386-interix.h,
-	config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h,
-	config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h,
-	config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h,
-	config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md,
-	config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt,
-	config/i386/xm-mingw32.h, config/i386/linux64.h,
-	config/i386/openbsdelf.h, config/i386/xm-cygwin.h,
-	config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h,
-	config/i386/winnt-cxx.c, config/i386/i386-interix3.h,
-	config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c,
-	config/i386/cygwin2.c, config/i386/i386-protos.h,
-	config/i386/sync.md, config/i386/openbsd.h,
-	config/i386/host-mingw32.c, config/i386/i386-aout.h,
-	config/i386/nto.h, config/i386/biarch64.h,
-	config/i386/i386-coff.h, config/i386/freebsd.h,
-	config/i386/driver-i386.c, config/i386/knetbsd-gnu.h,
-	config/i386/host-i386-darwin.c, config/i386/vxworks.h,
-	config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h,
-	config/darwin-protos.h, config/linux.opt, config/sol2.c,
-	config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h,
-	config/sh/linux.h, config/sh/elf.h, config/sh/superh.h,
-	config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h,
-	config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h,
-	config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md,
-	config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h,
-	config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c,
-	config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def,
-	config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md,
-	config/sh/superh64.h, config/sh/rtemself.h,
-	config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h,
-	config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h,
-	config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c,
-	config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def,
-	config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h,
-	config/avr/predicates.md, config/avr/constraints.md,
-	config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt,
-	config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h,
-	config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h,
-	config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt,
-	config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt,
-	config/c4x/c4x-modes.def, config/c4x/rtems.h,
-	config/c4x/predicates.md, config/c4x/c4x.h,
-	config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h,
-	config/xtensa/predicates.md, config/xtensa/xtensa.c,
-	config/xtensa/linux.h, config/xtensa/xtensa.h,
-	config/xtensa/elf.h, config/xtensa/xtensa.md,
-	config/xtensa/xtensa.opt, config/xtensa/constraints.md,
-	config/xtensa/xtensa-protos.h, config/dbx.h,
-	config/stormy16/predicates.md, config/stormy16/stormy16.md,
-	config/stormy16/stormy16.c, config/stormy16/stormy16.opt,
-	config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h,
-	config/host-solaris.c, config/fr30/fr30.h,
-	config/fr30/predicates.md, config/fr30/fr30-protos.h,
-	config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt,
-	config/vxworksae.h, config/sol2-c.c, config/lynx.h,
-	config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md,
-	config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c,
-	config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h,
-	config/m68hc11/m68hc12.h, config/openbsd-oldgas.h,
-	config/host-linux.c, config/interix3.h, config/cris/cris.c,
-	config/cris/predicates.md, config/cris/linux.h,
-	config/cris/cris.h, config/cris/aout.h, config/cris/cris.md,
-	config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt,
-	config/cris/aout.opt, config/cris/cris-protos.h,
-	config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h,
-	config/iq2000/iq2000.h, config/iq2000/predicates.md,
-	config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md,
-	config/iq2000/iq2000.c, config/iq2000/iq2000.opt,
-	config/host-darwin.c, config/mt/mt.md, config/mt/mt.c,
-	config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h,
-	config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h,
-	config/chorus.h, config/mn10300/mn10300.c,
-	config/mn10300/mn10300.opt, config/mn10300/predicates.md,
-	config/mn10300/mn10300.h, config/mn10300/linux.h,
-	config/mn10300/constraints.md, config/mn10300/mn10300-protos.h,
-	config/mn10300/mn10300.md, config/ia64/predicates.md,
-	config/ia64/itanium1.md, config/ia64/unwind-ia64.h,
-	config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c,
-	config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md,
-	config/ia64/freebsd.h, config/ia64/ia64.md,
-	config/ia64/ia64-modes.def, config/ia64/constraints.md,
-	config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h,
-	config/gofast.h, config/rtems.h, config/sol2-10.h,
-	config/m68k/predicates.md, config/m68k/m68k.md,
-	config/m68k/linux.h, config/m68k/m68k-modes.def,
-	config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h,
-	config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt,
-	config/m68k/openbsd.h, config/m68k/m68k-aout.h,
-	config/m68k/m68k.opt, config/m68k/m68020-elf.h,
-	config/m68k/m68kelf.h, config/m68k/m68k-devices.def,
-	config/m68k/uclinux-oldabi.h, config/m68k/m68k.c,
-	config/m68k/constraints.md, config/m68k/rtemself.h,
-	config/m68k/netbsd-elf.h, config/m68k/m68k.h,
-	config/m68k/uclinux.h, config/rs6000/power4.md,
-	config/rs6000/host-darwin.c, config/rs6000/6xx.md,
-	config/rs6000/linux.h, config/rs6000/eabi.h,
-	config/rs6000/aix41.opt, config/rs6000/xcoff.h,
-	config/rs6000/secureplt.h, config/rs6000/linuxspe.h,
-	config/rs6000/eabialtivec.h, config/rs6000/8540.md,
-	config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h,
-	config/rs6000/windiss.h, config/rs6000/603.md,
-	config/rs6000/aix41.h, config/rs6000/cell.md,
-	config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h,
-	config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt,
-	config/rs6000/darwin.md, config/rs6000/darwin64.h,
-	config/rs6000/default64.h, config/rs6000/7xx.md,
-	config/rs6000/darwin.opt, config/rs6000/spe.md,
-	config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c,
-	config/rs6000/rios2.md, config/rs6000/linuxaltivec.h,
-	config/rs6000/7450.md, config/rs6000/linux64.h,
-	config/rs6000/constraints.md, config/rs6000/440.md,
-	config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c,
-	config/rs6000/rs6000.c, config/rs6000/aix52.h,
-	config/rs6000/rs6000.h, config/rs6000/power6.md,
-	config/rs6000/predicates.md, config/rs6000/altivec.md,
-	config/rs6000/aix64.opt, config/rs6000/rios1.md,
-	config/rs6000/rs6000-modes.def, config/rs6000/rs64.md,
-	config/rs6000/eabisim.h, config/rs6000/sysv4le.h,
-	config/rs6000/darwin7.h, config/rs6000/dfp.md,
-	config/rs6000/linux64.opt, config/rs6000/sync.md,
-	config/rs6000/vxworksae.h, config/rs6000/power5.md,
-	config/rs6000/lynx.h, config/rs6000/biarch64.h,
-	config/rs6000/rs6000.md, config/rs6000/sysv4.opt,
-	config/rs6000/eabispe.h, config/rs6000/e500.h,
-	config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h,
-	config/rs6000/netbsd.h, config/rs6000/e500-double.h,
-	config/rs6000/aix.h, config/rs6000/vxworks.h,
-	config/rs6000/40x.md, config/rs6000/aix51.h,
-	config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md,
-	config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def,
-	config/arc/arc.h, config/mcore/mcore-elf.h,
-	config/mcore/mcore-protos.h, config/mcore/predicates.md,
-	config/mcore/mcore.md, config/mcore/mcore.c,
-	config/mcore/mcore.opt, config/mcore/mcore.h,
-	config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h,
-	config/score/predicates.md, config/score/score-version.h,
-	config/score/score-protos.h, config/score/misc.md,
-	config/score/elf.h, config/score/score.c, config/score/mac.md,
-	config/score/score7.md, config/score/score.h,
-	config/score/score-conv.h, config/score/score-mdaux.c,
-	config/score/score.md, config/score/score.opt,
-	config/score/score-modes.def, config/score/score-mdaux.h,
-	config/score/mul-div.S, config/arm/uclinux-elf.h,
-	config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md,
-	config/arm/symbian.h, config/arm/linux-elf.h,
-	config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
-	config/arm/elf.h, config/arm/aout.h, config/arm/arm.c,
-	config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h,
-	config/arm/strongarm-pe.h, config/arm/arm.h,
-	config/arm/cortex-a8-neon.md, config/arm/semiaof.h,
-	config/arm/cortex-a8.md, config/arm/uclinux-eabi.h,
-	config/arm/arm-modes.def, config/arm/linux-eabi.h,
-	config/arm/rtems-elf.h, config/arm/neon-schedgen.ml,
-	config/arm/arm-cores.def, config/arm/arm-protos.h,
-	config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h,
-	config/arm/wince-pe.h, config/arm/neon.md,
-	config/arm/constraints.md, config/arm/neon.ml,
-	config/arm/xscale-elf.h, config/arm/strongarm-coff.h,
-	config/arm/arm.opt, config/arm/arm926ejs.md,
-	config/arm/predicates.md, config/arm/iwmmxt.md,
-	config/arm/arm_neon.h, config/arm/unknown-elf.h,
-	config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt,
-	config/arm/neon-testgen.ml, config/arm/arm.md,
-	config/arm/xscale-coff.h, config/arm/pe.c,
-	config/arm/arm-generic.md, config/arm/pe.h,
-	config/arm/kaos-strongarm.h, config/arm/freebsd.h,
-	config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md,
-	config/arm/strongarm-elf.h, config/arm/cirrus.md,
-	config/arm/netbsd-elf.h, config/arm/vxworks.h,
-	config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c,
-	config/pa/predicates.md, config/pa/pa64-hpux.h,
-	config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt,
-	config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h,
-	config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h,
-	config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h,
-	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
-	config/pa/pa-hpux1010.h, config/pa/pa-protos.h,
-	config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h,
-	config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h,
-	config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt,
-	config/pa/pa64-regs.h, config/pa/pa-modes.def,
-	config/pa/constraints.md, config/darwin9.h, config/mips/4100.md,
-	config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h,
-	config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h,
-	config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md,
-	config/mips/7000.md, config/mips/9000.md, config/mips/4600.md,
-	config/mips/linux64.h, config/mips/elforion.h,
-	config/mips/constraints.md, config/mips/generic.md,
-	config/mips/predicates.md, config/mips/4300.md,
-	config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md,
-	config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md,
-	config/mips/5k.md, config/mips/vr4120-div.S,
-	config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md,
-	config/mips/mips-protos.h, config/mips/6000.md,
-	config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h,
-	config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h,
-	config/mips/mips-modes.def, config/mips/vr.h,
-	config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h,
-	config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h,
-	config/vax/vax.h, config/vax/elf.h, config/vax/vax.md,
-	config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def,
-	config/vax/openbsd1.h, config/vax/netbsd.h,
-	config/vax/vax-protos.h, config/vax/netbsd-elf.h,
-	config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h,
-	config/h8300/rtems.h, config/h8300/predicates.md,
-	config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h,
-	config/h8300/h8300.md, config/h8300/h8300.opt,
-	config/h8300/coff.h, config/h8300/h8300-protos.h,
-	config/v850/v850.md, config/v850/predicates.md,
-	config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt,
-	config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c,
-	config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h,
-	config/mmix/mmix.h, config/mmix/predicates.md,
-	config/mmix/mmix-protos.h, config/mmix/mmix.md,
-	config/mmix/mmix.c, config/mmix/mmix.opt,
-	config/mmix/mmix-modes.def, config/bfin/bfin.opt,
-	config/bfin/rtems.h, config/bfin/bfin-modes.def,
-	config/bfin/predicates.md, config/bfin/bfin-protos.h,
-	config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md:
-	Likewise.
-
-2007-08-02  Richard Sandiford  <richard@codesourcery.com>
-
-	* emit-rtl.c (reset_used_decls): Rename to...
-	(set_used_decls): ...this.  Set the used flag rather than clearing it.
-	(unshare_all_rtl_again): Update accordingly.  Set flags on argument
-	DECL_RTLs rather than resetting them.
-
-2007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
-
-2007-08-01  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* reload.c (find_reloads_address_part): Pass correct MEMREFLOC
-	argument to find_reloads_address.
-
-2007-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	PR tree-optimization/32919
-	* tree-ssa-sccvn.c (visit_phi): Do not visit abnormal PHIs.
-	* tree-ssa-coalesce.c (ssa_conflicts_dump): New.
-	(coalesce_ssa_name): Call it.
-
-2007-08-01  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips16.S (__mips16_unordsf2, __mips16_floatunsisf): New.
-	(__mips16_unorddf2, __mips16_floatunsidf): New.
-	* config/mips/mips.c (mips_init_libfuncs): Add optab entries for
-	above functions.
-	* config/mips/t-libgcc-mips16 (LIB1ASMFUNCS): Add new functions.
-
-2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
-
-	* tree-pretty-print.c (dump_generic_node): Dump OMP_SECTIONS_SWITCH.
-	Display new operands of OMP_SECTIONS and OMP_CONTINUE.
-	* tree.h (OMP_SECTIONS_CONTROL): New macro.
-	(OMP_DIRECTIVE_P): Add OMP_SECTIONS_SWITCH.
-	* omp-low.c (get_ws_args_for, determine_parallel_type,
-	expand_omp_for_generic, expand_omp_for_static_nochunk,
-	expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
-	Work with more precise CFG.
-	(build_omp_regions_1): Handle OMP_SECTIONS_SWITCH.
-	(lower_omp_sections): Emit OMP_SECTIONS_SWITCH.  Add arguments to
-	OMP_CONTINUE.
-	* tree-gimple.c (is_gimple_stmt): Handle OMP_SECTIONS_SWITCH.
-	* gimple-low.c (lower_stmt): Ditto.
-	* tree-inline.c (estimate_num_insns_1): Ditto.
-	* tree.def (OMP_SECTIONS, OMP_CONTINUE): Added new operands.
-	(OMP_SECTIONS_SWITCH): New.
-	* tree-cfgcleanup.c (cleanup_omp_return): New.
-	(cleanup_tree_cfg_bb): Call cleanup_omp_return.
-	* tree-cfg.c (make_edges): Create back edges for OMP_CONTINUE
-	and exit edge for OMP_FOR.  Handle OMP_SECTIONS_SWITCH.
-	(tree_redirect_edge_and_branch): Handle omp constructs.
-
-	* fortran/trans-openmp.c (gfc_trans_omp_sections): Build OMP_SECTIONS
-	with three arguments.
-
-2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
-
-	* tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only
-	in loop closed ssa.
-
-2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
-
-	* tree-ssa-threadupdate.c (thread_through_all_blocks): Record that
-	the loop structures may need fixing.
-	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
-	New functions.
-	(cleanup_tree_cfg_loop): Removed.
-	(cleanup_tree_cfg): If loops need fixing, call repair_loop_structures.
-	* tree-predcom.c (tree_predictive_commoning): Return TODO_cleanup_cfg
-	instead of running cleanup_tree_cfg_loop.
-	* cfgloop.h (LOOPS_NEED_FIXUP): New constant.
-	* tree-flow.h (cleanup_tree_cfg_loop): Declaration removed.
-	(tree_predictive_commoning): Declaration changed.
-	* passes.c (execute_function_todo): Do not use cleanup_tree_cfg_loop.
-
-2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
-
-	* doc/invoke.texi (l1-cache-size): Update documentation.
-	(l2-cache-size): Document.
-	* params.h (L2_CACHE_SIZE): New macro.
-	* tree-ssa-loop-prefetch.c (L1_CACHE_SIZE_BYTES): Reflect
-	that L1_CACHE_SIZE is in kB now.
-	(L2_CACHE_SIZE_BYTES): New macro.
-	(tree_ssa_prefetch_arrays): Show size in kB.
-	* config/i386/i386.h (struct processor_costs): Add l1_cache_size
-	and l2_cache_size fields.
-	* config/i386/driver-i386.c (describe_cache): Detect cache size
-	in kB.
-	* config/i386/i386.c (size_cost, i386_cost, i486_cost,pentium_cost,
-	pentiumpro_cost, geode_cost, k6_cost, athlon_cost, k8_cost,
-	amdfam10_cost, pentium4_cost, nocona_cost, core2_cost,
-	generic64_cost, generic32_cost): Add l1_cache_size and l2_cache_size.
-	(override_options): Set l1-cache-size and l2-cache-size to default
-	values if not specified otherwise.
-	* params.def (PARAM_L1_CACHE_SIZE): Change to set in kB.
-	(PARAM_L2_CACHE_SIZE): New.
-
-2007-08-01  Nigel Stephens  <nigel@mips.com>
-	    David Ung  <davidu@mips.com>
-	    Thiemo Seufer  <ths@mips.com>
-	    Chris Dearman  <chris@mips.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (mips*-sde-elf*): New stanza.
-	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
-	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
-	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*, mips-*-elf*)
-	(mipsel-*-elf*, mips64-*-elf*, mips64el-*-elf*, mips64orion-*-elf*)
-	(mips64orionel-*-elf*, mips*-*-rtems*, mips-wrs-windiss)
-	(mipstx39-*-elf*, mipstx39el-*-elf*): Add mips/t-libgcc-mips16
-	to tmake_file.
-	* config/mips/sde.h: New file.
-	* config/mips/t-libgcc-mips16: Likewise.
-	* config/mips/t-sde: Likewise.
-	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove settings
-	of _ABIN32, _ABI64, _ABIO32, _MIPS_SIM, _MIPS_SZLONG, _MIPS_SZPTR,
-	_MIPS_FPSET and _MIPS_SZINT.
-	* config/mips/iris.h (TARGET_OS_CPP_BUILTINS): Likewise.
-	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Remove separate
-	insertion of a default -mips option.  Use MIPS_32BIT_OPTION_SPEC.
-	* config/mips/t-isa3264 (LIB1ASMSRC, LIB1ASMFUNCS): Delete.
-	* config/mips/t-r3900 (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
-	* config/mips/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
-	* config/mips/mips.h (TARGET_CPU_CPP_BUITINS): Define _ABIO32,
-	_ABIN32, _ABI64, _ABIO64, _MIPS_SIM, _MIPS_SZINT, _MIPS_SZLONG,
-	_MIPS_SZPTR and _MIPS_FPSET.
-	(MIPS_ISA_LEVEL_SPEC): Inject the default -mips option if no
-	architecture is specified.
-	(MIPS_32BIT_OPTION_SPEC): New macro.
-
-2007-07-31  Dan Hipschman  <dsh@google.com>
-
-	* gcc.c (end_going_arg): New function.
-	(do_spec_2): Use it.
-	(do_spec_1): Use it.
-
-2007-07-31  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* ddg.c (add_cross_iteration_register_deps): Declare bb_info
-	only if ENABLE_CHECKING is defined.
-
-2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* df.h (DF_RU, DF_RU_BB_INFO, df_ru_bb_info, df_ru,
-	df_ru_add_problem, df_ru_get_bb_info): Removed.
-	(DF_RD, DF_UREC, DF_CHAIN, DF_NOTE): Renumbered.
-	* df-problems.c (df_ru_problem_data, df_ru_set_bb_info,
-	df_ru_free_bb_info, df_ru_alloc,
-	df_ru_bb_local_compute_process_def,
-	df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
-	df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
-	df_ru_transfer_function, df_ru_free, df_ru_start_dump,
-	df_ru_top_dump, df_ru_bottom_dump, df_problem problem_RU,
-	df_ru_add_problem): Removed.
-
-2007-07-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/32847
-	* pa.md (casesi32): Use match_scratch.  Revise insn condition.
-	(casesi32p, casesi64p): Likewise.
-	(casesi): Adjust for above.
-
-2007-07-31  Richard Sandiford  <richard@codesourcery.com>
-
-	* mode-switching.c (create_pre_exit): Don't search past calls.
-
-2007-07-31  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* config/mips/mips.h (ISA_HAS_SYNCI): Add !TARGET_MIPS16 test.
-
-2007-07-31  Revital Eres  <eres@il.ibm.com>
-
-	* ddg.c (add_deps_for_def): Rename to...
-	(add_cross_iteration_register_deps): This.  Change implementation
-	to use only reaching def and def-use chains to construct the
-	inter loop dependencies.
-	(add_deps_for_use): Remove function.
-	(build_inter_loop_deps): Call add_cross_iteration_register_deps
-	function to build the inter loop dependencies.
-	* modulo-sched.c (sms_schedule): Build only
-	reaching def and def-use chains for the propose of the ddg
-	construction.
-
-2007-07-31  Julian Brown  <julian@codesourcery.com>
-
-	* config/arm/neon.md (vec_set<mode>_internal, vec_setv2di_internal):
-	New define_insns. Use correct RTL.
-	(vec_set<mode>): Write as expander.
-
-2007-07-31  Razya Ladelsky  <razya@il.ibm.com>
-
-	* matrix-reorg.c (analyze_matrix_allocation_site): Avoid referring 
-	to an unallocated space.
-
-2007-07-30  Jan Sjodin  <jan.sjodin@amd.com>
-
-	* tree-data-ref.c
-	(split_constant_offset): Enable split_constant_offset to extract
-	constants from other statements.
-	* tree-vect-transform.c
-	(vect_create_addr_base_for_vector_ref): Generate data_ref_base
-	to a temp var. Force base_offset to be simple.
-
-2007-07-30  Seongbae Park <seongbae.park@gmail.com>
-
-	* df-scan.c (df_scan_verify): Remove artificial limit on
-	the number of blocks for verification.
-	* df-problems.c (df_lr_bb_local_compute, df_simulate_find_defs,
-	df_simulate_defs): Avoid unnecessary insn checking for defs.
-
-2007-07-29  Mark Mitchell  <mark@codesourcery.com>
-
-	* config/m68k/lb1sf68.asm (FUNC): New macro.
-	(__mulsi3): Use it.
-	(__udivsi3): Likewise.
-	(__divsi3): Likewise.
-	(__umodsi3): Likewise.
-	(__modsi3): Likewise.
-	(__subdf3): Likewise.
-	(__adddf3): Likewise.
-	(__muldf3): Likewise.
-	(__divdf3): Likewise.
-	(__negdf2): Likewise.
-	(__cmpdf2): Likewise.
-	(__subsf3): Likewise.
-	(__addsf3): Likewise.
-	(__mulsf3): Likewise.
-	(__divsf3): Likewise.
-	(__negsf2): Likewise.
-	(__cmpsf2): Likewise.
-	(__eqdf2): Likewise.
-	(__nedf2): Likewise.
-	(__gtdf2): Likewise.
-	(__gedf2): Likewise.
-	(__ltdf2): Likewise.
-	(__ledf2): Likewise.
-	(__eqsf2): Likewise.
-	(__nesf2): Likewise.
-	(__gtsf2): Likewise.
-	(__gesf2): Likewise.
-	(__ltsf2): Likewise.
-	(__lesf2): Likewise.
-
-2007-07-30  Ollie Wild  <aaw@google.com>
-
-	* c-ppoutput.c (print_lines_directives_only): New function.
-	(scan_translation_unit_directives_only): New function.
-	(preprocess_file): Add call to scan_translation_unit_directives_only.
-	* c-opts.c (c_common_handle_option): Add OPT_fdirectives_only.
-	(sanitize_cpp_opts): Add default flag_dump_macros setting for
-	-fdirectives-only.  Add errors for -fdirectives-only conflict with
-	-Wunused-macros and -traditional.
-	(finish_options): Add builtin macro initialization for
-	-fdirectives-only + -fpreprocessed.
-	* c.opt (fdirectives-only): New.
-	* doc/cppopts.texi (fdirectives-only): New.
-
-2007-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (record_set, memory_modified_1): Constify.
-	* bt-load.c (note_btr_set): Likewise.
-	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
-	* combine.c (set_nonzero_bits_and_sign_copies,
-	expand_field_assignment, record_dead_and_set_regs_1,
-	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
-	likely_spilled_retval_1): Likewise.
-	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
-	frv_io_handle_set): Likewise.
-	* config/mips/mips.c (mips_sim_record_set,
-	vr4130_true_reg_dependence_p_1): Likewise.
-	* config/mt/mt.c (insn_dependent_p_1): Likewise.
-	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
-	* config/sh/sh.c (flow_dependent_p_1): Likewise.
-	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
-	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
-	* ddg.c (mark_mem_store): Likewise.
-	* df-problems.c (df_urec_mark_reg_change): Likewise.
-	* function.c (update_epilogue_consts): Likewise.
-	* gcse.c (record_set_info, record_last_set_info,
-	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
-	reg_clear_last_set): Likewise.
-	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
-	Likewise.
-	* jump.c (reversed_comparison_code_parts): Likewise.
-	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
-	reg_is_set): Likewise.
-	* loop-iv.c (mark_altered): Likewise.
-	* mode-switching.c (reg_becomes_live): Likewise.
-	* optabs.c (no_conflict_move_test): Likewise.
-	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
-	Likewise.
-	* postreload.c (reload_combine_note_store, move2add_note_store):
-	Likewise.
-	* regmove.c (flags_set_1): Likewise.
-	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
-	Likewise.
-	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
-	Likewise. 
-	* resource.c (update_live_status): Likewise.
-	* rtl.h (set_of, note_stores): Likewise.
-	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
-	note_stores, parms_set): Likewise.
-	* sched-rgn.c (sets_likely_spilled_1): Likewise.
-	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
-	Likewise. 
-	* var-tracking.c (count_stores, add_stores): Likewise.
-
-2007-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* alias.c (mems_in_disjoint_alias_sets_p,
-	fixed_scalar_and_varying_struct_p, aliases_everything_p,
-	nonoverlapping_component_refs_p, nonoverlapping_memrefs_p,
-	write_dependence_p, mems_in_disjoint_alias_sets_p,
-	read_dependence, true_dependence, canon_true_dependence,
-	anti_dependence, output_dependence): Constify.
-	* combine.c (extended_count): Likewise.
-	* cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise.
-	* cselib.c (get_value_hash, references_value_p,
-	cselib_reg_set_mode, cselib_rtx_varies_p): Likewise.
-	* cselib.h (cselib_reg_set_mode, references_value_p): Likewise.
-	* emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise.
-	* function.c (contains, prologue_epilogue_contains,
-	sibcall_epilogue_contains): Likewise. 
-	* jump.c (simplejump_p, condjump_p, condjump_in_parallel_p,
-	pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p,
-	only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum,
-	reg_or_subregno): Likewise.
-	* recog.c (asm_noperands): Likewise.
-	* reload1.c (function_invariant_p): Likewise.
-	* rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p,
-	rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx,
-	condjump_p, any_condjump_p, any_uncondjump_p, pc_set,
-	simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p,
-	true_regnum, reg_or_subregno, condjump_in_parallel_p,
-	extended_count, prologue_epilogue_contains,
-	sibcall_epilogue_contains, function_invariant_p, true_dependence,
-	canon_true_dependence, read_dependence, anti_dependence,
-	output_dependence): Likewise.
-	* rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise.
-
-2007-07-30  Julian Brown  <julian@codesourcery.com>
-
-	* config/arm/neon.md (V_ext): New mode attribute.
-	(neon_vget_lane<mode>): Replace with define_expand.
-	(neon_vget_lane<mode>_sext_internal)
-	(neon_vget_lane<mode>_zext_internal): New define_insns for double
-	and quad precision vectors.
-	(neon_vget_lanedi): Add bounds check. Remove dead comment.
-	* config/arm/neon.ml (get_lane): Make 32-bit get-lane intrinsics
-	have typeless 32-bit result.
-
-2007-07-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32527
-	* tree-affine.h (aff_tree): The type of rest is sizetype for types
-	of pointers.
-	* tree-affine.c (aff_combination_scale): If type is a pointer type,
-	use sizetype for rest.
-	(aff_combination_add_elt): Likewise. Don't specialize pointer types.
-	(aff_combination_convert): Don't convert rest for pointer types.
-
-2007-07-28  Daniel Berlin  <dberlin@dberlin.org>
-
-	* Makefile.in (tree-ssa-alias.o): Add alloc-pool.h
-
-	* tree-ssa-alias.c: Add alloc-pool.h.
-	(init_alias_info): Free alias_bitmap_obstack.
-	(delete_alias_info): Call delete_mem_ref_stats.
-	(get_mem_sym_stats_for): Use alloc_pool.
-	(init_mem_ref_stats): Do not delete mem_ref_stats here.
-	(delete_mem_sym_stats): Removed.
-	
-2007-07-29  Sebastian Pop  <sebpop@gmail.com>
-
-	* tree-data-ref.c (add_multivariate_self_dist): Parametric access
-	functions cannot be represented as classical distance vectors.
-
-2007-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
-	* builtins.c (validate_arg, builtin_mathfn_code,
-	validate_arglist): Likewise.
-	* calls.c (call_expr_flags): Likewise.
-	* combine.c (reg_nonzero_bits_for_combine,
-	reg_num_sign_bit_copies_for_combine, get_last_value,
-	reg_truncated_to_mode): Likewise.
-	* emit-rtl.c (subreg_lowpart_p): Likewise.
-	* expr.c (highest_pow2_factor_for_target,
-	categorize_ctor_elements_1, categorize_ctor_elements,
-	count_type_elements, contains_packed_reference,
-	highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
-	* fold-const.c (may_negate_without_overflow_p, int_const_binop,
-	fold_convertible_p, operand_equal_p, tree_swap_operands_p,
-	native_encode_int, native_encode_real, native_encode_complex,
-	native_encode_vector, native_encode_expr, native_interpret_int,
-	native_interpret_real, native_interpret_complex,
-	native_interpret_vector, native_interpret_expr): Likewise.
-	* function.c (use_register_for_decl): Likewise.
-	* gimplify.c (get_name): Likewise.
-	* langhooks-def.h (lhd_return_null_const_tree): New.
-	(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
-	* langhooks.c (lhd_return_null_const_tree): New.
-	* langhooks.h (lang_get_callee_fndecl): Constify.
-	* output.h (constructor_static_from_elts_p): Likewise.
-	* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
-	* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
-	subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
-	* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
-	cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
-	nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
-	* rtlhooks-def.h (reg_nonzero_bits_general,
-	reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
-	Likewise. 
-	* rtlhooks.c (reg_num_sign_bit_copies_general,
-	reg_nonzero_bits_general, reg_truncated_to_mode_general):
-	Likewise. 
-	* stmt.c (warn_if_unused_value, is_body_block): Likewise.
-	* stor-layout.c (mode_for_size_tree): Likewise.
-	* tree-ssa-loop-im.c (memref_eq): Likewise.
-	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
-	* tree.c (contains_placeholder_p, type_list_equal,
-	simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
-	Likewise. 
-	* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
-	mode_for_size_tree, categorize_ctor_elements, count_type_elements,
-	contains_placeholder_p, contains_packed_reference,
-	get_callee_fndecl, operand_equal_for_phi_arg_p,
-	warn_if_unused_value, is_body_block, native_encode_expr,
-	native_interpret_expr, fold_convertible_p, operand_equal_p,
-	int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
-	validate_arglist, simple_cst_equal, type_list_equal,
-	use_register_for_decl, call_expr_flags, get_name,
-	highest_pow2_factor): Likewise.
-	(const_call_expr_arg_iterator_d,
-	init_const_call_expr_arg_iterator, next_const_call_expr_arg,
-	first_const_call_expr_arg, more_const_call_expr_args_p,
-	FOR_EACH_CONST_CALL_EXPR_ARG): New.
-	* varasm.c (constructor_static_from_elts_p): Constify.
-
-2007-07-28  Kazu Hirata  <kazu@codesourcery.com>
-
-	* cfglayout.c, config/arm/arm.c, config/arm/cortex-a8.md,
-	config/arm/neon-schedgen.ml, config/arm/neon.ml,
-	config/arm/vec-common.md, config/ia64/div.md, cselib.c,
-	df-core.c, df.h, dominance.c, optabs.c, opts.c, reg-stack.c,
-	regstat.c, target.h, tree-ssa-live.c, tree-ssa-pre.c,
-	tree-vect-transform.c, tree.def: Fix comment typos.  Follow
-	spelling conventions.
-	* doc/invoke.texi: Follow spelling conventions.
-
-2007-07-29  Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* modulo-sched.c (sms_schedule): Avoid loops which includes
-	auto-increment instructions.
-
-2007-07-28  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32920
-	* fold-const.c (fold_cond_expr_with_comparison): Convert
-	operand zero of MIN/MAX_EXPR to correct type.
-
-2007-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* calls.c (special_function_p, setjmp_call_p, alloca_call_p,
-	flags_from_decl_or_type): Constify.
-	* gcc.c (do_spec_1): Likewise.
-	* print-tree.c (dump_addr, print_node_brief): Likewise.
-	* tree-cfg.c (stmt_starts_bb_p, is_ctrl_stmt, computed_goto_p,
-	simple_goto_p, tree_can_make_abnormal_goto, stmt_starts_bb_p,
-	tree_purge_all_dead_eh_edges): Likewise.
-	* tree-flow.h (is_ctrl_stmt, computed_goto_p, simple_goto_p,
-	tree_can_make_abnormal_goto, tree_purge_all_dead_eh_edges):
-	Likewise. 
-	* tree.c (expr_location, expr_has_location, expr_locus,
-	expr_filename, expr_lineno, get_inner_array_type,
-	fields_compatible_p): Likewise.
-	* tree.h (get_inner_array_type, fields_compatible_p,
-	expr_location, expr_has_location, expr_locus, expr_filename,
-	expr_lineno, dump_addr, print_node_brief, flags_from_decl_or_type,
-	setjmp_call_p, alloca_call_p): Likewise.
-
-2007-07-28  Daniel Berlin  <dberlin@dberlin.org>
-
-	* timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE,
-	TV_FLOW_INSENSITIVE.
-
-	* tree-ssa-alias.c (compute_call_clobbered): Push/pop
-	TV_CALL_CLOBBER.
-	(compute_flow_sensitive_aliasing): Ditto for TV_FLOW_SENSITIVE.
-	(compute_flow_insensitive_aliasing): Ditto for
-	TV_FLOW_INSENSITIVE.	
-
-2007-07-27  Jan Hubicka  <jh@suse.cz>
-
-	* config/i386/i386.c (register_move_cost): Remove accidentally
-	comitted #if 0 block.
-
-	* attribs.c: Include hashtab.h
-	(attribute_hash): New.
-	(substring): New structure.
-	(extract_attribute_substring, substring_hash, hash_attr, eq_attr):
-	New function.
-	(init_attributes): Initialize attribute hash.
-	(decl_attributes): Use attribute hash.
-	* Makefile.in (attribs.c): Depend on hashtab.h.
-
-2007-07-27  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/vect.md (vec_initv2si): Remove bad BIG_ENDIAN test.
-
-2007-07-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi (mdsp, mdspr2): Document the __mips_dsp,
-	__mips_dspr2 and __mips_dsp_rev macros.
-	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dsp_rev.
-
-2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>
-	
-	* c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
-
-2007-07-26  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/32749
-	
-	* df-problems.c (df_create_unused_note): Removed do_not_gen parm
-	and the updating of the live and do_not_gen sets.
-	(df_note_bb_compute): Added updating of live and do_not_gen sets
-	for regular defs so that the case of clobber inside conditional
-	call is processed correctly.
-	
-2007-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
-	operands with compatible type.
-
-2007-07-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* expr.h (store_bit_field): Don't return a value.
-	* expmed.c (check_predicate_volatile_ok): New function.
-	(store_bit_field_1): New function, extracted from store_bit_field.
-	Take a fallback_p argument and return true if the operation succeeded.
-	Only use store_fixed_bit_field if fallback_p.  Don't recompute
-	mode_for_extraction; use op_mode instead.  Try forcing memories
-	into registers if the insv expander fails.
-	(store_bit_field): Use store_bit_field_1 with fallback_p true.
-	Don't return a value.
-	(convert_extracted_bit_field): New function, extracted from
-	store_bit_field.
-	(extract_bit_field_1): Likewise.  Take a fallback_p argument
-	and return NULL if the operation succeeded.  Only use
-	extract_fixed_bit_field if fallback_p.  Only calculate one
-	extraction mode.  Combine code for extv and extzv.  Try forcing
-	memories into registers if the ext(z)v expander fails.
-	(extract_bit_field): Use extract_bit_field_1 with fallback_p true.
-
-2007-07-27  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
-	into bitfields.
-	(df_ref): Likewise.  Put regno with other integer fields.
-
-2007-07-27  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* df.h (df_mw_hardreg): Remove "loc" field.
-	* df-scan.c (df_ref_record): Don't set it.  Remove redundant
-	local variable.
-	* df-problems.c (df_whole_mw_reg_unused_p): New function,
-	split out from df_set_unused_notes_for_mw.  Return false for
-	partial references.  Assert that mw_reg is a REG when returning true.
-	(df_set_unused_notes_for_mw): Use it.  Use mw_reg instead of *loc.
-	(df_whole_mw_reg_dead_p): New function, split out from
-	df_set_dead_notes_for_mw.  Return false for partial references.
-	Assert that mw_reg is a REG when returning true.
-	(df_set_dead_notes_for_mw): Use it.  Use mw_reg instead of *loc.
-	Remove redundant bitmap check.
-
-2007-07-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/ia64/t-ia64 ($(T)crtbegin.o): Removed.
-	($(T)crtend.o): Likwise.
-	($(T)crtbeginS.o): Likwise.
-	($(T)crtendS.o): Likwise.
-	($(T)crtfastmath.o): Likwise.
-
-2007-07-26  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* dominance.c (dom_computed, n_bbs_in_dom_tree): Removed.
-	* function.h (dom_computed, n_bbs_in_dom_tree): New macros.
-	* basic-block.h (struct control_flow_graph): Added x_dom_computed
-	and x_n_bbs_in_dom_tree fields.
-
-2007-07-26  Steve Ellcey  <sje@cup.hp.com>
-
-	PR tree-optimization/32087
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
-	Do not call scale_bbs_frequencies_int with prob of zero.
-
-2007-07-26  Julian Brown  <julian@codesourcery.com>
-
-	* config/arm/arm-protos.h (neon_lane_bounds, neon_const_bounds)
-	(neon_element_bits): Add prototypes.
-	* config/arm/arm.c (bounds_check, neon_lane_bounds)
-	(neon_const_bounds, neon_element_bits): New functions.
-	* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_lanedi)
-	(neon_vget_lanev2di, neon_vset_lane<mode>, neon_vset_lanedi)
-	(neon_vset_lanev2di, neon_vdup_lane<mode>, neon_vdup_lanedi)
-	(neon_vdup_lanev2di, neon_vcvt_n<mode>, neon_vmul_lane<mode>)
-	(neon_vmull_lane<mode>, neon_vqdmull_lane<mode>)
-	(neon_vqdmulh_lane<mode>, neon_vmla_lane<mode>)
-	(neon_vmlal_lane<mode>, neon_vqdmlal_lane<mode>)
-	(neon_vmls_lane<mode>, neon_vmlsl_lane<mode>)
-	(neon_vqdmlsl_lane<mode>, neon_vext<mode>, neon_vshr_n<mode>)
-	(neon_vshrn_n<mode>, neon_vqshrn_n<mode>, neon_vqshrun_n<mode>)
-	(neon_vshl_n<mode>, neon_vshl_n<mode>, neon_vqshl_n<mode>)
-	(neon_vqshlu_n<mode>, neon_vshll_n<mode>, neon_vsra_n<mode>)
-	(neon_vsri_n<mode>, neon_vsli_n<mode>): Add bounds checks.
-
-2007-07-26  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* config/vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
-	(HAVE_AS_GNU_ATTRIBUTE): Undefine.
-
-2007-07-26  Mark Shinwell  <shinwell@codesourcery.com>
-	    Julian Brown  <julian@codesourcery.com>
-
-	* config/arm/arm.c (arm_mac_accumulator_is_mul_result): New.
-	* config/arm/arm-protos.h (arm_mac_accumulator_is_mul_result): New.
-	* config/arm/cortex-a8.md: New.
-	* config/arm/cortex-a8-neon.md: New.
-	* config/arm/neon-schedgen.ml: New.
-	* config/arm/neon.md (vqh_mnem): New.
-	(neon_type): New.
-	(Is_float_mode): New.
-	(Scalar_mul_8_16): New.
-	(Is_d_reg): New.
-	(V_mode_nunits): New.
-	(All instruction patterns): Annotate with neon_type attribute
-	values.
-	* config/arm/arm.md: Include cortex-a8.md.
-	(insn): Add smmla, umaal, smlald, smlsld, clz, mrs, msr and xtab
-	values.
-	Annotate instruction patterns accordingly.
-	(generic_sched): Do not use generic scheduling for Cortex-A8.
-	(generic_vfp): Do not use generic VFP scheduling for Cortex-A8.
-
-2007-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* fold-const.c (fold_read_from_constant_string): Use
-	build_int_cst_type.
-	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
-
-2007-07-26  Nick Clifton  <nickc@redhat.com>
-
-	* tree-ssa-operands.h: Change copyright header to refer to version
-	3 of the GNU General Public License and to point readers at the
-	COPYING3 file and the FSF's license web page.
-	* tree-vrp.c, regrename.c, attribs.c, loop-unswitch.c,
-	sched-ebb.c, fwprop.c, tree-loop-linear.c, dwarf2asm.c,
-	tree-into-ssa.c, dwarf2asm.h, tree-ssa-loop-im.c, sbitmap.c,
-	targhooks.c, tree-dump.c, tree-complex.c, sbitmap.h, targhooks.h,
-	tree-dump.h, regstat.c, see.c, machmode.h, hooks.c, cgraphbuild.c,
-	hooks.h, genrecog.c, tree-ssa-threadupdate.c, gen-protos.c,
-	flags.h, rtlhooks.c, gencheck.c, tree-ssa-loop-niter.c,
-	opts-common.c, dbgcnt.def, tree-pretty-print.c, tracer.c,
-	gengtype.c, mkconfig.sh, gengtype.h, tree-ssa-loop-unswitch.c,
-	cgraph.c, c-lex.c, cgraph.h, libfuncs.h, cfgloopmanip.c,
-	rtl-error.c, optabs.c, postreload-gcse.c, tree-ssa-loop-manip.c,
-	optabs.h, genmddeps.c, defaults.h, postreload.c, value-prof.c,
-	tree-ssa-loop-ch.c, tree-tailcall.c, gengenrtl.c, value-prof.h,
-	genopinit.c, tree.c, tree.h, reload.c, tree-pass.h, ipa-cp.c,
-	reload.h, bitmap.c, bitmap.h, tree-scalar-evolution.c,
-	c-config-lang.in, tree-scalar-evolution.h, target.h, cppspec.c,
-	rtlanal.c, ddg.c, lambda-mat.c, mips-tdump.c, ddg.h,
-	tree-phinodes.c, mips-tfile.c, pointer-set.c, pointer-set.h,
-	diagnostic.c, final.c, diagnostic.h, builtins.c, genoutput.c,
-	gcc.c, lists.c, tree-ssa-alias-warnings.c, gcc.h, cfghooks.c,
-	input.h, gensupport.c, fold-const.c, cfghooks.h, insn-notes.def,
-	gensupport.h, builtin-attrs.def, sync-builtins.def, params.c,
-	cfgloopanal.c, params.h, graphds.c, omp-low.c, tree-ssa-dse.c,
-	graphds.h, gcov.c, cfg.c, genextract.c, ipa-reference.c,
-	genautomata.c, tree-ssa-uncprop.c, auto-inc-dec.c, toplev.c,
-	tree-gimple.c, ipa-reference.h, vmsdbgout.c, errors.c, toplev.h,
-	reorg.c, tree-gimple.h, tree-chrec.c, pretty-print.c, errors.h,
-	real.c, tree-chrec.h, pretty-print.h, debug.c, real.h, genemit.c,
-	omega.c, c-cppbuiltin.c, genmultilib, debug.h, omega.h,
-	tree-ssa-sccvn.c, genconfig.c, tree-ssa-sccvn.h, cgraphunit.c,
-	regs.h, df-scan.c, vec.c, hosthooks-def.h, vec.h,
-	tree-ssa-copyrename.c, scan.c, builtin-types.def, tree-ssa-ccp.c,
-	scan.h, mode-classes.def, haifa-sched.c, dominance.c, dojump.c,
-	double-int.c, gcov-io.c, dbxout.c, builtins.def, double-int.h,
-	dbxout.h, tree-ssa-loop-ivopts.c, df-core.c, mode-switching.c,
-	gengtype-lex.l, tree-nomudflap.c, modulo-sched.c, c-objc-common.c,
-	hosthooks.h, c-objc-common.h, caller-save.c, graph.c,
-	ipa-pure-const.c, graph.h, c-format.c, cse.c, fix-header.c,
-	c-format.h, web.c, tree-stdarg.c, genpeep.c, tree-stdarg.h,
-	tree-ssa-math-opts.c, xcoffout.c, tree-ssa-dom.c, tree-nrv.c,
-	xcoffout.h, tree-ssa-propagate.c, ipa-utils.c,
-	tree-ssa-propagate.h, tree-ssa-alias.c, loop-init.c, ipa-utils.h,
-	gimple-low.c, rtl.def, c-tree.h, tree-ssa-sink.c, ipa-inline.c,
-	mkmap-symver.awk, machmode.def, c-pch.c, cfganal.c, global.c,
-	alloc-pool.c, c-semantics.c, alloc-pool.h, jump.c, ifcvt.c,
-	dwarf2out.c, expr.c, cfgbuild.c, tree-browser.c, dwarf2out.h,
-	expr.h, longlong.h, opts.c, gcov-iov.c, opts.h, dwarf2.h,
-	genattrtab.c, genconditions.c, genattr.c, optc-gen.awk,
-	timevar.def, tree-ssa-loop-ivcanon.c, hard-reg-set.h, predict.c,
-	tree-ssa-loop.c, host-default.c, predict.h, recog.c, dbgcnt.c,
-	recog.h, dbgcnt.h, c-aux-info.c, tree-ssa-address.c, timevar.c,
-	dse.c, lcm.c, tree-ssa-ifcombine.c, timevar.h, dse.h,
-	matrix-reorg.c, tree-vn.c, treestruct.def, fp-test.c, c-decl.c,
-	tree-eh.c, c-errors.c, c-pretty-print.c, regmove.c,
-	lambda-trans.c, c-pretty-print.h, et-forest.c, et-forest.h,
-	ebitmap.c, configure.ac, local-alloc.c, function.c, langhooks.c,
-	ebitmap.h, cppdefault.c, tree-vectorizer.c, function.h,
-	langhooks.h, print-rtl.c, cppdefault.h, df.h, tree-vectorizer.h,
-	sdbout.c, stor-layout.c, sdbout.h, rtlhooks-def.h, read-rtl.c,
-	gcse.c, ipa-type-escape.c, vmsdbg.h, alias.c, gengtype-parse.c,
-	ipa-type-escape.h, domwalk.c, alias.h, tree-if-conv.c, profile.c,
-	init-regs.c, domwalk.h, ipa.c, gccbug.in, tree-data-ref.c,
-	loop-unroll.c, tree-data-ref.h, tree-flow-inline.h, tree-affine.c,
-	mkmap-flat.awk, tree-affine.h, tree-vect-analyze.c, c.opt, ggc.h,
-	opt-gather.awk, c-typeck.c, gimplify.c, coretypes.h, exec-tool.in,
-	insn-addr.h, tree-ssa-phiopt.c, c-pragma.c, c-pragma.h, calls.c,
-	tree-ssa-coalesce.c, genmodes.c, loop-doloop.c, predict.def,
-	dwarf.h, tree.def, rtl-factoring.c, lower-subreg.c, expmed.c,
-	bt-load.c, ggc-common.c, genflags.c, tree-dfa.c, except.c,
-	coverage.c, except.h, emit-rtl.c, cfgexpand.c, coverage.h,
-	stringpool.c, cselib.c, emit-rtl.h, tree-cfgcleanup.c, c-opts.c,
-	cselib.h, cfgcleanup.c, simplify-rtx.c, tree-ssa-pre.c, explow.c,
-	tree-ssa-live.c, tree-sra.c, tree-ssa-live.h, tree-predcom.c,
-	loop-invariant.c, genpreds.c, protoize.c, opth-gen.awk, c-dump.c,
-	lambda.h, loop-iv.c, tree-mudflap.c, ipa-prop.c, print-tree.c,
-	tree-mudflap.h, tree-ssa-copy.c, ipa-prop.h, cfglayout.c,
-	tree-ssa-forwprop.c, c-convert.c, cfglayout.h, common.opt,
-	ggc-zone.c, ggc-page.c, c-omp.c, tree-ssa-dce.c, gencodes.c,
-	varasm.c, tree-vect-patterns.c, libada-mk.in, tree-ssa-ter.c,
-	sched-deps.c, tree-nested.c, c-ppoutput.c, tree-ssa.c,
-	target-def.h, tree-ssa-loop-prefetch.c, lambda-code.c,
-	omp-builtins.def, rtl.c, regclass.c, stab.def, intl.c, rtl.h,
-	intl.h, tree-inline.c, conditions.h, tree-inline.h, integrate.c,
-	sched-int.h, tree-iterator.c, integrate.h, tree-iterator.h,
-	genchecksum.c, tree-optimize.c, output.h, tree-vect-transform.c,
-	tree-object-size.c, combine.c, tree-outof-ssa.c, addresses.h,
-	bb-reorder.c, stack-ptr-mod.c, resource.c, var-tracking.c,
-	cfgloop.c, system.h, resource.h, ggc-none.c, tree-profile.c,
-	cfgloop.h, c-gimplify.c, c-common.c, opt-functions.awk,
-	tree-vect-generic.c, tree-flow.h, df-problems.c, scan-decls.c,
-	c-common.h, config.gcc, reg-stack.c, tlink.c, main.c, stub-objc.c,
-	fixproto, config.host, Makefile.in, gccspec.c, sched-rgn.c,
-	vecprim.h, basic-block.h, tree-ssa-structalias.c,
-	tree-ssa-structalias.h, c-common.def, sched-vis.c, tree-cfg.c,
-	passes.c, genconstants.c, c-incpath.c, c-incpath.h,
-	struct-equiv.c, c-parser.c, tree-ssa-reassoc.c, varray.c, sreal.c,
-	varray.h, dfp.c, sreal.h, combine-stack-adj.c, dfp.h,
-	reg-notes.def, cfgrtl.c, config.build, varpool.c, gengtype-yacc.y,
-	stmt.c, dce.c, tree-browser.def, prefix.c, statistics.h,
-	params.def, dce.h, c-lang.c, gcov-dump.c, prefix.h,
-	tree-ssanames.c, collect2.c, collect2.h, tree-ssa-threadedge.c,
-	convert.c, convert.h, langhooks-def.h, reload1.c,
-	tree-ssa-operands.c: Likewise.
-
-2007-07-26  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-live.c: Include debug.h and flags.h.
-	(mark_scope_block_unused): New function.
-	(remove_unused_scope_block_p): New function.
-	(remove_unused_locals): Remove unused blocks too.
-
-2007-07-25  Ian Lance Taylor  <iant@google.com>
-
-	* combine.c (combine_max_regno): Remove.  Remove all uses.
-	(struct reg_stat_struct): Rename from struct reg_stat.
-	(reg_stat_type): Define, and declare VECs.
-	(reg_stat): Change from pointer to VEC.  Change all uses.
-	(combine_split_insns): New static function.
-	(try_combine, find_split_point): Call it instead of split_insns.
-
-2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* cfghooks.c (split_block): Fix the information about loop latch.
-
-2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
-
-2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis):
-	Scan the new edge for loop exit info.
-
-2007-07-25  Andreas Tobler  <a.tobler@schweiz.org>
-
-	* config/darwin.c: Include debug.h.
-
-2007-07-25  Steve Ellcey  <sje@cup.hp.com>
-
-	PR target/32218
-	* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
-
-2007-07-25  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle RFmode.
-	(HARD_REGNO_MODE_OK): Ditto.
-	(MODES_TIEABLE_P): Ditto.
-	(HARD_REGNO_CALLER_SAVE_MODE): Ditto.
-	(CLASS_MAX_NREGS): Ditto.
-	* config/ia64/ia64.c (ia64_print_operand_address): Add R format.
-	* config/ia64/ia64.md (divsf3_internal_thr): Removed.
-	(divdf3_internal_thr): Removed.
-	* config/ia64/div.md: New file.
-	* config/ia64/constraints.md: Add H constraint.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* sbitmap.c (sbitmap_verify_popcount, sbitmap_alloc_with_popcount,
-	sbitmap_copy, sbitmap_copy_n, sbitmap_equal, sbitmap_empty_p,
-	sbitmap_union_of_diff_cg, sbitmap_union_of_diff, sbitmap_not,
-	sbitmap_difference, sbitmap_any_common_bits, sbitmap_a_and_b_cg,
-	sbitmap_a_and_b, sbitmap_a_xor_b_cg, sbitmap_a_xor_b,
-	sbitmap_a_or_b_cg, sbitmap_a_or_b, sbitmap_a_subset_b_p,
-	sbitmap_a_or_b_and_c_cg, sbitmap_a_or_b_and_c,
-	sbitmap_a_and_b_or_c_cg, sbitmap_a_and_b_or_c,
-	sbitmap_first_set_bit, sbitmap_last_set_bit, dump_sbitmap,
-	dump_sbitmap_file, debug_sbitmap, popcount_table,
-	sbitmap_popcount): Constify.
-	* sbitmap.h (const_sbitmap, const_sbitmap_ptr): New.
-	(sbitmap_iterator, sbitmap_iter_init, dump_sbitmap,
-	dump_sbitmap_file, sbitmap_copy, sbitmap_copy_n, sbitmap_equal,
-	sbitmap_empty_p, sbitmap_union_of_diff, sbitmap_union_of_diff_cg,
-	sbitmap_difference, sbitmap_not, sbitmap_a_or_b_and_c,
-	sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c,
-	sbitmap_a_and_b_or_c_cg, sbitmap_any_common_bits, sbitmap_a_and_b,
-	sbitmap_a_and_b_cg, sbitmap_a_or_b, sbitmap_a_or_b_cg,
-	sbitmap_a_xor_b, sbitmap_a_xor_b_cg, sbitmap_a_subset_b_p,
-	sbitmap_first_set_bit, sbitmap_last_set_bit, debug_sbitmap,
-	sbitmap_popcount, sbitmap_verify_popcount): Constify.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* bitmap.c (hash_descriptor, eq_descriptor, bitmap_element_zerop,
-	bitmap_copy, bitmap_clear_bit, popcount_table, bitmap_count_bits,
-	bitmap_first_set_bit, bitmap_and, bitmap_and_into,
-	bitmap_elt_copy, bitmap_and_compl, bitmap_and_compl_into,
-	bitmap_compl_and_into, bitmap_elt_ior, bitmap_ior,
-	bitmap_ior_into, bitmap_xor, bitmap_xor_into, bitmap_equal_p,
-	bitmap_intersect_p, bitmap_intersect_compl_p,
-	bitmap_ior_and_compl, bitmap_ior_and_compl_into,
-	debug_bitmap_file, debug_bitmap, bitmap_print, bitmap_hash):
-	Constify.
-	* bitmap.h (bitmap_copy, bitmap_equal_p, bitmap_intersect_p,
-	bitmap_intersect_compl_p, bitmap_count_bits, bitmap_and,
-	bitmap_and_into, bitmap_and_compl, bitmap_and_compl_into,
-	bitmap_compl_and_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
-	bitmap_xor_into, bitmap_ior_and_compl, bitmap_ior_and_compl_into,
-	debug_bitmap, debug_bitmap_file, bitmap_print,
-	bitmap_first_set_bit, bitmap_hash, bmp_iter_set_init,
-	bmp_iter_and_init, bmp_iter_and_compl_init): Likewise.
-
-2007-07-25  Daniel Berlin  <dberlin@dberlin.org>
-
-	* config/darwin.c (darwin_override_options): Additional fix for
-	debug info formats that don't support var tracking.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* cselib.c (entry_and_rtx_equal_p): Constify.
-	* gengtype.c (output_mangled_typename, write_types, write_local):
-	Likewise.
-	* gengtype.h (const_type_p): New.
-	* see.c (eq_descriptor_extension, hash_descriptor_extension):
-	Constify.
-	* tlink.c (scan_linker_output): De-constify.
-	* tree-ssa-loop-im.c (memref_eq): Constify.
-	* tree-ssa-structalias.c (const_shared_bitmap_info_t): New.
-	(shared_bitmap_hash, shared_bitmap_eq): Constify.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-common.c (fname_as_string, c_type_hash): Constify.
-	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
-	* cgraph.c (edge_hash, edge_eq): Likewise.
-	* dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise.
-	* emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash,
-	reg_attrs_htab_eq): Likewise.
-	* except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq):
-	Likewise.
-	* genautomata.c (const_reserv_sets_t, const_unit_decl_t,
-	const_decl_t, const_state_t, const_automata_list_el_t): New.
-	(first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL,
-	DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV,
-	automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash,
-	insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp,
-	reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p,
-	automata_list_hash, automata_list_eq_p, compare_states_for_equiv,
-	compare_max_occ_cycle_nums, out_state_arcs_num,
-	compare_transition_els_num, units_cmp, state_reservs_cmp):
-	Constify.
-	* genmodes.c (cmp_modes): Likewise.
-	* ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise.
-	* gimplify.c (compare_case_labels): Likewise.
-	* ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise.
-	* loop-unroll.c (si_info_hash, ve_info_hash): Likewise.
-	* matrix-reorg.c (mtt_info_hash): Likewise.
-	* postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise.
-	* rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New.
-	(htab_hash_bucket, htab_hash_elem): Constify.
-	* tree-browser.c (TB_parent_eq): Likewise.
-	* tree-scalar-evolution.c (hash_scev_info): Likewise.
-	* tree-ssa-alias.c (sort_tags_by_id): Likewise.
-	* tree-ssa-coalesce.c (const_coalesce_pair_p): New.
-	(coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs):
-	Constify.
-	* tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise.
-	* tree-ssa-pre.c (const_expr_pred_trans_t): New.
-	(expr_pred_trans_hash, expr_pred_trans_eq): Constify.
-	* tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t,
-	const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t):
-	New.
-	(vn_reference_op_eq, vn_reference_hash, vn_reference_eq,
-	vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash,
-	vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify.
-	* tree-ssa-threadupdate.c (redirection_data_hash,
-	redirection_data_eq): Likewise. 
-	* tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise.
-	* tree-ssa.c (var_ann_eq): Likewise.
-	* tree-vrp.c (compare_case_labels): Likewise.
-	* tree.c (int_cst_hash_hash, int_cst_hash_eq,
-	tree_map_base_marked_p, type_hash_marked_p, tree_check_failed,
-	tree_not_check_failed, tree_class_check_failed,
-	tree_range_check_failed, tree_not_class_check_failed,
-	omp_clause_check_failed, omp_clause_range_check_failed,
-	tree_contains_struct_check_failed, tree_operand_check_failed):
-	Likewise. 
-	* tree.h (tree_contains_struct_check_failed, tree_check_failed,
-	tree_not_check_failed, tree_class_check_failed,
-	tree_range_check_failed, tree_not_class_check_failed,
-	tree_operand_check_failed, omp_clause_operand_check_failed,
-	tree_operand_length): Likewise. 
-	* var-tracking.c (const_variable): New.
-	(variable_htab_hash, variable_htab_eq): Constify.
-	* varasm.c (const_desc_hash): Likewise.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* expr.c (handled_component_p): Constify.
-	* fold-const.c (fit_double_type): Likewise.
-	* real.h (real_value_from_int_cst): Likewise.
-	* tree-flow-inline.h (gimple_in_ssa_p,
-	gimple_aliases_computed_p, gimple_addressable_vars,
-	gimple_call_clobbered_vars, gimple_referenced_vars,
-	gimple_global_var, gimple_nonlocal_all, gimple_var_anns,
-	end_htab_p, end_referenced_vars_p, var_ann, function_ann,
-	may_aliases, end_readonly_imm_use_p, has_zero_uses,
-	has_single_use, single_imm_use, num_imm_uses, is_exec_stmt,
-	is_label_stmt, is_global_var, phi_ssa_name_p,
-	factoring_name_p, is_call_clobbered, tree_common_ann,
-	op_iter_done, end_imm_use_stmt_p, end_imm_use_on_stmt_p,
-	unmodifiable_var_p, array_ref_contains_indirect_ref,
-	ref_contains_array_ref, lookup_subvars_for_var,
-	var_can_have_subvars, overlap_subvar, gimple_ssa_operands,
-	gimple_mem_ref_stats): Likewise.
-	* tree-flow.h (tree_common_ann, var_ann, function_ann,
-	may_aliases, is_exec_stmt, is_label_stmt,
-	ref_contains_array_ref, array_ref_contains_indirect_ref,
-	var_can_have_subvars, overlap_subvar, is_call_clobbered,
-	unmodifiable_var_p): Likewise.
-	* tree-gimple.c (is_gimple_min_invariant): Likewise.
-	* tree-gimple.h (is_gimple_min_invariant): Likewise. 
-	* tree.c (type_hash_list, attribute_hash_list, tree_size,
-	cst_and_fits_in_hwi, real_value_from_int_cst,
-	build_real_from_int_cst, integer_zerop, integer_onep,
-	integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2,
-	tree_floor_log2, real_zerop, real_onep, real_twop,
-	real_minus_onep, really_constant_p, purpose_member, chain_member,
-	list_length, fields_length, int_size_in_bytes, bit_position,
-	int_bit_position, byte_position, int_byte_position, expr_align,
-	array_type_nelts, tree_node_structure,
-	type_contains_placeholder_1, iterative_hash_pointer,
-	is_attribute_with_length_p, is_attribute_p, check_qualified_type,
-	tree_map_base_eq, type_hash_list, type_hash_eq,
-	attribute_hash_list, type_num_arguments, tree_int_cst_equal,
-	tree_int_cst_lt, tree_int_cst_compare, host_integerp,
-	tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
-	simple_cst_list_equal, compare_tree_int, iterative_hash_expr,
-	int_fits_type_p, get_containing_scope, decl_function_context,
-	decl_type_context, omp_clause_operand_check_failed,
-	initializer_zerop, int_cst_value, num_ending_zeros): Likewise.
-	* tree.h (omp_clause_operand_check_failed, tree_size,
-	build_real_from_int_cst, array_type_nelts, purpose_member,
-	tree_int_cst_equal, tree_int_cst_lt, tree_int_cst_compare,
-	host_integerp, tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
-	is_attribute_p, check_qualified_type, expr_align,
-	int_size_in_bytes, bit_position, int_bit_position, byte_position,
-	int_byte_position, list_length, fields_length, initializer_zerop,
-	integer_zerop, integer_onep, integer_all_onesp, integer_pow2p,
-	integer_nonzerop, cst_and_fits_in_hwi, num_ending_zeros,
-	tree_node_structure, handled_component_p, get_containing_scope,
-	decl_function_context, decl_type_context, real_zerop,
-	type_num_arguments, fit_double_type, really_constant_p,
-	int_fits_type_p, tree_log2, tree_floor_log2, iterative_hash_expr,
-	compare_tree_int, chain_member, simple_cst_list_equal, real_onep,
-	real_twop, real_minus_onep, int_cst_value): Likewise.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* cfglayout.c (insn_scope, insn_line): Constify.
-	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq,
-	const_double_htab_hash, const_double_htab_eq,
-	mem_attrs_htab_hash): Likewise.
-	* loop-iv.c (biv_eq): Likewise.
-	* print-rtl.c (print_rtx, print_decl_name, print_mem_expr,
-	print_inline_rtx, debug_rtx, debug_rtx_list, debug_rtx_range,
-	debug_rtx_find, print_rtl, print_rtl_single, print_simple_rtl):
-	Likewise. 
-	* rtl-error.c (location_for_asm, diagnostic_for_asm,
-	error_for_asm, warning_for_asm, _fatal_insn,
-	_fatal_insn_not_found): Likewise. 
-	* rtl.c (rtx_size, shared_const_p, shallow_copy_rtx_stat,
-	rtx_equal_p, rtl_check_failed_bounds, rtl_check_failed_type1,
-	rtl_check_failed_type2, rtl_check_failed_code1,
-	rtl_check_failed_code2, rtl_check_failed_code_mode,
-	rtvec_check_failed_bounds, rtl_check_failed_flag): Likewise.
-	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
-	rtl_check_failed_type2, rtl_check_failed_code1,
-	rtl_check_failed_code2, rtl_check_failed_code_mode,
-	rtvec_check_failed_bounds, rtl_check_failed_flag, LABEL_KIND,
-	SET_LABEL_KIND, rhs_regno, subreg_lsb, subreg_regno, subreg_nregs,
-	shared_const_p, rtx_size, shallow_copy_rtx_stat, rtx_equal_p,
-	get_pool_mode, insn_line, insn_file, simplify_replace_rtx,
-	mode_signbit_p, rtx_addr_can_trap_p, nonzero_address_p,
-	rtx_unstable_p, get_integer_term, get_related_value,
-	offset_within_block_p, reg_mentioned_p, count_occurrences,
-	reg_referenced_p, reg_used_between_p, no_labels_between_p,
-	single_set_2, multiple_sets, set_noop_p, refers_to_regno_p,
-	reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p,
-	find_reg_note, find_regno_note, find_reg_equal_equiv_note,
-	find_constant_src, find_reg_fusage, find_regno_fusage,
-	pure_call_p, remove_note, side_effects_p, volatile_refs_p,
-	volatile_insn_p, may_trap_p, may_trap_after_code_motion_p,
-	may_trap_or_fault_p, inequality_comparisons_p, tablejump_p,
-	computed_jump_p, auto_inc_p, in_expr_list_p,
-	remove_node_from_expr_list, loc_mentioned_in_p,
-	label_is_jump_target_p, reversed_comparison_code_parts,
-	debug_rtx, debug_rtx_list, debug_rtx_range, debug_rtx_find,
-	print_mem_expr, print_rtl, print_simple_rtl, print_rtl_single,
-	print_inline_rtx): Likewise.
-	* rtlanal.c (covers_regno_p, covers_regno_no_parallel_p,
-	computed_jump_p_1, nonzero_bits1, rtx_unstable_p,
-	rtx_addr_can_trap_p_1, rtx_addr_can_trap_p, nonzero_address_p,
-	get_integer_term, get_related_value, offset_within_block_p,
-	count_occurrences, reg_mentioned_p, no_labels_between_p,
-	reg_used_between_p, reg_referenced_p, single_set_2,
-	multiple_sets, set_noop_p, refers_to_regno_p,
-	reg_overlap_mentioned_p, dead_or_set_p,
-	covers_regno_no_parallel_p, covers_regno_p,
-	dead_or_set_regno_p, find_reg_note, find_regno_note,
-	find_reg_equal_equiv_note, find_constant_src, find_reg_fusage,
-	find_regno_fusage, pure_call_p, remove_note, in_expr_list_p,
-	remove_node_from_expr_list, volatile_insn_p, volatile_refs_p,
-	side_effects_p, may_trap_p_1, may_trap_p,
-	may_trap_after_code_motion_p, may_trap_or_fault_p,
-	inequality_comparisons_p, tablejump_p, computed_jump_p_1,
-	computed_jump_p, auto_inc_p, loc_mentioned_in_p, subreg_lsb,
-	subreg_regno, subreg_nregs, label_is_jump_target_p): Likewise.
-	* simplify-rtx.c (neg_const_int, plus_minus_operand_p,
-	mode_signbit_p, simplify_replace_rtx, plus_minus_operand_p):
-	Likewise. 
-	* toplev.h (_fatal_insn_not_found, _fatal_insn, error_for_asm,
-	warning_for_asm): Likewise.
-	* tree.h (print_rtl): Likewise.
-	* varasm.c (get_pool_mode): Likewise.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* c-lex.c (c_lex_with_flags, lex_string): Constify.
-	* c-ppoutput.c (print_line, pp_dir_change): Likewise.
-	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
-	* cfg.c (bb_copy_original_hash, bb_copy_original_eq): Likewise.
-	* cfgloop.c (loop_exit_hash, loop_exit_eq): Likewise.
-	* ddg.c (compare_sccs): Likewise.
-	* df-scan.c (df_ref_compare, df_mw_compare): Likewise.
-	* dfp.c (decimal_real_from_string, decimal_to_decnumber,
-	decimal_to_binary, decimal_do_compare, decimal_real_to_decimal,
-	decimal_do_fix_trunc, decimal_real_to_integer,
-	decimal_real_to_integer2, decimal_real_maxval): Likewise.
-	* dse.c (const_group_info_t): New.
-	(invariant_group_base_eq, invariant_group_base_hash): Constify.
-	* dwarf2out.c (const_dw_die_ref): New.
-	(decl_die_table_hash, decl_die_table_eq, file_info_cmp): Constify.
-	* tree-browser.c (TB_parent_eq): Likewise.
-	* unwind-dw2-fde.c (__register_frame_info_bases,
-	__deregister_frame_info_bases, fde_unencoded_compare, fde_split,
-	add_fdes, linear_search_fdes, binary_search_unencoded_fdes):
-	Likewise.
-	* unwind-dw2-fde.h (get_cie, next_fde): Likewise.
-	* unwind-dw2.c (uw_frame_state_for): Likewise.
-	* value-prof.c (histogram_hash, histogram_eq): Likewise.
-	* value-prof.h (const_histogram_value): New.
-
-2007-07-25  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (machine_function): Add
-	initialized_mips16_gp_pseudo_p.
-	(mips16_gp_pseudo_reg): Do not emit the initialization of
-	mips16_gp_pseudo_rtx when being called from the gimple cost-
-	calculation routines; emit it on the first use outside those
-	routines.
-
-2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* coretypes.h (const_bitmap, const_rtx, const_rtvec, const_tree):
-	New.
-	
-	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
-	RTVEC_ELT, XWINT, XCWINT, XCMWINT, XCNMPRV, BLOCK_SYMBOL_CHECK,
-	RTL_FLAG_CHECK1, RTL_FLAG_CHECK2, RTL_FLAG_CHECK3,
-	RTL_FLAG_CHECK4, RTL_FLAG_CHECK5, RTL_FLAG_CHECK6,
-	RTL_FLAG_CHECK7, RTL_FLAG_CHECK8, LABEL_KIND, SET_LABEL_KIND):
-	Preserve const-ness of parameters through use of __typeof(),
-	also constify and tidy.
-	
-	* tree.h (TREE_CHECK, TREE_NOT_CHECK, TREE_CHECK2,
-	TREE_NOT_CHECK2, TREE_CHECK3, TREE_NOT_CHECK3, TREE_CHECK4,
-	NON_TREE_CHECK4, TREE_CHECK5, TREE_NOT_CHECK5,
-	CONTAINS_STRUCT_CHECK, TREE_CLASS_CHECK, TREE_RANGE_CHECK,
-	OMP_CLAUSE_SUBCODE_CHECK, OMP_CLAUSE_RANGE_CHECK, EXPR_CHECK,
-	GIMPLE_STMT_CHECK, NON_TYPE_CHECK, TREE_VEC_ELT_CHECK,
-	PHI_NODE_ELT_CHECK, OMP_CLAUSE_ELT_CHECK, TREE_OPERAND_CHECK,
-	TREE_OPERAND_CHECK_CODE, GIMPLE_STMT_OPERAND_CHECK,
-	TREE_RTL_OPERAND_CHECK, TREE_CHAIN, TREE_TYPE): Likewise.
-
-2007-07-25  Julian Brown  <julian@codesourcery.com>
-	    Mark Shinwell  <shinwell@codesourcery.com>
-
-	* config/alpha/alpha.c (alpha_mangle_fundamental_type): Rename to...
-	(alpha_mangle_type): This.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* config/arm/arm-protos.h (arm_mangle_type): Add prototype.
-	* config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
-	(arm_init_neon_builtins): Fix comment.
-	(arm_mangle_map_entry): New.
-	(arm_mangle_map): New.
-	(arm_mangle_type): New.
-	* config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
-	(ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
-	mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* config/ia64/ia64.c (ia64_mangle_fundamental_type): Rename to...
-	(ia64_mangle_type): This. Use TYPE_MAIN_VARIANT  and restrict
-	mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
-	to...
-	(rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* config/s390/s390.c (s390_mangle_fundamental_type): Rename to...
-	(s390_mangle_type): This.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* config/sparc/sparc.c (sparc_mangle_fundamental_type): Rename to...
-	(sparc_mangle_type): This.
-	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
-	(TARGET_MANGLE_TYPE): Define this instead.
-	* cp/mangle.c (write_type): Call mangle_type target hook on all
-	types before mangling.  Use original type, not main variant, as
-	argument.
-	* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
-	(TARGET_MANGLE_TYPE): This.
-	* target.h (gcc_target): Rename mangle_fundamental_type to
-	mangle_type.
-	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
-	(TARGET_MANGLE_TYPE): This. Note slightly different semantics.
-
-2007-07-25  Julian Brown  <julian@codesourcery.com>
-	    Paul Brook  <paul@codesourcery.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-	    Mark Shinwell  <shinwell@codesourcery.com>
-
-	* Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
-	* config.gcc (arm*-*-*): Add arm_neon.h to extra headers.
-	(with_fpu): Allow --with-fpu=neon.
-	* config/arm/aof.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
-	* config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
-	* config/arm/arm-modes.def (EI, OI, CI, XI): New modes.
-	* config/arm/arm-protos.h (neon_immediate_valid_for_move)
-	(neon_immediate_valid_for_logic, neon_output_logic_immediate)
-	(neon_pairwise_reduce, neon_expand_vector_init, neon_reinterpret)
-	(neon_emit_pair_result_insn, neon_disambiguate_copy)
-	(neon_vector_mem_operand, neon_struct_mem_operand, output_move_quad)
-	(output_move_neon): Add prototypes.
-	* config/arm/arm.c (FL_NEON): New flag for NEON processor capability.
-	(all_fpus): Add FPUTYPE_NEON.
-	(fp_model_for_fpu): Add NEON field.
-	(arm_return_in_memory): Return vectors <= 16 bytes in ARM registers.
-	(arm_arg_partial_bytes): Allow NEON vectors to be passed partially
-	in registers.
-	(arm_legitimate_address_p): Don't support fancy addressing for NEON
-	structure moves.
-	(thumb2_legitimate_address_p): Likewise.
-	(neon_valid_immediate): Recognize and prepare constants suitable for
-	NEON instructions.
-	(neon_immediate_valid_for_move): New function. Recognize and prepare
-	immediates for NEON move instructions.
-	(neon_immediate_valid_for_logic): New function. Recognize and
-	prepare immediates for NEON logic instructions.
-	(neon_output_logic_immediate): New function. Create asm string
-	suitable for outputting immediate logic instructions.
-	(neon_pairwise_reduce): New function. Implement reduction using
-	pairwise operations.
-	(neon_expand_vector_init): New function. Expand a (possibly
-	non-constant) vector initialization.
-	(neon_vector_mem_operand): New function. Memory operands supported
-	for quad-word loads/stores to/from ARM or NEON registers. Don't
-	allow base+offset addressing for core regs.
-	(neon_struct_mem_operand): New function. Valid mems for NEON
-	structure moves.
-	(coproc_secondary_reload_class): Enable NEON registers to be loaded
-	from neon_vector_mem_operand addresses without a secondary register.
-	(add_minipool_forward_ref): Handle >8-byte minipool entries.
-	(add_minipool_backward_ref): Likewise.
-	(dump_minipool): Likewise.
-	(push_minipool_fix): Likewise.
-	(output_move_quad): New function. Output quad-word moves, loads and
-	stores using ARM registers.
-	(output_move_vfp): Add support for vectors in VFP (NEON) D
-	registers.
-	(output_move_neon): Output a NEON load/store to/from a quadword
-	register.
-	(arm_print_operand): Implement new codes:
-	- 'c' for unadorned integers (without a # sign).
-	- 'J', 'K' for reg+2/reg+3, reg+3/reg+2 in little/big-endian
-	mode.
-	- 'e', 'f' for the low and high D parts of a NEON Q register.
-	- 'q' outputs a NEON Q register.
-	- 'h' outputs ranges of D registers for VLDM/VSTM etc.
-	- 'T' prints NEON opcode features from a coded bitmask.
-	- 'F' is similar to T, but signed/unsigned codes both print as
-	'i'.
-	- 't' is similar to T, but 'u' is printed instead of 'p'.
-	- 'O' prints 'r' if NEON instruction should perform rounding (as
-	specified by bitmask), else prints nothing.
-	- '#' is a punctuation character to stop operand numbers from
-	running together with following digits in the assembler
-	strings for instructions (when using mode attributes).
-	(arm_assemble_integer): Handle extra NEON vector modes. Permute
-	constant vectors in big-endian mode, where necessary.
-	(arm_hard_regno_mode_ok): Allow vectors in VFP/NEON registers.
-	Handle EI, OI, CI, XI modes.
-	(ashlv4hi3, ashlv2si3, lshrv4hi3, lshrv2si3, ashrv4hi3)
-	(ashrv2si3): Rename IWMMXT2_BUILTINs to...
-	(ashlv4hi3_iwmmxt, ashlv2si3_iwmmxt, lshrv4hi3_iwmmxt)
-	(lshrv2si3_iwmmxt, ashrv4hi3_iwmmxt, ashrv2si3_iwmmxt): New names.
-	(neon_builtin_type_bits): Add enumeration, one bit for each vector
-	type.
-	(v8qi_UP, v4hi_UP, v2si_UP, v2sf_UP, di_UP, v16qi_UP, v8hi_UP)
-	(v4si_UP, v4sf_UP, v2di_UP, ti_UP, ei_UP, oi_UP, UP): Define macros
-	to turn v8qi, etc. into bits defined above.
-	(neon_itype): New enumeration. Classifications of NEON builtins.
-	(neon_builtin_datum): Define struct. Contains information about
-	a single builtin (with multiple modes).
-	(CF): Define helper macro for...
-	(VAR1...VAR10): Define builtins with a type, name and 1-10 different
-	modes.
-	(neon_builtin_data): New array. Define information about builtins
-	for use during initialization/expansion.
-	(arm_init_neon_builtins): New function.
-	(arm_init_builtins): Call arm_init_neon_builtins if TARGET_NEON is
-	true.
-	(neon_builtin_compare): New function.
-	(locate_neon_builtin_icode): New function. Find an insn code for a
-	builtin given a function code for that builtin. Also return type of
-	builtin (NEON_BINOP, NEON_UNOP etc.).
-	(builtin_arg): New enumeration. Types of arguments for builtins.
-	(arm_expand_neon_args): New function. Expand a generic NEON builtin.
-	Takes a variable argument list of builtin_arg types, terminated by
-	NEON_ARG_STOP.
-	(arm_expand_neon_builtin): New function. Expand a NEON builtin.
-	(neon_reinterpret): New function. Expand NEON reinterpret intrinsic.
-	(neon_emit_pair_result_insn): New function. Support returning pairs
-	of vectors via a pointer.
-	(neon_disambiguate_copy): New function. Set up operands for a
-	multi-word copy such that registers do not get clobbered.
-	(arm_expand_builtin): Call arm_expand_neon_builtin if fcode >=
-	ARM_BUILTIN_NEON_BASE.
-	(arm_file_start): Set float-abi attribute for NEON.
-	(arm_vector_mode_supported_p): Enable NEON vector modes.
-	(arm_mangle_map_entry): New.
-	(arm_mangle_map): New.
-	(arm_mangle_vector_type): New.
-	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_NEON__
-	when appropriate.
-	(TARGET_NEON): New macro. Target supports NEON.
-	(fputype): Add FPUTYPE_NEON.
-	(UNITS_PER_SIMD_WORD): Define. Allow quad-word registers to be used
-	for vectorization based on command-line arg.
-	(NEON_REGNO_OK_FOR_NREGS): Define.
-	(VALID_NEON_DREG_MODE, VALID_NEON_QREG_MODE)
-	(VALID_NEON_STRUCT_MODE): Define.
-	(PRINT_OPERAND_PUNCT_VALID_P): '#' is valid punctuation.
-	(arm_builtins): Add ARM_BUILTIN_NEON_BASE.
-	* config/arm/arm.md (VUNSPEC_POOL_16): Insert constant for unspec.
-	(consttable_16): Add pattern for outputting 16-byte minipool
-	entries.
-	(movv2si, movv4hi, movv8qi): Remove blank expanders (redefined in
-	vec-common.md).
-	(vec-common.md, neon.md): Include md files.
-	* config/arm/arm.opt (mvectorize-with-neon-quad): Add option.
-	* config/arm/constraints.md (constraint "Dn", "Dl", "DL"): Define.
-	(memory_constraint "Ut", "Un", "Us"): Define.
-	* config/arm/iwmmxt.md (VMMX, VSHFT): New mode macros.
-	(MMX_char): New mode attribute.
-	(addv8qi3, addv4hi3, addv2si3): Remove. Replace with...
-	(*add<mode>3_iwmmxt): New insn pattern.
-	(subv8qi3, subv4hi3, subv2si3): Remove. Replace with...
-	(*sub<mode>3_iwmmxt): New insn pattern.
-	(mulv4hi3): Rename to...
-	(*mulv4hi3_iwmmxt): This.
-	(smaxv8qi3, smaxv4hi3, smaxv2si3, umaxv8qi3, umaxv4hi3)
-	(umaxv2si3, sminv8qi3, sminv4hi3, sminv2si3, uminv8qi3)
-	(uminv4hi3, uminv2si3): Remove. Replace with...
-	(*smax<mode>3_iwmmxt, *umax<mode>3_iwmmxt, *smin<mode>3_iwmmxt)
-	(*umin<mode>3_iwmmxt): These.
-	(ashrv4hi3, ashrv2si3, ashrdi3_iwmmxt): Replace with...
-	(ashr<mode>3_iwmmxt): This new pattern.
-	(lshrv4hi3, lshrv2si3, lshrdi3_iwmmxt): Replace with...
-	(lshr<mode>3_iwmmxt): This new pattern.
-	(ashlv4hi3, ashlv2si3, ashldi3_iwmmxt): Replace with...
-	(ashl<mode>3_iwmmxt): This new pattern.
-	* config/arm/neon-docgen.ml: New file. Generate documentation for
-	intrinsics.
-	* config/arm/neon-gen.ml: New file. Generate arm_neon.h header.
-	* config/arm/arm_neon.h: New (autogenerated).
-	* config/arm/neon-testgen.ml: New file. Generate NEON tests
-	automatically.
-	* config/arm/neon.md: New file. Define NEON instructions.
-	* config/arm/neon.ml: New file. Abstract description of NEON
-	instructions, used to generate arm_neon.h header, documentation and
-	tests.
-	* config/arm/t-arm (MD_INCLUDES): Add vec-common.md, neon.md.
-	* vec-common.md: New file. Shared parts for iWMMXt and NEON vector
-	support.
-	* doc/extend.texi (ARM Built-in Functions): Rename and remove
-	extraneous comma.
-	(ARM NEON Intrinsics): New subsection.
-	* doc/arm-neon-intrinsics.texi: New (autogenerated).
-
-2007-07-25  Danny Smith   <dannysmith@users.sourceforge.net>
-
-	* config/i386/i386-protos.h (i386_pe_asm_file_end): Remove
-	prototype.
-
-2007-07-24  Jan Hubicka  <jh@suse.cz>
-
-	* regclass.c (move_table): New type.
-	(move_cost, may_move_in_cost, may_move_out_cost): Use it.
-	(init_move_cost): Break out from ...
-	(init_reg_sets_1): ... here; simplify computation of
-	have_regs-of_mode and contains_reg_of_mode.
-	(record_reg_classes): Unswitch internal loops.
-	(copy_cost): Trigger lazy initialization of move cost
-	(record_address_regs): Likewise.
-
-2007-07-24  Daniel Berlin  <dberlin@dberlin.org>
-
-	* config/darwin.c (darwin_override_options): Don't force on
-	flag_var_tracking_uninit when no debug info is requested.
-
-2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* cfgloop.c (init_loops_structure): New function.
-	(flow_loops_find): Create root of the loop tree unconditionally.
-
-2007-07-24  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.
-
-2007-07-24  Jan Hubicka  <jh@suse.cz>
-
-	* caller-save.c: Include ggc.h, gt-caller-save.h
-	(reg_save_code, reg_restore_code): Rename to ...
-	(cached_reg_save_code, cached_reg_restore_code): ... those.
-	(savepat, restpat, test_reg, test_mem, saveinsn, restinsn): New.
-	(reg_save_code, reg_restore_code): New functions.
-	(init_caller_save): Do not intialize
-	reg_save_code/reg_restore_code tables.
-	* Makefile.in: (gt-caller-save.h): New.
-
-2007-07-24  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand
-	with the mode of the original operand instead of
-	integer_one_node.
-
-2007-07-23  Jan Hubicka  <jH@suse.cz>
-
-	* config/i386/i386.c (ix86_secondary_memory_needed): Break out to...
-	(inline_secondary_memory_needed): ... here.
-	(ix86_memory_move_cost): Break out to ...
-	(inline_memory_move_cost): ... here; add support for IN value of 2 for
-	maximum of input and output; fix handling of Q_REGS on 64bit.
-	(ix86_secondary_memory_needed): Microoptimize.
-
-2007-07-23  Sebastian Pop  <sebpop@gmail.com>
-
-	* tree-data-ref.c (find_vertex_for_stmt, create_rdg_edge_for_ddr,
-	create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
-	stmts_from_loop, known_dependences_p, build_rdg): New.
-	* tree-data-ref.h: Depends on graphds.h.
-	(rdg_vertex, RDGV_STMT, rdg_dep_type, rdg_edge, RDGE_TYPE): New.
-	(build_rdg): Declared.
-	* Makefile.in (TREE_DATA_REF_H): Depends on graphds.h.
-
-2007-07-23  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-propagate.c (valid_gimple_expression_p): Match up with
-	ccp_min_invariant.
-
-2007-07-23  Peter Bergner  <bergner@vnet.ibm.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/PR28690
-	* optabs.c (expand_binop): (emit_cmp_and_jump_insns): Allow
-	EQ compares.
-	* rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER
-	and MEM_POINTER operands over REG and MEM operands.
-	(swap_commutative_operands_p): Change return value to bool.
-	* rtl.h: Update the corresponding prototype.
-	* tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary
-	instead of gen_rtx_PLUS.
-	* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Change return
-	value to bool.  Change function arguments to rtx's and update code
-	to match.
-	(simplify_plus_minus): Update the simplify_plus_minus_op_data_cmp
-	calls to match the new declaration.
-	* simplify-rtx.c (simplify_associative_operation): Don't
-	reorder simplify_binary_operation arguments.
-
-2007-07-23  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (override_options): Use mips_costs to derive
-	the default branch cost.
-	* config/mips/mips.h (BRANCH_COST): Use mips_branch_cost rather
-	than mips_costs.
-	* config/mips/mips.opt (mbranch-cost=): New option.
-	* doc/invoke.texi (-mbranch-cost): Document new MIPS option.
-
-2007-07-23  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.h (GR_REG_CLASS_P, COP_REG_CLASS_P): Delete.
-	(SECONDARY_MEMORY_NEEDED): Delete commented-out definition.
-	* config/mips/mips.c (mips_register_move_cost): Use reg_class_subset_p
-	instead of GR_REG_CLASS_P and COP_REG_CLASS_P.
-
-2007-07-23  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/constraints.md (ks): New constraint.
-	* config/mips/mips.md (*add<mode>3_sp1, *add<mode>3_sp2): Fold into...
-	(*add<mode>3_mips16): ...here.
-
-2007-07-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* optabs.h (enum optab_index): Add new OTI_signbit.
-	(signbit_optab): Define corresponding macro.
-	(enum insn_code signbit_optab[]): Remove array.
-	* optabs.c (init_optabs): Initialize signbit_optab using init_optab.
-	(expand_copysign_absneg): If back end provides signbit insn, use it
-	instead of bit operations on floating point argument.
-	* builtins.c (enum insn_code signbit_optab[]): Remove array.
-	(expand_builtin_signbit): Check signbit_optab->handlers[].insn_code
-	for availability of signbit insn.
-
-	* config/i386/i386.md (signbit<mode>2): New insn pattern to implement
-	signbitf, signbit and signbitl built-ins as inline x87 intrinsics when
-	SSE mode is not active.
-	(isinf<mode>2): Disable for mfpmath=sse,387.
-
-2007-07-22  Ben Elliston  <bje@au.ibm.com>
-
-	* regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to
-	`class' parameter.
-	* struct-equiv.c (note_local_live): Likewise for `y_regno'.
-
-2007-07-20  Richard Guenther  <rguenther@suse.de>
-
-	* tree-cfg.c (verify_expr): COND_EXPRs can have any
-	integral typed condition.
-	* tree-ssa.c (useless_type_conversion_p): Do not preserve
-	booleanness.  Only preserve conversions from a non-base
-	type to a base type, not in general between types with
-	different TYPE_MIN_VALUE or TYPE_MAX_VALUE.
-	* tree.def (COND_EXPR): Document that the condition
-	can be of any integral type.
-
-2007-07-20  Nigel Stephens  <nigel@mips.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.h (mips_dwarf_regno): Declare.
-	(DBX_REGISTER_NUMBER): Remove redundant brackets.
-	(HI_REGNUM, LO_REGNUM): Define in an endian-dependent way.
-	(AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM)
-	(AC3HI_REGNUM, AC3LO_REGNUM, ACC_HI_REG_P): Delete.
-	(reg_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
-	(REG_CLASS_NAMES): Update accordingly.
-	* config/mips/mips.c (mips_dwarf_regno): New array.
-	(mips_regno_to_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
-	(mips_subword): Remove special handling for accumulator registers.
-	(override_options): Initiailize mips_dwarf_regno.  Remove use
-	of ACC_HI_REG_P.
-	(mips_swap_registers): New function.
-	(mips_conditional_register_usage): Swap accumulator registers
-	around if TARGET_LITTLE_ENDIAN.
-	(mips_cannot_change_mode_class): Remove special treatment of ACC_REGS.
-	* config/mips/constraints.md (h, l): Use the endianness to choose
-	between MD0_REG and MD1_REG.
-	* config/mips/mips.md (*mfhilo_<mode>_macc): Use a fixed-string,
-	alternative-dependent template.
-
-2007-07-20  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/arm/arm.md (movsi): Use can_create_pseudo_p instead of
-	no_new_pseudos.
-
-2007-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* function.c (thread_prologue_and_epilogue_insns): Fix exit
-	predecessor fallthru flags.
-
-2007-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands
-	of compare to the same type.
-	* cfgloopmanip.c (add_loop): Update information about loop exits.
-	(loop_version): Remove the innermost loop requirement.
-	* tree-ssa-loop-manip.c (determine_exit_conditions): Convert bounds
-	to sizetype for pointers.
-
-2007-07-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* Makefile.in (D32PBIT_FUNCS): Add _sd_to_tf and _tf_to_sd.
-	(D64PBIT_FUNCS): Add _dd_to_tf and _tf_to_dd.
-	(D128PBIT_FUNCS): Add _td_to_tf and _tf_to_td.
-
-	* config/dfp-bit.c: Empty for TFmode conversions.
-
-2007-07-18  Caroline Tice  <ctice@apple.com>
-	
-	* 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.
-	
-2007-07-18  Bob Wilson  <bob.wilson@acm.org>
-	
-	* config/xtensa/xtensa.c (xtensa_expand_mask_and_shift): New.
-	(struct alignment_context, init_alignment_context): New.
-	(xtensa_expand_compare_and_swap, xtensa_expand_atomic): New.
-	* config/xtensa/xtensa.h (XCHAL_HAVE_RELEASE_SYNC): Add default.
-	(XCHAL_HAVE_S32C1I): Likewise.
-	(TARGET_RELEASE_SYNC, TARGET_S32C1I): New.
-	* config/xtensa/xtensa.md (UNSPECV_MEMW): New constant.
-	(UNSPECV_S32RI, UNSPECV_S32C1I): Likewise.
-	(ATOMIC, HQI): New macros.
-	(memory_barrier, *memory_barrier): New.
-	(sync_lock_releasesi): New.
-	(sync_compare_and_swapsi, sync_compare_and_swap<mode>): New.
-	(sync_lock_test_and_set<mode>): New.
-	(sync_<atomic><mode>): New.
-	(sync_old_<atomic><mode>, sync_new_<atomic><mode>): New.
-	* config/xtensa/xtensa-protos.h (xtensa_expand_compare_and_swap): New.
-	(xtensa_expand_atomic): New.
-	
-2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR target/30652
-
-	* builtins.c (expand_builtin_interclass_mathfn): Provide a generic
-	transformation for builtin ISNORMAL.
-	(expand_builtin): Handle BUILT_IN_ISNORMAL.
-	* builtins.def (BUILT_IN_ISNORMAL): New.
-	* doc/extend.texi: Document isnormal.
-
-2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR target/30652
-
-	* builtins.c (expand_builtin_interclass_mathfn): Allow for missing
-	optabs infrastructure.  Provide generic implementation for
-	FINITE/ISFINITE.
-	(expand_builtin): Handle FINITE/ISFINITE.
-	(fold_builtin_classify): Make ISFINITE canonical instead of FINITE.
-	(fold_builtin_1): Likewise.
-
-	* builtins.def (BUILT_IN_ISFINITE): New.
-
-	* doc/extend.texi: Document isfinite.
-
-2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR target/30652
-	PR middle-end/20558
-
-	* builtins.c (expand_builtin_interclass_mathfn): Provide a
-	generic fallback for isinf.
-	* c-cppbuiltin.c (builtin_define_float_constants): Move FP max
-	calculation code ...
-	* real.c (get_max_float): ... to here.
-	* real.h (get_max_float): New.
-
-2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/32668
-
-	* builtin-attrs.def (ATTR_TYPEGENERIC,
-	ATTR_CONST_NOTHROW_TYPEGENERIC): New.
-
-	* builtins.def (BUILT_IN_ISINF, BUILT_IN_ISNAN,
-	BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
-	BUILT_IN_ISLESSEQUAL, BUILT_IN_ISLESSGREATER,
-	BUILT_IN_ISUNORDERED): Use ATTR_CONST_NOTHROW_TYPEGENERIC.
-
-	* c-common.c (handle_type_generic_attribute): New.
-	(c_common_attribute_table): Add "type generic".
-
-	* c-typeck.c (convert_arguments): Handle "type generic" functions.
-
-2007-07-18  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-sccvn.c (try_to_simplify): Use valid_gimple_expression
-	* tree-ssa-propagate (valid_gimple_expression): Handle ADDR_EXPR
-	properly.
-
-2007-07-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32808
-	* config/cris/cris.c (cris_print_index): Don't use XEXP before
-	checking that the operand is an expression.
-
-2007-07-19  Christoph von Wittich  <Christoph_vW@reactos.org>
-	    Danny Smith  <dannysmith@users.sourceforge.net>
-
-	PR/other 30335
-	* config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Put
-	file mapping object in local namespace if Windows version later
-	than NT4
-
-2007-07-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/arm/arm-protos.h (arm_cannot_force_const_mem): Declare.
-	* config/arm/arm.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to
-	arm_cannot_force_const_mem.
-	(arm_cannot_force_const_mem): New function.
-	* config/arm/arm.h (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macro.
-	(LEGITIMATE_CONSTANT_P): Test arm_cannot_force_const_mem instead
-	of arm_tls_referenced_p.
-	* config/arm/arm.md (movsi): Split out-of-section constants when
-	ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P.
-	* config/arm/vxworks.h (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
-
-2007-07-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (clear_cache): Treat the size argument as Pmode.
-
-2007-07-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.md (*extendqihi2): Convert the destination
-	to SImode.
-
-2007-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* config/pa/fptr.c: Update license header.
-	* config/pa/milli64.S: Likewise.
-
-2007-07-17  Nick Clifton  <nickc@redhat.com>
-
-	* COPYING_v3: New file.  Contains version 3 of the GNU General
-	Public License.
-	* COPYING.LIB_v3: New file.  Contains version 3 of the GNU
-	Lesser General Public License.
-	* doc/include/gpl_v3.texi: New file.  Contains version 3 of
-	the GNU General Public License.
-
-2007-07-17  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR rtl-optimization/32773
-	* cfglayout.c (force_one_exit_fallthru): New function.
-	(cfg_layout_finalize): Use it.
-
-2007-07-16  Richard Guenther  <rguenther@suse.de>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	* tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
-	before forcing it to gimple operand.
-
-2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips.h (TUNE_24K): Define.
-	(TUNE_MACC_CHAINS): Add TUNE_24K.
-	* config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
-	imadd.
-	* config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
-	(r74k_int_madd): .. this new reservation.
-	(define_bypass): Fixed bypasses for r74k_int_madd to use
-	mips_linked_madd_p.
-	* config/mips/24k.md (define_bypass): Define new
-	r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.
-
-2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* 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.
-	(mips_issue_rate): Likewise.
-	* config/mips/mips.h (TUNE_20KC): Define.
-
-2007-07-16  David Edelsohn  <edelsohn@gnu.og>
-
-	* config/rs6000/rs6000.c (struct processor_cost): Add
-	cache_line_size, l1_cache_lines, and simultaneous_prefetches
-	fields.
-	(*_cost): Add cache information.
-	(rs6000_override_options): Set cache parameters.
-
-2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-	PR bootstrap/3456
-	* config.gcc (mips-sgi-irix[56]*): Enable pthread support.
-	* doc/install.texi (mips-sgi-irix6): pthread support works now.
-
-2007-07-16  Paul Brook  <paul@codesourcery.com>
-
-	PR target/32753
-	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
-	(cirrus_thumb2_movsi_insn): Ditto.
-
-2007-07-15  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/rs6000/darwin-fallback.c (interpret_libc): Change
-	CR2_REGNO to R_CR2.
-
-2007-07-15  Andrew Haley  <aph@redhat.com>
-
-	* unwind-sjlj.c (_Unwind_GetIPInfo): Check for context->fc != NULL
-	before looking in the context.
-
-2007-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR middle-end/32398
-	PR middle-end/32769
-	* pa-protos.h (pa_eh_return_handler_rtx): Declare.
-	* pa.c (pa_extra_live_on_entry, rp_saved): Declare.
-	(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
-	(pa_output_function_prologue): Use rp_saved and
-	current_function_is_leaf to generate .CALLINFO statement.
-	(hppa_expand_prologue): Set rp_saved.
-	(hppa_expand_epilogue): Use rp_saved.
-	(pa_extra_live_on_entry, pa_eh_return_handler_rtx): New functions.
-	* pa.h (EH_RETURN_HANDLER_RTX): Use pa_eh_return_handler_rtx.
-
-2007-07-14  Dirk Mueller  <dmueller@suse.de>
-
-	* omega.c (coalesce): Fix memory leak on early exit.
-	* matrix-reorg.c (check_allocation_function): Likewise.
-	* tree-vect-transform.c (vect_get_new_vect_var): free result
-	of concat().
-	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
-	pass pointer to edge vector
-	(partition_hot_cold_basic_blocks): Fix memory leak.
-	* collect2.c (prefix_from_string): Free temporary storage.
-	* reload1.c (fixup_abnormal_edges): Free sbitmap.
-
-2007-07-14  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.h (DO_GLOBAL_CTORS_BODY): Add void to prototype.
-	(DO_GLOBAL_DTORS_BODY): Likewise.
-
-2007-07-14  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips.c (mips_classify_symbol): Don't return
-	SYMBOL_SMALL_DATA for constant pool addresses if
-	TARGET_EMBEDDED_DATA is true.
-
-2007-07-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (init_mmx_sse_builtins): Define all builtins
-	except __builtin_ia32_emms, __builtin_ia32_ldmxcsr,
-	__builtin_ia32_stmxcsr, __builtin_ia32_maskmovq, __builtin_ia32_loadups,
-	__builtin_ia32_storeups, __builtin_ia32_loadhps, __builtin_ia32_loadlps,
-	__builtin_ia32_storehps, __builtin_ia32_storelps,
-	__builtin_ia32_movntps, __builtin_ia32_movntq, __builtin_ia32_sfence,
-	__builtin_ia32_femms, __builtin_ia32_maskmovdqu, __builtin_ia32_loadupd,
-	__builtin_ia32_storeupd, __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
-	__builtin_ia32_movnti, __builtin_ia32_movntpd, __builtin_ia32_movntdq,
-	__builtin_ia32_clflush, __builtin_ia32_lfence, __builtin_ia32_mfence,
-	__builtin_ia32_loaddqu, __builtin_ia32_storedqu, __builtin_ia32_monitor,
-	__builtin_ia32_mwait, __builtin_ia32_lddqu, __builtin_ia32_movntdqa,
-	__builtin_ia32_movntsd and __builtin_ia32_movntss as const builtins
-	using def_builtin_const.
-
-2007-07-14  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR tree-optimization/32705
-	* tree-ssa-sccvn.c (set_ssa_val_to): Accept VN_TOP as value number.
-	(simplify_binary_expression): Use SSA_VAL consistently.
-
-2007-07-13  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/spe.md (SPE_ACC_REGNO): Delete definition.
-	(SPEFSCR_REGNO): Delete definition.
-	* config/rs6000/rs6000.c: LINK_REGISTER_REGNUM -> LR_REGNO.
-	COUNT_REGISTER_REGNUM -> CTR_REGNO.
-	* config/rs6000/rs6000.h: Do not define *_REGNO.
-	LINK_REGISTER_REGNUM -> LR_REGNO.
-	COUNT_REGISTER_REGNUM -> CTR_REGNO.
-	* config/rs6000/predicates.md: LINK_REGISTER_REGNUM -> 	LR_REGNO.
-	COUNT_REGISTER_REGNUM -> CTR_REGNO.
-	* config/rs6000/linux-unwind.h: Define R_LR, R_CR2, R_VR0,
-	R_VRSAVE, R_VSCR. Use them.
-	* config/rs6000/darwin-fallback.c: Define R_LR, R_CTR, R_CR2,
-	R_XER, R_VR0, R_VRSAVE, R_VSCR, R_SPEFSCR.  Use them.
-	* config/rs6000/rs6000.md: Define REGNO constants.  Use them.
-	* config/rs6000/aix.h: Define R_LR.  Use it.
-	
-2007-07-13  Caroline Tice  <ctice@apple.com>
-	
-	* toplev.c (process_options): Turn flag_var_tracking_uninit off when
-	flag_var_tracking is explicitly turned off (i.e. when variable
-	tracking is not feasible); otherwise, turn flag_var_tracking on when
-	flag_var_tracking_uninit is on.
-	* rtl.def (VAR_LOCATION): Add a new integer subfield to VAR_LOCATION
-	note definitions, to allow recording of initialization status in the
-	notes.
-	* dwarf2out.c (dwarf_stack_op_name): Add case for DW_OP_GNU_uninit.
-	(add_var_loc_to_decl): Add comparison of NOTE_VAR_LOCATION_STATUS to
-	determine if two note locations are equal.
-	(output_loc_list): Don't output list entries whose start & end labels
-	are the same.
-	(reg_loc_descriptor): Add parameter for initialization status; pass it
-	to other loc descriptor functions.
-	(one_reg_loc_descriptor): Add parameter for initialization status;
-	check its value and add DW_OP_GNU_uninit to returned loc descr if
-	appropriate.
-	(multiple_reg_loc_descriptor): Add parameter for initialization
-	status;
-	pass init status argument to other loc descriptor functions; check
-	value of intialization parameter and add DW_OP_GNU_uninit to returned
-	loc descr if appropriate.
-	(based_loc_descr): Add parameter for initialization status; add new
-	variable for return value; check value of initialization parameter and
-	add DW_OP_GNU_uninit to returned loc descr if appropriate.
-	(concatn_mem_loc_descriptor): Add parameter for initialization status;
-	pass init status argument to other loc descriptor functions; check
-	value of intialization parameter and add DW_OP_GNU_uninit to returned
-	loc descr if appropriate.
-	(mem_loc_descriptor): Likewise.
-	(concat_loc_descriptor): Likewise.
-	(concatn_loc_descriptor): Likewise.
-	(loc_descriptor): Add parameter for initialization status; pass it as
-	argument to other loc descriptor function calls.
-	(loc_descriptor_from_tree_1): Add appropriate initialization status
-	to loc descriptor function calls.
-	(add_location_or_const_value_attribute): Get initialization status
-	from VAR_LOCATION note; add initialization status to loc descriptor
-	function calls.
-	* dwarf2.h (enum dwarf_location_atom): New op, DW_OP_GNU_uninit.
-	* print-rtl.c (print_rtx): When printing a VAR_LOCATION note, if
-	status is uninitialized, add "[uninint]" to output.
-	* common.opt (fvar-tracking-uninit): New option, similar to
-	fvar-tracking, to turn on tracking of uninitialized variables; creates
-	a new global flag, flag_var_tracking_uninit.
-	* rtl.h (NOTE_VAR_LOCATION_STATUS): New macro for accessing new field.
-	(enum var_init_status): New type, for var initialization status field.
-	* var-tracking.c (struct location_chain_def): Two new fields, init,
-	for initialization status, and set_src for the assignment value expr.
-	(unshare_variable): New parameter for initialization status;
-	initialize new init and set_src fields.
-	(var_reg_set): New parameters for initialization status and value;
-	pass them to set_variable_part.
-	(var_mem_set): Likewise.
-	(get_init_value): New function.
-	(var_reg_delete_and_set): New initialization status & value
-	parameters; add call to get_init_value if status is unknown; pass new
-	parameters to clobber_variable_part and var_reg_set.
-	(var_mem_delete_and_set): Likewise.
-	(var_reg_delete): Pass null set_src value to clobber_variable_part.
-	(var_mem_delete): Likewise.
-	(variable_union): Pass status to unshare_variable; initialize new init
-	and set_src fields. If flag_var_tracking_uninit is not set, force
-	status to initialized.
-	(add_stores): Store insn, rather than NEXT_INSN(insn), so it can be
-	used later to get the set_src value.
-	(find_src_status): New function.
-	(find_src_set_src): New function.
-	(compute_bb_dataflow): Pass init status to calls to var_reg_set,
-	var_mem_set, var_reg_delete_and_set and var_mem_delete_and_set; for
-	MO_SET, get set_src value and pass it to var_reg_delete_and_set
-	and var_mem_delete_and_set.
-	(dump_variable): Print out "[uninit]" if appropriate.
-	(set_variable_part): Add new initialization and set_src parameters;
-	pass status to unshare_variable; set node->init and node- >set_src
-	fields and modify slot in hash table appropriately; save the init and
-	set_src values if appropriate and assign to the new node.
-	(clobber_variable_part): New set_src parameter; if two nodes have
-	same variable and same location but different set_src (assignment)
-	values, clobber old node.
-	(delete_variable_part): Pass init status to unshare_variable.
-	(emit_note_insn_var_location): Add initialized var; assign var's init
-	status to new 'initialized'; pass new init status field to calls to
-	gen_rtx_VAR_LOCATION. If flag_var_tracking_uninit is not set, force
-	status to initialized.
-	(emit_notes_in_bb): Pass initialization status to calls to
-	var_reg_set, var_mem_set, var_reg_delete_and_set and
-	var_mem_delete_and_set; for MO_SET, get set_src value and pass it to
-	var_reg_delete_and_set and var_mem_delete_and_set; call
-	emit_notes_for_changes on NEXT_INSN(insn) rather than on insn, to
-	make up for change in add_stores.
-	(vt_add_function_parameters): Add status to calls to
-	set_variable_part.
-	* config/darwin.c (darwin_override_options): Turn on uninitialized
-	tracking automatically, if var_tracking is on and the system is
-	10.5 or higher.
-	
-2007-07-13  Sa Liu  <saliu@de.ibm.com>
-
-	* config.gcc: Add options for arch and tune on SPU.
-	* config/spu/predicates.md: Add constant operands 0 and 1.
-	* config/spu/spu-builtins.def: Add builtins for double precision 
-	floating point comparison: si_dfceq, si_dfcmeq,	si_dfcgt, si_dfcmgt, 
-	si_dftsv, spu_cmpeq_13, spu_cmpabseq_1, spu_cmpgt_13, spu_cmpabsgt_1,
-	spu_testsv.
-	* config/spu/spu-c.c: Define __SPU_EDP__ when builtins invoked with 
-	a CELLEDP target.
-	* config/spu/spu-protos.h: Add new function prototypes. 
-	* config/spu/spu.c (spu_override_options): Check options -march and
-	-mtune.
-	(spu_comp_icode): Add comparison code for DFmode and vector mode.
-	(spu_emit_branch_or_set): Use the new code for DFmode and vector 
-	mode comparison.
-	(spu_const_from_int): New.  Create a vector constant from 4 ints.
-	(get_vec_cmp_insn): New.  Get insn index of vector compare instruction.
-	(spu_emit_vector_compare): New.  Emit vector compare.
-	(spu_emit_vector_cond_expr): New.  Emit vector conditional expression.
-	* config/spu/spu.h: Add options -march and -mtune.  Define processor
-	types PROCESSOR_CELL and PROCESSOR_CELLEDP.  Define macro
-	CANONICALIZE_COMPARISON.
-	* config/spu/spu.md: Add new insns for double precision compare
-	and double precision vector compare.  Add vcond and smax/smin patterns
-	to enable DFmode vector conditional expression.
-	* config/spu/spu.opt: Add options -march and -mtune.
-	* config/spu/spu_internals.h: Add builtins for CELLEDP target:
-	si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv.  Add builtin for
-	both CELL and CELLEDP targets: spu_testsv.
-	* config/spu/spu_intrinsics.h: Add flag mnemonics for test special 
-	values.
-
-2007-07-13  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32721
-	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve
-	TREE_THIS_VOLATILE on the folded reference.
-	* tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops
-	if the array reference has TREE_THIS_VOLATILE set.
-
-2007-07-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR other/32188
-	* doc/libgcc.texi: Update DFP intrinsics for DPD and BID.
-
-2007-07-13  Andreas Schwab  <schwab@suse.de>
-
-	* gengtype-lex.l: Allow declarations to be indented.
-
-2007-07-12  Geoffrey Keating  <geoffk@apple.com>
-
-	* ginclude/tgmath.h: New.
-	* config.gcc: Use GCC's tgmath.h on non-glibc systems.
-	* doc/sourcebuild.texi (Headers): Document use_gcc_tgmath.
-	* configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath.
-	* configure: Regenerate.
-
-2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/linux-unwind.h (sh_fallback_frame_state): Use
-	correct index when setting register save state for xd
-	registers.
-
-2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.c (mark_use): Remove.
-
-2007-07-12  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch
-	reg does not overlap return value.
-
-2007-07-12  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
-	(set_expression_vuses): Ditto.
-	(init_pre): Initialize expression_vuses.
-
-2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* config/i386/sse.md (storentdf, storentsf): New.
-
-2007-07-12  Geoffrey Keating  <geoffk@apple.com>
-
-	* builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
-	FUNCTION_DECL.
-	* tree.c (build_decl_stat): Move code from here...
-	(make_node_stat): ... to here.  Don't uselessly clear DECL_USER_ALIGN.
-	(expr_align): Honor DECL_ALIGN on a FUNCTION_DECL.  Add comment
-	about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
-	* tree.h (DECL_USER_ALIGN): Fix misplaced comment.
-	* varasm.c (assemble_start_function): Use DECL_ALIGN instead of
-	FUNCTION_BOUNDARY.
-
-2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
-	    Devang Patel  <dpatel@apple.com>
-
-	PR tree-optimization/25413
-	* targhooks.c (default_builtin_vector_alignment_reachable): New.
-	* targhooks.h (default_builtin_vector_alignment_reachable): New.
-	* tree.h (contains_packed_reference): New.
-	* expr.c (contains_packed_reference): New.
-	* tree-vect-analyze.c (vector_alignment_reachable_p): New.
-	(vect_enhance_data_refs_alignment): Call
-	vector_alignment_reachable_p.
-	* target.h (vector_alignment_reachable): New builtin.
-	* target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
-	* config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
-	(TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
-
-2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* target.h (builtin_vectorization_cost): Add new target builtin.
-	* target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
-	* tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
-	(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
-	* tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
-	uninitialized variables.
-	* tree-vect-transform.c (cost_for_stmt): New function.
-	(vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
-	using cost 1 for all scalar stmts. Be less conservative when
-	estimating the number of prologue/epulogue iterations. Call
-	targetm.vectorize.builtin_vectorization_cost. Return
-	min_profitable_iters-1.
-	(vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
-	initialization cost instead of TARG_VEC_STMT_COST. Use
-	TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
-	epilogue code. Fix epilogue cost computation.
-	* config/spu/spu.c (spu_builtin_vectorization_cost): New.
-	(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
-	* config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
-	(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
-	(TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
-	(TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.
-
-2007-07-12  Richard Guenther  <rguenther@suse.de>
-
-	* gimplify.c (gimplify_conversion): Make sure that the result
-	from maybe_fold_offset_to_reference is trivially convertible
-	to the desired type before doing the simplification.
-	(gimplify_expr): Likewise.
-	* fold-const.c (fold_binary): Use the correct types for
-	building the simplified expression.
-
-2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR rtl-optimization/32729
-	* cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
-	that fallthru to exit.
-
-2007-07-12  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
-	(symDTPOFF2reg): Likewise.
-
-2007-07-11  Daniel Berlin  <dberlin@dberlin.org>
-
-	PR tree-optimization/32663
-	
-	* tree.h (VALUE_HANDLE_VUSES): Remove.
-	(struct tree_value_handle): Remove vuses.
-
-	* tree-vn.c (create_value_handle_for_expr): Don't set
-	VALUE_HANDLE_VUSES. 
-
-	* tree-ssa-pre.c (expression_vuses): New.
-	(alloc_expression_id): Set up expression_vuses.
-	(get_expression_vuses): New.
-	(set_expression_vuses): Ditto.
-	(clear_expression_ids): Modify for expression_vuses.
-	(phi_translate_1): Ditto.
-	(phi_translate_set): Ditto.
-	(value_dies_in_block_x): Ditto
-	(valid_in_sets): Ditto.
-	(add_to_sets): Ditto.
-	(find_existing_value_expr): Ditto.
-	(create_value_handle_for_expr): Ditto.
-	(make_values_for_stmt): Ditto.
-	(vuse_equiv): Remove.
-
-2007-07-11  Alexandre Oliva  <aoliva@redhat.com>
-
-	* Makefile.in (mostlyclean): Remove object files.
-
-2007-07-11  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* toplev.c (no_new_pseudos): Deleted.
-	* rtl.h (no_new_pseudos): Deleted.
-	* tree-pass.h (pass_no_new_pseudos): Deleted. 
-	* passes.c (pass_no_new_pseudos): Deleted.
-	* final.c (rest_of_clean_state): Removed no_new_pseudos.
-	(rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
-	* struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with 
-	reload_completed.
-	* cfgcleanup.c (try_crossjump_to_edge): Ditto. 
-	* rtlhooks.c (gen_lowpart_general): Ditto.
-	* optabs.c (prepare_operand): Ditto.
-	* mode-switching.c (rest_of_handle_mode_switching): Deleted set of
-	no_new_pseudos.
-	* modulo-sched.c (rest_of_handle_sms): Ditto.
-	* see.c (rest_of_handle_see): Ditto.
-	* ifcvt.c (if_convert): Ditto.
-	(gate_handle_if_after_combine): Replaced no_new_pseudos with 
-	reload_completed.
-	* init-regs.c (gate_initialize_regs): Deleted set of
-	no_new_pseudos.
-	* lower-subreg.c (decompose_multiword_subregs): Ditto. 
-	* bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
-	* doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.
-	
-2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32661
-	* config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves.
-	(*vec_extractv2di_1_sse2): Disable for TARGET_64BIT.
-	(*vec_extractv2di_1_rex64): New insn pattern.
-
-2007-07-11  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite
-	return address calculation.  Substitute DWARF_ALT_FRAME_RETURN_COLUMN
-	for SIGNAL_UNWIND_RETURN_COLUMN.
-	* config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove.
-	(DWARF_FRAME_REGNUM): Rewrite.
-	(DWARF_ALT_FRAME_RETURN_COLUMN) Define.
-
-2007-07-11  Nick Clifton  <nickc@redhat.com>
-
-	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous
-	delta and use gen_int_mode in place of GET_INT instead.
-
-2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
-	and letter field.
-
-2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
-	(PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical 
-	types or not.
-	* params.h (VERIFY_CANONICAL_TYPES): Remove.
-	(USE_CANONICAL_TYPES): New.
-	* doc/invoke.texi (verify-canonical-types): Remove.
-	(use-canonical-types): Add.
-
-2007-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	* config/spu/spu.c (spu_optimization_options): Remove setting of
-	parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
-	(spu_override_options): Move it here.
-
-2007-07-11  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
-	* config/mips/mips.c (mips_cpu_info_table): Mention
-	MIPS_ISA_LEVEL_SPEC in the comment.
-
-2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR tree-optimization/32713
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.
-
-2007-07-11  Paolo Carlini  <pcarlini@suse.de>
-
-	PR middle-end/30482
-	* c-opts.c (c_common_post_options): Do not change flag_complex_method
-	conditional to flag_isoc99.
-	(c_common_init_options): Do it here, unconditionally.
-
-2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	PR tree-optimization/32589
-	* doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
-	* tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
-	* tree-ssa-propagate.c (valid_gimple_expression_p): New
-	predicate, extracted from...
-	(set_rhs): ...here.  Call it for the expression on entry.
-	* tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
-	* tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
-	(simplify_binary_expression): Use valid_gimple_expression_p
-	to validate the simplification.
-	* Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.
-
-2007-07-11  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	* config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
-	DWARF2_DEBUG on 32 bit target too.
-	(DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition. 
-
-2007-07-11  Nick Clifton  <nickc@redhat.com>
-
-	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Provide alternative
-	version for 64-bit hosts.
-
-2007-07-10  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.h (ISA_HAS_SYNCI): New target capability
-	predicate.
-	(INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of  library
-	call.
-	* config/mips/mips.c (mips_expand_synci_loop): New function.
-	* config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
-	(UNSPEC_RDHWR): Same.
-	(UNSPEC_SYNCI): Same.
-	(UNSPEC_SYNC): Same.
-	(clear_cache): New expand.
-	(sync): New insn.
-	(synci): Same.
-	(rdhwr): Same.
-	(clear_hazard): Same.
-	* config/mips/mips-protos.h (mips_expand_synci_loop): Declare
-	function.
-	* testsuite/gcc.target/mips/clear-cache-1.c: New test.
-	* testsuite/gcc.target/mips/clear-cache-2.c: New test.
-
-2007-07-10  Ian Lance Taylor  <iant@google.com>
-
-	* emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than
-	no_new_pseudos.
-
-2007-07-10  David Daney  <ddaney@avtrex.com>
-
-	* builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
-	* builtins.c (expand_builtin___clear_cache): New function.
-	(expand_builtin): Call expand_builtin___clear_cache for
-	BUILT_IN_CLEAR_CACHE case.
-	* doc/extend.texi (__builtin___clear_cache): Document new builtin.
-	* doc/md.texi (clear_cache): Document new instruction pattern.
-	* testsuite/gcc.dg/builtins-64.c: New test.
-
-2007-07-11  Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/cris.md ("movsi"): Fix typo in last change.
-
-2007-07-09  Geoffrey Keating  <geoffk@apple.com>
-
-	PR 32617
-	* c-common.c (c_alignof_expr): Look at DECL_ALIGN of
-	FUNCTION_DECLs.
-	(handle_aligned_attribute): Allow use on FUNCTION_DECLs.
-	* varasm.c (assemble_start_function): Honor DECL_ALIGN
-	for FUNCTION_DECLs.  Don't use align_functions_log if
-	DECL_USER_ALIGN.
-	* print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
-	even for FUNCTION_DECLs.
-	* c-decl.c (merge_decls): Propagate DECL_ALIGN even for
-	FUNCTION_DECLs.
-	* tree.h (DECL_ALIGN): Update for new location of 'align'.
-	(DECL_FUNCTION_CODE): Update for new location and name of
-	'function_code'.
-	(DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
-	(struct tree_decl_common): Move 'align' and 'off_align' out
-	of union, ensure they're still on a 32-bit boundary.  Remove
-	other fields in union 'u1'.
-	(struct tree_function_decl): Add field 'function_code' replacing
-	'u1.f' in tree_decl_common.
-	* tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
-	* doc/extend.texi (Function Attributes): Add 'aligned' attribute.
-	(Variable Attributes): Cross-reference 'aligned' attribute
-	to Function Attributes.
-	* flags.h (force_align_functions_log): Delete.
-	* toplev.c (force_align_functions_log): Delete.
-
-2007-07-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32708
-	* config/i386/sse.md (vec_concatv2di): Disable for TARGET_64BIT.
-	(*vec_concatv2di_rex): New insn pattern.
-
-2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-	PR target/32538
-	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
-
-2007-07-10  Ian Lance Taylor  <iant@google.com>
-
-	Replace no_new_pseudos in backends.
-	* rtl.h (can_create_pseudo_p): Define.
-	* config/darwin.c (machopic_indirect_data_reference): Use
-	can_create_pseudo_p () instead of no_new_pseudos.
-	(machopic_indirect_data_reference): Likewise.
-	(machopic_legitimize_pic_address): Likewise.
-	* config/alpha/alpha.c (alpha_legitimize_address): Likewise.
-	(alpha_emit_set_const_1): Likewise.
-	(alpha_emit_set_const): Likewise.
-	(alpha_emit_conditional_move): Likewise.
-	(alpha_split_conditional_move): Likewise.
-	* config/alpha/alpha.md (various splitters): Likewise.
-	(movti): Likewise.
-	* config/arm/arm.c (legitimize_pic_address): Likewise.
-	(arm_load_pic_register): Likewise.
-	* config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise.
-	(movdi, movsi, movhi, movqi, movsf, movdf): Likewise.
-	* config/bfin/bfin.c (legitimize_pic_address): Likewise.
-	* config/cris/cris.c (cris_expand_pic_call_address): Likewise.
-	* config/cris/cris.md (movsi): Likewise.
-	* config/frv/frv.md (symGOT2reg_hilo): Likewise.
-	(symGOTOFF2reg_hilo): Likewise.
-	(symGPREL2reg, symGPREL2reg_hilo): Likewise.
-	* config/h8300/h8300.md (insv, extzv): Likewise.
-	* config/i386/i386.c (ix86_expand_move): Likewise.
-	(ix86_expand_vector_move): Likewise.
-	(ix86_prepare_fp_compare_args): Likewise.
-	(ix86_expand_carry_flag_compare): Likewise.
-	* config/i386/i386.md (tls_dynamic_gnu2_32): Likewise.
-	(tls_dynamic_gnu2_combine_32): Likewise.
-	(tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise.
-	* config/ia64/ia64.c (ia64_expand_move): Likewise.
-	(ia64_expand_movxf_movrf): Likewise.
-	* config/m32c/m32c.c (m32c_prepare_move): Likewise.
-	(m32c_split_move): Likewise.
-	(m32c_expand_insv): Likewise.
-	* config/m68k/m68k.md (movsi): Likewise.
-	* config/mips/mips.c (mips_force_temporary): Likewise.
-	(mips_split_symbol): Likewise.
-	(mips_move_integer): Likewise.
-	(mips_legitimize_const_move): Likewise.
-	* config/mn10300/mn10300.md (movsi): Likewise.
-	* config/pa/pa.c (emit_move_sequence): Likewise.
-	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
-	(rs6000_got_register): Likewise.
-	(create_TOC_reference): Likewise.
-	(rs6000_machopic_legitimize_pic_address): Likewise.
-	* config/rs6000/rs6000.md (add<mode>3): Likewise.
-	(various splitters): Likewise.
-	(iorsi3, xorsi3, iordi3, xordi3): Likewise.
-	(movsi_got): Likewise.
-	* config/s390/s390.c (emit_symbolic_move): Likewise.
-	* config/s390/s390.md (movhi, movqi): Likewise.
-	(load_multiple, store_multiple): Likewise.
-	* config/score/score.c (score_force_temporary): Likewise.
-	* config/sh/sh.c (prepare_move_operands): Likewise.
-	(prepare_cbranch_operands): Likewise.
-	(emit_fpu_switch): Likewise.
-	(fpscr_set_from_mem): Likewise.
-	* config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise.
-	(adddi3, subsi3): Likewise.
-	(various splitters): Likewise.
-	(divsi_inv_fp_combine): Likewise.
-	(symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise.
-	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise.
-	(sne): Likewise.
-	* config/sh/predicates.md (xor_operand): Likewise.
-	* config/sparc/sparc.c (legitimize_tls_address): Likewise.
-	* config/sparc/sparc.md (movsi_pic_label_ref): Likewise.
-	(movdi_pic_label_ref): Likewise.
-	* config/spu/spu.c (spu_split_immediate): Likewise.
-	* config/alpha/alpha.md (various splitters): Remove test
-	!no_new_pseudos || reload_completed.
-	* config/ia64/ia64.c (ia64_output_mi_thunk): Don't set
-	no_new_pseudos.
-	* config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
-	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
-	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
-	* config/score/score.c (th_output_mi_thunk): Likewise.
-	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
-	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
-
-2007-07-10  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR rtl-optimization/32664
-	* mode-switching.c (create_pre_exit): Skip barrier insns.
-
-2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-scalar-evolution.c (scev_const_prop): Add arguments to
-	force_gimple_operand_bsi.
-	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr,
-	rewrite_use_compare): Ditto.
-	* tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref):
-	Ditto.
-	* tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto.
-	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
-	* lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto.
-	* tree-profile.c (prepare_instrumented_value,
-	tree_gen_interval_profiler, tree_gen_pow2_profiler,
-	tree_gen_one_value_profiler, tree_gen_ic_profiler,
-	tree_gen_ic_func_profiler, tree_gen_average_profiler,
-	tree_gen_ior_profiler): Ditto.
-	* tree-ssa-reassoc.c (negate_value): Ditto.
-	* matrix-reorg.c (transform_access_sites, transform_allocation_sites):
-	Use force_gimple_operand_bsi.
-	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
-	* tree-if-conv.c (add_to_dst_predicate_list,
-	find_phi_replacement_condition): Ditto.
-	* gimplify.c (force_gimple_operand_bsi): Add before and m arguments.
-	Call mark_symbols_for_renaming for new statements.
-	* tree-flow.h (force_gimple_operand_bsi): Declaration changed.
-
-2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* cfghooks.c (remove_edge): New function.
-	(redirect_edge_and_branch, remove_branch, merge_blocks): Updated
-	loop exit rescans.
-	* cfghooks.h (remove_edge): Declare.
-	* cfg.c (remove_edge): Renamed to remove_edge_raw.
-	* basic-block.h (remove_edge): Declaration changed to remove_edge_raw.
-
-2007-07-09  Wolfgang Gellerich  <gellerich@de.ibm.com>
-
-	* optabs.h: Added declaration for signbit_optab.  
-	* optabs.c: (init_optabs): Added initialization for signbit_optab.
-	* genoptinit.c (optabs): Added entry for signbit insns.  
-	* builtins.c (expand_builtin_signbit): Added code to use a signbit
-	insn, if available.  
-	* config/s390/s390.h (S390_TDC_SIGNBIT_SET): New constant.  
-	* config/s390/s390.md (signbit<mode>2): New expander.  
-
-2007-07-09  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32698
-	* fold-const.c (fold_plusminus_mult_expr): Move constant
-	arguments second to allow decomposing.
-
-2007-07-09  Alexandre Oliva  <aoliva@oliva.athome.lsd.ic.unicamp.br>
-
-	Revert:
-	2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
-	PR debug/23551
-	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
-	Disregard DECL_FROM_INLINE.
-
-2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/27855
-	* doc/invoke.texi: Add ftree-reassoc flag.
-	* common.opt (ftree-reassoc): New flag.
-	* tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function.
-	(struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc.
-
-2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32681
-	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
-	saved in second_edge->aux when first_bb is a loop header.
-
-2007-07-09  Jan HUbicka  <jh@suse.cz>
-
-	* cse.c (cse_insn): Avoid invalid sharing on trial replacement.
-
-2007-07-09  Richard Guenther  <rguenther@suse.de>
-
-	* c-decl.c (start_function): Do not promote return type.
-
-2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
-
-	* function.c (do_warn_unused_parameter): Do not warn if
-	TREE_NO_WARNING is set.
-
-2007-07-08  Andreas Schwab  <schwab@suse.de>
-
-	* doc/invoke.texi (DEC Alpha/VMS Options): Fix typo.
-
-2007-07-08  Sandra Loosemore  <sandra@codesourcery.com>
-
-	Revert this patch:
-	2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
-	apply to assembly language, too.
-	* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
-
-2007-07-07  Daniel Berlin  <dberlin@dberlin.org>
-
-	Revert (note the sccvn portions are *not* reverted)
-	2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/23488
-
-	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
-	handles.
-	* tree-flow-inline.h (get_value_handle): Ditto.
-	* tree-ssa-pre.c (decl_vh_map): New.
-	(decl_node_pool): New.
-	(can_value_number_operation): Support DECL_P.
-	(can_PRE_operation): Ditto.
-	(create_expression_by_pieces): Ditto.
-	(find_existing_value_expr): Modify to differnetiate between
-	addressing and top level.
-	(create_value_handle_for_expr): Handle DECL's.
-	(poolify_tree): Ditto.
-	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
-	(make_values_for_stmt): Handle DECL's properly.
-	(init_pre): Reorg to not init useless things during FRE.
-	(fini_pre): Ditto.
-	* tree-flow.h: Include pointer-set.h.
-	(decl_vh_map): Declare.
-	* Makefile.in (TREE_FLOW_H): Add pointer-set.h
-
-2007-07-07 Eric Weddington  <eweddington@cso.atmel.com>
-
-	* config/avr/constraints.md (define_memory_constraint "Q"): Fix
-	the constraint description.
-	* doc/md.texi: Update documentation of AVR constraints.
-
-2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
-
-	* auto-inc-dec.c, config/arm/arm.c,
-	config/m32r/constraints.md, config/mips/mips.md,
-	config/rs6000/rs6000.c, cselib.c, dce.c, df-core.c,
-	df-problems.c, df-scan.c, df.h, dse.c, gimplify.c,
-	tree-if-conv.c, tree-ssa-sccvn.c, tree-ssa.c: Fix comment
-	typos.  Follow spelling conventions.
-	* doc/invoke.texi, doc/rtl.texi: Fix typos.
-
-	* cfgrtl.c (delete_insn_chain_and_edges): Remove.
-	* rtl.h: Remove the prototype for delete_insn_chain_and_edges.
-
-	* tree-ssa-operands.c (realloc_vop, realloc_vdef,
-	realloc_vuse): Remove.
-	* tree-ssa-operands.h: Remove the prototype for realloc_vdef
-	and realloc_vuse.
-
-2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/23488
-
-	* tree-ssa-sccvn.c (expr_has_constants): Handle tcc_declaration.
-	(try_to_simplify): Ditto.
-	(visit_use): Ditto.
-	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
-	handles.
-	* tree-flow-inline.h (get_value_handle): Ditto.
-	* tree-ssa-pre.c (decl_vh_map): New.
-	(decl_node_pool): New.
-	(can_value_number_operation): Support DECL_P.
-	(can_PRE_operation): Ditto.
-	(create_expression_by_pieces): Ditto.
-	(find_existing_value_expr): Modify to differnetiate between
-	addressing and top level.
-	(create_value_handle_for_expr): Handle DECL's.
-	(poolify_tree): Ditto.
-	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
-	(make_values_for_stmt): Handle DECL's properly.
-	(init_pre): Reorg to not init useless things during FRE.
-	(fini_pre): Ditto.
-	* tree-flow.h: Include pointer-set.h.
-	(decl_vh_map): Declare.
-	* Makefile.in (TREE_FLOW_H): Add pointer-set.h
-		
-2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
-	apply to assembly language, too.
-	* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
-
-2007-07-06  Ian Lance Taylor  <iant@google.com>
-	    Zack Weinberg  <zackw@panix.com>
-
-	PR middle-end/32441
-	* builtins.c (std_expand_builtin_va_start): Don't use make_tree.
-
-2007-07-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
-	(prefetch): Likewise if "pref" would be used.
-
-2007-07-06  Josh Conner  <jconner@apple.com>
-
-	PR middle-end/32602
-	PR middle-end/32603
-	* calls.c (store_one_arg): Handle arguments which are partially
-	on the stack when detecting argument overlap.
-
-2007-07-06  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* reload1.c (choose_reload_regs): Set reload_spill_index for regs
-	chosen during find_reloads.
-
-2007-07-06  Richard Guenther  <rguenther@suse.de>
-
-	* gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
-	TYPE_ARG_TYPES for verification of argument types.  Use
-	DECL_ARG_TYPE instead of the PARM_DECL type.  Take excess
-	parameters as variable arguments.
-
-2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* libgcc2.h (word_type): Type definition removed.
-	(cmp_return_type, shift_count_type): Type definitions added.
-	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
-	replaced with shift_count_type.
-	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
-	cmp_return_type.
-	* libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
-	changed from word_type to Wtype.
-	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
-	replaced with shift_count_type.
-	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
-	cmp_return_type.
-	* c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return
-	and libgcc_shift_count attribute added.
-	* target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
-	TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
-	(TARGET_INITIALIZER): New target hooks added.
-	* targhooks.c (default_libgcc_cmp_return_mode,
-	default_libgcc_shift_count_mode): Default implementations for the new
-	target hooks added.
-	* targhooks.h (default_libgcc_cmp_return_mode,
-	default_libgcc_shift_count_mode): Function prototypes added.
-	* target.h (struct gcc_target): Fields for the new target hooks added.
-	* optabs.c (expand_binop): Use shift_count_mode when expanding shift
-	as library call.
-	(prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
-	library call.
-
-	* doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
-	TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
-
-	* config/s390/s390.c (s390_libgcc_cmp_return_mode,
-	s390_libgcc_shift_count_mode): Functions added.
-	(TARGET_LIBGCC_CMP_RETURN_MODE,	TARGET_LIBGCC_SHIFT_COUNT_MODE):
-	Target hooks defined.
-
-2007-07-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (compute_frame_size): Restore the original
-	gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
-	fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
-	Document why the difference is needed.
-
-2007-07-06  Richard Guenther  <rguenther@suse.de>
-
-	* c-common.c (boolean_increment): Use correctly typed
-	constant.
-
-2007-07-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
-	the topmost argument register is not also included in the save mask.
-	(mips16e_collect_argument_save_p): Take a pointer to the argument
-	register, rather than a pointer to the number of arguments.
-	(mips16e_collect_argument_saves): Only include argument saves
-	that aren't in the register mask.
-
-2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/32450
-	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
-	to ensure that instructions are not moved into the prologue when
-	profiling is on.  Remove unused prologue_end variable.
-	(expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
-	as a scheduling barrier.
-
-2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/23551
-	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
-	Disregard DECL_FROM_INLINE.
-
-2007-07-05  Adam Nemet  <anemet@caviumnetworks.com>
-
-	* rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
-	IORing with a constant.
-
-2007-07-05  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR rtl-optimization/32475
-	* df-scan.c (df_def_record_1): Add a use of the stack pointer
-	for every definition of the stack pointer.
-
-2007-07-05  Richard Earnshaw  <rearnsha@arm.com>
-
-	* arm.c (vfp3_const_double_index): Copy signed results of
-	REAL_VALUE_TO_INT into unsigned vars.
-
-2007-07-05  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32639
-	* alias.c (get_alias_set): Tread METHOD_TYPE the same as
-	FUNCTION_TYPE.
-	* tree-ssa.c (useless_type_conversion_p): Check canonical
-	types early.
-
-2007-07-05 Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, 
-	zero_extendhisi2): Change to define_insn_and_split. 
-	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New.
-
-2007-07-05  Paolo Bonzini  <bonzini@gnu.org>
-
-	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
-	pass_match_asm_constraints): New.
-	* passes.c (init_optimization_passes): Add new pass.
-	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
-	* function.h (struct function): Add has_asm_statement bit.
-	(current_function_has_asm_statement): New.
-	* tree-pass.h (pass_match_asm_constraints): New.
-
-2007-07-05  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* config/mips/mips.c (mips_file_start): Avoid declaration
-	after code.
-
-2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* optabs.c (expand_binop_directly): Fix signed/unsigned comparison.
-
-2007-07-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* rtl.def (NOTE): Change print format string to print
-	operand 5 as a note insn name.
-
-2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
-	* doc/invoke.texi: (MIPS Options): Document them.
-
-2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	Add support for SmartMIPS ASE.
-
-	* optabs.c (expand_binop_directly): New, broken out from...
-	(expand_binop): Here.  Make it try rotating in the other
-	direction even when the second operand isn't constant.
-	* config/mips/mips.md (*lwxs): New.
-	* config/mips/mips.opt (msmartmips): New.
-	* config/mips/mips.c (mips_lwxs_address_p): New.
-	(mips_rtx_costs): Make it recognize scaled indexed addressing.
-	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
-	__mips_smartmips when compiling for TARGET_SMARTMIPS.
-	(ISA_HAS_ROR): Define for TARGET_SMARTMIPS.
-	(ISA_HAS_LWXS): New.
-	(ASM_SPEC): Add -msmartmips/-mno-smartmips.
-	* doc/invoke.texi (MIPS Options): Document -msmartmips/-mno-smartmips.
-	* testsuite/gcc.target/mips/smartmips-lwxs.c: New test case.
-	* testsuite/gcc.target/mips/smartmips-ror-1.c: New test case.
-	* testsuite/gcc.target/mips/smartmips-ror-2.c: New test case.
-	* testsuite/gcc.target/mips/smartmips-ror-3.c: New test case.
-	* testsuite/gcc.target/mips/smartmips-ror-4.c: New test case.
-
-2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vectorizer.c (new_loop_vec_info): Initialize
-	LOOP_VINFO_COST_MODEL_MIN_ITERS.
-	* tree-vectorizer.h (_loop_vec_info): Added new filed
-	min_profitable_iters.
-	(LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field.
-	(TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation.
-	* tree-vect-analyze.c (vect_analyze_operations): Set
-	LOOP_VINFO_COST_MODEL_MIN_ITERS.
-	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Use
-	VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS.
-	Fix calculation of peel_iters_prologue. Move consideration of epilogue
-	and prologue cost to after they are computed.
-	(vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of
-	TARG_VEC_STMT_COST.
-	(vect_model_simple_cost): Takes additional argument dt. Consider cost
-	of creating vectors from scalars according to dt.
-	(vect_model_store_cost): Likewise.
-	(vectorizable_call): Use dt array instead of scalar dt. Call
-	vect_model_simple_cost with additional argument dt.
-	(vectorizable_assignment): Likewise.
-	(vectorizable_operation): Likewise.
-	(vectorizable_type_demotion): Likewise.
-	(vectorizable_type_promotion): Likewise.
-	(vectorizable_store): Use dt array instead of scalar dt. Call
-	vect_model_store_cost with additional argument dt.
-	(vect_do_peeling_for_loop_bound): Don't call
-	vect_estimate_min_profitable_iters. Instead, lookup
-	LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
-	"may not be profitable".
-
-2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR testsuite/32014
-	* config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF):
-	(UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New.
-	(vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi): New patterns.
-	(vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): New patterns. 
-
-2007-07-05  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* config/i386/i386.c (ix86_address_cost): Do not consider more complex
-	addressing modes cheaper.
-
-2007-07-05  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dwarf2out.c (dw_ranges_by_label_ref): New typedef.
-	(dw_ranges_struct): Rename block_num to num.  Adjust.
-	(dw_ranges_by_label_struct): New.
-	(ranges_by_label, ranges_by_label_allocated,
-	ranges_by_label_in_use): New variables.
-	(add_ranges_num): Factored most of the code out of...
-	(add_ranges): ... this one.  Rewrite in terms of the former.
-	(add_ranges_by_labels): New.
-	(output_ranges): Output by-label ranges.
-	(dwarf2out_finish): Output range for multiple-section
-	compile_unit.  Output standard DW_AT_low_pc in addition to
-	unexpected DW_AT_entry_pc.
-
-2007-07-04  Daniel Berlin  <dberlin@dberlin.org>
-
-	PR tree-optimization/32604
-	PR tree-optimization/32606
-
-	* tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads.
-	(compute_antic_safe): Removed.
-	(ANTIC_SAFE_LOADS): Ditto.
-	(compute_antic_aux): Don't print ANTIC_SAFE_LOADS.
-	(execute_pre): Don't call compute_antic_safe.
-	(vuse_equiv): New function.
-	(make_values_for_stmt): Use it
-	* tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is
-	not always true.
-
-2007-07-04 Anatoly Sokolov <aesok@post.ru>
-
-	PR target/31331
-	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
-	rather than a decl. 
-	(avr_attribute_table): Make "naked" attribute apply to function types
-	rather than to decls.
-	(avr_handle_fntype_attribute): New function.
-
-2007-07-04  Joseph Myers  <joseph@codesourcery.com>
-
-	* target-def.h (TARGET_INITIALIZER): Remove trailing whitespace
-	after \.
-
-2007-07-04  David Ung  <davidu@mips.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* config/mips/mips.md (type): Add logical, signext and move.
-	(one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3,
-	*ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16,
-	*nor<mode>3, "Combiner patterns to optimize truncate/zero_extend
-	combinations", *zero_extend<SHORT:mode><GPR:mode>2,
-	*zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e,
-	*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit,
-	*movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc,
-	*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16,
-	*movsf_hardfloat, *movsf_softfloat, *movsf_mips16,
-	*movdf_hardfloat_64bit, *movdf_hardfloat_32bit,
-	movv2sf_hardfloat_64bit): Use the new types.
-	(*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16,
-	*movdf_softfloat, *movdf_mips16): Use "multi".
-	(extendqihi2): Replace with a define_expand.
-	(*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New.
-	Based on extend<SHORT:mode><GPR:mode>2 patterns.
-	* config/mips/74k.md (r74k_int_logical): New reservation and
-	bypasses.
-	(r74k_int_arith): Remove "slt".
-	* config/mips/24k.md, config/mips/4130.md, config/mips/4k.md,
-	config/mips/5400.md, config/mips/5500.md, config/mips/5k.md,
-	config/mips/7000.md, config/mips/9000.md, config/mips/generic.md,
-	config/mips/sb1.md, config/mips/sr71k.md: Add new types to
-	reservations for "arith".
-
-2007-07-04  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa.c (useless_type_conversion_p): Add handling for
-	scalar float and vector types.  Only call the types_compatible_p
-	langhook for aggregate types as last resort.  Follow the
-	rules.
-
-2007-07-04  Richard Guenther  <rguenther@suse.de>
-
-	* tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR
-	the same as NOP_EXPR.
-
-2007-07-04  Nick Clifton  <nickc@redhat.com>
-
-	* target.h (struct gcc_target): Add target_help field.
-	* target-def.h (TARGET_HELP): New.
-	(TARGET_INITIALIZER): Use TARGET_HELP.
-	* opts.c (command_handle_option): Invoke target_help function, if
-	defined, when the user has specified --target-help on the command
-	line.
-	* doc/invoke.texi: Mention that --target-help might print
-	additional information.
-	* doc/tm.texi: Document TARGET_HELP hook.
-
-	* arm.c (TARGET_HELP): Override default definition.
-	(arm_target_help): New - display a wrapped list of cores and
-	architectures supported.
-
-2007-07-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* config/v850/v850.c (expand_prologue): Make sure
-	GEN_INT() argument is sign extended rather than zero extended.
-	(expand_epilogue): Likewise.
-	(output_move_double): Delete.
-	* config/v850/v850-protos.h (output_move_double): Delete.
-	* config/v850/v850.md (movdi): Delete.
-	(*movdi_internal): Delete.
-	(movdf): Delete.
-	(*movdf_internal): Delete.
-
-2007-07-04  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax
-	unless compiling RTP PIC.
-
-2007-07-04  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32482
-	* tree-ssa-ifcombine.c (recognize_single_bit_test): Use the
-	original ssa name if we didn't find a shift expression.
-	Fix shift constant for bit zero test.
-
-2007-07-04  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/sh/lib1funcs.asm (ic_invalidate): Align constant pool.
-
-2007-07-04  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (arm-wrs-vxworks): Don't include svr4.h.
-	* config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE, TARGET_POSIX_IO): Define.
-	* config/arm/vxworks.h (ASM_SPEC): Delete.
-	(SUBTARGET_EXTRA_ASM_SPEC): Define.
-
-2007-07-04  Sebastian Pop  <sebpop@gmail.com>
-
-	* tree-data-ref.h (data_dependence_relation): New flag reversed_p.
-	(DDR_REVERSED_P): New.
-	* tree-data-ref.c (initialize_data_dependence_relation,
-	build_classic_dist_vector): Set DDR_REVERSED_P.
-
-2007-07-04  Sebastian Pop  <sebpop@gmail.com>
-
-	PR middle-end/32457
-	* tree-data-ref.c (analyze_siv_subscript_cst_affine,
-	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
-	init_omega_for_ddr_1): Use non conservative number of iterations
-	estimations.
-	(analyze_subscript_affine_affine): Use HOST_WIDE_INT instead of int.
-	(analyze_siv_subscript): Remove FIXME and reinitialization of 
-	last_conflicts to chrec_dont_know.
-	* testsuite/gfortran.dg/vect/pr32457.f90: New.
-
-2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* tree.c (maybe_canonicalize_argtypes): Improve description.
-
-2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* tree.c (maybe_canonicalize_argtypes): New.
-	(build_function_type): Set canonical type.
-	(build_method_type_directly): Ditto.
-	(reconstruct_complex_type): Rebuild the METHOD_TYPE node
-	properly.
-
-2007-07-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* tree-ssa-loop-ivopts.c (strip_offset_1): Treat POINTER_PLUS_EXPR
-	like PLUS_EXPR.
-	(rewrite_use_nonlinear_expr): Likewise.
-
-2007-07-03  Seongbae Park  <seongbae.park@gmail.com>
-
-	* rtl.def (UNSPEC, USE, CLOBBER): More comments.
-
-2007-07-04  Ben Elliston  <bje@au.ibm.com>
-
-	* dwarf2out.c: Move DWARF2 abbreviation glossary closer to the top
-	of this file.
-
-	* c-objc-common.c (c_types_compatible_p): Fix indentation.
-
-	* doc/tm.texi (Run-time Target): Capitalise "CPU".
-	(Exception Handling): Likewise.
-
-2007-07-03  Jan Hubicka  <jh@suse.cz>
-
-	* ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
-
-2007-07-03  Eric Christopher  <echristo@apple.com>
-
-	* doc/cppopts.texi: Add conflicting option note to -dM.
-	* doc/invoke.texi: Add note about possible conflicts with
-	-E for -dCHARS and note that -dM will not produce
-	any results if there is no machine dependent reorg.
-	
-2007-07-03  Geoffrey Keating  <geoffk@apple.com>
-
-	* tree.h (DECL_ALIGN): Back out previous change.
-
-2007-07-03  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac: Test for .dtprelword support on MIPS.
-	* configure, config.in: Regenerate.
-	* config/mips/mips.c (mips_output_dwarf_dtprel): New.
-	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define.
-
-2007-07-03  Julian Brown  <julian@codesourcery.com>
-
-	* config.gcc (with_fpu): Allow --with-fpu=vfp3.
-	* config/arm/aout.h (REGISTER_NAMES): Add D16-D31.
-	* config/arm/aof.h (REGISTER_NAMES): Add D16-D31.
-	* config/arm/arm.c (FL_VFPV3): New flag for VFPv3 processor
-	capability.
-	(all_fpus): Add FPUTYPE_VFP3.
-	(fp_model_for_fpu): Add VFPv3 field.
-	(arm_rtx_costs_1): Give cost to VFPv3 constants.
-	(vfp3_const_double_index): New function. Return integer index of
-	VFPv3 constant suitable for fconst[sd] insns, or -1 if constant
-	isn't suitable.
-	(vfp3_const_double_rtx): New function. True if VFPv3 is enabled
-	and argument represents a valid RTX for a VFPv3 constant.
-	(vfp_output_fldmd): Split fldmd with > 16 registers in the list into
-	two instructions.
-	(vfp_emit_fstmd): Similar, for fstmd.
-	(arm_print_operand): Implement new code 'G' for VFPv3 floating-point
-	constants, represented as integer indices.
-	(arm_hard_regno_mode_ok): Use VFP_REGNO_OK_FOR_SINGLE,
-	VFP_REGNO_OK_FOR_DOUBLE macros.
-	(arm_regno_class): Handle VFPv3 d0-d7, low, high register split.
-	(arm_file_start): Set float-abi attribute for VFPv3, and output
-	correct ".fpu" assembler directive.
-	(arm_dbx_register_numbering): Add FIXME.
-	* config/arm/arm.h (TARGET_VFP3): New macro. Target supports VFPv3.
-	(fputype): Add FPUTYPE_VFP3.
-	(FIXED_REGISTERS): Add 32 registers for D16-D31.
-	(CALL_USED_REGISTERS): Likewise.
-	(CONDITIONAL_REGISTER_USAGE): Add note about conditional definition
-	of LAST_VFP_REGNUM. Make D16-D31 caller-saved, if present.
-	(LAST_VFP_REGNUM): Extend available VFP registers for VFPv3.
-	(D7_VFP_REGNUM): New.
-	(LAST_LO_VFP_REGNUM, FIRST_HI_VFP_REGNUM, LAST_HI_VFP_REGNUM)
-	(VFP_REGNO_OK_FOR_SINGLE, VFP_REGNO_OK_FOR_SINGLE)
-	(VFP_REGNO_OK_FOR_DOUBLE): Define new macros.
-	(FIRST_PSEUDO_REGISTER): Shift up to 128 to accommodate VFPv3.
-	(REG_ALLOC_ORDER): Adjust for VFPv3.
-	(reg_class): Add VFP_D0_D7_REGS, VFP_LO_REGS, VFP_HI_REGS.
-	(REG_CLASS_NAMES): Add entries corresponding to VFP_D0_D7_REGS,
-	VFP_LO_REGS, VFP_HI_REGS.
-	(REG_CLASS_CONTENTS): Likewise. Extend contents for VFP_REGS.
-	(IS_VFP_CLASS): Define macro.
-	(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Use
-	IS_VFP_CLASS.
-	(REGISTER_MOVE_COST): Likewise.
-	* config/arm/arm-protos.h (vfp3_const_double_rtx): Add prototype.
-	* config/arm/vfp.md (VFPCC_REGNUM): Redefine as 127.
-	(*arm_movsi_vfp, *thumb2_movsi_vfp, *movsfcc_vfp)
-	(*thumb2_movsfcc_vfp, *abssf2_vfp, *negsf2_vfp, *addsf3_vfp)
-	(*subsf3_vfp, *divsf_vfp, *mulsf_vfp, *mulsf3negsf_vfp)
-	(*mulsf3addsf_vfp, *mulsf3subsf_vfp, *mulsf3negsfaddsf_vfp)
-	(*extendsfdf2_vfp, *truncdfsf2_vfp, *truncsisf2_vfp)
-	(*truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2)
-	(*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2)
-	(floatunssidf2, *sqrtsf2_vfp, *cmpsf_split_vfp)
-	(*cmpsf_trap_split_vfp, *cmpsf_vfp, *cmpsf_trap_vfp): Use 't'
-	where appropriate for single-word registers.
-	(*movsf_vfp, *thumb2_movsf_vfp, *movdf_vfp, *thumb2_movdf_vfp):
-	As above. Fix type attributes.
-	* config/arm/constraints.md (register_contraint "t"): Define.
-	(register_constraint "w"): Change to D0-D15, or D0-D31 for
-	VFPv3/NEON.
-	(register_constraint "x"): Define.
-	(constraint "Dv"): Define.
-
-2007-07-03  Geoffrey Keating  <geoffk@apple.com>
-
-	* tree.h (DECL_ALIGN): Prevent use on a FUNCTION_DECL.
-
-2007-07-03  Tom Tromey  <tromey@redhat.com>
-
-	* c-parser.c (objc_pq_context): Removed.
-	(objc_need_raw_identifier): Likewise.
-	(c_parser) <objc_pq_context>: New field.
-	<objc_need_raw_identifier>: Likewise.
-	(OBJC_NEED_RAW_IDENTIFIER): Removed.
-	(c_lex_one_token): Update.
-	(c_parser_objc_protocol_definition): Update.
-	(c_parser_objc_method_definition): Update.
-	(c_parser_objc_methodproto): Update.
-	(c_parser_declspecs): Update.
-
-2007-07-03  David Ung  <davidu@mips.com>
-
-	* config/mips/mips.c (mips_issue_rate): Return 4 for 74K processors.
-
-2007-07-03  David Ung  <davidu@mips.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Document -march=74kf3_2.
-	* config/mips/mips.h (PROCESSOR_74KF3_2): New processor_type.
-	(TUNE_74K): Check for it.
-	* config/mips/mips.c (mips_cpu_info): Add 74kf3_2.
-	(mips_rtx_cost_data): Add an entry for PROCESSOR_74KF3_2.
-	* config/mips/mips.md (cpu): Add 74kf3_2.
-	* config/mips/74k.md (r74k_int_logical, r74k_int_arith, r74k_int_nop)
-	(r74k_int_cmove, r74k_int_mult, r74k_int_mul3, r74k_int_mfhilo)
-	(r74k_int_mthilo, r74k_int_div, r74k_int_call, r74k_int_jump)
-	(r74k_int_load, r74k_int_store, r74k_unknown, r74k_multi): Add
-	74kf3_2 to the CPU list.
-	(r74kf3_2_fadd, r74kf3_2_fmove, r74kf3_2_fload, r74kf3_2_fstore)
-	(r74kf3_2_fmul_sf, r74kf3_2_fmul_df, r74kf3_2_fdiv_sf)
-	(r74kf3_2_fdiv_df, r74kf3_2_frsqrt_sf, r74kf3_2_frsqrt_df)
-	(r74kf3_2_fcmp, r74kf3_2_fcvt, r74kf3_2_fxfer_to_c1)
-	(r74kf3_2_fxfer_from_c1): New insn reservations.
-
-2007-07-03  Richard Sandiford  <richard@codesourcery.com>
-	    David Ung  <davidu@mips.com>
-
-	* doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and
-	-march=24kx with -march=24kf1_1.  Likewise 24ke[fx], 34k[fx]
-	and 74k[fx].  Document aliases for the new options.
-	* config/mips/mips.h (PROCESSOR_24KF): Rename to...
-	(PROCESSOR_24KF2_1): ...this.
-	(PROCESSOR_24KX): Rename to...
-	(PROCESSOR_24KF1_1): ...this.
-	(PROCESSOR_74KF): Rename to...
-	(PROCESSOR_74KF2_1): ...this.
-	(PROCESSOR_74KX): Rename to...
-	(PROCESSOR_74KF1_1): ...this.
-	(TUNE_74K): Update PROCESSOR_* names.
-	* config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym
-	for 24kf.  Add 24kf1_1 and 24kfx as synonyms for 24kx.  Likewise
-	the 24ke*, 34k* and 74k* processors.  Update PROCESSOR_* names.
-	(mips_rtx_cost_data): Update processor names in comments.
-	(mips_issue_rate): Update PROCESSOR_* names.
-	* config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to
-	24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1.
-	* config/mips/24k.md: Rename FPU-related r24k_* insn reservations
-	to r24kf2_1_*.  Rename r24kx_* insn reservations to r24kf1_1_*.
-	Update cpu attribute names.
-	(r24k_fpu_iss): Rename this reservation to...
-	(r24kf2_1_fpu_iss): ...this and update all uses.
-	(r24kx_fpu_iss): Rename this reservation to...
-	(r24kf1_1_fpu_iss): ...this and update all uses.
-	* config/mips/74k.md: Rename FPU-related r74kf_* insn reservations
-	to r74kf2_1_*.  Rename r74kx_* insn reservations to r74kf1_1_*.
-	Update cpu attribute names.
-
-2007-07-01  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/m32r/constraints.md: New file.
-	* config/m32r/m32r.c: Include tm-constrs.h.
-	(small_data_operand): Use satisfies_constraint_* instead of macro.
-	(addr24_operand, gen_compare): Likewise.
-	* config/m32r/m32r.h (REG_CLASS_FROM_LETTER): Remove.
-	(INT8_P, UPPER16_P, UINT32_P, UINT5_P, INVERTED_SIGNED_8BIT,
-	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
-	EXTRA_CONSTRAINT): Likewise.
-	* config/m32r/m32r.md: Include constraints.md.
-	(*movsi_insn): Use satisfies_constraint_* instead of macro.
-	(andsi3, iorsi3, xorsi3, seq_insn+1, sne): Likewise.
-	* config/m32r/predicates.md (conditional_move_operand): Likewise.
-	(two_insn_const_operand, int8_operand, uint16_operand,
-	reg_or_int16_operand, reg_or_uint16_operand,
-	reg_or_cmp_int16_operand, cmp_int16_operand,
-	seth_add3_operand): Likewise.
-
-2007-07-03  Eric Christopher  <echristo@gmail.com>
-
-	* libgcc2.h: Conditionally declare __bswapsi2 and
-	__bswapdi2.
-	
-2007-07-03  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* ddg.c (check_sccs): Define only if ENABLE_CHECKING is
-	defined.
-
-2007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
-
-	PR target/28307
-	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
-	(__gthrw_pragma): Provide default definition.
-	(__gthrw2): Use it.
-	* gthr-posix.c (__gthrw_pragma): Define.
-
-2007-07-03  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
-	before declaring inequality.
-
-2007-07-03  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* combine.c (recog_for_combine): Log the success or failure of
-	  matching new insn patterns against the machine description in
-	  detailed dumps.
-
-2007-07-03  Revital Eres  <eres@il.ibm.com>
-
-	* ddg.c (print_sccs): New function.
-	(check_sccs): New function.
-	(create_ddg_all_sccs): Use it.
-	* ddg.h (print_sccs): Declare.
-	* modulo-sched.c (sms_order_nodes): Call print_sccs.
-
-2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* targhooks.h (default_mode_for_suffix): New function declaration.
-	* targhooks.c (default_mode_for_suffix): New default target hook.
-	* target.h (struct c): New structure in the targetm struct.
-	(mode_for_suffix): New target hook as part of struct c.
-	target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
-	default_mode_for_suffix.
-	(TARGET_C): New define.
-	* c-lex.c: Include "target.h".
-	(interpret_float): Use targetm.c.mode_for_suffix to determine
-	the mode for a given non-standard suffix.
-	Makefile.in (c-lex.o): Depend on $(TARGET_H).
-
-	* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
-	(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.
-
-	* doc/extend.texi (Floating Types): New node.  Document __float80 and
-	__float128 types.  Document 'w', 'W', 'q' and 'Q' suffixes.
-
-2007-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/32506
-	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
-	predicate instead of target_operand.
-	(divsi3_i1_media, divsi3_media_2): Likewise.
-
-2007-07-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.h (alias_sets_might_conflict_p): Rename into
-	alias_sets_must_conflict_p.
-	* alias.c (alias_sets_might_conflict_p): Likewise.
-	(alias_sets_conflict_p): Use it.
-	(objects_must_conflict_p): Likewise.
-	* c-common.c (strict_aliasing_warning): Adjust.
-
-2007-07-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* rtlhooks.c (gen_lowpart_if_possible): Check for
-	invalid subreg before calling gen_lowpart_SUBREG.
-
-2007-07-02  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/darwin9.h: Add copyright notice.
-	(LINK_COMMAND_SPEC): Add comment.
-	(DARWIN_LIBSYSTEM_HAS_UNWIND): Define.
-	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on
-	DARWIN_LIBSYSTEM_HAS_UNWIND.
-
-2007-07-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR libgomp/32468
-	* omp-low.c (check_combined_parallel): New function.
-	(lower_omp_parallel): Call it via walk_stmts, set
-	OMP_PARALLEL_COMBINED if appropriate.
-	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
-	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
-	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
-	don't consider it as combined parallel.
-
-2007-07-02  Richard Sandiford  <richard@codesourcery.com>
-
-	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
-	(gcc_tooldir): Likewise.
-	* configure: Regenerate.
-	* Makefile.in (libsubdir_to_prefix): New variable, based on the
-	old configure.ac gcc_tooldir setting.
-	(prefix_to_exec_prefix): New variable.
-	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
-	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
-
-2007-07-02  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/32583
-	Fix PR tree-optimization/32584
-	* tree-ssa-pre.c (phi_translate): Always pass seen bitmap.
-	(phi_translate_set): Use phi_translate directly now.
-	(make_values_for_stmt): Don't value number RHS if we already know
-	it is constant.
-
-2007-07-02  Steve Ellcey  <sje@cup.hp.com>
-	    Jim Wilson <wilson@specifix.com>
-
-	PR target/31684
-	* haifa-sched.c (add_to_speculative_block): Change copy_rtx to
-	copy_insn.
-
-2007-07-02  Sandra Loosemore  <sandra@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips-protos.h (mips16e_save_restore_info): New struct.
-	(mips16e_output_save_restore): Declare.
-	(mips16e_save_restore_pattern_p): Likewise.
-	* config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro.
-	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8
-	for GENERATE_MIPS16E_SAVE_RESTORE.  Return 0x400 for TARGET_MIPS16
-	&& !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT.
-	(BITSET_P): New global macro, extracted from...
-	(mips_for_each_saved_reg): ...here.
-	(mips16e_save_restore_info): New struct.
-	(mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables.
-	(mips16e_save_restore_regs): New variable.
-	(mips_split_plus, mips16e_find_first_register): New functions.
-	(mips16e_mask_registers): New function.
-	(compute_frame_size): Expand the commentary before the function.
-	Enforce the MIPS16e save and restore register range restrictions.
-	Pad the general register save area at the low end.
-	(mips16e_save_restore_reg, mips16e_build_save_restore)
-	(mips16e_save_restore_pattern_p, mips16e_add_register_range)
-	(mips16e_output_save_restore, mips16e_collect_propagate_value)
-	(mips16e_collect_argument_save, mips16e_collect_argument_saves):
-	New functions.
-	(mips_expand_prologue, mips_expand_epilogue): Handle
-	GENERATE_MIPS16E_SAVE_RESTORE.
-	* config/mips/mips.md (*mips16e_save_restore): New pattern.
-
-2007-07-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/31966
-	PR tree-optimization/32533
-	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
-	"basic_block" description as its third argument.  Update function
-	calls to get destination bb from "edge" argument.  Save "cond" into
-	aux field of the edge.  Update prototype for changed arguments.
-	(if_convertible_loop_p): Clear aux field of incoming edges if bb
-	contains phi node.
-	(find_phi_replacement_condition): Operate on incoming edges, not
-	on predecessor blocks.  If there is a condition saved in the
-	incoming edge aux field, AND it with incoming bb predicate.
-	Return source bb of the first edge.
-	(clean_predicate_lists): Clean aux field of outgoing node edges.
-	(tree_if_conversion): Do not initialize cond variable. Move
-	variable declaration into the loop.
-	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
-	initializations of new_stmt, arg0 and arg1 variables.
-
-2007-07-02  Jakub Jelinek  <jakub@redhat.com>
-
-	* tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p,
-	SSA_NAMEs, RESULT_DECLs and PARM_DECLs.
-
-2007-07-02  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa.c (useless_type_conversion_p): Document
-	future intent as defining the middle-end type system.
-	Re-structure to call langhook last, group by type class,
-	mark questionable parts.
-
-2007-07-02  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (types_compatible_p): Declare.
-	* tree-ssa.c (types_compatible_p): New function.
-	* ipa-type-escape.c (discover_unique_type): Use
-	types_compatible_p instead of lang_hooks.types_compatible_p.
-	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
-	* tree-vn.c (expressions_equal_p): Likewise.
-	* tree.c (fields_compatible_p): Likewise.
-	* tree-ssa-dom.c (avail_expr_eq): Likewise.
-	(cprop_operand): Use useless_type_conversion_p instead of
-	lang_hooks.types_compatible_p.
-	* tree-inline.c (setup_one_parameter): Likewise.
-	(declare_return_variable): Likewise.
-	* tree-nrv.c (tree_nrv): Likewise.
-	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
-	(maybe_fold_offset_to_component_ref): Likewise.
-	(maybe_fold_offset_to_reference): Likewise.
-	* tree-ssa-copy.c (may_propagate_copy): Likewise.
-	(merge_alias_info): Likewise.
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
-	* tree-ssa-phiopt.c (conditional_replacement): Likewise.
-	* tree-ssa-reassoc.c (optimize_ops_list): Likewise.
-	* tree-tailcall.c (find_tail_calls): Likewise.
-	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
-	* gimplify.c (canonicalize_addr_expr): Likewise.
-	(fold_indirect_ref_rhs): Likewise.
-	(gimplify_addr_expr): Likewise.  Swap parameters to cpt_same_type.
-	(cpt_same_type): Likewise.
-	(check_pointer_types_r): Swap parameters to cpt_same_type
-	where appropriate.
-	* fold-const.c (fold_convert): Revert fix for PR15988.
-	* tree-inline.c (setup_one_parameter): Instead fix it here by
-	using fold_build1 instead of fold_convert and checking for
-	error_mark_node.  Convert only if the conversion is necessary.
-
-2007-07-02  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac: Check for .gnu_attribute on Power.
-	* configure: Regenerate.
-	* config/rs6000/rs6000.c (rs6000_file_start): If supported, output
-	attribute for floating-point ABI.
-
-2007-07-02  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/32230
-	PR tree-optimization/32477
-	* tree-vect-analyze.c (vect_analyze_data_refs): Fail if base 
-	address is a constant.
-
-2007-07-02  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*)
-	(mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*)
-	(mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level
-	stanzas.  Use the first part of the triplet to set MIPS_ISA_DEFAULT.
-	Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the
-	64-bit targets.  Add support for *-elfoabi*.
-	* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use
-	different settings if $(tm_defines) does not select the EABI.
-	(MULTILIB_EXCLUSIONS): Define in those circumstances.
-	* config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro.
-	(MIPS_ARCH_OPTION_SPEC): Likewise.
-	(MIPS_ISA_LEVEL_SPEC): Likewise.
-	(OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC.
-	* config/mips/elfoabi.h: New file.
-
-2007-07-02  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ...
-	(useless_type_conversion_p): ... this.
-	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Rename to ...
-	(useless_type_conversion_p): ... this.
-	* builtins.c (fold_builtin_memory_op): Rename
-	tree_ssa_useless_type_conversion_1 to useless_type_conversion_p.
-	* tree-cfg.c (verify_expr): Likewise.
-	* tree-ssa-address.c (tree_ssa_useless_type_conversion_1): Likewise.
-	* tree-ssa-ccp.c (ccp_fold): Likewise.
-	* tree-ssa-copy.c (may_propagate_copy): Likewise.
-	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
-	* tree-ssa-loop-niter.c (refine_bounds_using_guard): Likewise.
-	* tree-ssa-pre.c (eliminate): Likewise.
-	* tree-ssa.c (delete_tree_ssa): Likewise.
-	(tree_ssa_useless_type_conversion): Likewise.
-	* tree.c (build2_stat): Likewise.
-
-2007-07-01  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/32571
-	* tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid
-	simplifying them.
-
-2007-07-01  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants
-	and other expected operations explicitly, change default to
-	gcc_unreachable. 
-
-2007-07-01  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/arm/arm.c (arm_cannot_copy_insn_p): Do not expect a
-	PARALLEL.
-	* config/arm/arm.md (pic_add_dot_plus_four, pic_add_dot_plus_eight)
-	(tls_load_dot_plus_eight): Move the label number into the unspec.
-	* config/arm/thumb2.md (pic_load_dot_plus_four): Likewise.
-
-2007-07-01  Andreas Schwab  <schwab@suse.de>
-
-	* dwarf2out.c (initial_return_save): Define only if used.
-
-2007-07-01  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	Unreverting Richard's Revert of:
-
-	2007-06-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* dce.c (deletable_insn_p_1): New function, split out from...
-	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
-	specially, not those inside PARALLELs.  Remove BODY argument
-	and adjust recursive call accordingly.
-	(prescan_insns_for_dce): Update call to delete_insn_p.
-
-2007-07-01  Vladimir Yanovsky  <yanov@il.ibm.com>
-	    Revital Eres  <eres@il.ibm.com>
-
-	* ddg.c (create_ddg_all_sccs): Fix missed
-	initialization of scc_nodes.
-
-2007-07-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/32559
-	* fold-const.c (fold-binary) [PLUS_EXPR]: Convert ~X + X to 1 or
-	X + ~X to 1 only for INTEGRAL_TYPE_P type.
-
-2007-06-30  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac: Check for .gnu_attribute on MIPS.
-	* configure, config.in: Regenerate.
-	* config/mips/mips.c (mips_file_start): If supported, output
-	attribute for floating-point ABI.
-
-2007-06-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32433
-	* config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
-	(ffs_cmove): New expander to expand using ctz pattern.
-	(*ffs_cmove): Remove pattern.
-	(*ffs_no_cmove): Enable only for !TARGET_CMOVE.
-	(ffsdi2): Expand using ctz pattern.
-	(*ffs_rex64): Remove pattern.
-
-2007-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR rtl-optimization/32296
-	* pa.md (return): Delete pattern.
-	(return_internal): Remove "(const_int 1)" from pattern.
-	(epilogue): Use return_internal pattern for trivial returns.
-	* pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
-	* pa.c (hppa_can_use_return_insn_p): Delete function.  Include "df.h".
-
-2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-pre.c (is_exception_related): New function
-	(can_value_number_operation): Use it.
-
-2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
-	
-	Fix PR tree-optimization/32540
-	Fix PR tree-optimization/31651
-
-	* tree-ssa-sccvn.c: New file.
-
-	* tree-ssa-sccvn.h: Ditto.
-	
-	* tree-vn.c: Include tree-ssa-sccvn.h
-	(val_expr_paid_d): Removed.
-	(value_table): Ditto.
-	(vn_compute): Ditto.
-	(val_expr_pair_hash): Ditto.
-	(val_expr_pair_expr_eq): Ditto.
-	(copy_vuses_from_stmt): Ditto.
-	(vn_delete): Ditto.
-	(vn_init): Ditto.
-	(shared_vuses_from_stmt): Ditto.
-	(print_creation_to_file): Moved up.
-	(sort_vuses): Ditto.
-	(sort_vuses_heap): Ditto.
-	(set_value_handle): Make non-static.
-	(make_value_handle): Ditto.
-	(vn_add): Rewritten to use sccvn lookups.
-	(vn_add_with_vuses): Ditto.
-	(vn_lookup): Ditto (and second argument removed).
-	(vn_lookup_with_vuses): Ditto.
-	(vn_lookup_or_add): Ditto (and second argument removed);
-	(vn_lookup_or_add_with_vuses): Ditto.
-	(vn_lookup_with_stmt): New.
-	(vn_lookup_or_add_with_stmt): Ditto.
-	(create_value_handle_for_expr): Ditto.
-
-	* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
-	(seen_during_translate): New function.
-	(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
-	(phi_trans_add): Ditto.
-	(constant_expr_p): FIELD_DECL is always constant.
-	(phi_translate_1): Renamed from phi_translate, add seen bitmap.
-	Use constant_expr_p.
-	Avoid infinite recursion on mutually valued expressions.
-	Change callers of vn_lookup_or_add.
-	(phi_translate): New function.
-	(compute_antic_safe): Allow phi nodes.
-	(create_component_ref_by_pieces): Update for FIELD_DECL change.
-	(find_or_generate_expression): Rewrite slightly.
-	(create_expression_by_pieces): Updated for vn_lookup_or_add
-	change.
-	Update VN_INFO for new names.
-	(insert_into_preds_of_block): Update for new names.
-	(add_to_exp_gen): New function.
-	(add_to_sets): Use vn_lookup_or_add_with_stmt.
-	(find_existing_value_expr): Rewrite to changed vn_lookup.
-	(create_value_expr_from): Ditto, and use add_to_exp_gen.
-	(try_look_through_load): Removed.
-	(try_combine_conversion): Ditto.
-	(get_sccvn_value): New function.
-	(make_values_for_phi): Ditto.
-	(make_values_for_stmt): Ditto.
-	(compute_avail): Rewritten for vn_lookup_or_add changes and to use
-	SCCVN.
-	(init_pre): Update for SCCVN changes.
-	(fini_pre): Ditto.
-	(execute_pre): Ditto.
-
-	* tree-flow.h (make_value_handle): Declare.
-	(set_value_handle): Ditto.
-	(sort_vuses_heap): Ditto.
-	(vn_lookup_or_add_with_stmt): Ditto.
-	(vn_lookup_with_stmt): Ditto.
-	(vn_compute): Remove.
-	(vn_init): Ditto.
-	(vn_delete): Ditto.
-	(vn_lookup): Update arguments.
-
-	* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
-	(tree-vn.o): Ditto.
-	(tree-ssa-sccvn.o): New.
-	(OBJS-common): Add tree-ssa-sccvn.o
-	
-2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/4076
-	* c-typeck.c (build_external_ref): Don't mark as used if called
-	from itself.
-	* calls.c (rtx_for_function_call): Likewise.
-	
-2007-06-30  Richard Sandiford  <richard@codesourcery.com>
-
-	Revert:
-
-	2007-06-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* dce.c (deletable_insn_p_1): New function, split out from...
-	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
-	specially, not those inside PARALLELs.  Remove BODY argument
-	and adjust recursive call accordingly.
-	(prescan_insns_for_dce): Update call to delete_insn_p.
-
-2007-06-30  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
-	(try_combine): Move potential calls to undo_all() so they happen
-	before we commit to using the combined insns.
-
-2007-06-30  Jan Hubicka  <jh@suse.cz>
-
-	* loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit
-	code.
-
-2007-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
-
-	* ipa.c (cgraph_postorder): Cast according to the coding conventions.
-	(cgraph_remove_unreachable_nodes): Likewise.
-	* ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
-	* ipa-inline.c (update_caller_keys): Cast according to the coding
-	conventions.
-	(cgraph_decide_recursive_inlining): Likewise.
-	(cgraph_decide_inlining_of_small_function): Likewise.
-	(try_inline): Likewise.
-	(cgraph_decide_inlining_incrementally): Likewise.
-	* ipa-pure-const.c (get_function_state): Likewise.
-	(scan_function): Likewise.
-	(analyze_function): Likewise.
- 	(static_execute): Likewise.
-	* ipa-reference.c (scan_for_static_refs): Likewise.
-	(merge_callee_local_info): Likewise.
-	(analyze_function): Use type safe memory macros.
-	(static_execute): Likewise. Cast according to the coding conventions.
-	* ipa-type-escape.c (scan_for_regs): Cast according to the coding
-	conventions.
-	* ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
-	names.
-	(ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
-	* ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
-	variable names.
-
-2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/30024
-	* emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
-	for complex modes (both int and real).
-
-2007-06-29  Jan Hubicka  <jh@suse.cz>
-
-	* cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change.
-
-2007-06-29  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/32372
-	* cse.c (cse_insn): Avoid invalid sharing in between register note and
-	the insn pattern.
-
-2007-06-29  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/32335
-	* config/avr/avr.c: Include dataflow header file.
-	(expand_prologue): Adjust for prologue insn change.
-	* config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
-	inside a insn.
-
-2007-06-29  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32493
-	* gimplify.c (gimplify_call_expr): Ignore variable argument parts
-	during type verification.
-
-2007-06-29  Jan Hubicka  <jh@suse.cz>
-
-	* recog.c (validate_change_rtx_1): Unshare TO argument.
-
-2007-06-29  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/24659
-	* tree-vect-transform.c (vectorizable_call): Handle
-	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
-
-	* config/i386/sse.md (vec_pack_sfix_v2df): New expander.
-	* config/i386/i386.c (enum ix86_builtins)
-	[IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
-	(struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
-	description.
-	(ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
-	const using def_builtin_const.
-	(ix86_expand_binop_builtin): Remove bogus assert() that insn wants
-	input operands in the same modes as the result.
-	(ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.
-
-2007-06-29  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
-	(df_set_dead_notes_for_mw): Likewise.
-
-2007-06-29  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* c-common.c (pointer_int_sum): Do the negation in sizetype.
-
-2007-06-28  DJ Delorie  <dj@redhat.com>
-
-	* config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
-
-2007-06-28  Geoffrey Keating  <geoffk@apple.com>
-
-	* doc/invoke.texi (C++ Dialect Options): Document
-	fvisibility-ms-compat.
-	* c.opt (fvisibility-ms-compat): New.
-
-2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32417
-	* tree-affine.c (aff_combination_add_elt): Handle
-	pointer addition specially.
-
-2007-06-28  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
-	decl is non-external for AIX ABI.
-
-2007-06-28  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/predicates.md (current_file_function_operand):
-	Ensure the symbol is non-external for AIX ABI.
-
-2007-06-28  Nick Clifton  <nickc@redhat.com>
-
-	* common.opt (fipa-matrix-reorg): Add Optimization attribute.
-	(fdce, fdse, fpredictive-commoning): Likewise.
-
-2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
-	PR other/31400
-	* gcc.c (process_command): Recognize the new -static-libgfortran
-	option.
-
-2007-06-27  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32418
-	* config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix:
-	Use a call clobbered hard reg instead of a pseudo reg.
-
-2007-06-27  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.md (load_gbr): Use correct operand constraint.
-
-2007-06-27  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/32479
-	* config/sh/sh.md (udivsi3): Don't wrap the sequence with
-	REG_LIBCALL and REG_RETVAL notes.
-	(divsi3, mulsi3): Likewise.
-	(mulhisi3): Likewise.  Use emit_libcall_block.
-	(umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise.
-
-2007-06-27  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR rtl-optimization/32481
-	* combine.c (adjust_for_new_dest): Rescan the changed insn.
-
-2007-06-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* dce.c (deletable_insn_p_1): New function, split out from...
-	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
-	specially, not those inside PARALLELs.  Remove BODY argument
-	and adjust recursive call accordingly.
-	(prescan_insns_for_dce): Update call to delete_insn_p.
-
-2007-06-27  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32492
-	* tree.h (fold_convertible_p): Declare.
-	* fold-const.c (fold_convertible_p): New function.
-	* gimplify.c (gimplify_call_expr): Use fold_convertible_p
-	instead of lang_hooks.types_compatible_p.
-
-2007-06-26  Jan Hubicka  <jh@suse.cz>
-
-	* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
-	* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
-	early use validate_unshare_change.
-	(reload_combine): Likewise.
-	* recog.c (change_t): New field unshare.
-	(validate_change_1): Rename from validate_change; add argument unshare.
-	(validate_change): Turn into wrapper of validate_change_1; update
-	prototype for bools.
-	(validate_unshare_change): New.
-	(confirm_change_group): Unshare changes if asked for; avoid unnecesary
-	calls of df_insn_rescan.
-	* recog.h (validate_change): Replace ints by bools.
-	(validate_unshare_change): Declare.
-
-2007-06-26  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
-	
-2007-06-26  Steve Ellcey  <sje@cup.hp.com>
-
-	* builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode.
-
-2007-06-25  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (cgraph_mark_inline): Assert that we never inline
-	uninlinable call.
-	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
-	cgraph_decide_inlining_incrementally): Move uninlinability checks to
-	places other call site specific checks are performed.
-
-2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32421
-	* tree-vect-transform.c (vectorizable_operation): Convert
-	POINTER_PLUS_EXPR over to PLUS_EXPR.
-
-2007-06-25  Chao-ying Fu  <fu@mips.com>
-
-	* doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ,
-	UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes.
-	Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
-	Document GET_MODE_IBIT, and GET_MODE_FBIT.
-
-	* machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT,
-	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	(SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P,
-	SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P,
-	SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P,
-	ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P,
-	ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P,
-	SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P,
-	ALL_FIXED_POINT_MODE_P): New define.
-	(CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
-	MODE_UACCUM.
-	(GET_MODE_IBIT, GET_MODE_FBIT): New define.
-
-	* mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM,
-	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
-	MODE_VECTOR_UACCUM): New mode classes.
-
-	* machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE,
-	UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT.
-	Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA,
-	USA, UDA, and UTA.
-
-	* genmodes.c (struct mode_data): Add ibit and fbit fields.
-	(blank_mode): Initialize ibit and fbit.
-	(adj_ibit, adj_fbit): New to adjust ibit and fbit.
-	(vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
-	MODE_UACCUM.
-	(new_adjust): Change required_class to required_class_from and
-	required_class_to for testing within a range.
-	(complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
-	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
-	MODE_VECTOR_UACCUM.
-	(FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define.
-	(make_fixed_point_mode): New.
-	(_ADD_ADJUST): Change C to C1 and C2.
-	(ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to
-	use a range for machine classes.
-	(ADJUST_IBIT, ADJUST_FBIT): New.
-	(emit_insn_modes_h): Output defines of CONST_MODE_IBIT and
-	CONST_MODE_FBIT.
-	(emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
-	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
-	Emit adjustment for ibit and fbit.
-	(emit_mode_ibit, emit_mode_fbit): New.
-	(emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit.
-
-2007-06-25  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
-	as the source of the set.
-
-2007-06-25  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
-	FP_REGNO_P): Use IN_RANGE.
-	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
-	(REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New.
-	(DATA_REG_P): Use DATA_REGNO_P.
-	(FP_REG_P): Use FP_REGNO_P.
-	(ADDRESS_REG_P): Use ADDRESS_REGNO_P.
-	* config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use
-	REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P.
-
-2007-06-24  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/30563
-	* cgraphunit.c (cgraph_analyze_function): Fix ordering problem.
-
-2007-06-24  Sebastian Pop  <sebpop@gmail.com>
-
-	PR middle-end/32461
-	* fold-const.c (fold_binary): Strip nops of operand 0
-	of BIT_NOT_EXPR before calling operand_equal_p.
-	* testsuite/gcc.dg/tree-ssa/pr32461-1.c: New.
-	* testsuite/gcc.dg/tree-ssa/pr32461-2.c: New.
-
-2007-06-23  Mark Mitchell  <mark@codesourcery.com>
-
-	* doc/extend.texi: Document that dllimport and dllexport imply
-	default visibility.
-	* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
-	imported or exported declaration, including type declarations.
-	* c-common.c (handle_visibility_attribute): Check for conflicts
-	with dllimport/dllexport.
-	(c_determine_visibility): Handle dllimport/dllexport as an
-	explicit visibility atttribute.
-
-2007-06-23  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/16876
-	PR middle-end/29478
-	* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
-	for CALL_EXPRs.
-	* tree-inline.c (initialize_inlined_parameters): Do not call
-	lang_hooks.tree_inlining.convert_parm_for_inlining.
-	* cgraphbuild.c (initialize_inline_failed): Set inline failed
-	reason for mismatched types.
-	* gimplify.c (gimplify_call_expr): Verify the call expression
-	arguments match the called function type signature.  Otherwise
-	mark the call expression to be not considered for inlining
-	using CALL_CANNOT_INLINE_P flag.
-	* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
-	edges call expression.
-	(cgraph_decide_inlining_of_small_function): Likewise.
-	(cgraph_decide_inlining): Likewise.
-	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
-	Remove define.
-	* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
-	* c-typeck.c (c_convert_parm_for_inlining): Remove.
-	* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
-	Remove declaration.
-	(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
-	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
-	Remove.
-	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
-	convert_parm_for_inlining member.
-
-2007-06-23  Richard Earnshaw  <rearnsha@arm.com>
-
-	PR target/31152
-	* arm.md (negscc): Match the correct operand for optimized LT0 test.
-	Remove optimization for GT.
-
-2007-06-23  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/32437
-	* dce.c (deletable_insn_p): Add extra parameter and recurse if insn
-	is a PARALLEL.
-	(prescan_insns_for_dce): Add extra parameter.
-	
-2007-06-23  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/31541
-	* gimplify.c (mark_addressable): New function.
-	(gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.
-
-2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/32374
-	* expr.c (store_constructor): Do not clobber non-zeroed memory. 
-
-2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32413
-	* config/i386/i386.c (ix86_register_move_cost): Rise the cost of
-	moves between MMX/SSE registers to at least 8 units to prevent
-	ICE caused by non-tieable SI/HI/QImodes in SSE registers. 
-
-2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (override_options): Correct x86_sahf
-	setting condition.
-
-2007-06-21  David Daney  <ddaney@avtrex.com>
-
-	PR target/32406
-	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
-	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
-	(exception_receiver): Renamed to ...
-	(nonlocal_goto_receiver): ... this.
-
-2007-06-22  Roman Zippel <zippel@linux-m68k.org>
-
-	* df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
-	(df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
-	partial register accesses.
-
-2007-06-21  Adam Nemet  <anemet@caviumnetworks.com>
-
-	* fold-const.c (debug_fold_checksum): Move it under
-	ENABLE_FOLD_CHECKING.
-
-2007-06-21  Sebastian Pop  <sebpop@gmail.com>
-
-	PR middle-end/20623
-	* tree.h (debug_fold_checksum): Declared.
-	* fold-const.c (build_fold_addr_expr_with_type_1): New.
-	(build_fold_addr_expr_with_type, build_fold_addr_expr): Use 
-	build_fold_addr_expr_with_type_1.
-	(fold_addr_expr, debug_fold_checksum): New.
-	(fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
-	(fold_unary, fold_comparison, split_address_to_core_and_offset):
-	Use fold_addr_expr.
-	
-2007-06-21  Sebastian Pop  <sebpop@gmail.com>
-
-	PR tree-optimization/19590
-	* tree-vrp.c (adjust_range_with_scev): Set the range when the result
-	of scev is a constant.
-
-2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* df-problems.c (df_note_bb_compute): Made computation of live
-	info consistent with df_lr.
-
-2007-06-21  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32453
-	* tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
-	for pointer anti-range.
-
-2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (processor_target_table): Increase maximum
-	skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
-	default 64bit.
-
-	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
-	byte alignment if > 8 byte alignment is preferred.
-	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
-
-2007-06-21  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/31866
-	* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
-	if ASM_EXPR's input is not a SSA_NAME.
-
-	PR middle-end/32362
-	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
-	but decl is a global var, instead return decl.
-	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
-	even for is_global_var decls, if they are private in some outer
-	context.
-
-2007-06-21  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/32451
-	* tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.
-
-2007-06-21  Christian Bruel  <christian.bruel@st.com>
-
-	* config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
-	* config/sh/sh.c (sh_loads_bankedreg_p): New function.
-	(push_regs): Changed saving order or banked registers.
-	(sh_expand_epilogue): Likewise.
-	* config/sh/sh.h (BANKED_REGISTER_P): New macro.
-	(FIRST_BANKED_REG): Likewise.
-	(LAST_BANKED_REG): Likewise.
-	* config/sh/sh.md (banked) New attribute.
-	(in_delay_slot): Check banked attribute.
-	
-2007-06-20  Sebastian Pop  <sebpop@gmail.com>
-
-	PR tree-optimization/32075
-	* tree-data-ref.c (subscript_dependence_tester_1, 
-	analyze_miv_subscript, analyze_overlapping_iterations,
-	add_distance_for_zero_overlaps, build_classic_dist_vector,
-	subscript_dependence_tester_1, analyze_overlapping_iterations,
-	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
-	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
-	to evolution_function_is_affine_multivariate_p.
-
-2007-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
-
-2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32335
-	* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
-	for TARGET_A16.
-	* config/m32c/prologue.md (epilogue_exitd_16): New.
-	(epilogue_reit_16): New.
-	(epilogue_exitd): Rename to epilogue_exitd_24.
-	(epilogue_reit): Rename to epilogue_reit_24.
-
-2007-06-20  Seongbae Park  <seongbae.park@gmail.com>
-	    Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
-	New counters.
-	* haifa-sched.c (queue_to_ready): Don't requeue next insn
-	if dbg_cnt (sched_insn) reaches the limit.
-	(choose_ready): New parameter INSN_PTR and new return value.
-	(schedule_block): Handle dbg_cnt (sched_insn). Handle
-	the new return value from choose_ready.
-	* global.c (global_aloc): New dbgcnt global_alloc_at_reg.
-	(rest_of_handle_global_alloc): New global_alloc_at_func.
-
-2007-06-20  Adam Nemet  <anemet@caviumnetworks.com>
-
-	PR tree-optimization/25737
-	* tree.h (struct tree_struct_field_tag): Add new field alias_set.
-	(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
-	* tree-flow.h (struct fieldoff): Add new field alias_set.
-	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
-	argument addressable_type.  Set alias_set of fieldoff.
-	* tree-ssa-alias.c (create_sft): Add new argument alias_set.
-	(create_overlap_variables_for): Pass alias_set from fieldoff to
-	create_sft.
-	* alias.c (get_alias_set): Use alias_set from SFT if set.
-
-2007-06-20  Hui-May Chang  <hm.chang@apple.com>
-
-	* config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
-	of a variable as an unsigned HOST_WIDE_INT integer.
-
-2007-06-20  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR rtl-optimization/32405
-	* loop-iv.c (iv_get_reaching_def): Fail for partial defs.
-
-2007-06-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
-
-	PR middle-end/31959
-	* builtins.c: Include diagnostic.h.
-	(expand_builtin_expect): Make gcc_assert more permissive.
-	* Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).
-
-	PR inline-asm/32109
-	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
-	and !allows_mem.
-
-	PR middle-end/32285
-	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
-	if ACCUMULATE_OUTGOING_ARGS.
-
-2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	* config/m68hc11/m68hc11.c: Include dataflow header file.
-	(m68hc11_reorg): Port to dataflow.
-
-2007-06-19  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
-	(struct df_problem.free_blocks_on_set_blocks): New field.
-	(struct dataflow.optional_p): New field.
-	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
-	(df_live_set_all_dirty): New function.
-	* df-scan.c (df_scan_alloc): Initialize optional_p.
-	(problem_SCAN): Initialize free_blocks_on_set_blocks.
-	* df-core.c (df_set_blocks): Removed use of
-	DF_FIRST_OPTIONAL_PROBLEM.  Now uses
-	df_problem.free_blocks_on_set_blocks to determine which blocks are
-	recycled.
-	(df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
-	(df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM.  Now
-	uses dataflow.optional_p to determine if problem should be
-	deleted.
-	(rest_of_handle_df_initialize): Only start live problem if 
-	-02 or above.
-	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
-	* 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.
-	(df_lr_bb_local_compute): Recompute luids if df_live problem is
-	not active.
-	(df_live_set_all_dirty, df_note_alloc): New function.
-	* regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
-	df_get_live_*.
-	* sched_ebb.c (compute_jump_reg_dependencies): Ditto.
-	* postreload.c (reload_combine): Ditto.
-	* cse.c (cse_extended_basic_block): Ditto.
-	* regmove.c (mark_flags_life_zones): Ditto.
-	* rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
-	erase_matching_seqs): Ditto.
-	* bt-load.c (compute_defs_uses_and_gen): Ditto.
-	* integrate (allocate_initial_values): Ditto.
-	* combine.c (reg_dead_at_p): Ditto.
-	* resource.c (mark_target_live_regs): Ditto.
-	* sched-rgn.c (check_live_1, update_live_1): Ditto.
-	* config/sh/sh.c (find_r0_life_regions): Ditto.
-	* global.c (rest_of_handle_global_alloc): Only add back df_live
-	for -O > 1.
-	* local-alloc.c (rest_of_handle_local_alloc): Only remove
-	df_live for -O > 1.
-	* ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
-	df_get_live_*.
-	(if_convert): Make sure df_live is there at -O == 1.
-	(pass_if_after_combine): Cleanup flags.
-	* init-regs.c (initialize_uninitialized_regs): Make sure df_live
-	is there at -O == 1.
-	
-2007-06-19  Seongbae Park  <seongbae.park@gmail.com>
-
-	* config/arm/arm.c (arm_get_frame_offsets): Set
-	offsets->locals_base to avoid negative stack size.
-	(thumb1_expand_prologue): Assert on negative stack size.
-
-2007-06-19  Sebastian Pop  <sebpop@gmail.com>
-
-	PR tree-optimization/32367
-	* tree-chrec.h (build_polynomial_chrec): Verify that the left hand side 
-	of the chrec has no evolution in that loop.
-	* testsuite/gcc.dg/tree-ssa/pr32367.c: New.
-
-2007-06-19  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c: Include "df.h".
-	(xtensa_builtin_saveregs): Use adjust_address instead of
-	change_address.
-	(xtensa_va_start): Invoke make_tree with sizetype for
-	expand_builtin_saveregs and then convert the result to a pointer.
-	Use POINTER_PLUS_EXPR.  Use size_int instead of build_int_cst.
-	(xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst.
-	Subtract argument size from index value as integers and then use
-	POINTER_PLUS_EXPR to add the result to the array address.
-	
-2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32335
-	* config/m32c/m32c.c: Include dataflow header file.
-	(m32c_emit_prologue): Adjust for prologue insn change.
-	* config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO
-	once inside a PARALLEL. Assume frame size passed in operand 0
-	includes space to save the fb register.
-	(prologue_enter_24): Likewise.
-	(epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL.
-
-2007-06-19  David Daney  <ddaney@avtrex.com
-
-	PR target/32313
-	* config/mips/mips.md (cprestore): Mark $gp as used.
-
-2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32369
-	* config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix.
-	(frv_ifcvt_modify_insn): Likewise.
-
-2007-06-19  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (handle_ptr_arith): Make sure to
-	only handle positive offsets that fit in a HOST_WIDE_INT.
-
-2007-06-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
-	result of rsqrt insn for zero input argument to avoid NaN.
-
-2007-06-19  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/31950
-	* tree-ssa-alias-warnings.c (ffan_walker): Punt on MTAGs.
-
-2007-06-19  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/32353
-	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
-
-2007-06-19  Nick Clifton  <nickc@redhat.com>
-
-	* config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.
-
-2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32389
-	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
-	* config/i386/i386.c (assign_386_stack_local): Assert that
-	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
-	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
-	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
-	* config/i386/i386.md (truncdfsf2, truncxf<mode>2): Ditto.
-
-2007-06-18  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.h (LIBGCC2_TF_CEXT): New.
-
-2007-06-18  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR rtl-optimization/32321
-	* gcse.c (replace_store_insn): Update the note before
-	calling emit_insn_after.
-
-2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/32355
-	* gcse (rest_of_handle_gcse): Add call to df_finish_pass after
-	cse_main.
-	* df-problems.c (df_note_bb_compute): Fix dumping info.
-	
-2007-06-18  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_expand_epilogue): Emit a return
-	insn with emit_jump_insn.
-
-2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32383
-	* targhooks.c (default_builtin_reciprocal): Add new bool argument.
-	* targhooks.h (default_builtin_reciprocal): Update prototype.
-	* target.h (struct gcc_target): Update builtin_reciprocal.
-	* doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Update description.
-	* tree-ssa-math-opts (execute_cse_reciprocals): Skip statements
-	where arg1 is not SSA_NAME.  Pass true to targetm.builtin_reciprocal
-	when fndecl is in BUILT_IN_MD class.
-	(execute_convert_to_rsqrt): Ditto.
-
-	* config/i386/i386.c (ix86_builtin_reciprocal): Update for new bool
-	argument.  Convert IX86_BUILTIN_SQRTPS code only when md_fn is true.
-	Convert BUILT_IN_SQRTF code only  when md_fn is false.
-
-2007-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* bt-load.c (move_btr_def): Fix the order of arguments
-	to validate_replace_rtx.
-
-2007-06-18  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k-devices.def: Add 54450..54455.
-
-2007-06-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/32366
-	* simplify-rtx.c (simplify_unary_operation_1) [FLOAT_TRUNCATE,
-	FLOAT_EXTEND]: Prevent non-scalar modes from entering
-	significand_size.
-
-2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	PR middle-end/32349
-	* modulo-sched (generate_reg_moves): Added rescan parameter and if
-	this is true, rescan insn being modified.
-	(sms_schedule): Added rescan parameter.
-	(rest_of_handle_sms): Moved freeing of dominance info to before
-	getting out of cfg_layout.
-	
-2007-06-17  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k.h (ISA_HAS_FF1, ISA_HAS_MVS_MVZ): New.
-	* config/m68k/m68k.md: Use ISA_HAS_FF1 and ISA_HAS_MVS_MVZ as
-	appropriate.
-
-	* config/m68k/m68k.c (all_isas): Remove FL_CF_FPU and
-	FL_CF_EMAC from the entry for isac.
-
-	* config/m68k/predicates.md (const_call_operand): Adjust comment.
-	(const_sibcall_operand): New.
-	(sibcall_operand): Use it.
-	* config/m68k/m68k.c (FL_FOR_isa_c): Not ISA_B compatible.
-	(m68k_isas): ISAC does not imply FPU or EMAC.
-	(override_options): Add ISA_C logic for symbolic jump & call.
-
-2007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
-	return mode from the builtin itself.
-	(sparc_fold_builtin): Fix cast of zero constant.
-
-2007-06-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* targhooks.c (default_builtin_reciprocal): New default target hook.
-	* targhooks.h (default_builtin_reciprocal): Add prototype.
-	* hooks.c (hook_tree_tree_bool_null): Remove hook.
-	* hooks.h (hook_tree_tree_bool_null): Remove prototype.
-	* target-def.h (TARGET_BUILTIN_RECIPROCAL): Define as
-	default_builtin_reciprocal.
-
-2007-06-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/31723
-	* hooks.c (hook_tree_tree_bool_null): New hook.
-	* hooks.h (hook_tree_tree_bool_null): Add prototype.
-	* tree-pass.h (pass_convert_to_rsqrt): Declare.
-	* passes.c (init_optimization_passes): Add pass_convert_to_rsqrt.
-	* tree-ssa-math-opts.c (execute_cse_reciprocals): Scan for a/func(b)
-	and convert it to reciprocal a*rfunc(b).
-	(execute_convert_to_rsqrt): New function.
-	(gate_convert_to_rsqrt): New function.
-	(pass_convert_to_rsqrt): New pass definition.
-	* target.h (struct gcc_target): Add builtin_reciprocal.
-	* target-def.h (TARGET_BUILTIN_RECIPROCAL): New define.
-	(TARGET_INITIALIZER): Initialize builtin_reciprocal with
-	TARGET_BUILTIN_RECIPROCAL.
-	* doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Document.
-
-	* config/i386/i386.h (TARGET_RECIP): New define.
-	* config/i386/i386.md (divsf3): Expand by calling ix86_emit_swdivsf
-	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
-	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
-	and not optimizing for size.
-	(*rcpsf2_sse): New insn pattern.
-	(*rsqrtsf2_sse): Ditto.
-	(rsqrtsf2): New expander.  Expand by calling ix86_emit_swsqrtsf
-	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
-	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
-	and not optimizing for size.
-	(sqrt<mode>2): Expand SFmode operands by calling ix86_emit_swsqrtsf
-	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
-	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
-	and not optimizing for size.
-	* config/i386/sse.md (divv4sf): Expand by calling ix86_emit_swdivsf
-	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
-	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
-	and not optimizing for size.
-	(*sse_rsqrtv4sf2): Do not export.
-	(sqrtv4sf2): Ditto.
-	(sse_rsqrtv4sf2): New expander.  Expand by calling ix86_emit_swsqrtsf
-	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
-	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
-	and not optimizing for size.
-	(sqrtv4sf2): Ditto.
-	* config/i386/i386.opt (mrecip): New option.
-	* config/i386/i386-protos.h (ix86_emit_swdivsf): Declare.
-	(ix86_emit_swsqrtsf): Ditto.
-	* config/i386/i386.c (IX86_BUILTIN_RSQRTF): New constant.
-	(ix86_init_mmx_sse_builtins): __builtin_ia32_rsqrtf: New
-	builtin definition.
-	(ix86_expand_builtin): Expand IX86_BUILTIN_RSQRTF using
-	ix86_expand_unop1_builtin.
-	(ix86_emit_swdivsf): New function.
-	(ix86_emit_swsqrtsf): Ditto.
-	(ix86_builtin_reciprocal): New function.
-	(TARGET_BUILTIN_RECIPROCAL): Use it.
-	(ix86_vectorize_builtin_conversion): Rename from
-	ix86_builtin_conversion.
-	(TARGET_VECTORIZE_BUILTIN_CONVERSION): Use renamed function.
-	* doc/invoke.texi (Machine Dependent Options): Add -mrecip to
-	"i386 and x86_64 Options" section.
-	(Intel 386 and AMD x86_64 Options): Document -mrecip.
-
-2007-06-15  Andrew Pinski <andrew_pinski@playstation.sony.com>
-	    Zdenek Dvorak <dvorakz@suse.cz>
-	    Richard Guenther  <rguenther@suse.de>
-	    Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* tree-vrp.c (compare_values_warnv): Convert val2 to
-	the type of val1.
-	(extract_range_from_assert): Create
-	POINTER_PLUS_EXPR for pointer types.
-	(extract_range_from_binary_expr): Handle
-	only POINTER_PLUS_EXPR, MIN_EXPR, and MAX_EXPR
-	for pointer types.
-	* doc/c-tree.texi (POINTER_PLUS_EXPR): Document.
-	* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle
-	POINTER_PLUS_EXPR as PLUS_EXPR.
-	(number_of_iterations_lt_to_ne):
-	For pointer types, use sizetype when
-	creating MINUS_EXPR/PLUS_EXPRs.
-	(assert_loop_rolls_lt): For pointer types, use sizetype when
-	creating MINUS_EXPR/PLUS_EXPRs.
-	(number_of_iterations_le): Likewise.
-	(expand_simple_operations): POINTER_PLUS_EXPR are simple also.
-	(derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just
-	like PLUS_EXPR and MINUS_EXPR.
-	* tree-pretty-print.c (dump_generic_node): Handle
-	POINTER_PLUS_EXPR.
-	(op_prio): Likewise.
-	(op_symbol_1): Likewise.
-	* optabs.c (optab_for_tree_code): Likewise.
-	* tree-ssa-loop-manip.c (create_iv): Handle pointer base
-	specially.
-	* tree-tailcall.c (process_assignment): Mention
-	POINTER_PLUS_EXPR in a TODO comment.
-	* tree.c (build2_stat): Assert when trying to use PLUS_EXPR or 
-	MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR
-	not used with a pointer and an integer type.
-	* tree-scalar-evolution.c (add_to_evolution_1): Convert the
-	increment using chrec_convert_rhs instead of chrec_convert.
-	(follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like
-	PLUS_EXPR except for the right hand side's type will be
-	sizetype.
-	(interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR.
-	(fold_used_pointer_cast): Kill.
-	(pointer_offset_p): Kill.
-	(fold_used_pointer): Kill.
-	(pointer_used_p): Kill.
-	(analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't
-	call fold_used_pointer.
-	(instantiate_parameters_1): Convert the increment
-	using chrec_convert_rhs instead of chrec_convert.
-	Handle POINTER_PLUS_EXPR as PLUS_EXPR.
-	* builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR
-	instead of PLUS_EXPR.
-	(expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of
-	PLUS_EXPR for pointers.
-	(std_gimplify_va_arg_expr): Likewise.
-	(fold_builtin_memory_op): Likewise.
-	(fold_builtin_strstr): Likewise.
-	(fold_builtin_strchr): Likewise.
-	(fold_builtin_strrchr): Likewise.
-	(fold_builtin_strpbrk): Likewise.
-	(expand_builtin_memory_chk): Likewise.
-	(fold_builtin_memory_chk): Likewise.
-	(std_expand_builtin_va_start): Use
-	sizetype for the call to make_tree and then convert
-	to the pointer type.
-	(fold_builtin_memchr): Use POINTER_PLUS_EXPR
-	instead of PLUS_EXPR for adding to a pointer.
-	(std_gimplify_va_arg_expr): Use fold_build2 for
-	the creating of POINTER_PLUS_EXPR.  For the BIT_AND_EXPR, cast
-	the operands to sizetype first and then cast the BIT_AND_EXPR
-	back to the pointer type.
-	* fold-const.c (build_range_check): Handle pointer types
-	specially.
-	(extract_array_ref): Look for POINTER_PLUS_EXPR instead
-	of PLUS_EXPR's. Make sure the offset is converted to
-	sizetype.
-	(try_move_mult_to_index): Strip the NOPs from the offset.
-	Remove code argument and replace all uses with PLUS_EXPR.
-	(fold_to_nonsharp_ineq_using_bound): Handle pointer types
-	specially. Don't use a pointer type for MINUS_EXPR.
-	(fold_unary): Handle for (T1)(X op Y),
-	only p+ as that is the only as that can be handled for
-	binary operators now.
-	(fold_binary <case POINTER_PLUS_EXPR>): Add folding of
-	POINTER_PLUS_EXPR.
-	<case PLUS_EXPR>: Add folding of PTR+INT into
-	PTR p+ INT.
-	Don't call try_move_mult_to_index.
-	<case MINUS_EXPR>: Fold (PTR0 p+ A) - (PTR1 p+ B)
-	into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into
-	(PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies.
-	Don't call try_move_mult_to_index.
-	(tree_expr_nonnegative_warnv_p): Handle POINTER_PLUS_EXPR.
-	(tree_expr_nonzero_p): Likewise.
-	(fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead
-	of PLUS_EXPR for the complex expression folding.
-	* tree-chrec.c (chrec_fold_plus_poly_poly): If the
-	first chrec is a pointer type, then the second should
-	be sizetype and not the first's type.
-	For POINTER_PLUS_EXPR, use a different right hand side type.
-	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
-	(chrec_fold_plus_1): For POINTER_PLUS_EXPR, use a
-	different right hand side type.
-	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
-	(chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR
-	instead of PLUS_EXPR.
-	When either operand is zero, convert the other operand.
-	(chrec_apply): Use chrec_convert_rhs
-	on the argument x instead of chrec_convert.
-	(reset_evolution_in_loop): For pointer types, the new_evol
-	should be sizetype.
-	(convert_affine_scev): For POINTER_PLUS_EXPR, use a
-	different right hand side type.
-	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
-	(chrec_convert_rhs): New function.
-	(chrec_convert_aggressive): For POINTER_PLUS_EXPR, use a
-	different right hand side type.
-	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
-	* tree-chrec.h (chrec_convert_rhs): New prototype.
-	(build_polynomial_chrec): For pointer types, the right hand
-	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Look for
-	POINTER_PLUS_EXPR instead of PLUS_EXPR's.
-	Remove subtraction case as it is always addition now.
-	Make sure the offset is converted to sizetype.
-	(fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially.
-	Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before.
-	* tree-ssa-loop-ivopts.c (determine_base_object): Abort for 
-	PLUS_EXPR in pointer type.
-	Handle POINTER_PLUS_EXPR.
-	(tree_to_aff_combination): Likewise.
-	(force_expr_to_var_cost): Likewise.
-	(force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR
-	instead of PLUS_EXPR for pointers.
-	* c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR
-	instead of PLUS_EXPR of pointer types.
-	* tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR
-	as PLUS_EXPR.
-	(check_va_list_escapes): Likewise.
-	(check_all_va_list_escapes): Likewise.
-	* dwarf2out.c (loc_descriptor_from_tree_1):
-	Handle POINT_PLUS_EXPR as a PLUS_EXPR.
-	* expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR.
-	(string_constant): Likewise.
-	* tree-ssa-address.c (tree_mem_ref_addr): When adding
-	the offset to the base, use POINTER_PLUS_EXPR.
-	(add_to_parts): Convert the index to sizetype.
-	(create_mem_ref): Create A POINTER_PLUS_EXPR for the one case.
-	* matrix-reorg.c (collect_data_for_malloc_call): Stmt
-	will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
-	Offset only holds something for PLUS_EXPR.
-	(ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
-	a PLUS_EXPR.
-	(analyze_transpose): POINTER_PLUS_EXPR will only show up now
-	and not PLUS_EXPR.
-	(analyze_accesses_for_modify_stmt): Likewise.
-	Remove comment about the type being integral type as it is
-	wrong now.
-	(can_calculate_expr_before_stmt): Handle POINTER_PLUS_EXPR as
-	PLUS_EXPR.
-	(transform_access_sites): POINTER_PLUS_EXPR will only show up now
-	and not PLUS_EXPR.
-	Correct the type which the artimentic is done in (is now
-	sizetype).
-	Reindent one loop.
-	* tree-data-ref.c (split_constant_offset): Handle
-	POINTER_PLUS_EXPR
-	* tree-affine.c (tree_to_aff_combination): Likewise.
-	* c-typeck.c (build_unary_op): For pointers create the increment
-	as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR
-	for pointers.
-	* gimplify.c (gimplify_self_mod_expr): Create a
-	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
-	(gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR.
-	* tree.def (POINTER_PLUS_EXPR): New tree code.
-	* tree-predcom.c (ref_at_iteration): If we have a pointer
-	type do the multiplication in sizetype.
-	* tree-mudflap.c (mf_xform_derefs_1): Create a
-	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
-	* tree-ssa-forwprop.c 
-	(forward_propagate_addr_into_variable_array_index):
-	Don't expect there to be a cast for the index as that
-	does not exist anymore.
-	(forward_propagate_addr_expr_1): Check for POINTER_PLUS_EXPR
-	instead of PLUS_EXPR.
-	Don't check for the first operand of the POINTER_PLUS_EXPR
-	was the index as it cannot be.
-	Call forward_propagate_addr_into_variable_array_index with
-	the SSA_NAME instead of the statement.
-	* varasm.c (const_hash_1): Handle POINTER_PLUS_EXPR.
-	(compare_constant): Likewise.
-	(copy_constant): Likewise.
-	(compute_reloc_for_constant): Likewise.
-	(output_addressed_constants): Likewise.
-	(initializer_constant_valid_p): Likewise.
-	* 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
-	POINTER_PLUS_EXPR instead of PLUS_EXPR.
-	(issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
-	of PLUS_EXPR for pointers.
-	* tree-inline.c (estimate_num_insns_1): Handle
-	POINTER_PLUS_EXPR.
-	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): 
-	Create a POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
-	(bump_vector_ptr): Create a POINTER_PLUS_EXPR
-	instead of PLUS_EXPR for the pointer increment statement.
-	(vect_update_ivs_after_vectorizer): For pointer types, create
-	POINTER_PLUS_EXPR instead of PLUS_EXPR and also create
-	MULT_EXPR in sizetype.
-	(vect_gen_niters_for_prolog_loop): Add a cast when creating
-	byte_misalign.
-	* tree-object-size.c (plus_expr_object_size): Handle
-	POINTER_PLUS_EXPR instead of PLUS_EXPR.  Removing all the extra
-	code which is trying to figure out which side is a pointer and 
-	is the index.
-	(check_for_plus_in_loops_1): Likewise.
-	(check_for_plus_in_loops): Likewise.
-	* c-common.c (pointer_int_sum): Create a
-	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
-	* tree-ssa-structalias.c (handle_ptr_arith): Handle
-	only POINTER_PLUS_EXPR.  Removing all the extra
-	code which is trying to figure out which side is a pointer and 
-	is the index.
-	* tree-cfg.c (verify_expr): Add extra checking for pointers and
-	PLUS_EXPR and MINUS_EXPR.
-	Also add checking to make sure the operands of POINTER_PLUS_EXPR
-	are correct.
-	* config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype
-	with make_tree, instead of a pointer type.
-	* config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR
-	for pointers instead of PLUS_EXPR.
-	(s390_gimplify_va_arg): Likewise.
-	* config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR
-	instead of PLUS_EXPR when doing addition on pointer
-	types.  Use sizetype for the second operand.
-	(spu_gimplify_va_arg_expr): Likewise.
-	* config/sparc/sparc.c (sparc_gimplify_va_arg): Use 
-	POINTER_PLUS_EXPR instead of PLUS_EXPR when the operand was
-	a pointer.  Don't create a BIT_AND_EXPR for pointer types.
-	* config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR
-	for the pointer addition and also use size_int/sizetype
-	for the offset.
-	(ix86_gimplify_va_arg): Likewise.
-	Perform BIT_AND_EXPR on sizetype arguments.
-	* config/sh/sh.c (sh_va_start): Call make_tree with sizetype
-	and convert its result to a pointer type.  Use POINTER_PLUS_EXPR
-	for the pointer additions and also use size_int for the offsets.
-	(sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer
-	additions and also use size_int for the offsets.  Perform
-	BIT_AND_EXPR on sizetype arguments.
-	* config/ia64/ia64.c (ia64_gimplify_va_arg): Use
-	POINTER_PLUS_EXPR for pointers and create the
-	BIT_AND_EXPR in sizetype.
-	* config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
-	instead of PLUS_EXPR for pointer addition.
-	(rs6000_va_start): Likewise.
-	Also use sizetype for the offset.
-	* config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR
-	as PLUS_EXPR/MINUS_EXPR.
-	(hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or
-	PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR.
-	Don't use BIT_AND_EXPR on a pointer type, convert the
-	expression to sizetype first.
-	* config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR
-	for pointers.
-	(mips_gimplify_va_arg_expr): Likewise.
-	Don't create BIT_AND_EXPR in a pointer type.
-
-2007-06-15  Eric Christopher  <echristo@apple.com>
-
-	* config.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc.
-	(x86_64-*-darwin*): Ditto.
-	* config/i386/darwin.h (CRTEND_SPEC): New. Add support
-	for above.
-
-2007-06-15  Matthew Wilcox <matthew@wil.cx>
-
-	* doc/extend.texi: Document behavior of __attribute__((aligned))
-	on typedefs.
-
-2007-06-15  Mark Mitchell  <mark@codesourcery.com>
-
-	* rtlanal.c (note_stores): Improve documentation.
-
-2007-06-15  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/elf.h (ASM_GENERATE_INTERNAL_LABEL,
-	LOCAL_LABEL_PREFIX): Delete.
-	* config/bfin/bfin.c (TARGET_ASM_INTERNAL_LABEL): Delete.
-	(bfin_internal_label): Delete.
-
-2007-06-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3,
-	define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128,
-	otherwise define to LIBGCC2_TF_CEXT.
-	* config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define.
-	(LIBGCC_TF_CEXT): Ditto.
-	(TF_SIZE): Ditto.
-
-2007-06-14  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR rtl-optimization/32339
-	* df-scan.c (df_uses_record): Don't modify flags but just add to
-	it for df_ref_record.
-
-2007-06-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* tree-mudflap.c: Fix whitespace issues.
-
-2007-06-15  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (ASM_DOT, ASM_DOTW, ASM_DOTL): Remove.
-
-2007-06-14  Eric Christopher  <echristo@apple.com>
-
-	* config/i386/sse.md (movdi_to_sse): Rewrite body.
-	(movv4sf): Use gcc_unreachable instead of abort.
-
-2007-06-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32268
-	* config/i386/sfp-machine.h (CMPtype): New define.
-	(mach stubs): Use CMPtype instead of int as a return type.
-
-2007-06-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/soft-fp/eqdf2.c, config/soft-fp/eqsf2.c,
-	config/soft-fp/eqtf2.c, config/soft-fp/gedf2.c,
-	config/soft-fp/gesf2.c, config/soft-fp/getf2.c,
-	config/soft-fp/ledf2.c, config/soft-fp/lesf2.c,
-	config/soft-fp/letf2.c, config/soft-fp/unorddf2.c,
-	config/soft-fp/unordsf2.c, config/soft-fp/unordtf2.c,
-	config/soft-fp/soft-fp.h: Update from glibc CVS.
-
-2007-06-14  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/uclinux.h (MFWRAP_SPEC): New.
-
-2007-06-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
-
-	PR target/32341
-	* config/v850/v850.c: Include dataflow header file.
-	(substitute_ep_register): Fix typo.
-
-2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
-
-	* configure.ac: Fix earlier checkin.
-	* configure: Regenerated.
-
-2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
-
-	* acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove.
-	* aclocal.m4: Regenerate.
-	* configure.ac: Use ACX_PROG_CC_WARNING_OPTS,
-	ACX_PROG_CC_WARNINGS_ARE_ERRORS,
-	ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_CHECK_PROG_VER.
-	* configure: Regenerate.
-	* Makefile.in (LOOSE_WARN): Subst loose_warn.
-
-	* Makefile.in (quickstrap): Build libgcc too.
-
-2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
-
-	* configure.ac: Add --enable-checking=df.  Explicitly mention that
-	the variables are initialized as for "release".
-	* df-core.c: Use it.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2007-06-14  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use
-	validate_replace_rtx instead of replace_rtx.
-	(xtensa_expand_prologue): Call df_insn_rescan after replace_rtx.
-
-2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	* config/i386/cygming.h (DWARF_FRAME_REGNUM): Define.
-	(DWARF2_UNWIND_INFO): Override default if configured with
-	SJLJ EH disabled.
-	* config/i386/cygwin.h (STARTFILE_SPEC): Add crtbegin.o.
-	(ENDFILE_SPEC): Add crtend.o.
-	* config/i386/mingw32.h (STARTFILE_SEC): Add crtbegin.o.
-	(ENDFILE_SPEC): Add crtend.o.
-	(TARGET_USE_JCR_SECTION): Define.
-	(MD_UNWIND_SUPPORT): Define for 32-bit target.
-
-	* config/i386/cygming-crtbegin.c: New file.
-	* config/i386/cygming-crtend.c: New file.
-
-2007-06-14  Pascal Obry Pascal Obry  <obry@adacore.com>
-
-	* config/i386/w32-unwind.h: New file.
-
-2007-06-13  Eric Christopher  <echristo@apple.com>
-
-	* config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let
-	the user set a value below STACK_BOUNDARY.
-
-2007-06-13  Thiemo Seufer  <ths@networkno.de>
-
-	* config/mips/linux.h, config/mips/linux64.h (LIB_SPEC): Always
-	imply -lpthread for -pthread.
-
-2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
-
-	* basic-block.h: Remove the prototype for
-	free_basic_block_vars.
-	* cfglayout.h: Remove the prototype for
-	insn_locators_initialize.
-	* tree.h: Remove the prototype for emit_line_note.
-
-	* tree-ssa-pre.c (mergephitemp): Remove.
-	(init_pre): Don't use mergephitemp.
-
-2007-06-13  Eric Christopher  <echristo@apple.com>
-
-	* config/i386/i386.c (override_options): If we've specified
-	an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs.
-
-2007-06-13  Bob Wilson  <bob.wilson@acm.org>
-
-	* df-scan.c (df_get_entry_block_def_set): Check if STATIC_CHAIN_REGNUM
-	is defined.
-
-2007-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem.
-	* config/bfin/bfin.md (UNSPEC_VOLATILE_STORE_EH_HANDLER): New constant.
-	(eh_store_handler): New pattern.
-	(eh_return): Emit it instead of a plain move.
-
-2007-06-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins)
-	[__builtin_infq, __builtin_fabsq]: Define usign def_builtin.
-	[__builtin_ia32_rsqrtps, __builtin_ia32_rsqrtss]: Define using
-	def_builtin_const.
-
-2007-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.c (gen_one_bundle): Delete unused local variables.
-	(find_next_insn_start, find_load): New functions.
-	(bfin_reorg): Use them to deal with the fact that parallel insns are
-	no longer represented as a SEQUENCE.
-
-2007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* config/sparc/sparc.c (sparc_override_options): Initialize
-	fpu mask correctly.
-
-2007-06-13  Dave Korn  <dave.korn@artimi.com>
-
-	* config/i386/i386.c (ix86_eax_live_at_start_p): Use df_get_live_out.
-
-2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
-
-	* auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S,
-	config/sh/divcost-analysis, dbgcnt.def, df-core.c,
-	df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c,
-	tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c,
-	tree-vect-transform.c: Fix comment typos.  Follow spelling
-	conventions.
-
-2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
-
-	* df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
-	to the exit block use set.
-	(df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
-	* gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
-	* config/sparc/sparc.c (sparc_check_64): Check df != NULL.
-
-2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
-
-	* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
-	* dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
-	to indicate an error.
-	(dbg_cnt_process_single_pair, dbg_cnt_list_all_counters):
-	New functions.
-	(dbg_cnt_process_opt): Print an error on a bad argument.
-	* dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
-	* common.opt (-fdbg-cnt-list): New.
-	* doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New.
-
-2007-06-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything
-	flag on ref-all pointers.
-
-2007-06-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/31579
-	* expr.c (expand_expr_addr_expr_1): Call expand_expr
-	for the offset with the modifier as EXPAND_INITIALIZER
-	if the modifier is EXPAND_INITIALIZER.
-	(expand_expr_real_1 <case INTEGER_CST>): Don't force to
-	a register if we had an overflow.
-
-2007-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* real.c (real_isfinite): New.
-	(real_sqrt): Use it.
-	* real.h (real_isfinite): New.
-	* builtins.c: Use it.
-
-2007-06-12  Ian Lance Taylor  <iant@google.com>
-	    Daniel Berlin  <dberlin@dberlin.org>
-
-	PR libstdc++/29286
-	* tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR.
-	* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define.
-	(CHANGE_DYNAMIC_TYPE_LOCATION): Define.
-	(DECL_NO_TBAA_P): Define.
-	(struct tree_decl_common): Add no_tbaa_flag field.
-	* tree-ssa-structalias.c (struct variable_info): Add
-	no_tbaa_pruning field.
-	(new_var_info): Initialize no_tbaa_pruning field.
-	(unify_nodes): Copy no_tbaa_pruning field.
-	(find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR.
-	(dump_solution_for_var): Print no_tbaa_pruning flag.
-	(set_uids_in_ptset): Add no_tbaa_pruning parameter.  Change all
-	callers.
-	(compute_tbaa_pruning): New static function.
-	(compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes.
-	Call compute_tbaa_pruning.
-	* tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers.
-	* gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR.
-	* gimple-low.c (lower_stmt): Likewise.
-	* tree-gimple.c (is_gimple_stmt): Likewise.
-	* tree-ssa-operands.c (get_expr_operands): Likewise.
-	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
-	* tree-inline.c (estimate_num_insns_1): Likewise.
-	(copy_result_decl_to_var): Likewise.
-	* expr.c (expand_expr_real_1): Likewise.
-	* tree-pretty-print.c (dump_generic_node): Likewise.
-	* tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag.
-	* omp-low.c (omp_copy_decl_2): Likewise.
-	* print-tree.c (print_node): Print DECL_NO_TBAA_P flag.
-	* doc/c-tree.texi (Expression trees): Document
-	CHANGE_DYNAMIC_TYPE_EXPR.
-
-2007-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* fold-const.c (fold_binary): Guard (X-X) -> 0 transformation
-	with !HONOR_NANS and !HONOR_INFINITIES.
-	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
-
-2007-06-12  Tristan Gingold  <gingold@adacore.com>
-
-	* gcov.c: Comments updated.
-	(source_info): Add file_time field.
-	(source_index): New variable.
-	(mutiple_files): New variable.
-	(generate_results): New function extracted from process_file.
-	(process_file): Save and restore chain of functions, generate
-	results and free structures only if not merging results.
-	(release_structures): File names are now freed in create_file_names
-	(create_file_names): Free previous file names.
-	(find_source): File date is now read here and modifications in
-	source files is checked here.
-	(read_graph_file): Only reverse order of functions for the current
-	object file.
-	(make_gcov_file_name): Do not generate long names if input_name is
-	NULL.
-	(output_lines): If merging results do not display graph, data and
-	runs informations.
-	Checking source file modification is done in find_source.
-
-	* doc/gcov.texi: Append an s to sourcefile.
-
-2007-06-12  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (UNSPEC_NOP): New constant.
-	(forced_nop): New pattern.
-	* config/bfin/bfin.c: Include "df.h".
-	(add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live.
-	(bfin_discover_loop): Use df_get_live_in instead of
-	global_live_at_start.
-	(bfin_reorder_loops): Pass 0 to cfg_layout_initialize.  Call
-	df_analyze when done.
-	(gen_one_bundle): Don't generate SEQUENCE insns, just put modes on
-	the insns.  Use QImode for the final insn in a bundle.  Call
-	df_insn_rescan on generated NOPs; use gen_forced_nop instead of
-	gen_nop.
-	(reorder_var_tracking_notes): New function.
-	(bfin_reorg): Pass no argument to split_all_insns.  Don't call
-	update_life_info.  Call df_analyze after scheduling and bundle
-	generation.  Call reorder_var_tracking_notes if generating these
-	notes.  Call df_finish_pass at the end.
-
-2007-06-12  Dirk Mueller  <dmueller@suse.de>
-
-	* optabs.c (debug_optab_libfuncs): fix gcc_assert to
-	a comparison, not an assignment.
-
-2007-06-12  Olivier Hainque  <hainque@adacore.com>
-
-	* tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.
-	Request walking the subtrees only, leaving the current is_lhs/val_only
-	untouched.
-	(convert_non_local_reference): Likewise.
-
-2007-06-12  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k-devices.def (52221, 52223, 5253): New.
-
-2007-06-12  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/15353
-	PR tree-optimization/31657
-	* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
-	* timevar.def: Add TV_TREE_IFCOMBINE.
-	* tree-pass.h (pass_tree_ifcombine): Declare.
-	* tree-ssa-ifcombine.c: New file.
-	* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
-	* tree-flow.h (blocks_in_phiopt_order): Declare.
-	* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
-	(tree-ssa-ifcombine.o): New dependencies.
-
-2007-06-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR rtl-optimization/32293
-	* combine.c (simplify_if_then_else): Truncate return from
-	nonzero_bits() to correct mode.
-
-2007-06-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c)
-	into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
-
-2007-06-11  Diego Novillo  <dnovillo@google.com>
-
-	* Makefile.in (reload1.o-warn): Remove.
-
-2007-06-11  Seongbae Park <seongbae.park@gmail.com>
-
-	* combine.c (subst): Use reg_overlap_mentioned_p
-	instead of comparing register numbers directly.
-
-2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* reload1.c (mark_home_live_1): Use the mode parameter.
-
-2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
-
-	* df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all,
-	df_process_deferred_rescans, df_notes_rescan): Fixed spelling of
-	word "deferred".
-	* df-core.c: Ditto.
-
-2007-06-11  Daniel Berlin  <dberlin@dberlin.org>
-
-	* Merge dataflow-branch into mainline (see ChangeLog.dataflow)
-
-2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md ("*movtf_internal): Penalize moves to and
-	from integer registers.
-	(FP mode splitters): Handle TFmode.
-
-2007-06-11  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-structalias.c (find_what_p_points_to): Return false
-	for ref-all pointers that point-to anything.
-
-2007-06-11  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/arm/arm.c (arm_output_dwarf_dtprel,
-	TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
-
-2007-06-11  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
-	movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
-	to memory moves.
-
-2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
-
-	* tree.c (signed_or_unsigned_type_for): New.
-	(unsigned_type_for): Use signed_or_unsigned_type_for.
-	(signed_type_for): Use signed_or_unsigned_type_for.
-	* tree.h (signed_or_unsigned_type_for): New.
-	(get_signed_or_unsigned_type): Remove.
-	* fold-const.c (fold_negate_expr): Use signed_type_for instead of
-	lang_hooks.types.signed_type
-	(size_diffop): Likewise.
-	(all_ones_mask_p): Likewise.
-	(build_range_check): Likewise.
-	(fold_cond_expr_with_comparison): Likewise.
-	(fold_cond_expr_with_comparison): Likewise.
-	(unextend): Likewise.
-	(extract_muldiv_1): Likewise.
-	(fold_single_bit_test_into_sign_test): Likewise.
-	(fold_binary): Likewise.
-	(fold_ternary): Likewise.
-	(operand_equal_for_comparison_p): Use signed_or_unsigned_type_for
-	instead of get_signed_or_unsigned_type.
-	* c-objc-common.h (LANG_HOOKS_SIGNED_TYPE): Remove.
-	(LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
-	* expr.c (signed_or_unsigned_type_for): Use
-	signed_or_unsigned_type_for instead of get_signed_or_unsigned_type.
-	* langhooks.c (get_signed_or_unsigned_type): Remove.
-	(lhd_signed_or_unsigned_type): Remove.
-	* langhooks.h (lang_hooks_for_types): Remove signed_type and
-	signed_or_unsigned_type.
-	(lhd_signed_or_unsigned_type): Remove.
-	* expmed.c (make_tree): Use signed_type_for instead of
-	lang_hooks.types.signed_type.
-	* c-common.c (same_scalar_type_ignoring_signedness): Use
-	c_common_signed_type instead of lang_hooks.types.signed_type.
-	(c_common_unsigned_type): New.
-	(c_common_signed_type): Just call c_common_signed_or_unsigned_type.
-	(shorten_compare): Use c_common_unsigned_type instead of
-	c_common_signed_or_unsigned_type.
-	(c_common_nodes_and_builtins): Use c_common_unsigned_type instead of
-	unsigned_type_for.
-	* convert.c (convert_to_integer): Use signed_type_for instead of
-	lang_hooks.types.signed_type.
-	* langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
-	(LANG_HOOK_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_SIGNED_TYPE and
-	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE.
-	* c-format.c (check_format_types): Use c_common_unsigned_type
-	instead of unsigned_type_for.
-	* c-decl.c (groakdeclarator): Likewise.
-	* c-typeck.c (convert_for_assignment): Likewise.
-	* c-common.h (c_common_unsigned_type): New.
-
-2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32280
-	* config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
-	* config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
-
-2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/32279
-	* fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c)
-	into a*sqrt(c/b) if flag_unsafe_math_optimizations is set.
-
-2007-06-10  Jan Sjodin  <jan.sjodin@amd.com>
-	    Sebastian Pop  <sebpop@gmail.com>
-
-	* lambda-code.c (remove_iv): New.
-	(lambda_loopnest_to_gcc_loopnest): Use remove_iv.
-
-2007-06-10  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
-	* tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
-	* tree-ssa-loop-prefetch.c: Include optabs.h.
-	(FENCE_FOLLOWING_MOVNT): New macro.
-	(struct mem_ref): Add independent_p and storent_p fields.
-	(record_ref): Initalize the new fields.
-	(gather_memory_references_ref): Return true if the reference
-	could be analysed.
-	(gather_memory_references): Check whether all memory accesses
-	in loop were recorded.
-	(should_issue_prefetch_p): Return false for nontemporal stores.
-	(nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
-	may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
-	(determine_loop_nest_reuse): Detect independent memory references.
-	(loop_prefetch_arrays): Call mark_nontemporal_stores.
-	* tree-flow.h (mark_virtual_ops_for_renaming): Declare.
-	* Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
-	* config/i386/i386.h (x86_mfence): Declare.
-	(FENCE_FOLLOWING_MOVNT): Return x86_mfence.
-	* config/i386/i386.c (x86_mfence): New variable.
-	(ix86_init_mmx_sse_builtins): Initialize x86_mfence.
-
-	* tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
-	* optabs.c (init_optabs): Initialize storent_optab.
-	* optabs.h (enum optab_index): Add OTI_storent.
-	(storent_optab): Declare.
-	* genopinit.c (optabs): Add initialization for storent_optab.
-	* tree.h (MOVE_NONTEMPORAL): New macro.
-	* expr.c (expand_assignment, store_expr, store_constructor_field,
-	store_constructor, store_field, expand_expr_real_1): Propagate
-	nontemporality of the expanded store.
-	(emit_storent_insn): New function.
-	* expr.h (expand_assignment, store_expr): Declaration changed.
-	* function.c (assign_parm_setup_reg): Pass false as nontemporality
-	to expand_assignment.
-	* stmt.c (expand_asm_expr): Ditto.
-	* calls.c (initialize_argument_information): Pass false as
-	nontemporality to store_expr.
-	* config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
-	storentsi): New.
-
-2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd
-	parameter, use it.
-	(find_what_p_points_to): Pass new parameter to set_uids_in_ptset.
-
-2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b,
-	and allow DECL_P here.
-
-2007-06-09  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
-	follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise
-	track of the size of the expression.
-	* cfghooks.c (merge_blocks): Remove block from loops structure only
-	after call of the merge_blocks hook.
-
-2007-06-09  Tom Tromey  <tromey@redhat.com>
-
-	* c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
-	(deprecated_state): Removed.
-	(start_decl): Update.
-	(enum deprecated_states): Moved earlier.
-	(groktypename): Update.
-	(push_parm_decl): Likewise.
-	(grokfield): Likewise.
-	(start_function): Likewise.
-
-2007-06-09  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/32169
-	* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
-	CONVERT_EXPR, check whether min and max both converted to an
-	overflow infinity representation.
-
-2007-06-08  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* reload1.c (fixup_abnormal_edges): Clear bb field for insns
-	not inserted on the edge.
-
-2007-06-08  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide
-	instructions if they are supported.
-	(__divsi3, __umodsi3, __modsi3): Likewise.
-	(__ashldi3, __ashrdi3, __lshrdi3): New.
-	* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions.
-
-2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
-	    Tony Linthicum <tony.linthicum@amd.com>
-
-	* doc/invoke.texi: Add fvect-cost-model flag.
-	* common.opt (fvect-cost-model): New flag.
-	* tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
-	cost fields in stmt_vec_info struct for STMT.
-	* tree-vectorizer.h (stmt_vec_info): Define inside and outside cost
-	fields in stmt_vec_info struct and access functions for the same.
-	(TARG_COND_BRANCH_COST): Define cost of conditional branch.
-	(TARG_VEC_STMT_COST): Define cost of any vector operation, excluding
-	load, store and vector to scalar operation.
-	(TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation.
-	(TARG_VEC_LOAD_COST): Define cost of aligned vector load.
-	(TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load.
-	(TARG_VEC_STORE_COST): Define cost of vector store.
-	(vect_estimate_min_profitable_iters): Define new function.
-	* tree-vect-analyze.c (vect_analyze_operations): Add a compile-time
-	check to evaluate if loop iterations are less than minimum profitable
-	iterations determined by cost model or minimum vect loop bound defined
-	by user, whichever is more conservative.
-	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a
-	run-time check to evaluate if loop iterations are less than minimum
-	profitable iterations determined by cost model or minimum vect loop
-	bound defined by user, whichever is more conservative.
-	(vect_estimate_min_profitable_iterations): New function to estimate
-	mimimimum iterartions required for vector version of loop to be
-	profitable over scalar version.
-	(vect_model_reduction_cost): New function.
-	(vect_model_induction_cost): New function.
-	(vect_model_simple_cost): New function.
-	(vect_cost_strided_group_size): New function.
-	(vect_model_store_cost): New function.
-	(vect_model_load_cost): New function.
-	(vectorizable_reduction): Call vect_model_reduction_cost during
-	analysis phase.
-	(vectorizable_induction): Call vect_model_induction_cost during
-	analysis phase.
-	(vectorizable_load): Call vect_model_load_cost during analysis phase.
-	(vectorizable_store): Call vect_model_store_cost during analysis phase.
-	(vectorizable_call, vectorizable_assignment, vectorizable_operation,
-	vectorizable_promotion, vectorizable_demotion): Call
-	vect_model_simple_cost during analysis phase.
-
-2007-06-08  Simon Baldwin  <simonb@google.com>
-
-	* reg-stack.c (get_true_reg): Readability change.  Moved default case
-	label into direct switch statement scope.
-
-2007-06-08  Simon Baldwin  <simonb@google.com>
-
-	* tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment
-	in gcc_assert() with '==' comparison.
-
-2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and
-	TARGET_ABM handling of x86_popcnt variable.
-
-2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq,
-	__builtin_copysignq and __builtin_infq built-in functions.
-
-2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/extend.texi (X86 Built-in Functions): Add missing `@item's in
-	SSE4.2 section.  Correct built-in function names in SSE4A section.
-
-2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32243
-	* tree-vect-transform.c (vectorizable_type_promotion): Move check
-	for ncopies after ratio check between nunits_out and nunits_in.
-	(vectorizable_type_demotion): Remove single-use variable "scalar_type".
-
-2007-06-08  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/32224
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
-	vectorization upon a non GIMPLE_MODIFY_STMT.
-
-2007-06-08  Christian Bruel  <christian.bruel@st.com>
-
-	PR target/29953
-	* config/sh/sh.md (doloop_end): New pattern and splitter.
-	* loop-iv.c (simple_rhs_p): Check for hardware registers.
-
-2007-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR middle-end/32209
-	* dominance.c (debug_dominance_tree, debug_dominance_tree_1): New
-	functions.
-	(verify_dominators): Do not change dominance tree.
-
-2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/constraints.md: New file.
-	* config/sh/sh.c: Include tm-constrs.h.
-	(reg_class_from_letter): Remove.
-	(prepare_cbranch_operands): Use satisfies_constraint_*
-	function instead of macro.
-	(andcosts, broken_move, sh_secondary_reload): Likewise.
-	* config/sh/predicates.md (trapping_target_operand): Likewise.
-	(and_operand, arith_operand, arith_reg_or_0_operand,
-	cmp_operand, logical_operand, target_operand,
-	ua_address_operand, ua_offset, xor_operand): Likewise.
-	* config/sh/sh.md: Include constraints.md.
-	(*movsicc_t_false): Use satisfies_constraint_* function
-	instead of macro.
-	(*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m,
-	lshrsi3_k, movsi_const_16bit+2, *movhi_media+1,
-	movdi_const_16bit+1, beq, bne, *ptb): Likewise.
-	* config/sh/sh.h (reg_class_from_letter): Remove prototype.
-	(OVERRIDE_OPTIONS): Don't modify reg_class_from_letter.
-	(REG_CLASS_FROM_CONSTRAINT): Remove.
-	(CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I,
-	CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K,
-	CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M,
-	CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P,
-	CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
-	(SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_*
-	function instead of macro.
-	(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
-	(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A,
-	EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B,
-	EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove.
-	(IS_PC_RELATIVE_LOAD_ADDR_P): New macro.
-	(IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise.
-	(IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise.
-	(IS_NON_EXPLICIT_CONSTANT_P): Likewise.
-	(EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W,
-	EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C,
-	EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0,
-	EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S,
-	EXTRA_CONSTRAINT_STR): Likewise.
-	(GO_IF_LEGITIMATE_INDEX): Fix indentation.
-
-2007-06-07  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/i386/darwin.h (STACK_BOUNDARY): Define.
-
-2007-06-07  Simon Martin  <simartin@users.sourceforge.net>
-
-	PR c++/30759
-	* c-common.h (flag_cpp0x): Replaced by...
-	(cxx_dialect): ... this new variable specifying the C++ dialect that
-	is used.
-	* c-common.c (flag_cpp0x): Removed.
-	(cxx_dialect): Defined.
-	* c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
-	cxx_dialect.
-	* c-opts.c (c_common_post_options): Likewise.
-	(set_std_cxx98): Set cxx_dialect to cxx98.
-	(set_std_cxx0x): Set cxx_dialect to cxx0x.
-
-2007-06-07  Geoffrey Keating  <geoffk@apple.com>
-	    Hui-May Chang <hm.chang@apple.com>
-
-	* doc/invoke.texi (Darwin Options): Update documentation for
-	-mmacosx-version-min.
-	* config.gcc (*-*-darwin*): Set extra_gcc_objs.
-	* config/darwin-driver.c: New file.
-	* config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New.
-	* config/t-darwin (darwin-driver.o): New rule.
-
-	* config/darwin-c.c (version_as_macro): Ignore low digit.
-
-2007-06-07  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (standard sse constant splitter): Handle TFmode.
-	(negtf2, abstf2, *absnegtf2_sse): New insn patterns.
-	(CSGNMODE): New mode macro.
-	(CSGNVMODE): New mode attribute.
-	(copysign<mode>3): Rename from copysingsf3 and copysigndf3.  Macroize
-	expander using CSGNMODE mode macro.  Handle TFmode.
-	(copysign<mode>3_const): Rename from copysignsf3_const and
-	copysigndf3_const.  Macroize pattern using CSGNMODE mode macro.
-	Handle TFmode.
-	(copysign<mode>3_var): Rename from copysignsf3_var and
-	copysigndf3_var.  Macroize pattern using CSGNMODE mode macro.
-	Handle TFmode.
-	(copysign<mode>3_var splitter): Macroize pattern using CSGNMODE
-	mode macro.  Handle TFmode.
-	* config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns.
-	(iortf3, *iortf3): Ditto.
-	(xortf3, *xortf3): Ditto.
-	* config/i386/i386.c (ix86_build_signbit_mask): Create scalar
-	TFmode and TImode masks.
-	(ix86_expand_copysign): Expand TFmode copysign insn.
-	(IX86_BUILTIN_INFQ): New.
-	(IX86_BUILTIN_FABSQ): Ditto.
-	(IX86_BUILTIN_COPYSIGNQ): Ditto.
-	(ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition.
-	[__builtin_fabsq]: Ditto.
-	[__builtin_copysignq]: Ditto.
-	(ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin.
-	[IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin().
-	[IX86_BUILTIN_COPYSIGNQ]: Expand builtin using
-	ix86_expand_binop_builtin().
-
-2007-06-07  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/lib1funcs.asm: Clean up whitespace.
-
-2007-06-07  Steve Ellcey  <sje@cup.hp.com>
-
-	PR target/31850
-	* rtl.h (push_to_sequence2): New.
-	* emit-rtl.c (push_to_sequence2): New.
-	* function.c (assign_parm_data_all): Add new fields.
-	(assign_parm_setup_block): Call push_to_sequence2 instead of
-	push_to_sequence.
-	(assign_parm_setup_reg): Ditto.
-	(assign_parm_setup_stack): Ditto.
-	(assign_parms_unsplit_complex): Ditto.
-	(assign_parms): Change field name.
-
-2007-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/32220
-	* tree-predcom.c (eliminate_temp_copies): Handle the case that loop
-	phi node is reached before defining statement.
-
-2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32231
-	* tree-vect-transform.c (vectorizable_call): Call update_stmt
-	after changing the right hand side of the assignment.
-
-2007-06-06  Eric Christopher  <echristo@apple.com>
-
-	* config.gcc (i?86-*-darwin*): Remove arch parameter.
-	(x86_64-*-darwin*): Ditto.
-	* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Define.
-	(TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
-
-2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
-
-	* tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the
-	coding conventions.
-	(add_key): Likewise.
-	* tree-ssa.c (init_tree_ssa): Use type safe memory macros.
-	* tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
-	variable names.
-	* tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory
-	macros.
-	(add_cost_one_coalesce): Likewise.
-	* tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
-	variable names. Rename orig to orig_name for consistency.
-	* tree-ssa-dom.c (dom_thread_across_edge): Cast according to the
-	coding conventions.
-	(cprop_into_successor_phis): Avoid using C++ keywords as variable
-	names.
-	(record_equivalences_from_stmt): Likewise.
-	* tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
-	the coding conventions.
-	(memory_ssa_name_same): Likewise.
-	(dse_optimize_stmt): Likewise.
-	(dse_record_phis): Likewise.
-	(dse_finalize_block): Likewise.
-	* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++
-	keywords as variable names.
-	(may_move_till): Cast according to the coding conventions.
-	(force_move_till_expr): Avoid using C++ keywords as variable names.
-	(force_move_till): Cast according to the coding conventions.
-	(memref_hash): Likewise.
-	(memref_eq): Likewise.
-	(gather_mem_refs_stmt): Likewise.
-	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid
-	using C++ keywords as variable names.
-	(idx_find_step): Cast according to the coding conventions.
-	(idx_record_use): Likewise.
-	(find_depends): Likewise.
-	(prepare_decl_rtl): Likewise.
-	(mbc_entry_hash): Likewise.
-	(mbc_entry_eq): Likewise.
-	* tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp.
-	(simplify_replace_tree): Avoid using C++ keywords as variable names.
-	(idx_infer_loop_bounds): Cast according to the coding conventions.
-	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
-	* tree-ssa-math-opts.c (occ_new ): Likwise.
-	* tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
-	macros.
-	* tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as
-	variable names.
-	(add_use_op): Likewise.
-	(add_vop): Likewise.
-	(add_vuse_op): Likewise.
-	(add_vdef_op): Likewise.
-	(get_expr_operands): Likewise.
-	(push_stmt_changes): Use type safe memory macros.
-	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++
-	keywords as variable names.
-	(conditional_replacement): Likewise.
-	(minmax_replacement): Likewise.
-	(abs_replacement): Likewise.
-	* tree-ssa-pre.c (create_expression_by_pieces): Cast according to the
-	coding conventions.
-	(insert_fake_stores): Avoid using C++ keywords as variable names.
-	* tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding
-	conventions.
-	* tree-ssa-structalias.c (heapvar_lookup): Likewise.
-	(heapvar_insert): Use type safe memory macros.
-	(new_var_info): Cast according to the coding conventions.
-	(new_constraint): Likewise.
-	(remove_preds_and_fake_succs): Use type safe memory macros.
-	* tree-ssa-threadupdate.c (thread_block): Cast according to the coding
-	conventions.
-	(thread_single_edge): Likewise.
-	(thread_through_loop_header): Likewise.
-
-2007-06-06  Eric Christopher  <echristo@apple.com>
-
-	* config/i386/i386.c (override_options): Move handling
-	of TARGET_SUBTARGET* earlier.
-
-2007-06-06  Paolo Bonzini  <bonzini@gnu.org>
-
-	* genmodes.c (tagged_printf, emit_insn_modes_h): Don't
-	use %n on printf.
-
-2007-06-06  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
-	emited outside of basic block.
-	* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
-	the created blocks.
-	* rtl.h (delete_insn_chain): Declaration changed.
-	* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
-	non-removed insns.
-	(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
-	(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
-	rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false
-	to delete_insn_chain.
-	(rtl_verify_flow_info_1): Verify that the insns in header and footer
-	do not have bb field set.
-	(rtl_verify_flow_info): Verify that insns between basic blocks do not
-	have bb field set.
-	* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
-	* cfgcleanup.c (try_optimize_cfg): Ditto.
-
-2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
-
-	* lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
-	(lambda_body_vector_new): Use type safe memory macros.
-	(lambda_linear_expression_new): Likewise.
-	(lambda_loopnest_new): Likewise.
-	(lambda_lattice_new): Likewise.
-	(replace_uses_equiv_to_x_with_y): Cast according to the coding
-	conventions. Use type safe memory macros.
-	* lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
-	(lambda_body_vector_s): Likewise.
-	* lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
-	* lambda-trans.c (lambda_trans_matrix_new): Likewise.
-
-2007-06-06  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
-	if we need to schedule cfg_cleanup.
-	(tree_ssa_forward_propagate_single_use_vars): Do so.
-
-2007-06-06  Ian Lance Taylor  <iant@google.com>
-
-	* fold-const.c (merge_ranges): If range_successor or
-	range_predecessor fail, just return 0.
-
-2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32216
-	* tree-vectorizer.c (supportable_widening_operation): Determine
-	signedness of FIX_TRUNC_EXPR from output operand.
-	(supportable_narrowing_operation): Ditto.
-	* tree-vect-generic.c (expand_vector_operations_1): Determine
-	signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR
-	from input operand.
-
-2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
-
-	* config/i386/i386.c (enum pta_flags): Move out of struct scope...
-	(struct pta): ...from here. Change flags to unsigned to avoid
-	excessive casting (as it is used as a bit mask).
-	(override_options): Add casts according to the coding convenventions.
-	(x86_64_elf_unique_section): Likewise.
-	(examine_argument): Avoid using C++ keywords as variable names.
-	(construct_container): Likewise.
-	(legitimize_pic_address): Likewise.
-	(get_dllimport_decl): Cast according to the coding conventions. Use
-	type safe memory macros.
-	(legitimize_address): Cast according to the coding conventions.
-	(emit_i387_cw_initialization): Corrected the type of slot to enum
-	ix86_stack_slot.
-	(ix86_init_machine_status): Use type safe memory macros.
-	(bdesc_pcmpestr): Use UNKNOWN instead of integer 0.
-	(bdesc_pcmpistr): Likewise.
-	(bdesc_crc32): Likewise.
-	(bdesc_sse_3arg): Likewise.
-	(bdesc_2arg): Likewise.
-	(bdesc_1arg): Likewise.
-	(ix86_expand_sse_pcmpestr): Cast according to the coding conventions.
-	(ix86_expand_sse_pcmpistr): Likewise.
-	(ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0.
-	(ix86_builtin_vectorized_function): Change the type of fn to unsigned
-	int to match the langhook definition.
-	(ix86_builtin_conversion): Change the type of code to unsigned init to
-	match the langhook definition.
-	(ix86_preferred_reload_class): Avoid using C++ keywords as variable
-	names.
-	(ix86_preferred_output_reload_class): Likewise.
-	(ix86_cannot_change_mode_class): Likewise.
-	(ix86_memory_move_cost): Likewise.
-	(ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to
-	avoid excessive casting later on.
-	(x86_output_mi_thunk): Avoid using C++ keywords as variable names.
-
-2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm
-	as flags setting insn.
-	(sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn.
-
-2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove.
-	(UNSPEC_ROUND): New.
-	("sse4_1_round<mode>2"): New insn pattern.
-	("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for
-	SSE4.1 targets.
-	("floor<mode>2"): Rename from floordf2 and floorsf2.  Macroize
-	expander using SSEMODEF mode macro.  Expand using
-	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
-	("ceil<mode>2"): Rename from ceildf2 and ceilsf2.  Macroize
-	expander using SSEMODEF mode macro.  Expand using
-	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
-	("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2.  Macroize
-	expander using SSEMODEF mode macro.  Expand using
-	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
-	* config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use
-	UNSPEC_ROUND instead of UNSPEC_ROUNDP.
-	("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of
-	UNSPEC_ROUNDS.
-
-2007-06-06  Jan Sjodin  <jan.sjodin@amd.com>
-	    Sebastian Pop  <sebpop@gmail.com>
-
-	* lambda.h (build_linear_expr): New.
-	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression):
-	Use build_linear_expr, call fold and force_gimple_operand.
-	(lambda_loopnest_to_gcc_loopnest): Check that there is
-	something to insert.
-	* testsuite/gcc.dg/tree-ssa/ltrans-6.c: New.
-
-2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
-
-	PR preprocessor/23479
-	* doc/extend.texi: Document the 0b-prefixed binary integer
-	constant extension.
-
-2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/32215
-	* tree-vectorizer.c (supportable_widening_operation): Return false
-	for unsupported FIX_TRUNC_EXPR tree code.
-	(supportable_narrowing_operation): Ditto for FLOAT_EXPR tree code.
-
-2007-06-06  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch
-	register on SPE targets.  Change documentation to reflect
-	reality.
-	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
-	Change FIXED_SCRATCH to 14 and document why we're keeping r14
-	out of the register allocation pool.
-	(rs6000_reg_live_or_pic_offset_p): New function.
-	(rs6000_emit_prologue): Move the actual saving of LR up to free
-	r0 for holding r11.  Split saving of SPE 64-bit registers into
-	its own case.  Ensure that offsets will always be in-range for
-	'evstdd' by using r11 as a scratch register to point at the start
-	of the SPE save area.  Save r11 if necessary, as it is the static
-	chain register.
-	(rs6000_emit_epilogue): Split restoring of SPE 64-bit registers
-	into its own case.  Ensure that offsets will always be in-range
-	for 'evldd' by using r11 as a scratch register to point at the
-	start of the SPE save area.  Also adjust r11 when restoring
-	the stack pointer to compensate for pre-loading r11.
-
-2007-06-05  Thomas Neumann  <tneumann@users.sourceforge.net>
-
-	* cfg.c (init_flow): Use type safe memory macros.
-	(alloc_block): Likewise.
-	(unchecked_make_edge): Likewise.
-	(dump_flow_info): Avoid using C++ keywords as variable names.
-	(copy_original_table_clear): Cast according to the coding conventions.
-	(copy_original_table_set): Likewise.
-	* cfgexpand (label_rtx_for_bb): Likewise.
-	(expand_gimple_basic_block): Likewise.
-	* cfghooks.c (dump_bb): Likewise.
-	(lv_adjust_loop_header_phi): Avoid using C++ keywords as
-	variable names.
-	(lv_add_condition_to_bb): Likewise.
-	* cfglayout (relink_block_chain): Cast according to the coding
-	conventions.
-	(fixup_reorder_chain): Likewise.
-	(fixup_fallthru_exit_predecessor): Likewise.
-	* cfgloop.c (glb_enum_p): Likewise.
-	(get_exit_description): Likewise.
-	(dump_recorded_exit): Likewise.
-	* cfgloop.h (enum loop_estimation): Move out of struct scope...
-	(struct loop): ... from here.
-	* cfgloopmanip.c (rpe_enum_p): Cast according to the coding
-	conventions.
-	* cfgrtl.c (rtl_create_basic_block): Likewise.
-	(rtl_split_block): Likewise.
-	(rtl_dump_bb): Likewise.
-	(cfg_layout_split_block): Likewise.
-	(init_rtl_bb_info): Use typesafe memory macros.
-
-	* graphds.h (struct graph_edge): Renamed edge to graph_edge.
-	* graphds.h: Updated all usages of edge to graph_edge.
-	* graphds.c: Likewise.
-	* cfgloopanal.c: Likewise.
-
-2007-06-05  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
-	PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
-	(extract_range_from_assert): Set TREE_NO_WARNING when creating an
-	expression.
-	(test_for_singularity): Likewise.
-
-2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/constraints.md ("Y2"): Replaced by ...
-	("Yt"): This.
-	* config/i386/i386.md: Likewise.
-	* config/i386/mmx.md: Likewise.
-	* config/i386/sse.md: Likewise.
-
-2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/constraints.md ("z"): Replaced by ...
-	("Y0"): This.
-	* config/i386/sse.md (sse4_1_blendvpd): Likewise.
-	(sse4_1_blendvps): Likewise.
-	(sse4_1_pblendvb): Likewise.
-	(sse4_2_pcmpestr): Likewise.
-	(sse4_2_pcmpestrm): Likewise.
-	(sse4_2_pcmpestr_cconly): Likewise.
-	(sse4_2_pcmpistr): Likewise.
-	(sse4_2_pcmpistrm): Likewise.
-	(sse4_2_pcmpistr_cconly): Likewise.
-
-2007-06-05  Razya Ladelsky  <razya@il.ibm.com>
-
-	* matrix-reorg.c (transform_access_sites): Fix computation.
-	(transform_allocation_sites): Same.
-
-2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (override_options): Use
-	TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.
-
-2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/predicates.md (reg_not_xmm0_operand): New predicate.
-	(nonimm_not_xmm0_operand): Ditto.
-	* config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand"
-	as operand[0] and operand[1] predicate.  Use "nonimm_not_xmm0_operand"
-	as operand[2] predicate.  Require "z" class XMM register for
-	operand[3].  Adjust asm template.
-	("sse4_1_blendvpd"): Ditto.
-	("sse4_1_pblendvb"): Ditto.
- 	* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
-	force op2 into xmm0 register for variable blend instructions.
-
-2007-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* c-tree.h (start_enum): Update.
-	(build_enumerator): Likewise.
-	* c-decl.c (enum_next_value): Removed.
-	(enum_overflow): Likewise.
-	(start_enum): Add c_enum_contents argument.  Don't use globals.
-	(build_enumerator): Likewise.
-	* c-tree.h (struct c_enum_contents): New struct.
-
-2007-06-04  Tom Tromey  <tromey@redhat.com>
-
-	* c-common.c (c_common_get_alias_set): Fix indentation.
-
-2007-06-04  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (adjust_range_with_scev): When loop is not expected
-	to overflow, reduce overflow infinity to regular infinity.
-	(vrp_var_may_overflow): New static function.
-	(vrp_visit_phi_node): Check vrp_var_may_overflow.
-
-2007-06-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* stor-layout.c (layout_type): Remove duplicate code.
-
-2007-06-04  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR c/32191
-	* c-common.c (c_define_builtins): Call targetm.init_builtins ()
-	before build_common_builtin_nodes ().
-
-2007-06-04  Steve Ellcey  <sje@cup.hp.com>
-
-	PR target/31733
-	* cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.
-
-2007-06-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
-	reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
-	instead of _stat version.
-
-2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/32194
-	* tree-predcom.c (determine_offset): Check that both references have
-	the same type.
-
-2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
-	Change dom_bbs to vector.  Add argument to iterate_fix_dominators call.
-	* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
-	* tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
-	Add argument to iterate_fix_dominators call.
-	(remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
-	* gcse.c (hoist_code): Change domby to vector.
-	* cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
-	Add argument to iterate_fix_dominators call.
-	* loop-doloop.c (doloop_modify): Changed recount_dominator to
-	recompute_dominator.
-	* lambda-code.c (perfect_nestify): Ditto.
-	* cfgloopanal.c: Include graphds.h.
-	(struct edge, struct vertex, struct graph, dump_graph, new_graph,
-	add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
-	(mark_irreducible_loops): Use graphds_scc.  Remove argument from
-	add_edge call.
-	* graphds.c: New file.
-	* graphds.h: New file.
-	* dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
-	(get_dominated_by, get_dominated_by_region): Change return type to
-	vector.
-	(verify_dominators): Recompute all dominators and compare the results.
-	(recount_dominator): Renamed to ...
-	(recompute_dominator): ... this.  Do not check that the block is
-	dominated by entry.
-	(iterate_fix_dominators): Reimplemented.
-	(prune_bbs_to_update_dominators, root_of_dom_tree,
-	determine_dominators_for_sons): New functions.
-	* et-forest.c (et_root): New function.
-	* et-forest.h (et_root): Declare.
-	* Makefile.in (graphds.o): Add.
-	(cfgloopanal.o): Add graphds.h dependency.
-	(dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
-	* basic-block.h (get_dominated_by, get_dominated_by_region,
-	iterate_fix_dominators): Declaration changed.
-	(recount_dominator): Renamed to ...
-	(recompute_dominator): ... this.
-	* tree-ssa-threadupdate.c (thread_block): Free dominance info.
-	(thread_through_all_blocks): Do not free dominance info.
-
-2007-06-03  Andreas Schwab  <schwab@suse.de>
-
-	* config/m68k/m68k.c (override_options): Don't override
-	REAL_MODE_FORMAT.
-	* config/m68k/m68k-modes.def (SF, DF): Define to use
-	motorola_single_format and motorola_double_format, resp.
-	* real.c (motorola_single_format): Renamed from
-	coldfire_single_format.
-	(motorola_double_format): Renamed from coldfire_double_format.
-	(encode_ieee_extended): Generate a proper canonical NaN image
-	respecting canonical_nan_lsbs_set.
-	(ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
-	true.
-	* real.h: Adjust declarations.
-
-2007-06-03  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/32163
-	* config/sh/sh.md (symGOT_load): Don't schedule insns when
-	the symbol is generated with the stack protector.
-
-2007-06-03  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
-	(m68k_get_function_kind): Return m68k_fk_interrupt_handler on
-	"interrupt".
-	* doc/extend.texi (interrupt): Mention m68k.
-
-2007-06-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
-	safe_vector_operand() if input operand is VECTOR_MODE_P operand.
-	(ix86_expand_sse_pcmpestr): Do not check operands for
-	"register_operand", when insn operand predicate is "register_operand".
-	(ix86_expand_sse_pcmpistr): Ditto.
-
-2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
-	(SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
-	(REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
-	(REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
-	* config/i386/constraints.md ("z"): New register constraint
-	for members of SSE_FIRST_REG class.
-	* config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
-	* config/i386/i386.c (regclass_map): Change class of %xmm0 to
-	SSE_FIRST_REG class.
-	(put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
-	(ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
-	(IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
-	(IX86_BUILTIN_PCMPESTRM128): Likewise.
-	(IX86_BUILTIN_PCMPESTRA128): Likewise.
-	(IX86_BUILTIN_PCMPESTRC128): Likewise.
-	(IX86_BUILTIN_PCMPESTRO128): Likewise.
-	(IX86_BUILTIN_PCMPESTRS128): Likewise.
-	(IX86_BUILTIN_PCMPESTRZ128): Likewise.
-	(IX86_BUILTIN_PCMPISTRI128): Likewise.
-	(IX86_BUILTIN_PCMPISTRM128): Likewise.
-	(IX86_BUILTIN_PCMPISTRA128): Likewise.
-	(IX86_BUILTIN_PCMPISTRC128): Likewise.
-	(IX86_BUILTIN_PCMPISTRO128): Likewise.
-	(IX86_BUILTIN_PCMPISTRS128): Likewise.
-	(IX86_BUILTIN_PCMPISTRZ128): Likewise.
-	(struct builtin_description): Change "flag" field to unsigned.
-	(bdesc_pcmpestr): New builtin description table.
-	(bdesc_pcmpistr): Likewise.
-	(ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
-	v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
-	Initialize pcmp[ei]str[im] insns for SSE4.2.
-	(ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
-	(ix86_expand_sse_pcmpistr): Likewise.
-	(ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
-	* config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
-	(UNSPEC_PCMPISTR): Likewise.
-	* config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
-	(sse4_2_pcmpestri):New isns pattern.
-	(sse4_2_pcmpestrm): Likewise.
-	(sse4_2_pcmpestr_cconly): Likewise.
-	(sse4_2_pcmpistr): New insn patern and splitter.
-	(sse4_2_pcmpistri):New isns pattern.
-	(sse4_2_pcmpistrm): Likewise.
-	(sse4_2_pcmpistr_cconly): Likewise.
-	* config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
-	in SSE4.2.
-
-2007-06-01  David Daney  <ddaney@avtrex.com>
-
-	* config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
-	LOADGP_ABSOLUTE and not binds_local_p.
-
-2007-06-01  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.
-
-2007-06-01  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (compare_name_with_value): Always set
-	used_strict_overflow if we get a result from the variable itself.
-
-2007-06-01  Ian Lance Taylor  <iant@google.com>
-
-	PR rtl-optimization/31455
-	* lower-subreg.c (find_decomposable_subregs): Don't decompose
-	subregs which have a cast between modes which are not tieable.
-
-2007-06-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	* expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
-	breaks after return statements.
-
-2007-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
-	only after no_new_pseudos.
-
-2007-05-31  Eric Christopher  <echristo@apple.com>
-
-	* expr.c (convert_move): Assert that we don't have a BLKmode
-	operand.
-	(store_expr): Handle BLKmode moves by calling emit_block_move.
-
-2007-05-31  Daniel Berlin  <dberlin@dberlin.org>
-
-	* c-typeck.c (build_indirect_ref): Include type in error message.
-	(build_binary_op): Pass types to binary_op_error.
-	* c-common.c (binary_op_error): Take two type arguments, print out
-	types with error.
-	* c-common.h (binary_op_error): Update prototype.
-
-2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c: Correct coments on -mno-sse4.
-
-2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers.
-	(x86_64-*-*): Likewise.
-	* config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New.
-	(OPTION_MASK_ISA_3DNOW_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE2_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE3_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE4): Likewise.
-	(OPTION_MASK_ISA_SSE4_UNSET): Likewise.
-	(OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
-	(ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle SSE4.2.
-	(override_options): Support SSE4.2.
-	(ix86_build_const_vector): Support SImode and DImode.
-	(ix86_build_signbit_mask): Likewise.
-	(ix86_expand_int_vcond): Support V2DImode.
-	(IX86_BUILTIN_CRC32QI): New for SSE4.2.
-	(IX86_BUILTIN_CRC32HI): Likewise.
-	(IX86_BUILTIN_CRC32SI): Likewise.
-	(IX86_BUILTIN_CRC32DI): Likewise.
-	(IX86_BUILTIN_PCMPGTQ): Likewise.
-	(bdesc_crc32): Likewise.
-	(bdesc_sse_3arg): Likewise.
-	(ix86_expand_crc32): Likewise.
-	(ix86_init_mmx_sse_builtins): Support SSE4.2.
-	(ix86_expand_builtin): Likewise.
-	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
-	__SSE4_2__ for -msse4.2.
-	* config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2.
-	(CRC32MODE): Likewise.
-	(crc32modesuffix): Likewise.
-	(crc32modeconstraint): Likewise.
-	(sse4_2_crc32<mode>): Likewise.
-	(sse4_2_crc32di): Likewise.
-	* config/i386/i386.opt (msse4.2): New for SSE4.2.
-	(msse4): Likewise.
-	* config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file.
-	* config/i386/smmintrin.h: Add SSE4.2 intrinsics.
-	* config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2.
-	(vcond<mode>): Use SSEMODEI instead of SSEMODE124.
-	(vcondu<mode>): Likewise.
-	* doc/extend.texi: Document SSE4.2 built-in functions.
-	* doc/invoke.texi: Document -msse4.2/-msse4.
-
-2007-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/32160
-	* tree-predcom.c (predcom_tmp_var): New function.  Mark created
-	variable as gimple reg.
-	(initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var.
-
-2007-05-31  Kazu Hirata  <kazu@codesourcery.com>
-
-	* gcc.c (main): Don't consider linker options when issuing the
-	warning about a linker input file not being used.
-
-2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-	* tree-vrp.c (compare_names): Initialize sop.
-
-2007-05-30  Dirk Mueller  <dmueller@suse.de>
-
-	* cgraphunit.c (cgraph_analyze_function): Remove
-	computation of inline parameters.
-
-2007-05-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Undef before define.
-
-2007-05-30  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (arm-wrs-vxworks): Remove dbxelf.h from tm_file.
-	Add vx-common.h.  Include vxworks.h between vx-common.h and
-	arm/vxworks.h.
-	* config/vx-common.h (DWARF2_UNWIND_INFO): Undefine before
-	redefining.
-	* config/vxworks.h (TARGET_ASM_CONSTRUCTOR): Likewise.
-	(TARGET_ASM_DESTRUCTOR): Likewise.
-	* config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Check arm_arch_xscale
-	instead of arm_is_xscale.  Use VXWORKS_OS_CPP_BUILTINS.
-	(OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
-	(CC1_SPEC): Add -tstrongarm.  Line up backslashes.
-	(VXWORKS_ENDIAN_SPEC): Define.
-	(ASM_SPEC): Add VXWORKS_ENDIAN_SPEC.
-	(LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine to their
-	VXWORKS_* equivalents.
-	(LINK_SPEC): Likewise, but add VXWORKS_ENDIAN_SPEC.
-	(ASM_FILE_START): Delete.
-	(TARGET_VERSION): Reformat.
-	(FPUTYPE_DEFAULT, FUNCTION_PROFILER): Define.
-	(DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define.
-	* config/arm/t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Define.
-	(FPBIT, DPBIT): Define.
-	(fp-bit.c, dp-bit.c): New rules.
-	(MULTILIB_OPTIONS): Add strongarm, -mrtp and -mrtp/-fPIC multilibs.
-	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Define.
-	* config/arm/arm-protos.h (arm_emit_call_insn): Declare.
-	* config/arm/arm.h: Include vxworks-dummy.h.
-	* config/arm/arm.c (arm_elf_asm_constructor, arm_elf_asm_destructor):
-	Mark with ATTRIBUTE_UNUSED.
-	(arm_override_options): Do not allow VxWorks RTP PIC to be used
-	for Thumb.  Force r9 to be the PIC register for VxWorks RTPs and
-	make it incompatible with -msingle-pic-base.
-	(arm_function_ok_for_sibcall): Return false for calls that might
-	go through a VxWorks PIC PLT entry.
-	(require_pic_register): New function, split out from...
-	(legitimize_pic_address): ...here.  Do not use GOTOFF accesses
-	for VxWorks RTPs.
-	(arm_load_pic_register): Handle the VxWorks RTP initialization
-	sequence.  Use pic_reg as a shorthand for cfun->machine->pic_reg.
-	(arm_emit_call_insn): New function.
-	(arm_assemble_integer): Do not use GOTOFF accesses for VxWorks RTP.
-	* config/arm/arm.md (UNSPEC_PIC_OFFSET): New unspec number.
-	(pic_offset_arm): New pattern.
-	(call, call_value): Use arm_emit_call_insn.
-	(call_internal, call_value_internal): New expanders.
-	* config/arm/lib1funcs.asm (__PLT__): Define to empty for
-	VxWorks unless __PIC__.
-
-2007-05-30  Eric Christopher  <echristo@gmail.com>
-
-	* genrecog.c: Include regs.h in generated file.
-	* genemit.c: Ditto. Fix up formatting.
-	* config/mn10300/constraints.md: New.
-	* 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/mn10300.h (REG_CLASS_FROM_LETTER): Delete.
-	(CONST_OK_FOR_I): Ditto.
-	(CONST_OK_FOR_J): Ditto.
-	(CONST_OK_FOR_K): Ditto.
-	(CONST_OK_FOR_L): Ditto.
-	(CONST_OK_FOR_M): Ditto.
-	(CONST_OK_FOR_N): Ditto.
-	(CONST_DOUBLE_OK_FOR_LETTER_P): Ditto.
-	(OK_FOR_Q): Ditto.
-	(OK_FOR_R): Ditto.
-	(OK_FOR_T): Ditto.
-	(EXTRA_CONSTRAINT): Ditto.
-
-2007-05-30 Uros Bizjak <ubizjak@gmail.com>
-
-	* config/i386/i386.h (MASK_64BIT, MASK_MMX, MASK_3DNOW*, MASK_SSE*):
-	Remove defines.
-	* config/i386/biarch.h (TARGET_64BIT_DEFAULT): Define to
-	OPTION_MASK_ISA_64BIT.
-	* config/i386/i386.c: Rename MASK_* macros to OPTION_MASK_ISA_*.
-
-2007-05-30  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/32152
-	* gimplify.c (gimplify_omp_atomic_pipeline): Use correct
-	types for comparison.
-	* fold-const.c (fold_comparison): Call maybe_canonicalize_comparison
-	with original typed arguments.
-	* config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatches.
-
-2007-05-30  Jakub Jelinek  <jakub@redhat.com>
-
-	PR tree-optimization/31769
-	* except.c (duplicate_eh_regions): Clear prev_try if
-	ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
-
-2007-05-30  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-scalar-evolution.c (scev_const_prop): Do not create labels.
-	* tree-ssa-sink.c (statement_sink_location): Return basic block and
-	bsi of the location where statements should be inserted.
-	(sink_code_in_bb): Take bsi from statement_sink_location.
-	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use bsi_after_labels
-	instead of bsi_start.
-	* tree-profile.c (tree_gen_ic_func_profiler): Pass BSI_NEW_STMT to
-	bsi_insert_after.
-	* tree-cfg.c (bsi_move_after): Pass BSI_NEW_STMT to bsi_insert_after.
-	(bsi_move_before): Document inconsistency with bsi_move_after.
-	(tree_redirect_edge_and_branch): Do not create labels if not necessary.
-
-2007-05-30 Uros Bizjak <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TARGET_ABM): New define.
-	(TARGET_POPCNT): Ditto.
-	(TARGET_64BIT, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A, TARGET_SSE*):
-	New temporary defines to redefine from OPTION_ISA_* defines.
-	(MASK_64BIT, MASK_MMX, MASK_3DNOW, MASK_3DNOW_A, MASK_SSE*):
-	New temporary defines to redefine from OPTION_MASK_ISA_* defines.
-	(ix86_isa_flags): New extern int declaration.
-	(TARGET_SUBTARGET_DEFAULT): New define.
-	(TARGET_SUBTARGET_ISA_DEFAULT): Ditto.
-	(TARGET_SUBTARGET32_DEFAULT): Ditto.
-	(TARGET_SUBTARGET32_ISA_DEFAULT): Ditto.
-	(TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
-	* config/i386/unix.h: Undef TARGET_SUBTARGET_DEFAULT before define.
-	* config/i386/darwin.h: Change TARGET_64BIT define to
-	OPTION_ISA_64BIT.
-
-	* config/i386/i386.opt (m3dnowa): Define as undocumented option
-	using existing "ix86_isa_flags" varible.
-	(m32, m64): Use existing "ix86_isa_flags" variable.
-	(mmmx, m3dnow): Ditto.
-	(msse, msse2, msse3, mssse3, msse4.1, msse4a): Ditto.
-	(mabm): Define as non-negative option using "x86_abm" variable.
-	(mpopcnt): Define as non-negative option using "x86_popcnt" variable.
-
-	* config/i386/i386.c (ix86_arch_features) [X86_ARCH_CMOVE]:
-	Rewrite feature test bitmap.
-	(ix86_isa_flags): New initialized global int varible.
-	(ix86_isa_flags_explicit): New static int variable.
-	(ix86_handle_option): Set "ix86_isa_flags_explicit" when mmmx, m3dnow,
-	msse, msse2, msse3, msse4.1 and msse4a option is processed.  Change
-	i86_isa_flags and ix86_isa_flags_explicit, not target_flags and
-	target_flags_explicit.
-	(override_options): Remove "target_enable" and "target_disable" fields
-	from "struct ptt". Update processor_target_table accordingly. Remove
-	PTA_PREFETCH_SSE from processor_alias_table entry if PTE_SSE is
-	defined and rearrange PTA_* bits.  Use "ix86_isa_flags" instead of
-	"target_flags" and "ix86_isa_flags_explicit" instead of
-	"target_flags_explicit" when masked with MASK_64BIT, MASK_MMX,
-	MASK_3DNOW, MASK_3DNOW_A or MASK_SSE*.  Set "x86_abm" to true when
-	PTA_ABM is set in processor_alias_table flags entry.  Set "x86_popcnt"
-	to true when either of PTA_POPCNT or PTA_ABM is set in
-	processor_alias_table flags entry.  Set "x86_prefetch_sse" to true
-	when either of PTA_PREFETCH_SSE or PTA_SSE is set in
-	processor_alias_table flags entry.  Remove handling of
-	"target_enable" and "target_disable" fields of processor_target_table.
-	Mask "target_flags" with TARGET_SUBTARGET32_DEFAULT for 32-bit
-	targets or with TARGET_SUBTARGET64_DEFAULT for 64-bit targets.
-	Mask "ix86_isa_flags" with TARGET_SUBTARGET32_ISA_DEFAULT for 32-bit
-	targets or with TARGET_SUBTARGET64_ISA_DEFAULT for 64-bit targets.
-	(def_builtin): Mask "mask" variable with "ix86_isa_flags", not
-	"target_flags".
-	(TARGET_DEFAULT_TARGET_FLAGS): Do not include TARGET_64BIT_DEFAULT.
-
-2007-05-29  David Daney  <ddaney@avtrex.com>
-
-	PR gcc/31975
-	* config/mips/mips.c (mips_output_mi_thunk): Emit
-	NOTE_INSN_PROLOGUE_END at beginning of the thunk.
-
-2007-05-29  Hui-May Chang  <hm.chang@apple.com>
-	* config/i386/i386.c (ix86_function_regparm): Added checking of
-	ix86_force_align_arg_pointer to determine the number of
-	register parameters.
-
-2007-05-29  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer.
-	(SET_DR_MISALIGNMENT): New.
-	* tree-vect-analyze.c (vect_compute_data_ref_alignment,
-	vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment):
-	Use SET_DR_MISALIGNMENT.
-	* tree-predcom.c (split_data_refs_to_components): Cast dr->aux from
-	pointer.
-	* tree-data-ref.c (create_data_ref, compute_all_dependences,
-	find_loop_nest): Export.
-	* tree-data-ref.h (struct data_reference): Change aux field to pointer.
-	(create_data_ref, compute_all_dependences, find_loop_nest): Declare.
-	* tree-ssa-loop-prefetch.c: Include tree-data-ref.h.
-	(L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION):
-	New macros.
-	(struct mem_ref): Add field reuse_distance.
-	(find_or_create_group, record_ref): Use XNEW instead of xcalloc.
-	Initialize reuse_distance field.
-	(issue_prefetch_ref): Select temporality of prefetch according to
-	reuse_distance.
-	(volume_of_references, volume_of_dist_vector, add_subscript_strides,
-	self_reuse_distance, determine_loop_nest_reuse): New functions.
-	(loop_prefetch_arrays): Call determine_loop_nest_reuse.
-	(tree_ssa_prefetch_arrays): Dump L2 cache size.
-	* Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H
-	dependency.
-
-2007-05-29  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-alias.c: Add aliasing overview.
-
-2007-05-29  Zuxy Meng  <zuxy.meng@gmail.com>
-	    Danny Smith  <dannysmith@users.sourceforge.net>
-
-	PR target/29498
-	* config/i386/t-crtfm: Compile crtfastmath.o with
-	-minline-all-stringops.
-	* config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
-	* config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
-
-2007-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* doc/md.texi: Document constraints on HP PA-RISC.
-
-	* pa/constraints.md: New file.
-	* pa.md: Include constraints.md.
-	* pa.c (cint_ok_for_move): Avoid using CONST_OK_FOR_LETTER_P.
-	(integer_store_memory_operand, ldil_cint_p): New functions.
-	* pa-protos.h (integer_store_memory_operand, ldil_cint_p): Declare.
-	* pa.h (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
-	IS_RELOADING_PSEUDO_P, EXTRA_CONSTRAINT): Remove.
-	* pa32-regs.h (REG_CLASS_FROM_LETTER): Remove.
-	* pa64-regs.h (REG_CLASS_FROM_LETTER): Remove.
-
-2007-05-28  Andrew Pinski  <Andrew_pinski@playstation.sony.com>
-
-	PR c/31339
-	* c-typeck.c (build_unary_op <case PREINCREMENT_EXPR,
-	case POSTINCREMENT_EXPR, case PREDECREMENT_EXPR,
-	case POSTDECREMENT_EXPR>): Return the error_mark_node
-	if either the real or imaginary parts would an
-	error_mark_node.
-
-2007-05-28  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA
-	name when we remove it from a call.
-
-2007-05-28  Kazu Hirata  <kazu@codesourcery.com>
-
-	* targhooks.c (default_narrow_bitfield): Remove.
-	* targhooks.h: Remove the prototype for
-	default_narrow_bitfield.
-
-	* langhooks-def.h: Remove the prototype for
-	hook_get_alias_set_0.
-	* langhooks.c (hook_get_alias_set_0): Remove.
-
-	* global.c (EXECUTE_IF_CONFLICT): Remove.
-
-2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32100
-	* fold-const.c (tree_expr_nonnegative_warnv_p): Don't
-	return true when truth_value_p is true and the type
-	is of signed:1.
-
-2007-05-28  Gerald Pfeifer  <gerald@pfeifer.com>
-
-	* doc/install.texi (Prerequisites): We no longer require Autoconf
-	2.13 for the top-level.
-
-2007-05-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
-	memory access via x86_expand_vector_move_misalign() only for
-	TImode values on 32-bit targets.
-
-2007-05-28  Razya Ladelsky  <razya@il.ibm.com>
-
-	* matrix-reorg.c: New file. Implement matrix flattening and
-	transposing optimization.
-	* tree-pass.h: Add matrix reorg pass.
-	* common.opt: Add fipa-mreorg flag.
-	* Makefile.in: Add matrix-reorg.c.
-	* passes.c: Add matrix reorg pass.
-	* varpool.c (add_new_static_var): New function.
-	* cgraph.h (add_new_static_var): Declare.
-
-2007-05-27  Eric Christopher  <echristo@apple.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update
-	sp_offset depending on stack size. Save r12 depending
-	on registers we're saving later.
-	(rs6000_emit_epilogue): Update sp_offset depending only
-	on stack size.
-
-2007-05-27  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
-	* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
-	* ifcvt.c (if_convert): Ditto.
-	* tree-ssa-threadupdate.c (thread_block): Ditto.
-	(thread_through_all_blocks): Ditto.  Assert that loops were analysed.
-	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
-	verify_loop_closed_ssa): Check number_of_loops instead of
-	current_loops.
-	* predict.c (tree_estimate_probability): Ditto.
-	* tree-if-conv.c (main_tree_if_conversion): Ditto.
-	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
-	* modulo-sched.c (sms_schedule): Ditto.
-	* tree-scalar-evolution.c (scev_const_prop): Ditto.
-	(scev_finalize): Do not do anything if scev analysis was not
-	initialized.
-	* cfgloopanal.c (mark_irreducible_loops): Do not check whether
-	current_loops == NULL.
-	(mark_loop_exit_edges): Check number_of_loops instead of current_loops.
-	* loop-init.c (loop_optimizer_init): Do not free current_loops when
-	there are no loops.
-	(loop_optimizer_finalize): Assert that loops were analyzed.
-	(rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops,
-	rtl_doloop): Check number_of_loops instead of current_loops.
-	* tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether
-	current_loops == NULL.
-	(tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch,
-	gate_tree_vectorize tree_linear_transform, check_data_deps,
-	tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
-	tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts):
-	Check number_of_loops instead of current_loops.
-	(tree_ssa_loop_done): Do not check whether current_loops == NULL.
-	* tree-ssa-pre.c (fini_pre): Do not take do_fre argument.  Always
-	free loops if available.
-	(execute_pre): Do not pass do_fre to fini_pre.
-
-2007-05-27  Tobias Burnus  <burnus@net-b.de>
-
-	PR middle-end/32083
-	* real.c (mpfr_from_real): Fix sign of -Inf.
-
-2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* tree-vect-transform.c (vectorizable_conversion): Initialize
-	tree_code variables to ERROR_MARK.
-	(vectorizable_type_demotion): Likewise.
-	(vectorizable_type_promotion): Likewise.
-
-2007-05-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32065
-	* config/i386/i386.md (movti): Handle push operands via
-	ix86_expand_push().
-
-2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
-
-	* basic-block.h: Remove the prototype for merge_seq_blocks.
-	* cfgcleanup.c (merge_seq_blocks): Remove.
-
-	* tree-flow.h: Remove the prototype for is_aliased_with.
-	* tree-ssa-alias.c (is_aliased_with): Remove.
-
-2007-05-26  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386-protos.h (ix86_expand_sse4_unpack): New.
-
-	* config/i386/i386.c (ix86_expand_sse4_unpack): New.
-
-	* config/i386/sse.md (vec_unpacku_hi_v16qi): Call
-	ix86_expand_sse4_unpack if SSE4.1 is enabled.
-	(vec_unpacks_hi_v16qi): Likewise.
-	(vec_unpacku_lo_v16qi): Likewise.
-	(vec_unpacks_lo_v16qi): Likewise.
-	(vec_unpacku_hi_v8hi): Likewise.
-	(vec_unpacks_hi_v8hi): Likewise.
-	(vec_unpacku_lo_v8hi): Likewise.
-	(vec_unpacks_lo_v8hi): Likewise.
-	(vec_unpacku_hi_v4si): Likewise.
-	(vec_unpacks_hi_v4si): Likewise.
-	(vec_unpacku_lo_v4si): Likewise.
-	(vec_unpacks_lo_v4si): Likewise.
-
-2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
-
-	* c-typeck.c, config/arm/arm.c, config/darwin.c,
-	config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c,
-	omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and
-	follow spelling conventions in various
-	warning/error/diagnostic messages.
-
-	* config/i386/i386.c, config/pa/pa.c, config/spu/spu.c,
-	df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h,
-	fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h,
-	tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c,
-	tree-vrp.c: Fix comment typos.  Follow spelling conventions.
-	* doc/tm.texi: Follow spelling conventions.
-
-2007-05-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR tree-opt/32090
-	* tree-ssa-forwprop.c
-	(forward_propagate_addr_into_variable_array_index): Remove
-	the lhs argument.  Use the type of def_rhs instead of lhs.
-	(forward_propagate_addr_expr_1): Update use of
-	forward_propagate_addr_into_variable_array_index.
-
-2007-05-25  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips.c (mips_attribute_table): Add "near" and "far"
-	function attributes, "far" being an alias for "long_call".
-	(TARGET_COMP_TYPE_ATTRIBUTES): Define as mips_comp_type_attributes.
-	(mips_near_type_p, mips_far_type_p): New.
-	(mips_comp_type_attributes): New function to check that attributes
-	attached to a function type are compatible.
-	(mips_output_mi_thunk): Test SYMBOL_REF_LONG_CALL_P() rather than
-	TARGET_LONG_CALLS when deciding	whether we can do a direct sibcall
-	to the target function of the thunk.
-	(mips_encode_section_info): Check for "near" and "far" function
-	attributes, and always set the SYMBOL_FLAG_LONG_CALL bit explicitly.
-
-	* config/mips/predicates.md (const_call_insn_operand): Test only
-	SYMBOL_REF_LONG_CALL_P() and not TARGET_LONG_CALLS.
-
-	* 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.
-
-2007-05-25  Eric Christopher  <echristo@apple.com>
-
-	* config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
-	to x86-darwin configurations.
-	* config/i386/t-darwin: Add softfp support.
-	* config/i386/t-darwin64: Ditto.
-	* config/i386/sfp-machine.h: If mach then don't use
-	aliasing, emit a stub to call.
-
-2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
-
-	* cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
-	haifa-sched.c, optabs.h, tree-affine.c, tree-data-ref.c,
-	tree-predcom.c, tree-ssa-alias-warnings.c,
-	tree-ssa-forwprop.c, tree-vect-analyze.c, tree-vrp.c: Fix
-	comment typos.  Follow spelling conventions.
-	* doc/cpp.texi, doc/invoke.texi: Fix typos.
-
-2007-05-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/32065
-	* target/i386/i386.c (ix86_expand_vector_move): Force SUBREGs of
-	constants into memory.  Expand unaligned memory references for
-	SSE modes via x86_expand_vector_move_misalign() function.
-
-2007-05-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
-	"memory" attribute for "sseishft" type insn without operands[2].
-
-2007-05-25  Dirk Mueller  <dmueller@suse.de>
-	    Marcus Meissner <meissner@suse.de>
-
-	* doc/extend.texi (alloc_size): New attribute.
-	* c-common.c (handle_alloc_size_attribute): New.
-	* tree-object-size.c (alloc_object_size): Use alloc_size
-	attribute, if available.
-
-2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
-	with MASK_SSE2.
-	(__builtin_ia32_vec_ext_v2di): Likewise.
-	(__builtin_ia32_vec_ext_v4si): Likewise.
-	(__builtin_ia32_vec_ext_v8hi): Likewise.
-	(__builtin_ia32_vec_ext_v16qi): Likewise.
-	(__builtin_ia32_vec_set_v8hi): Likewise.
-
-2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
-
-2007-05-25  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/arm/arm-protos.h (arm_encode_call_attribute): Delete.
-	(arm_is_longcall_p): Rename to...
-	(arm_is_long_call_p): ...this.  Take a single tree argument and
-	return a bool.
-	* config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete.
-	(CUMULATIVE_ARGS): Remove call_cookie.
-	(SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P)
-	(ENCODED_LONG_CALL_ATTR_P): Delete.
-	(ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and
-	LONG_CALL_FLAG_CHAR cases.
-	(ARM_DECLARE_FUNCTION_SIZE): Delete.
-	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use
-	ARM_DECLARE_FUNCTION_SIZE.
-	* config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie.
-	(arm_function_arg): Return const0_rtx for VOIDmode arguments.
-	(arm_encode_call_attribute, current_file_function_operand): Delete.
-	(arm_function_in_section_p): New function.
-	(arm_is_longcall_p): Rename to...
-	(arm_is_long_call_p): ...this.  Take the target function as a single
-	argument and return a bool.  Do not rely on call cookies.  Check
-	whether the target symbol is in the same section as the current
-	function, not just the same compilation unit.
-	(arm_function_ok_for_sibcall): Use arm_is_long_call_p.
-	(arm_encode_section_info): Don't encode a call type.
-	* config/arm/arm.md (call, call_value): Update calls to
-	arm_is_long(_)call_p.  Simplify logic.
-	(*call_symbol, *call_value_symbol, *call_insn, *call_value_insn):
-	Update calls to arm_is_long(_)call_p.
-
-2007-05-25  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31982
-	* tree-ssa-forwprop.c
-	(forward_propagate_addr_into_variable_array_index): Handle arrays
-	with element size one.
-
-2007-05-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
-	(umulsi3_highpart): Likewise.
-
-2007-05-24  Ian Lance Taylor  <iant@google.com>
-
-	PR rtl-optimization/32069
-	* regclass.c (regclass): Don't crash if the entry in regno_reg_rtx
-	is NULL.
-
-2007-05-24  Ollie Wild  <aaw@google.com>
-
-	* doc/cpp.texi (Common Predefined Macros): Add __COUNTER__
-	description.
-
-2007-05-24  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* postreload-gcse.c (reg_changed_after_insn_p): New function.
-	(oprs_unchanged_p): Use it to check all registers in a REG.
-	(record_opr_changes): Look for clobbers in CALL_INSN_FUNCTION_USAGE.
-	(reg_set_between_after_reload_p): Delete.
-	(reg_used_between_after_reload_p): Likewise.
-	(reg_set_or_used_since_bb_start): Likewise.
-	(eliminate_partially_redundant_load): Use reg_changed_after_insn_p
-	and reg_used_between_p instead of reg_set_or_used_since_bb_start.
-	Use reg_set_between_p instead of reg_set_between_after_reload_p.
-	* rtlanal.c (reg_set_p): Check whether REG overlaps
-	regs_invalidated_by_call, rather than just checking the
-	membership of REGNO (REG).
-
-2007-05-24  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* doc/passes.texi: Document predictive commoning.
-	* doc/invoke.texi (-fpredictive-commoning): Document.
-	* opts.c (decode_options): Enable flag_predictive_commoning on -O3.
-	* tree-ssa-loop-im.c (get_lsm_tmp_name): Export.  Allow
-	adding indices to the generated name.
-	(schedule_sm): Pass 0 to get_lsm_tmp_name.
-	* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export.
-	* tree-pretty-print.c (op_symbol_1): Renamed to ...
-	(op_symbol_code): ... and exported.
-	(dump_omp_clause, op_symbol): Use op_symbol_code
-	instead of op_symbol_1.
-	* tree-pass.h (pass_predcom): Declare.
-	* timevar.def (TV_PREDCOM): New timevar.
-	* tree-ssa-loop.c (run_tree_predictive_commoning,
-	gate_tree_predictive_commoning, pass_predcom): New.
-	* tree-data-ref.c (find_data_references_in_loop): Find the
-	references in dominance order.
-	(canonicalize_base_object_address): Ensure that the result has
-	pointer type.
-	(dr_analyze_innermost): Export.
-	(create_data_ref): Code to fail for references with invariant
-	address moved ...
-	(find_data_references_in_stmt): ... here.
-	* tree-data-ref.h (dr_analyze_innermost): Declare.
-	* tree-affine.c: Include tree-gimple.h and hashtab.h.
-	(aff_combination_find_elt, name_expansion_hash,
-	name_expansion_eq, tree_to_aff_combination_expand,
-	double_int_constant_multiple_p, aff_combination_constant_multiple_p):
-	New functions.
-	* tree-affine.h (aff_combination_constant_multiple_p,
-	tree_to_aff_combination_expand): Declare.
-	* tree-predcom.c: New file.
-	* common.opt (fpredictive-commoning): New option.
-	* tree-flow.h (op_symbol_code, tree_predictive_commoning,
-	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
-	copy propagation in loop optimizer.  Add predictive commoning
-	to loop optimizer passes.
-
-2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct
-	default hook.
-
-2007-05-24  Jan Hubicka  <jh@suse.cz>
-
-	* gengenrtl.c (gendecl, gendef): Output the gens annotated for
-	statistics.
-	(genheader): Include statistics.h.
-
-	* doc/invoke.texi (-fdump-unnumbered): Update docs when line number
-	notes are gone.
-	* print-rtl.c (flag_dump_unnumbered): Update comments.
-	(print_rtl): Fix my previous change.
-	* emit-rtl.c (emit_note_before, emit_note_after): Clear out note
-	specific data.
-
-2007-05-24  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR middle-end/32018
-	* tree-ssa-threadupdate.c (thread_through_loop_header): Use
-	set_loop_copy.
-	(thread_through_all_blocks): Call initialize_original_copy_tables
-	and free_original_copy_tables.
-	* cfgloopmanip.c (duplicate_loop, duplicate_loop_to_header_edge):
-	Use set_loop_copy.
-	* tree-cfg.c (tree_duplicate_sese_region): Ditto.
-	* cfghooks.c (duplicate_block): Use get_loop_copy.
-	* cfg.c: Include cfgloop.h.
-	(loop_copy): New hash table.
-	(initialize_original_copy_tables): Initialize loop_copy table.
-	(free_original_copy_tables): Free loop_copy table.
-	(copy_original_table_clear, copy_original_table_set,
-	set_loop_copy, get_loop_copy): New functions.
-	(set_bb_original, set_bb_copy): Use copy_original_table_set.
-	* cfgloop.h (struct loop): Remove copy field.
-	* Makefile.in (cfg.o): Add CFGLOOP_H dependency.
-	* basic-block.h (set_loop_copy, get_loop_copy): Declare.
-
-2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for
-	-msse/-msse2/-msse3.
-
-2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark
-	__builtin_ia32_vec_set_v2di with MASK_64BIT.
-
-2007-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	PR target/27067
-	* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
-	* targhooks.h (default_mangle_decl_assembler_name): Declare
-	default hook.
-	* targhooks.c (default_mangle_decl_assembler_name): Define
-	default hook.
-	* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
-	default hook.
-	* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
-	* langhooks.c (lhd_set_decl_assembler_name): Call
-	targetm.mangle_decl_assembler_name for names with global scope.
-
-	* config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override
-	default.
-	(ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME.
-	* config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name):
-	Declare.
-	* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
-	New. Factored out of i386_pe_encode_section_info.
-	(gen_stdcall_or_fastcall_suffix): Get name identifier as argument.
-	Move check for prior decoration of stdcall
-	symbols to i386_pe_encode_section_info.
-	(i386_pe_encode_section_info): Adjust call to
-	gen_stdcall_or_fastcall_suffix.  Use
-	i386_pe_maybe_mangle_decl_assembler_name, if needed.
-	(i386_pe_mangle_decl_assembler_name): New. Wrap
-	i386_pe_maybe_mangle_decl_assembler_name.
-
-2007-05-16  Rafael Avila de Espindola  <espindola@google.com>
-
-	* c-common.c (c_common_signed_or_unsigned_type): Delay the check for
-	INTEGRAL_TYPE_P and TYPE_UNSIGNED.
-	* langhooks.c (get_signed_or_unsigned_type): Don't check for
-	INTEGRAL_TYPE_P or TYPE_UNSIGNED.
-	(lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and
-	TYPE_UNSIGNED.
-
-2007-05-23  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	Fix up MIPS16 hard float and add support for complex.
-
-	* config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New.
-	(TARGET_SOFT_FLOAT_ABI): New.
-	(TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and
-	__mips_soft_float to reflect the ABI in use, not whether the
-	FPU is directly accessible (e.g., in MIPS16 mode).
-	(UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI.
-	(UNITS_PER_FPVALUE): Likewise.
-
-	* config/mips/mips.c (mips_expand_call): Remove redundant
-	TARGET_MIPS16 check.
-	(mips_arg_regno): New.
-	(function_arg_advance): When setting bits in cum->fp_code for
-	MIPS16, don't subtract 1 from cum->arg_number, since it is now
-	zero-based.
-	(function_arg): Use mips_arg_regno.
-	(mips_return_mode_in_fpr_p): New.
-	(mips16_call_stub_mode_suffix): New.
-	(mips16_cfun_returns_in_fpr_p): New.
-	(mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p.
-	(mips_output_function_prologue): Test mips16_hard_float, not
-	!TARGET_SOFT_FLOAT, to decide when a function stub is required.
-	(mips_expand_epilogue): Call MIPS16 helper routines to copy
-	return value into a floating-point register.
-	(mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p.
-	(mips_function_value): Rewrite to use mips_return_mode_in_fpr_p.
-	(mips16_fp_args): Handle MIPS32r2 ISA which supports
-	TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant
-	word of double arguments from or to the high bits of 64-bit
-	floating point registers.
-	(build_mips16_function_stub): Fill in DECL_RESULT for stubdecl.
-	(mips16_fpret_double): New helper function.
-	(build_mips16_call_stub): Use mips16_return_mode_in_fpr_p.  Add
-	support for complex modes.  Fill in DECL_RESULT for stubdecl.
-	(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
-
-	* config/mips/mips16.S
-	(RET, ARG1, ARG2): New.
-	(MERGE_GPRf, MERGE_GPRt): New.
-	(DELAYt, DELAYf): New.
-	(MOVE_SF_BYTE0, MOVE_SI_BYTE0): New.
-	(MOVE_SF_BYTE4, MOVE_SF_BYTE8): New.
-	(MOVE_DF_BYTE0, MOVE_DF_BYTE8): New.
-	(MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New.
-	(SFOP): Renamed to...
-	(OPSF3): This, and macro-ified.  Updated all uses.
-	(SFOP2): Renamed to...
-	(OPSF2): This, and macro-ified.  Updated all uses.
-	(SFCMP): Renamed to...
-	(CMPSF): This, and macro-ified.  Updated all uses.
-	(SFREVCMP): Renamed to...
-	(REVCMPSF): This, and macro-ified.  Updated all uses.
-	(__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified.
-	(LDDBL1, LDDBL2, RETDBL): Deleted.
-	(DFOP): Renamed to...
-	(OPDF3): This, and macro-ified.  Updated all uses.
-	(DFOP2): Renamed to...
-	(OPDF2): This, and macro-ified.  Updated all uses.
-	(__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified.
-	(DFCMP): Renamed to...
-	(CMPDF): This, and macro-ified.  Updated all uses.
-	(DFREVCMP): Renamed to...
-	(REVCMPDF): This, and macro-ified.  Updated all uses.
-	(__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified.
-	(RET_FUNCTION): New.
-	(__mips16_ret_sf, __mips16_ret_df): Macro-ified.
-	(__mips16_ret_sc, __mips16_ret_dc): New.
-	(STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2,
-	STUB_ARGS_6, STUB_ARGS_10): New.
-	(CALL_STUB_NO_RET): New.
-	(__mips16_call_stub_1): Macro-ified.
-	(__mips16_call_stub_5): Macro-ified.
-	(__mips16_call_stub_2): Macro-ified.
-	(__mips16_call_stub_6): Macro-ified.
-	(__mips16_call_stub_9): Macro-ified.
-	(__mips16_call_stub_10): Macro-ified.
-	(CALL_STUB_RET): New.
-	(__mips16_call_stub_sf_0): Macro-ified.
-	(__mips16_call_stub_sf_1): Macro-ified.
-	(__mips16_call_stub_sf_5): Macro-ified.
-	(__mips16_call_stub_sf_2): Macro-ified.
-	(__mips16_call_stub_sf_6): Macro-ified.
-	(__mips16_call_stub_sf_9): Macro-ified.
-	(__mips16_call_stub_sf_10): Macro-ified.
-	(__mips16_call_stub_df_0): Macro-ified.
-	(__mips16_call_stub_df_1): Macro-ified.
-	(__mips16_call_stub_df_5): Macro-ified.
-	(__mips16_call_stub_df_2): Macro-ified.
-	(__mips16_call_stub_df_6): Macro-ified.
-	(__mips16_call_stub_df_9): Macro-ified.
-	(__mips16_call_stub_df_10): Macro-ified.
-	(__mips16_call_stub_sc_0): New.
-	(__mips16_call_stub_sc_1): New.
-	(__mips16_call_stub_sc_5): New.
-	(__mips16_call_stub_sc_2): New.
-	(__mips16_call_stub_sc_6): New.
-	(__mips16_call_stub_sc_9): New.
-	(__mips16_call_stub_sc_10): New.
-	(__mips16_call_stub_dc_0): New.
-	(__mips16_call_stub_dc_1): New.
-	(__mips16_call_stub_dc_5): New.
-	(__mips16_call_stub_dc_2): New.
-	(__mips16_call_stub_dc_6): New.
-	(__mips16_call_stub_dc_9): New.
-	(__mips16_call_stub_dc_10): New.
-
-	* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
-	* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
-	* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
-
-2007-05-23  Ian Lance Taylor  <iant@google.com>
-
-	* doc/invoke.texi (Invoking GCC): Document that the order of the
-	-l option matters.
-
-2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
-
-	PR target/30987
-	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): Remove.
-	* config/score/predicate.md (const_pow2, const_npow2): Remove.
-	* config/score/score.h (ASM_OUTPUT_EXTERNAL): Add ASM_OUTPUT_EXTERNAL
-	undef.
-
-	PR target/30474
-	* config/score/score.c (score_print_operand): Make sure that only
-	lower bits are used.
-
-2007-05-22  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (avoid_overflow_infinity): New static function,
-	broken out of set_value_range_to_value.
-	(set_value_range_to_value): Call avoid_overflow_infinity.
-	(extract_range_from_assert): Likewise.
-
-2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/31095
-	 * builtins.c (expand_builtin_memmove_args): Strip nops that don't
-	change the type before looking for a COMPOUND_EXPR.
-
-2007-05-22  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (decompose_multiword_subregs): If we change an
-	insn, call remove_retval_note on it.
-
-2007-05-22  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* regs.h (end_hard_regno): New function.
-	(END_HARD_REGNO, END_REGNO): New macros.
-	(add_to_hard_reg_set): New function.
-	(remove_from_hard_reg_set): Likewise.
-	(in_hard_reg_set_p): Likewise.
-	(overlaps_hard_reg_set_p): Likewise.
-	* bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p.
-	(note_btr_set): Use END_HARD_REGNO.
-	* caller-save.c (setup_save_areas): Use end_hard_regno.
-	(mark_set_regs): Use END_HARD_REGNO.
-	(add_stored_regs): Use end_hard_regno.
-	(mark_referenced_regs): Use add_to_hard_reg_set.
-	* combine.c (update_table_tick): Use END_REGNO.
-	(record_value_for_reg): Likewise.
-	(record_dead_and_set_regs): Likewise.
-	(get_last_value_validate): Likewise.
-	(use_crosses_set_p): Likewise.
-	(reg_dead_at_p_1): Likewise.
-	(reg_dead_at_p): Likewise.
-	(mark_used_regs_combine): Use add_to_hard_reg_set.
-	(move_deaths): Use END_HARD_REGNO.
-	(reg_bitfield_target_p): Use end_hard_regno.
-	(distribute_notes): Use END_HARD_REGNO.
-	* cse.c (mention_regs): Use END_REGNO.
-	(insert): Use add_to_hard_reg_set.
-	(invalidate): Use END_HARD_REGNO.
-	(invalidate_for_call): Likewise.
-	(exp_equiv_p): Use END_REGNO.
-	(cse_insn): Likewise.
-	* cselib.c (cselib_invalidate_regno): Use end_hard_regno.
-	* df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO.
-	* df-scan.c (df_ref_record): Use END_HARD_REGNO.
-	* function.c (keep_stack_depressed): Use end_hard_regno.
-	* global.c (global_alloc): Use end_hard_regno.
-	(global_conflicts): Use add_to_hard_reg_set instead of
-	mark_reg_live_nc.
-	(find_reg): Likewise.
-	(mark_reg_store): Likewise.
-	(mark_reg_conflicts): Likewise.
-	(mark_reg_death): Use remove_from_hard_reg_set.
-	(mark_reg_live_nc): Delete.
-	(set_preference): Use end_hard_regno.
-	* local-alloc.c (mark_life): Use add_to_hard_reg_set and
-	remove_from_hard_reg_set.
-	(post_mark_life): Use add_to_hard_reg_set.
-	* mode-switching.c (reg_dies): Use remove_from_hard_reg_set.
-	(reg_becomes_live): Use add_to_hard_reg_set.
-	* recog.c (reg_fits_class_p): Use in_hard_reg_set_p.
-	(peep2_find_free_register): Use add_to_hard_reg_set.
-	* reg-stack.c (convert_regs_exit): Use END_HARD_REGNO.
-	* regclass.c (record_reg_classes): Use in_hard_reg_set_p.
-	* regrename.c (note_sets): Use add_to_hard_reg_set.
-	(clear_dead_regs): Use remove_from_hard_reg_set.
-	(regrename_optimize): Use add_to_hard_reg_set.
-	(find_oldest_value_reg): Use in_hard_reg_set_p.
-	* reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno.
-	(hard_reg_set_here_p): Use end_hard_regno.
-	(decompose): Likewise.
-	(reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO.
-	(find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno.
-	* reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set.
-	(mark_home_live): Use end_hard_regno.
-	(spill_hard_reg): Likewise.
-	(clear_reload_reg_in_use): Likewise.
-	* reorg.c (delete_prior_computation): Use END_REGNO.
-	* resource.c (update_live_status): Use END_HARD_REGNO.
-	(mark_referenced_resources): Use add_to_hard_reg_set.
-	(mark_set_resources): Likewise.
-	(mark_target_live_regs): Likewise.  Use remove_from_hard_reg_set.
-	* rtlanal.c (refers_to_regno_p): Use END_REGNO.
-	(reg_overlap_mentioned_p): Likewise.
-	(dead_or_set_p): Likewise.  Use an exclusive upper loop bound.
-	(covers_regno_no_parallel_p): Use END_REGNO.
-	(find_regno_note): Likewise.
-	(find_reg_fusage): Use END_HARD_REGNO.
-	* stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p.
-	* var-tracking.c (emit_note_insn_var_location): Use end_hard_regno.
-
-2007-05-22  Richard Sandiford  <rsandifo@nildram.co.uk>
-
-	* mode-switching.c (reg_dies): Change type of second argument to
-	"HARD_REG_SET *".
-	(optimize_mode_switching): Update accordingly.
-
-2007-05-22  Richard Sandiford  <richard@codesourcery.com>
-
-	* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete
-	in favor of...
-	(hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p)
-	(hard_reg_set_empty_p): ...these new functions.
-	* bt-load.c (choose_btr): Use hard_reg_subset_p instead of
-	GO_IF_HARD_REG_SUBSET.
-	* cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p
-	instead of GO_IF_HARD_REG_EQUAL.
-	* df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p
-	instead of GO_IF_HARD_REG_EQUAL.
-	* global.c (find_reg): Use hard_reg_set_empty_p instead of
-	GO_IF_HARD_REG_SUBSET.
-	(modify_reg_pav): Use hard_reg_set_empty_p instead of
-	GO_IF_HARD_REG_EQUAL.
-	* local-alloc.c (find_free_reg): Use hard_reg_subset_p instead
-	of GO_IF_HARD_REG_SUBSET.
-	* reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p
-	instead of GO_IF_HARD_REG_EQUAL.
-	* regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use
-	hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET.
-	(reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead
-	of GO_IF_HARD_REG_SUBSET,
-	* reload1.c (finish_spills): Use hard_reg_subset_p instead of
-	GO_IF_HARD_REG_SUBSET.
-	* struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p
-	instead of GO_IF_HARD_REG_EQUAL.
-	* config/sh/sh.c (push_regs, calc_live_regs): Use
-	hard_reg_sets_intersect_p instead of hard_regs_intersect_p.
-	(hard_regs_intersect_p): Delete.
-
-2007-05-22  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/sourcebuild.texi (Test Directives) Add dg-message.
-
-2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
-	    Richard Henderson  <rth@redhat.com>
-
-	* config.gcc (i[34567]86-*-*): Add smmintrin.h to
-	extra_headers.
-	(x86_64-*-*): Likewise.
-
-	* config/i386/i386-modes.def (V2QI): New.
-
-	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
-	SSE4A.
-	(override_options): Support SSE4.1.
-	(IX86_BUILTIN_BLENDPD): New for SSE4.1.
-	(IX86_BUILTIN_BLENDPS): Likewise.
-	(IX86_BUILTIN_BLENDVPD): Likewise.
-	(IX86_BUILTIN_BLENDVPS): Likewise.
-	(IX86_BUILTIN_PBLENDVB128): Likewise.
-	(IX86_BUILTIN_PBLENDW128): Likewise.
-	(IX86_BUILTIN_DPPD): Likewise.
-	(IX86_BUILTIN_DPPS): Likewise.
-	(IX86_BUILTIN_INSERTPS128): Likewise.
-	(IX86_BUILTIN_MOVNTDQA): Likewise.
-	(IX86_BUILTIN_MPSADBW128): Likewise.
-	(IX86_BUILTIN_PACKUSDW128): Likewise.
-	(IX86_BUILTIN_PCMPEQQ): Likewise.
-	(IX86_BUILTIN_PHMINPOSUW128): Likewise.
-	(IX86_BUILTIN_PMAXSB128): Likewise.
-	(IX86_BUILTIN_PMAXSD128): Likewise.
-	(IX86_BUILTIN_PMAXUD128): Likewise.
-	(IX86_BUILTIN_PMAXUW128): Likewise.
-	(IX86_BUILTIN_PMINSB128): Likewise.
-	(IX86_BUILTIN_PMINSD128): Likewise.
-	(IX86_BUILTIN_PMINUD128): Likewise.
-	(IX86_BUILTIN_PMINUW128): Likewise.
-	(IX86_BUILTIN_PMOVSXBW128): Likewise.
-	(IX86_BUILTIN_PMOVSXBD128): Likewise.
-	(IX86_BUILTIN_PMOVSXBQ128): Likewise.
-	(IX86_BUILTIN_PMOVSXWD128): Likewise.
-	(IX86_BUILTIN_PMOVSXWQ128): Likewise.
-	(IX86_BUILTIN_PMOVSXDQ128): Likewise.
-	(IX86_BUILTIN_PMOVZXBW128): Likewise.
-	(IX86_BUILTIN_PMOVZXBD128): Likewise.
-	(IX86_BUILTIN_PMOVZXBQ128): Likewise.
-	(IX86_BUILTIN_PMOVZXWD128): Likewise.
-	(IX86_BUILTIN_PMOVZXWQ128): Likewise.
-	(IX86_BUILTIN_PMOVZXDQ128): Likewise.
-	(IX86_BUILTIN_PMULDQ128): Likewise.
-	(IX86_BUILTIN_PMULLD128): Likewise.
-	(IX86_BUILTIN_ROUNDPD): Likewise.
-	(IX86_BUILTIN_ROUNDPS): Likewise.
-	(IX86_BUILTIN_ROUNDSD): Likewise.
-	(IX86_BUILTIN_ROUNDSS): Likewise.
-	(IX86_BUILTIN_PTESTZ): Likewise.
-	(IX86_BUILTIN_PTESTC): Likewise.
-	(IX86_BUILTIN_PTESTNZC): Likewise.
-	(IX86_BUILTIN_VEC_EXT_V16QI): Likewise.
-	(IX86_BUILTIN_VEC_SET_V2DI): Likewise.
-	(IX86_BUILTIN_VEC_SET_V4SF): Likewise.
-	(IX86_BUILTIN_VEC_SET_V4SI): Likewise.
-	(IX86_BUILTIN_VEC_SET_V16QI): Likewise.
-	(bdesc_ptest): New.
-	(bdesc_sse_3arg): Likewise.
-	(bdesc_2arg): Likewise.
-	(bdesc_1arg): Likewise.
-	(ix86_init_mmx_sse_builtins): Support SSE4.1.  Handle SSE builtins
-	with 3 args.
-	(ix86_expand_sse_4_operands_builtin): New.
-	(ix86_expand_unop_builtin): Support 2 arg builtins with a constant
-	smaller than 8 bits as the 2nd arg.
-	(ix86_expand_sse_ptest): New.
-	(ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins.
-	(ix86_expand_vector_set): Support SSE4.1.
-	(ix86_expand_vector_extract): Likewise.
-
-	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
-	__SSE4_1__ for -msse4.1.
-
-	* config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1.
-	(UNSPEC_INSERTPS): Likewise.
-	(UNSPEC_DP): Likewise.
-	(UNSPEC_MOVNTDQA): Likewise.
-	(UNSPEC_MPSADBW): Likewise.
-	(UNSPEC_PHMINPOSUW): Likewise.
-	(UNSPEC_PTEST): Likewise.
-	(UNSPEC_ROUNDP): Likewise.
-	(UNSPEC_ROUNDS): Likewise.
-
-	* config/i386/i386.opt (msse4.1): New for SSE4.1.
-
-	* config/i386/predicates.md (const_pow2_1_to_2_operand): New.
-	(const_pow2_1_to_32768_operand): Likewise.
-
-	* config/i386/smmintrin.h: New. The SSE4.1 intrinsic header
-	file.
-
-	* config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for
-	SSE4.1.
-	(sse4_1_insertps): Likewise.
-	(*sse4_1_extractps): Likewise.
-	(sse4_1_ptest): Likewise.
-	(sse4_1_mulv2siv2di3): Likewise.
-	(*sse4_1_mulv4si3): Likewise.
-	(*sse4_1_smax<mode>3): Likewise.
-	(*sse4_1_umax<mode>3): Likewise.
-	(*sse4_1_smin<mode>3): Likewise.
-	(*sse4_1_umin<mode>3): Likewise.
-	(sse4_1_eqv2di3): Likewise.
-	(*sse4_1_pinsrb): Likewise.
-	(*sse4_1_pinsrd): Likewise.
-	(*sse4_1_pinsrq): Likewise.
-	(*sse4_1_pextrb): Likewise.
-	(*sse4_1_pextrb_memory): Likewise.
-	(*sse4_1_pextrw_memory): Likewise.
-	(*sse4_1_pextrq): Likewise.
-	(sse4_1_blendpd): Likewise.
-	(sse4_1_blendps): Likewise.
-	(sse4_1_blendvpd): Likewise.
-	(sse4_1_blendvps): Likewise.
-	(sse4_1_dppd): Likewise.
-	(sse4_1_dpps): Likewise.
-	(sse4_1_movntdqa): Likewise.
-	(sse4_1_mpsadbw): Likewise.
-	(sse4_1_packusdw): Likewise.
-	(sse4_1_pblendvb): Likewise.
-	(sse4_1_pblendw): Likewise.
-	(sse4_1_phminposuw): Likewise.
-	(sse4_1_extendv8qiv8hi2): Likewise.
-	(*sse4_1_extendv8qiv8hi2): Likewise.
-	(sse4_1_extendv4qiv4si2): Likewise.
-	(*sse4_1_extendv4qiv4si2): Likewise.
-	(sse4_1_extendv2qiv2di2): Likewise.
-	(*sse4_1_extendv2qiv2di2): Likewise.
-	(sse4_1_extendv4hiv4si2): Likewise.
-	(*sse4_1_extendv4hiv4si2): Likewise.
-	(sse4_1_extendv2hiv2di2): Likewise.
-	(*sse4_1_extendv2hiv2di2): Likewise.
-	(sse4_1_extendv2siv2di2): Likewise.
-	(*sse4_1_extendv2siv2di2): Likewise.
-	(sse4_1_zero_extendv8qiv8hi2): Likewise.
-	(*sse4_1_zero_extendv8qiv8hi2): Likewise.
-	(sse4_1_zero_extendv4qiv4si2): Likewise.
-	(*sse4_1_zero_extendv4qiv4si2): Likewise.
-	(sse4_1_zero_extendv2qiv2di2): Likewise.
-	(*sse4_1_zero_extendv2qiv2di2): Likewise.
-	(sse4_1_zero_extendv4hiv4si2): Likewise.
-	(*sse4_1_zero_extendv4hiv4si2): Likewise.
-	(sse4_1_zero_extendv2hiv2di2): Likewise.
-	(*sse4_1_zero_extendv2hiv2di2): Likewise.
-	(sse4_1_zero_extendv2siv2di2): Likewise.
-	(*sse4_1_zero_extendv2siv2di2): Likewise.
-	(sse4_1_roundpd): Likewise.
-	(sse4_1_roundps): Likewise.
-	(sse4_1_roundsd): Likewise.
-	(sse4_1_roundss): Likewise.
-	(mulv4si3): Don't expand for SSE4.1.
-	(smax<mode>3): Likewise.
-	(umaxv4si3): Likewise.
-	(uminv16qi3): Likewise.
-	(umin<mode>3): Likewise.
-	(umaxv8hi3): Rewrite.  Only enabled for SSE4.1.
-
-	* doc/extend.texi: Document SSE4.1 built-in functions.
-
-	* doc/invoke.texi: Document -msse4.1.
-
-2007-05-22  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec.
-	* config/m68k/m68k-none.h (ASM_SPEC): Don't override here.
-	* config/m68k/m68k.h (ASM_PCREL_SPEC): New.
-	(ASM_SPEC): Add asm_pcrel_spec.
-	(EXTRA_SPECS): Add asm_pcrel_spec.
-
-2007-05-21  David Daney  <ddaney@avtrex.com>
-
-	* doc/install.texi (Building a cross compiler): Add requirements
-	for Java cross compiler.
-
-2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/31995
-	* tree-chrec.c (evolution_function_is_affine_multivariate_p):
-	Add loopno argument.  Use evolution_function_is_invariant_rec_p
-	instead of evolution_function_is_constant_p.
-	Update calls to evolution_function_is_affine_multivariate_p.
-	* tree-chrec.h (evolution_function_is_affine_multivariate_p):
-	Add loopno argument.
-	* tree-scalar-evolution.c (gather_chrec_stats): Call
-	evolution_function_is_affine_multivariate_p with a loop
-	number of 0.
-	* tree-data-ref.c (analyze_miv_subscript): Likewise.
-	(analyze_overlapping_iterations): Likewise.
-	(access_functions_are_affine_or_constant_p): Likewise.
-	(build_classic_dist_vector_1): If the access functions
-	are equal, don't do anything.
-
-2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
-	    Paolo Carlini  <pcarlini@suse.de>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	* c-cppbuiltin.c (c_cpp_builtins): Define
-	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
-	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8,
-	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate.
-	* doc/cpp.texi ([Standard Predefined Macros]): Document.
-
-2007-05-21  Mike Stump  <mrs@apple.com>
-
-	* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil
-	handling as well.
-	* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
-
-2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro
-	implementation if __OPTIMIZE__ is not defined.
-	(_mm_alignr_pi8): Ditto.
-	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
-	(_mm_inserti_si64): Ditto.
-	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
-	(_mm_slli_epi16): Ditto.
-	(_mm_slli_epi32): Ditto.
-	(_mm_slli_epi64): Ditto.
-	(_mm_srai_epi16): Ditto.
-	(_mm_srai_epi32): Ditto.
-	(_mm_srli_si128): Ditto.
-	(_mm_slli_si128): Ditto.
-	(_mm_srli_epi16): Ditto.
-	(_mm_srli_epi32): Ditto.
-	(_mm_srli_epi64): Ditto.
-	(_mm_extract_epi16): Ditto.
-	(_mm_insert_epi16): Ditto.
-	(_mm_shufflehi_epi16): Ditto.
-	(_mm_shufflelo_epi16): Ditto.
-	(_mm_shuffle_epi32): Ditto.
-	* config/i386/xmmintrin.h (_mm_extract_pi16): Ditto.
-	(_m_pextrw): Ditto.
-	(_mm_insert_pi16): Ditto.
-	(_m_pinsrw): Ditto.
-	(_mm_shuffle_pi16): Ditto.
-	(_m_pshufw): Ditto.
-	(_mm_shufle_ps): Ditto.
-	(_mm_prefetch): Ditto.
-
-2007-05-21  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
-	* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
-	* real.c (encode_i370_single, decode_i370_single,
-	encode_i370_double, decode_i370_double): Functions removed.
-	(i370_single_format, i370_double_format): Initializations removed.
-	(real_maxval, round_for_format, exact_real_truncate, significand_size):
-	Consider the log2_b field to always be one.
-	(ieee_single_format, mips_single_format, coldfire_single_format,
-	ieee_double_format, mips_double_format,	coldfire_double_format,
-	ieee_extended_motorola_format, ieee_extended_intel_96_format,
-	ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
-	ibm_extended_format, mips_extended_format, ieee_quad_format,
-	mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
-	decimal_single_format, decimal_double_format, decimal_quad_format,
-	c4x_single_format, c4x_extended_format, real_internal_format): Remove
-	initialization of log2_b.
-	* real.h (i370_single_format, i370_double_format): Declarations
-	removed.
-	* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
-	field to always be one.
-
-2007-05-21  Andreas Schwab  <schwab@suse.de>
-
-	* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
-	NOTE_INSN_BASIC_BLOCK_P.
-	(process_for_unwind_directive): Likewise.
-
-2007-05-21  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* builtins.c (expand_builtin_setjmp_setup): Update comment.
-	* function.h (struct function): Move va_list_gpr_size,
-	va_list_fpr_size, function_frequency to front of bitfields.  Add
-	calls_unwind_init.
-	(current_function_calls_unwind_init): New.
-	* except.c (expand_builtin_unwind_init): Set
-	current_function_calls_unwind_init not
-	current_function_has_nonlocal_label.
-	* reload1.c (has_nonexceptional_receiver): New.
-	(reload): Use it and current_function_calls_unwind_init to
-	determine whether call-saved regs must be saved.
-
-2007-05-20  Jan Hubicka  <jh@suse.cz>
-
-	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
-	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	* ddg.c (create_ddg): LIkewise.
-	* final.c (final): Remove hunk moving line number notes around since
-	they are no longer present at this stage.
-	(final_scan_insn): Use NOTE_KIND instead of
-	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	(output_asm_label): Likewise.
-	* reorg.c (dbr_schedule): Likewise.
-	* haifa-sched.c (unlink_other_notes): Likewise.
-	* mode-switching.c (optimize_mode_switching): Likewise.
-	* graph.c (start_bb): Likewise.
-	* rtl.def (NOTE): Update description.
-	* jump.c (squeeze_notes): Delete.
-	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
-	NOTE_INSN_BASIC_BLOCK_P when possible.
-	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
-	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
-	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
-	(dwarf2out_var_location): Likewise.
-	* cfgbuild.c (make_edges): Likewise.
-	(find_basic_blocks_1): Likewise.
-	* function.c (reorder_blocks_1): Likewise.
-	(epilogue_done): Likewise.
-	(reposition_prologue_and_epilogue_notes): Likewise.
-	* print-rtl.c (print_rtx): Likewise; drop code for printing
-	line number notes.
-	(print_rtl): Likewise.
-	(print_rtl_single): Likewise.
-	* gcse.c (insert_insn_start_bb): Likewise.
-	* alias.c (init_alias_analysis): Likewise.
-	* calls.c (fixup_tail_calls): Likewise.
-	* except.c (sjlj_emit_function_enter): Likewise.
-	* emit-rtl.c (add_insn_after): Likeiwse.
-	(emit_label_before): Likewise.
-	(emit_label_after): Likewise.
-	(emit_note_before, emit_note_after, emit_note): Update
-	parameter to be enum insn_note; do not deal with source
-	files.
-	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
-	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
-	when possible.
-	(merge_blocks_move_successor_nojumps): Simplify now when
-	we don't have BLOCK notes.
-	(try_optimize_cfg): Likewise.
-	* cfglayout.c (skip_insns_after_block): Likewise.
-	(record_effective_endpoints): Likewise.
-	(duplicate_insn_chain): Likewise.
-	* varasm.c (output_constant_pool_1): Likewise.
-	* sched-deps.c (sched_analyze): Likewise.
-	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
-	Exterminate.
-	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
-	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
-	(SET_INSN_DELETED): Simplify.
-	(NOTE_LINE_NUMBER): Exterminate.
-	(NOTE_LINE_KIND): New.
-	(NOTE_INSN_BASIC_BLOCK_P): Update.
-	(enum insn_note): Simplify.
-	(GET_NOTE_INSN_NAME) Simplify.
-	(emit_note_before, emit_note_after, emit_note): Update prototype.
-	(squeeze_notes): Remove.
-	* sched-int.h (NOTE_NOT_BB_P): Update.
-	* resource.c (mark_target_live_regs): Update.
-	* sched-rgn.c (debug_dependencies): Update.
-	* sched-vis.c (print_insn): Update.
-	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
-	* config/i386/i386.c (ix86_output_function_epilogue): Update.
-	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
-	(TARGET_ADJUST_UNROLL_MAX): Likewise.
-	(split_branches): Update.
-	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
-	4.0.0.
-	(sh_adjust_unroll_max): Exterminate.
-	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
-	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
-	(m68hc11_reorg): Likewise.
-	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
-	(emit_predicate_relation_info): Update.
-	(process_for_unwind_directive): Update.
-	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
-	(output_call): Update.
-	* config/pa/pa.c (output_lbranch): Update.
-	(output_millicode_call): Update.
-	(output_call): Update.
-	(pa_combine_instructions): Update.
-	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
-	* config/bfin/bfin.c (gen_one_bundle): Update.
-	* cfgrtl.c (can_delete_note_p): Update.
-	(delete_insn): Update.
-	(rtl_merge_blocks): Update.
-	(commit_one_edge_insertion): Update.
-	(rtl_verify_flow_info): Update.
-	* stmt.c (expand_case): Do not call squeeze_notes.
-
-2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/7651
-	PR c++/11856
-	PR c/12963
-	PR c/23587
-	PR other/29694
-	* c.opt (Wtype-limits): New.
-	* doc/invoke.texi (Wtype-limits): Document it.
-	(Wextra): Enabled by -Wextra.
-	* c-opts.c (c_common_post_options): Enabled by -Wextra.
-	* c-common.c (shorten_compare): Warn with Wtype-limits.
-
-2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
-	inlined function, not as a macro.
-	(_mm_alignr_pi8): Ditto.
-	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
-	(_mm_inserti_si64): Ditto.
-	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
-	(_mm_extract_epi16): Ditto.
-	(_mm_insert_epi16): Ditto.
-	(_mm_shufflehi_epi16): Ditto.
-	(_mm_shufflelo_epi16): Ditto.
-	(_mm_shuffle_epi32): Ditto.
-	* config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
-	* config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
-	all functions.
-	(_m_from_float): Add __extension__ to conversion.  Use 0.0f for
-	float constant.
-	(_m_to_float): Use C89 compatible assignment.
-
-2007-05-20  Martin Michlmayr  <tbm@cyrius.com>
-
-	PR target/32007
-	* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.
-
-2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/7651
-	* doc/invoke.texi (Wreturn-type): Complete description.
-	(Wextra): Delete item about return-type warning.
-	* c-decl.c: Delete redundant Wextra warning.
-
-2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31585
-	* config/i386/pmmintrin.h: Do not include xmmintrin.h
-	* config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
-	inlined function, not as a macro.
-	(_mm_prefetch): Ditto.
-	(_m_pextrw): Ditto.
-	(_mm_insert_pi16): Ditto.
-	(_m_pinsrw): Ditto.
-	(_mm_shuffle_pi16): Ditto.  Add const to __N argument.
-	(_m_pshufw): Ditto. Add const to __N argument.
-	(_mm_shufle_ps): Ditto.  Add const to __mask argument.
-	* config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
-	(_mm_slli_epi32): Ditto.
-	(_mm_srli_si128): Implement as always inlined function, not as a
-	macro.  Add __inline to function declaration.
-	(_mm_slli_si128): Ditto.
-
-2007-05-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
-	FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
-	New constants.
-	(struct fenv): New structure.
-	(FP_HANDLE_EXCEPTIONS): New define.
-	(FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
-	(_FP_DECL_EXP): New define.
-	(FP_INIT_ROUNDMODE): New define.
-	(FP_ROUNDMODE): New define.
-
-2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
-	(Wconversion): Update description.
-	(Wconversion-sign): New.
-	* c.opt (Wconversion-sign): New.
-	* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
-	means disabled for C++. Otherwise, take the status of Wconversion.
-	* c-common.c (conversion_warning): Warn with either Wconversion or
-	Wconversion-sign.
-	(warnings_for_convert_and_check): Conditions are already checked by
-	conversion_warning.
-	(convert_and_check): Don't check warnings if the conversion failed.
-
-2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
-	   Anatoly Sokolov <aesok@dol.ru>
-
-	* config/avr/avr-protos.h (expand_prologue, expand_epilogue,
-	avr_epilogue_uses) : Add declaration.
-	* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
-	* config/avr/constraints.md (R): New constraint.
-	config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI,
-	UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
-	(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
-	(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
-	(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
-	call_prologue_saves, epilogue_restores, return_from_epilogue,
-	return_from_main_epilogue, return_from_interrupt_epilogue,
-	return_from_naked_epilogue, prologue, epilogue): New patterns.
-	(jump): Handle symbol reference.
-	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
-	avr_output_function_prologue, avr_output_function_epilogue): Remove
-	functions.
-	(avr_init_machine_status, expand_prologue, expand_epilogue,
-	avr_asm_function_end_prologue, avr_epilogue_uses,
-	avr_asm_function_begin_epilogue): New functions.
-	(prologue_size, epilogue_size, jump_tables_size): Remove global
-	variables.
-	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
-	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
-	(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
-	(avr_override_options): Initialise init_machine_status.
-	(output_movhi): Handle all stack pointer loads.
-	(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
-	(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
-	* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
-	(EPILOGUE_USES) Redefine.
-	(machine_function) Declare.
-
-2007-05-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
-	Use a single return statement.
-
-2007-05-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/30250
-	* builtins.c (do_mpfr_lgamma_r): New.
-	(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
-	* tree.h (CASE_FLT_FN_REENT): New.
-
-2007-05-18  Geoffrey Keating  <geoffk@apple.com>
-
-	* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
-	(output_die): Use 'unsigned long' with %x.
-	* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
-	HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
-	* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.
-
-	* unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.
-
-2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/31989
-	PR target/31681
-	PR target/31666
-	* config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to
-	true if function has no argument.
-
-2007-05-18  DJ Delorie  <dj@redhat.com>
-
-	* config/mips/mips.c (mips_offset_within_alignment_p): New.
-	(mips_symbolic_constant_p): Call it for TPREL and DTPREL symbols.
-
-2007-05-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	* longlong.h (__x86_64__): Add definitions for add_ssaaaa,
-	sub_ddmmss, umul_ppmm, udiv_qrnnd, count_leading_zeros and
-	count_trailing_zeros.
-	(__i386__): Implement count_leading_zeros using __builtin_clz().
-	Implement count_trailing_zeros usign __builtin_ctz().
-
-2007-05-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/i386/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.
-
-2007-05-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/31344
-	* expr.c (emit_move_change_mode): Change mode of push operands here.
-
-2007-05-17  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31953
-	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
-	Change all callers.
-	(set_value_range_to_null): Call set_value_range_to_value.
-	(extract_range_from_comparison): Likewise.
-
-2007-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* toplev.c (print_version): Output GMP/MPFR version info.
-
-	* builtins.c (CASE_MATHFN_REENT): New macro.
-	(mathfn_built_in): Use it.
-	* builtins.def (BUILT_IN_GAMMA_R, BUILT_IN_GAMMAF_R,
-	BUILT_IN_GAMMAL_R, BUILT_IN_LGAMMA_R, BUILT_IN_LGAMMAF_R,
-	BUILT_IN_LGAMMAL_R): New.
-	* doc/extend.texi: Document new builtins.
-
-	PR middle-end/31796
-	* builtins.c (do_mpfr_remquo): New.
-	(fold_builtin_2): Handle BUILT_IN_DREM/BUILT_IN_REMAINDER.
-	(fold_builtin_3): Handle BUILT_IN_REMQUO.
-
-	PR middle-end/30251
-	* builtins.c (fold_builtin_1): Handle y0, y1.
-	(fold_builtin_2): Handle yn.
-
-	PR middle-end/30251
-	* builtins.c (do_mpfr_bessel_n): New.
-	(fold_builtin_1): Handle BUILT_IN_J0 and BUILT_IN_J1.
-	(fold_builtin_2): Handle BUILT_IN_JN.
-
-2007-05-17  Danny Smith  <dannysmith@users.sourceforge.net>
-
-	PR target/31965
-	* config/i386/mingw32.h (_INTEGRAL_MAX_BITS): Define builtin as
-	TYPE_PRECISION (intmax_type_node).
-
-2007-05-17  Steve Ellcey  <sje@cup.hp.com>
-
-	PR target/31850
-	* reload.c (subst_reloads): Remove checking.
-
-2007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/31691
-	* combine.c (simplify_set): Build a new src pattern instead of
-	substituting its operands in the COMPARE case.
-
-2007-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-vrp.c (finalize_jump_threads): Do not care about dominance info.
-	(execute_vrp): Preserve loops through jump threading.
-	* tree-ssa-threadupdate.c (thread_single_edge,
-	dbds_continue_enumeration_p, determine_bb_domination_status,
-	thread_through_loop_header): New functions.
-	(create_edge_and_update_destination_phis,
-	create_edge_and_update_destination_phis): Set loops for the new blocks.
-	(prune_undesirable_thread_requests): Removed.
-	(redirect_edges): Do not pretend that redirect_edge_and_branch can
-	create new blocks.
-	(thread_block): Do not call prune_undesirable_thread_requests.
-	Update loops.
-	(mark_threaded_blocks): Select edges to thread here.
-	(thread_through_all_blocks): Take may_peel_loop_headers argument.
-	Thread edges through loop headers independently.
-	* cfgloopmanip.c (create_preheader, mfb_keep_just): Export.
-	* tree-pass.h (TODO_mark_first_instance): New.
-	(first_pass_instance): Declare.
-	* cfghooks.c (duplicate_block): Put the block to the original loop
-	if copy is not specified.
-	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Preserve loops through
-	jump threading.  Pass may_peel_loop_headers to
-	thread_through_all_blocks according to first_pass_instance.
-	* cfgloop.h (create_preheader): Declare.
-	* tree-flow.h (thread_through_all_blocks): Declaration changed.
-	* basic-block.h (mfb_keep_just, mfb_kj_edge): Declare.
-	* passes.c (first_pass_instance): New variable.
-	(next_pass_1): Set TODO_mark_first_instance.
-	(execute_todo): Set first_pass_instance.
-
-2007-05-17  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/24659
-	* optabs.h (enum optab_index): Add OTI_vec_unpacks_float_hi,
-	OTI_vec_unpacks_float_lo, OTI_vec_unpacku_float_hi,
-	OTI_vec_unpacku_float_lo, OTI_vec_pack_sfix_trunc and
-	OTI_vec_pack_ufix_trunc.
-	(vec_unpacks_float_hi_optab): Define new macro.
-	(vec_unpacks_float_lo_optab): Ditto.
-	(vec_unpacku_float_hi_optab): Ditto.
-	(vec_unpacku_float_lo_optab): Ditto.
-	(vec_pack_sfix_trunc_optab): Ditto.
-	(vec_pack_ufix_trunc_optab): Ditto.
-	* genopinit.c (optabs): Implement vec_unpack[s|u]_[hi|lo]_optab
-	and vec_pack_[s|u]fix_trunc_optab using
-	vec_unpack[s|u]_[hi\lo]_* and vec_pack_[u|s]fix_trunc_* patterns
-	* tree-vectorizer.c (supportable_widening_operation): Handle
-	FLOAT_EXPR and CONVERT_EXPR.  Update comment.
-	(supportable_narrowing_operation): New function.
-	* tree-vectorizer.h (supportable_narrowing_operation): Prototype.
-	* tree-vect-transform.c (vectorizable_conversion): Handle
-	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
-	(vect_gen_widened_results_half): Move before vectorizable_conversion.
-	(vectorizable_type_demotion): Call supportable_narrowing_operation()
-	to check for target support.
-	* optabs.c (optab_for_tree_code) Return vec_unpack[s|u]_float_hi_optab
-	for VEC_UNPACK_FLOAT_HI_EXPR, vec_unpack[s|u]_float_lo_optab
-	for VEC_UNPACK_FLOAT_LO_EXPR and vec_pack_[u|s]fix_trunc_optab
-	for VEC_PACK_FIX_TRUNC_EXPR.
-	(expand_binop): Special case mode of the result for
-	vec_pack_[u|s]fix_trunc_optab.
-	(init_optabs): Initialize vec_unpack[s|u]_[hi|lo]_optab and
-	vec_pack_[u|s]fix_trunc_optab.
-
-	* tree.def (VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR,
-	VEC_PACK_FIX_TRUNC_EXPR): New tree codes.
-	* tree-pretty-print.c (dump_generic_node): Handle
-	VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and
-	VEC_PACK_FIX_TRUNC_EXPR.
-	(op_prio): Ditto.
-	* expr.c (expand_expr_real_1): Ditto.
-	* tree-inline.c (estimate_num_insns_1): Ditto.
-	* tree-vect-generic.c (expand_vector_operations_1): Ditto.
-
-	* config/i386/sse.md (vec_unpacks_float_hi_v8hi): New expander.
-	(vec_unpacks_float_lo_v8hi): Ditto.
-	(vec_unpacku_float_hi_v8hi): Ditto.
-	(vec_unpacku_float_lo_v8hi): Ditto.
-	(vec_unpacks_float_hi_v4si): Ditto.
-	(vec_unpacks_float_lo_v4si): Ditto.
-	(vec_pack_sfix_trunc_v2df): Ditto.
-
-	* doc/c-tree.texi (Expression trees) [VEC_UNPACK_FLOAT_HI_EXPR]:
-	Document.
-	[VEC_UNPACK_FLOAT_LO_EXPR]: Ditto.
-	[VEC_PACK_FIX_TRUNC_EXPR]: Ditto.
-	* doc/md.texi (Standard Names) [vec_pack_sfix_trunc]: Document.
-	[vec_pack_ufix_trunc]: Ditto.
-	[vec_unpacks_float_hi]: Ditto.
-	[vec_unpacks_float_lo]: Ditto.
-	[vec_unpacku_float_hi]: Ditto.
-	[vec_unpacku_float_lo]: Ditto.
-
-2007-05-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* soft-fp/README: Update for new files.
-	* soft-fp/floattisf.c: New file.
-	* soft-fp/floattidf.c: New file.
-	* soft-fp/floattitf.c: New file.
-	* soft-fp/floatuntisf.c: New file.
-	* soft-fp/floatuntidf.c: New file.
-	* soft-fp/floatuntitf.c: New file.
-	* soft-fp/fixsfti.c: New file.
-	* soft-fp/fixdfti.c: New file.
-	* soft-fp/fixtfti.c: New file.
-	* soft-fp/fixunssfti.c: New file.
-	* soft-fp/fixunsdfti.c: New file.
-	* soft-fp/fixunstfti.c: New file.
-	* soft-fp/extendxftf.c: New file.
-	* soft-fp/trunctfxf.c: New file.
-
-	* libgcc-std.ver (__extendxftf2): Added to GCC_4.3.0 section.
-	(__trunctfxf2): Ditto.
-
-	* config/i386/libgcc-x86_64-glibc.ver (__addtf3, __divtf3, __eqtf2,
-	__extenddftf2, __extendsftf2, __fixtfdi, __fixtfsi, __fixtfti,
-	__fixunstfdi, __fixunstfsi, __fixunstfti, __floatditf, __floatsitf,
-	__floattitf, __floatunditf, __floatunsitf, __floatuntitf, __getf2,
-	__letf2, __multf3, __negtf2, __subtf3, __trunctfdf2, __trunctfsf2,
-	__unordtf2): Exclude and add to GCC_4.3.0 section for x86_64 targets.
-
-	* config/i386/t-fprules-softfp64: New file.
-	* config/i386/sfp-machine.h: New file.
-	* config.gcc (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu,
-	x86_64-*-knetbsd*-gnu): Add i386/t-fprules-softfp64
-	and soft-fp/t-softfp to tmake_file.
-	(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
-	i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all.
-
-	* config/i386/t-linux64 (softfp_wrap_start): New.
-	(softfp_wrap_end): New.
-	* config/i386/i386.c (ix86_scalar_mode_supported): TFmode is
-	supported for TARGET_64BIT.
-
-2007-05-16  Rafael Avila de Espindola  <espindola@google.com>
-
-	* c-common.c (c_common_signed_or_unsigned_type): Emulate
-	c_common_unsigned_type behavior.
-
-2007-05-16  Paolo Bonzini  <bonzini@gnu.org>
-
-	* config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr
-	calls as pure.
-
-2007-05-16  Eric Christopher  <echristo@apple.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
-	saving after stack push. Set sp_offset whenever we push.
-	(rs6000_emit_epilogue): Move altivec register restore before
-	stack push.
-
-2007-05-16  Richard Sandiford  <richard@codesourcery.com>
-
-	* configure.ac: Allow sysroots to be relocated under $prefix as
-	well as $exec_prefix.
-	* configure: Regenerate.
-
-2007-05-16  Richard Sandiford  <richard@codesourcery.com>
-
-	Revert:
-
-	2007-05-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
-	(gcc_tooldir): Likewise.
-	* configure: Regenerate.
-	* Makefile.in (libsubdir_to_prefix): New variable, based on the
-	old configure.ac gcc_tooldir setting.
-	(prefix_to_exec_prefix): New variable.
-	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
-	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
-
-2007-05-14  Janis Johnson  <janis187@us.ibm.com>
-
-	* c-typeck.c (build_binary_op): Return early for error.
-
-2007-05-15  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate
-	struct nb_iter_bound.
-	(free_numbers_of_iterations_estimates_loop): Use ggc_free.
-	* gengtype.c (open_base_files): Add cfhloop.h to the list of includes.
-	* cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated.
-	* tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h.
-	(struct scev_info_str, scalar_evolution_info): Add GTY markers.
-	(new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str.
-	(del_scev_info): Use ggc_free.
-	(scev_initialize): Allocate scalar_evolution_info in gc memory.
-	* loop-init.c: Include ggc.h.
-	(loop_optimizer_init): Use GGC_CNEW to allocate struct loops.
-	(loop_optimizer_finalize): Use ggc_free.
-	* tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize,
-	pass_linear_transfom, pass_empty_loop, pass_complete_unroll,
-	pass_iv_optimize): Add TODO_ggc_collect.
-	* function.h (struct function): Remove skip marker from
-	x_current_loops.
-	* cfgloop.c: Include ggc.h.
-	(flow_loops_free, flow_loop_free): Free the loop descriptions in gc
-	memory.
-	(establish_preds): Vector superloops is gc allocated.
-	(alloc_loop): Allocate loop using GGC_CNEW.  Allocate head of
-	loop->exits list.
-	(flow_loops_find): Vector larray is gc allocated.
-	(loop_exit_free): Use ggc_free.
-	(rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit.  Reflect
-	that head of exits list is now not a part of struct loop.
-	(record_loop_exits): Allocate exits table in gc memory.
-	(get_loop_exit_edges, verify_loop_structure, single_exit): Reflect
-	that head of exits list is now not a part of struct loop.
-	* cfgloop.h (struct lpt_decision, struct nb_iter_bound,
-	struct loop_exit): Add GTY marker.
-	(struct loop): Add GTY marker.  Make superloops vector gc allocated.
-	Add skip marker to aux field.  Make head of exits list a separate
-	object.
-	(struct loops): Add GTY marker.  Make larray vector gc allocated.
-	Add param marker to exits table.
-	(get_loops): Type changed.
-	* Makefile.in (tree-scalar-evolution.o): Add
-	gt-tree-scalar-evolution.h dependency.
-	(cfgloop.o, loop-init.o): Add ggc.h dependency.
-	(GTFILES): Add cfgloop.h and tree-scalar-evolution.c.
-	* basic-block.h (struct basic_block_def): Remove skip marker from
-	loop_father field.
-
-2007-05-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead
-	of 0 in the call to expand_expr().
-	(expand_builtin_mathfn_3): Ditto.
-	(expand_builtin_interclass_mathfn): Ditto.
-	(expand_builtin_cexpi): Ditto.
-	(expand_builtin_int_roundingfn): Ditto.
-	(expand_builtin_int_roundingfn_2): Ditto.
-	(expand_builtin_pow): Ditto.
-	(expand_builtin_powi): Ditto.
-	(expand_builtin_bswap): Ditto.
-	(expand_builtin_unop): Ditto.
-	(expand_builtin_fabs): Ditto.
-	(get_builtin_sync_mem): Use NULL_RTX instead of NULL in
-	the call to expand_expr().
-	(expand_builtin_sync_operation): Ditto.
-	(expand_builtin_compare_and_swap): Ditto.
-	(expand_builtin_lock_test_and_set): Ditto.
-	* except.c (expand_builtin_eh_return_data_regno): Use EXPAND_NORMAL
-	instead of 0 in the call to expand_expr().
-	(expand_builtin_extract_return_addr): Ditto.
-	(expand_builtin_eh_return): Ditto.
-	(expand_eh_return): Ditto.
-	* explow.c (expr_size): Ditto.
-	* expr.c (optimize_bitfield_assignment_op): Ditto.
-	(expand_assignement): Ditto.
-	(store_expr): Ditto.
-	(store_field): Ditto.
-	(expand_expr_addr_expr_1): Use NULL_RTX instead of NULL in
-	the call to expand_expr().
-	(expand_expr_real_1) [COMPLEX_CST]: Use EXPAND_NORMAL instead of 0
-	in the call to expand_expr().
-	[CONSTRUCTOR, PLUS_EXPR, MINUS_EXPR, NEGATE_EXPR, ABS_EXPR,
-	BIT_NOT_EXPR, LSHIFT_EXPR, LT_EXPR, TRUTH_NOT_EXPR]: Ditto.
-	[VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO]: Use expand_normal() instead
-	of expand_expr().
-	* optabs.c (expand_vec_shift_expr): Ditto.
-	(expand_vec_cond_expr): Ditto.
-	(vector_compare_rtx): Use EXPAND_STACK_PARM instead of 1 in the
-	call to expand_expr().
-	* stmt.c (expand_return): Use EXPAND_NORMAL instead of 0
-	in the call to expand_expr().
-
-2007-05-14  Dave Korn  <dave.korn@artimi.com>
-
-	* genautomata.c (gen_regexp_el): Allocate correct size for regexp.
-
-2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
-
-	* c-common.c (warnings_for_convert_and_check): Use unsigned_type_for
-	instead of c_common_unsigned_type.
-	(c_common_unsigned_type): Remove.
-	(shorten_compare): Use c_common_signed_or_unsigned_type instead of
-	c_common_unsigned_type.
-	(c_common_nodes_and_builtins): Use unsigned_type_for instead of
-	c_common_unsigned_type.
-	* c-common.h (c_common_unsigned_type): Remove.
-	* c-decl.c (grokdeclarator): Use unsigned_type_for instead of
-	c_common_unsigned_type.
-	* c-format.c (check_format_types): Use unsigned_type_for instead of
-	c_common_unsigned_type.
-	* c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
-	* c-typeck.c (convert_for_assignment): Use unsigned_type_for instead
-	of c_common_unsigned_type.
-	* convert.c (convert_to_integer): Use unsigned_type_for instead of
-	lang_hooks.types.unsigned_type.
-	* expmed.c (make_tree): Use unsigned_type_for instead of
-	lang_hooks.types.unsigned_type.
-	* fold-const.c (fold_negate_expr): Use unsigned_type_for instead of
-	lang_hooks.types.unsigned_type.
-	(build_range_check): Likewise.
-	(fold_unary): Likewise.
-	(fold_binary): Likewise.
-	(fold_ternary): Likewise.
-	* langhooks-def.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
-	* langhooks.h (lang_hooks_for_types): Remove unsigned_type.
-	* tree.c (get_unsigned_type): New.
-	(unsigned_type_for): Use get_unsigned_type instead of
-	lang_hooks.types.unsigned_type.
-
-2007-05-14  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k-protos.h: Rename m68k_interrupt_function_p
-	to m68k_get_function_kind.  Update its prototype.
-	* config/m68k/m68k.c (m68k_attribute_table): Add an entry for
-	interrupt_thread.
-	(m68k_interrupt_function_p): Return enum m68k_function_type
-	instead of bool.  Rename to m68k_get_function_kind.
-	(m68k_handle_fndecl_attribute): Reject interrupt_thread if the
-	target is not fido.
-	(m68k_compute_frame_layout): Don't mark any register for save
-	if an interrupt_thread attribute is specified.
-	(m68k_hard_regno_rename_ok): Update a use of
-	m68k_interrupt_function_p.
-	* config/m68k/m68k.h (EPILOGUE_USES): Update a use of
-	m68k_interrupt_function_p.
-	(m68k_function_type): New.
-	* config/m68k/m68k.md (*return): Output a 'sleep' instruction
-	for a function with an interrupt_thread attribute.
-	* doc/extend.texi: Document the interrupt_thread attribute.
-
-2007-05-13  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/31911
-	* tree-ssa-pre.c (phi_translate): Make sure to cache results even
-	if they didn't change the expression.
-
-2007-05-13  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-scalar-evolution.c (resolve_mixers): Exported.
-	* tree-scalar-evolution.h (resolve_mixers): Declare.
-	* tree-data-ref.c (object_analysis, ptr_decl_may_alias_p,
-	ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
-	record_record_differ_p, record_array_differ_p, array_ptr_differ_p,
-	base_object_differ_p, base_addr_differ_p, analyze_array_indexes,
-	init_array_ref, init_pointer_ref, analyze_indirect_ref,
-	strip_conversion, analyze_offset_expr, address_analysis,
-	object_analysis, analyze_offset): Removed.
-	(dr_analyze_innermost, dr_analyze_indices, dr_analyze_alias,
-	split_constant_offset, canonicalize_base_object_address,
-	object_address_invariant_in_loop_p, disjoint_objects_p,
-	dr_may_alias_p, dr_address_invariant_p): New functions.
-	(create_data_ref): Use dr_analyze_innermost, dr_analyze_indices
-	and dr_analyze_alias.
-	(initialize_data_dependence_relation): Use dr_may_alias_p
-	and object_address_invariant_in_loop_p.
-	(compute_self_dependence): Handle the case when
-	DDR_ARE_DEPENDENT (ddr) is chrec_dont_know.
-	(find_data_references_in_stmt): Restrict the analysis of data
-	references to the given loop nest.
-	(find_data_references_in_loop): Made static.  Pass loop nest to
-	find_data_references_in_stmt.
-	(compute_data_dependences_for_loop): Use DR_VOPS.
-	(free_data_ref): Free DR_VOPS.
-	* tree-data-ref.h (struct first_location_in_loop): Replaced by ...
-	(struct innermost_loop_behavior): ... new.
-	(struct base_object_info): Replaced by ...
-	(struct indices): ... new.
-	(struct dr_alias): New.
-	(enum data_ref_type): Removed.
-	(struct data_reference): Consist of struct innermost_loop_behavior,
-	struct indices and struct dr_alias.
-	(DR_SET_ACCESS_FNS, DR_FREE_ACCESS_FNS): Removed.
-	(DR_MEMTAG): Renamed to ...
-	(DR_SYMBOL_TAG): ... this.
-	(find_data_references_in_loop): Declaration removed.
-	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use DR_INIT
-	instead of DR_OFFSET_MISALIGNMENT.  DR_ALIGNED_TO is never NULL.
-	(vect_analyze_data_refs): Use DR_SYMBOL_TAG instead of DR_MEMTAG.
-	* tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
-
-2007-05-13  Revital Eres  <eres@il.ibm.com>
-
-	* tree-ssa-dse.c (get_use_of_stmt_lhs): New function
-	which walks virtual def-use chains to find redundant stores.
-	(dse_optimize_stmt): Call it.
-
-2007-05-12  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* gcse.c (gcse_main): Do jump bypassing in CPROP2.
-	* passes.c (init_optimization_passes): Move pass_jump_bypass
-	after loop2.
-
-	* basic-block.h (bb_has_eh_pred): Fix style issue.
-
-2007-05-12  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR rtl-optimization/31848
-	* loop-invariant.c (move_invariant_reg): If we move an insn
-	with a REG_EQUAL note, and that insn is not always executed,
-	remove the REG_EQUAL note.
-
-2007-05-12  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31797
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
-	propagate into a stmt that has volatile ops.
-
-2007-05-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
-	(gcc_tooldir): Likewise.
-	* configure: Regenerate.
-	* Makefile.in (libsubdir_to_prefix): New variable, based on the
-	old configure.ac gcc_tooldir setting.
-	(prefix_to_exec_prefix): New variable.
-	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
-	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
-
-2007-05-11  Silvius Rus  <rus@google.com>
-
-	* Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o.
-	* c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic.
-	* c-common.h (strict_aliasing_warning): Change return type.
-	* c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing.
-	* c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning.
-	(build_c_cast): Condition call to strict_aliasing_warning.
-	* doc/invoke.texi: Update description of -Wstrict-aliasing[=n].
-	* flags.h (set_Wstrict_aliasing): Declare.
-	* opts.c (set_Wstrict_alising): Define, add call to.
-	* tree-flow.h (strict_aliasing_warning_backend): Declare.
-	* tree-ssa-alias-warnings.c: New file.
-	* tree-ssa-alias.c (compute_may_aliases): Add call to
-	strict_aliasing_warning_backend.
-
-2007-05-11  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-loop-linear.c (gather_interchange_stats, try_interchange_loops):
-	Use loop_depth and loop_outer accessor functions.
-	* tree-ssa-loop-im.c (outermost_invariant_loop, set_level,
-	determine_invariantness_stmt, move_computations_stmt): Ditto.
-	* cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path,
-	add_loop, loopify, unloop, fix_loop_structure): Ditto.
-	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto.
-	* tree-scalar-evolution.c (interpret_loop_phi,
-	compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop,
-	instantiate_parameters_1, scev_const_prop): Ditto.
-	* cfghooks.c (make_forwarder_block): Ditto.
-	* cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
-	* modulo-sched.c (loop_canon_p): Ditto.
-	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
-	slpeel_can_duplicate_loop_p): Ditto.
-	* lambda-code.c (invariant_in_loop_and_outer_loops): Ditto.
-	* tree-cfg.c (tree_duplicate_sese_region): Ditto.
-	* cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit,
-	cancel_loop, verify_loop_structure): Ditto.
-	(flow_loop_nested_p, superloop_at_depth, flow_loop_free,
-	add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the
-	superloops vector instead of "pred" array.
-	(establish_preds): Take father loop as an argument.  Initialize the
-	superloops vector.
-	(flow_loop_tree_node_add): Pass father loop to establish_preds.
-	Do not initialize loop->outer.
-	(flow_loop_tree_node_remove): Truncate the superloops vector.
-	* cfgloop.h (struct loop): Removed field "outer", fields "depth" and
-	"pred" merged to "superloops" vector.
-	(loop_depth, loop_outer): New.
-	(fel_init): Use loop_outer.
-
-2007-05-11  Jan Hubicka  <jh@suse.cz>
-
-	* cgraphunit.c: Include gt-cgraphunit.h
-	(static_ctors, static_dtors): New static vars.
-	(record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions,
-	based on implementation in c-common.c
-	(cgraph_finalize_function): Call record_cdtor_fn.
-	(cgraph_optimize): Call cgraph_build_cdtor_fns.
-	* decl.c (finish_function): Do not call c_record_cdtor_fn.
-	(c_write_global_declarations): Do not call c_build_cdtor_fns.
-	* c-common.c (static_ctors, static_dtors, c_record_cdtor_fn,
-	build_cdtor, c_build_cdtor_fns): Remove.
-	* c-common.h (static_ctors, static_dtors, c_record_cdtor_fn,
-	c_build_cdtor_fns): Remove prototype.
-
-2007-05-11  Paolo Carlini  <pcarlini@suse.de>
-
-	PR other/31852
-	* builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE.
-	* builtins.def: Add BUILT_IN_MEMCHR, use the latter.
-	* builtins.c (fold_builtin_memchr): New.
-	(expand_builtin_memchr): Call the latter.
-	(expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR.
-	* doc/extend.texi ([Other built-in functions provided by GCC]):
-	Document memchr.
-
-2007-05-11  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM,
-	PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF,
-	PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT,
-	PFPO_OP1_TYPE_SHIFT): Constants added.
-	(DFP_ALL): Mode macro defined.
-	("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2",
-	"*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"):
-	Insn definitions added.
-	("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2",
-	"extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"):
-	Expanders added.
-
-2007-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/31885
-	* tree-chrec.c (chrec_contains_undetermined): Do not consider
-	NULL_TREE to be undetermined.
-	(automatically_generated_chrec_p): Return false for NULL.
-
-2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (MOVE_RATIO): Define.
-
-2007-05-10  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (sparc-wrs-vxworks): New target.
-	* config/sparc/vxworks.h, config/sparc/t-vxworks: New files.
-	* config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare.
-	* config/sparc/sparc.h: Include vxworks-dummy.h.
-	(PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to
-	include LABEL_REFs too.
-	* config/sparc/sparc.c (sparc_expand_move): Don't assume that
-	_GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on
-	VxWorks.
-	(legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs
-	on VxWorks.
-	(load_pic_register): Use gen_vxworks_load_got for VxWorks.
-	(sparc_emit_call_insn): New function.
-	(sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding
-	functions when generating VxWorks PIC.
-	* config/sparc/sparc.md (vxworks_load_got): New pattern.
-	(call, call_value): Use sparc_emit_call_insn instead of
-	emit_call_insn.
-
-2007-05-09  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_output_literal): Don't use #if.
-
-2007-05-09  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
-	for floating-point values if HOST_BITS_PER_LONG > 32.  Use
-	split_double instead of operand_subword.
-
-2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.h (LOCAL_ALIGNMENT): Define.
-	* config/bfin/bfin.c (bfin_local_alignment): New function.
-	* config/bfin/bfin-protos.h (bfin_local_alignment): Declare it.
-
-2007-05-08  Chao-ying Fu  <fu@mips.com>
-
-	* doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document.
-	* optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes.
-	(smsub_widen_optab, umsub_widen_optab): Define.
-	* optabs.c (init_optabs): Initialize smsub_widen_optab and
-	umsub_widen_optab.
-	* genopinit.c (optabs): Fill in smsub_widen_optab and
-	umsub_widen_optab.
-	* expr.c (expand_expr_real_1): Try to use smsub_widen_optab
-	and umsub_widen_optab to implement multiply-subtract sequences.
-	* config/mips/mips.md (*msac<u>_di): Rename to...
-	(<u>msubsidi4): ...this.  Extend condition to include
-	GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
-	of operand 0 to "ka" and use the three-operand form of msub<u>
-	for TARGET_DSPR2.
-	* config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert
-	to define_expands.
-
-2007-05-08  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR rtl-optimization/28011
-	* reload.c (push_reload): Set dont_share if IN appears in OUT
-	also when IN is a PLUS rtx.
-	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
-	are same PLUS rtx.
-
-2007-05-08  Kazu Hirata  <kazu@codesourcery.com>
-
-	* emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL.  Don't
-	call unshare_all_decls.
-	(unshare_all_rtl): Adjust the call to unshare_all_rtl_1.
-	(unshare_all_decls): Remove.
-
-2007-05-08  Simon Martin  <simartin@users.sourceforge.net>
-
-	PR 31847
-	* tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree
-	dumps.
-
-2007-05-08  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC.
-	Update comments and all uses.
-	(MIN_FPRS_PER_FMT): Define.
-	* config/mips/mips.c (function_arg): Fix to correctly handle
-	the -mips32r2 -mfp64 -mabi=32 case.
-	(override_options): Enable use of odd-numbered registers for
-	SFmode values on MIPS32.
-	(mips_save_reg_p): Save whole floating-point register pair if
-	either half is used.
-	(compute_frame_size): Fix comment.
-
-2007-05-08  Jie Zhang  <jie.zhang@analog.com>
-
-	* config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third
-	argument of type bool.
-	* config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth
-	argument. Safely select temporary P register according to it.
-	(do_link): Change call site of add_to_reg accordingly.
-	(do_unlink): Add epilogue_p as a fourth argument and pass it
-	to add_to_reg.
-	(expand_interrupt_handler_epilogue): Change call of do_unlink
-	accordingly.
-	(bfin_expand_prologue): Add a third argument sibcall_p.
-	* config/bfin/bfin.md (epilogue): Change call of
-	bfin_expand_epilogue accordingly.
-	(sibcall_epilogue): Likewise.
-	(eh_return_internal): Likewise.
-
-	* config/bfin/bfin-protos.h (enum bfin_cpu): Add
-	BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561.
-	* config/bfin/bfin.c (bfin_handle_option): Handle
-	-mcpu=bf534, -mcpu=bf536 and -mcpu=bf561.
-	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS):
-	Support bf534, bf536 and bf561.
-	* doc/invoke.texi (Blackfin Options): Document -mcpu and -msim.
-
-2007-05-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31854
-	* config/i386/i386.c (ix86_function_regparm): Process local
-	functions only when TREE_CODE (decl) equals FUNCTION_DECL.
-
-2007-05-07  Mike Stump  <mrs@apple.com>
-
-	* doc/invoke.texi (Warning Options): Document that -Wempty-body
-	also checks for and while statements in C++.
-
-2007-05-07  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* gcc.c (at_file_supplied): New variable.
-	(main): Set it if we expanded argv.
-	(do_spec_1): Pass an @-file to the linker if we were called with
-	an @-file argument and HAVE_GNU_LD.
-	* collect2.c (at_file_supplied): New variable.
-	(response_file): New variable.
-	(collect_exit): Unlink response_file if necessary.
-	(handler): Likewise.
-	(do_wait): Likewise.
-	(main): Set at_file_supplied if we expanded argv.
-	(collect_execute): Pass an @-file to subprocesses if we were called
-	with an @-file argument.
-	* configure.ac: Add define for HAVE_GNU_LD.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2007-05-07  Naveen.H.S  <naveen.hs@kpitcummins.com>
-
-	* config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd
-	operand to HI mode.
-	(mulsi3): New.
-	(divsi3): New.
-	(udivsi3): New.
-
-2007-05-07  Jayant Sonar  <jayants@kpitcummins.com>
-
-	* config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
-	(TARGET_ENCODE_SECTION_INFO): Re-define.
-	(m32c_encode_section_info): New
-	(function_vector_handler): New
-	(current_function_special_page_vector): New
-	(m32c_special_page_vector_p): New.
-	* config/m32c/m32c-protos.h (m32c_special_page_vector_p):
-	Prototype.
-	* config/m32c/jump.md: Added instruction JSRS for functions
-	with attribute "function_vector".
-	* doc/extend.texi (function_vector): Added description
-	for M16C, M32C targets.
-
-2007-05-07  DJ Delorie  <dj@redhat.com>
-
-	PR 31794
-	* config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3,
-	ashrpsi3, lshrpsi3): Update shift count constraint.
-
-2007-05-07  Danny Smith  <dannysmith@users.sourceforge.net>
-	    Nathan Froyd  <froydnj@codesourcery.com>
-
-	PR 22133
-	* c-incpath.c (add_path): Strip trailing path separators.
-
-2007-05-07  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
-	Free dominance info before purging EH edges.
-	(eliminate_degenerate_phis): Likewise.
-	(propagate_rhs_into_lhs): Set cfg_altered to true instead of 1.
-
-2007-05-07  Jan Hubicka  <jh@suse.cz>
-
-	* gimplify.c (gimplify_expr): Do not crash when folding
-	(void *)(int)&a + 4.
-
-2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
-
-	PR driver/31694
-	* c-opts.c (lang_fortran): Make it non static.
-	* c-common.h (lang_fortran): New prototype.
-	* c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the
-	-lang-fortran option was passed by the driver.
-
-2007-05-06  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead
-	of ASSERT_CHECKING.  Tweak message.
-
-2007-05-06  Revital Eres  <eres@il.ibm.com>
-
-	PR 30957
-	* loop-unroll.c (insert_var_expansion_initialization):
-	Initialize the expansions with -zero instead of +zero.
-
-2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
-
-	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
-	into pic and non-pic versions. Mark r19 as used for
-	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
-	for tgd_load, tld_load and tie_load .
-	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
-	version of tgd_load, tld_load and tie_load depending on the
-	value of flag_pic.
-
-2007-05-04  Ulrich Drepper  <drepper@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-
-	* crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
-	(__do_global_dtors_aux): Use more paranoid loop to run
-	destructors if HIDDEN_DTOR_LIST_END.
-	(__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END.
-
-2007-05-04  Jakub Jelinek  <jakub@redhat.com>
-
-	* varasm.c (align_variable): Don't increase alignment for
-	DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
-	DATA_ALIGNMENT or CONSTANT_ALIGNMENT.
-
-2007-05-04  Josh Conner  <jconner@apple.com>
-
-	* basic-block.h (cdi_direction): Assign values to all enumeration
-	constants.
-	(dom_computed): Remove.
-	(dom_info_state): New.
-	(set_dom_info_availability): New.
-	* tree-ssa-loop-im.c (determine_invariantness): Initialize
-	walk_data.dom_direction.
-	* cfghooks.c (delete_basic_block): Use dom_info_available_p()
-	instead of dom_computed[].
-	(split_edge): Likewise.
-	(create_basic_block): Likewise.
-	(merge_blocks): Likewise.
-	* ifcvt.c (find_if_header): Likewise.
-	* tree-cfgcleanup.c (cleanup_tree_cfg): Likewise.
-	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
-	* tree-ssa.c (verify_ssa): Likewise.
-	* tree-cfg.c (tree_verify_flow_info): Likewise.
-	(remove_edge_and_dominated_blocks): Likewise.
-	* dominance.c (dom_computed): Make static.
-	(calc_dfs_tree_nonrec): Change third param to a bool.
-	(calc_dfs_tree): Change second param to a bool.
-	(calc_idioms): Change second param to a bool.  Use
-	dom_convert_dir_to_idx.
-	(init_dom_info): Validate dir before using.
-	(dom_convert_dir_to_idx): New.
-	(calculate_dominance_info): Use dom_convert_dir_to_idx.  New
-	variable 'reverse' used for calling calc_dfs_tree and calc_idoms.
-	(free_dominance_info): Use dom_convert_dir_to_idx.
-	(get_immediate_dominator): Likewise.
-	(set_immediate_dominator): Likewise.
-	(get_dominated_by): Likewise.
-	(redirect_immediate_dominators): Likewise.
-	(nearest_common_denominator): Likewise.
-	(dominated_by_p): Likewise.
-	(bb_dom_dfs_in): Likewise.
-	(bb_dom_dfs_out): Likewise.
-	(recount_dominator): Likewise.
-	(iterate_fix_dominators): Likewise.
-	(add_to_dominance_info): Likewise.
-	(delete_from_dominance_info): Likewise.
-	(first_dom_son): Likewise.
-	(next_dom_son): Likewise.
-	(dom_info_available_p): Likewise.
-	(dom_info_state): New.
-	(set_dom_info_availability): New.
-
-2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
-	Expander removed.
-	("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.
-
-2007-05-04  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
-	(subdi3, subdi_carry): Delete.
-
-2007-05-04  Jan Hubicka  <jh@suse.cz>
-	    Richard Guenther  <rguenther@suse.de>
-
-	* opts.c (decode_options): Do not fiddle with inlining
-	parameters in case of optimizing for size.
-	* ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing
-	for size do nothing.
-	(cgraph_decide_inlining_of_small_function): When optimizing for
-	size never inline functions increasing caller size.
-	(cgraph_early_inlining): Inline for size when optimizing for size.
-
-2007-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (<optab>di3): Now a define_expand which expands
-	logical operations piecewise.
-	(<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2,
-	zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi,
-	subdi_sesidi_di): Delete.
-	(add_with_carry): Produce carry in CC instead of a DREG to shorten
-	the generated sequence.  Allow three-reg add in constraints.  Rewrite
-	the rtl expression for carry to avoid zero_extend of a constant.
-	(sub_with_carry): New pattern.
-	(adddi3, subdi3): Change into define_expand.  For subtract, generate a
-	different sequence not involving jumps.
-	(notbi): Now a named pattern.
-
-2007-05-04  Bradley Lucier  <lucier@math.purdue.edu>
-
-	* doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]:
-	Add the note about a significant loss of accuracy of some
-	mathematical routines when these options are used.
-
-2007-05-04  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	* haifa-sched.c (rtx_vec_t): New typedef.
-	(contributes_to_priority_p): Extract piece of priority () into new
-	static function.
-	(priority): Use the function.  Add assertion.
-	(rank_for_schedule, set_priorities): Add assertion to check that
-	insn's priority is initialized.
-	(clear_priorities, calc_priorities): Change signature.  Make it update
-	all relevant insns.  Update all callers ('add_to_speculative_block ()'
-	and 'create_block_check_twin ()').
-	* sched-int.h (struct haifa_insn_data): Remove field 'priority_known'.
-	Add new field 'priority_status'.
-	(INSN_PRIORITY_STATUS): New macro.
-	(INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS.
-
-2007-05-04  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	* sched-ebb.c (debug_ebb_dependencies): New static function.
-	(init_ready_list): Use it.
-
-	* sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()'
-	with changed signature and 'debug_rgn_dependencies ()'.
-	(debug_rgn_dependencies): New static function.
-	(init_ready_list): Use it.
-
-	* sched-int.h (debug_dependencies): Declare.
-
-2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section.
-
-2007-05-04  Dirk Mueller  <dmueller@suse.de>
-
-	* c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.
-
-2007-05-03  Jan Hubicka  <jh@suse.cz>
-
-	* fold-const.c (fold_unary): Convert (T1)(X op Y) into
-	((T1)X op (T1)Y), for pointer type in more cases than before.
-
-	* gimplify.c (gimplify_expr): Fold (void *)&a + 4.
-
-	* tree-object-size.c (plus_expr_object_size): When operand size is
-	unknown, return unknown.
-
-2007-05-03  Dirk Mueller  <dmueller@suse.de>
-
-	* doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove.
-
-	* config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated
-	options.
-
-	* config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove.
-
-2007-05-03  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors.
-
-2007-05-03  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/soft-fp/double.h, config/soft-fp/extended.h,
-	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
-	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
-	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
-	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
-	glibc CVS.
-
-2007-05-03  Ian Lance Taylor  <iant@google.com>
-
-	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
-	MASK_PPC_GFXOPT for 8540 or 8548.
-
-2007-05-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* tree-vect-transform.c (vect_update_inits_of_drs): Use
-	vect_print_dump_info() to output debug information.
-
-2007-05-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31768
-	* config/i386/i386.c (print_operand) ['z']: Output 'w' for
-	operands of size 2 when operand is not MEM_P.
-
-2007-05-03  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/30565
-	* lambda-code.c (perfect_nestify): Fix updating of dominators.
-
-2007-05-03  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (addpdi3, us_truncpdisi2): New patterns.
-	(umulsi3_highpart): Use them.
-	* config/bfin/lib1funcs.asm (__umulsi3_highpart): Use unsigned move
-	for final accumulator to D regisster tranfser.
-
-2007-05-03  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/31699
-	* tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove
-	wrong code.
-	(vect_enhance_data_refs_alignment): Compute peel amount using
-	TYPE_VECTOR_SUBPARTS instead of vf.
-	* tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise.
-
-2007-05-02  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	PR bootstrap/31776
-	* system.h: Remove inclusion of double-int.h
-	* tree.h: Include double-int.h
-	* gengtype.c: Likewise
-	* cfgloop.h: Likewise
-	* Makefile.in: Adjust dependencies on double-int.h
-
-2007-05-02  Eric Christopher  <echristo@apple.com>
-
-	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate
-	-shared to -Zdynamiclib.
-
-2007-05-02  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR c++/31663
-	* c-common.c (strip_pointer_or_array_types): New function.
-	* c-common.h (strip_pointer_or_array_types): New function declaration.
-
-2007-05-03  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/31771
-	* tree-cfg.c (move_block_to_fn): Assign bb to the correct index.
-
-2007-05-02  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/bpabi.S (aeabi_lcmp): Fix result on overflow.
-
-2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/29715
-	* fold-const.c (fold_comparision): Remove the "foo++ == CONST"
-	transformation.
-
-2007-05-02  Nick Clifton  <nickc@redhat.com>
-
-	* config/frv/predicates.md (symbolic_operand): Accept CONSTs.
-
-2007-05-02  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31146
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
-	argument, single_use_p.  If we have a single use that is
-	a conversion to the definition rhs type, propagate that rhs.
-	(forward_propagate_addr_expr): Pass single_use_p argument
-	to forward_propagate_addr_expr_1.
-
-2007-05-01  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_expand_sse_comi): Remove unused
-	variable.
-
-2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
-
-	* doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of
-	'AMD Family 10 core'.
-
-2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
-
-	* config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3
-	and athlon64-sse3 as improved versions of k8, opteron and athlon64
-	with SSE3 instruction set support.
-	* doc/invoke.texi: Likewise.
-
-2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
-
-	* config/i386/i386.c (override_options): Tuning 32-byte loop
-	alignment for amdfam10 architecture. Increasing the max loop
-	alignment to 24 bytes.
-
-2007-05-01  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/constraints.md: New.
-	* config/m68k/m68k.h (REG_CLASS_FROM_LETTER,
-	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
-	EXTRA_CONSTRAINT): Remove.
-	* config/m68k/m68k.md: Include constraints.md.
-	* expr.c (expand_expr_real_1): Copy DECL_RTL before using it.
-
-2007-05-01  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31739
-	* tree-vrp.c (vrp_val_is_max): New static function.
-	(vrp_val_is_min): New static function.
-	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
-	copying the node.
-	(set_value_range): Use vrp_val_is_{max,min}.
-	(extract_range_from_assert): Likewise.
-	(extract_range_from_binary_expr): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	(dump_value_range, vrp_meet): Likewise.
-	(vrp_visit_phi_node): Likewise.
-	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
-
-2007-05-01  Mark Mitchell  <mark@codesourcery.com>
-
-	* config/i386/gmon-sol2.c (size_t): New type.
-	(intptr_t): Likewise.
-	(s_textsize): Declare as size_t.
-	(sbrk): Declare.
-	(monstartup): Use size_t for sizes.
-	(_mcount): Save and restore registers.
-	(internal_mcount): Pass 0 as the first argument to monstartup
-	in 64-bit mode.
-	(moncontrol): Convert pointer to appropriately sized integer
-	before passing to profil.
-
-2007-05-01  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/darwin-ldouble.c (__gcc_qunord): Define if
-	__NO_FPRS__, not just if _SOFT_DOUBLE.
-	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qunord): Likewise.
-	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use __gcc_qunord
-	also for E500 double.
-	* config/rs6000/rs6000.md (buneq, bunge, bungt, bunle, bunlt,
-	suneq, sunge, sungt, sunle, sunlt): Disable for (TARGET_HARD_FLOAT
-	&& !TARGET_FPRS).
-
-2007-05-01  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt
-	is NULL.
-
-2007-05-01  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
-
-2007-05-01  Jan Hubicka  <jh@suse.cz>
-
-	* tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is
-	invariant.
-
-2007-05-01  Jan Hubicka  <jh@suse.cz>
-
-	* tree.h (maybe_fold_offset_to_component_ref): Remove.
-	(maybe_fold_offset_to_reference): Declare.
-	* fold-const.c (fold_unary): Do not fold
-	(type *)&A into &A->field_of_type_and_offset_0
-	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type
-	size is unknown, give up.
-	(maybe_fold_offset_to_component_ref): Ignore firelds with unknown
-	offsets.
-	(maybe_fold_offset_to_reference): New.
-	(maybe_fold_stmt_indirect): Use it.
-	(fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset.
-	* gimplify.c (gimplify_conversion): Canonicalize conversions to
-	field references.
-	(gimplify_expr): Likewise for plus_expr.
-
-2007-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use
-	bsi_after_labels.  Always insert statements before bsi.
-	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
-	* predict.c (apply_return_prediction): Check for empty blocks.
-	* cfgexpand.c (lab_rtx_for_bb): New variable.
-	(label_rtx_for_bb): Do not create new tree labels.
-	(expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb.
-	(tree_expand_cfg): Initialize lab_rtx_for_bb.
-	* tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after
-	creating edges.
-	(label_for_bb): Add field used.
-	(update_eh_label, main_block_label): Mark the label used.
-	(cleanup_dead_labels): Remove unused labels.
-
-2007-05-01  Richard Guenther  <rguenther@suse.de>
-
-	* tree-vrp.c (set_value_range): Do not allocate equiv bitmap
-	if it is not about to be set.
-	(get_value_range): Do not pre-allocate equiv bitmap.
-	(update_value_range): No need to clear equiv field.
-	(add_equivalence): Change prototype to get bitmap pointer.
-	Allocate bitmap here if it is not already.
-	(extract_range_from_assert): Do not allocate bitmap here.
-	Update callers to add_equivalence.
-	(extract_range_from_ssa_name): Likewise.
-	(get_vr_for_comparison): New static helper.
-	(compare_name_with_value): Handle NULL equiv bitmap by
-	peeling the first iteration of the comparison loop.
-	Use get_vr_for_comparison.
-	(compare_names): Handle NULL equiv bitmaps by using fake
-	ones.  Use get_vr_for_comparison.
-
-2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* double-int.c (mpz_set_double_int): Moved from
-	tree-ssa-loop-niter.c.
-	(mpz_get_double_int): Likewise; also, add option to wrap
-	out-of-range integers.
-	* double-int.h: New prototypes for above.
-	* tree.c (get_static_type_bounds): Moved from
-	tree-ssa-loop-niter.c; now returns TYPE_MIN_VALUE and
-	TYPE_MAX_VALUE if they exist..
-	* tree.h: New prototype for above.
-	* tree-ssa-loop-niter.c: Adjust mpz_to_double_int and
-	get_type_bounds calls.
-	(mpz_set_double_int): Move to double-int.c.
-	(get_type_bounds): Move to tree.c, rename to
-	get_static_type_bounds.
-	(mpz_to_double_int): Move to double-int.c, rename to
-	mpz_get_double_int.
-
-2007-04-30  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that
-	DIV0 exception can fall through to a normal return.
-
-2007-04-30  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/22156
-	Temporarily revert:
-	2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
-	* tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
-	2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
-	* tree-sra.c (try_instantiate_multiple_fields): Needlessly
-	initialize align to silence bogus warning.
-	2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
-	* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
-	all_no_warning.
-	(struct sra_walk_fns): Remove use_all parameter from use.
-	(sra_hash_tree): Handle BIT_FIELD_REFs.
-	(sra_elt_hash): Don't hash bitfld blocks.
-	(sra_elt_eq): Skip them in parent compares as well.  Handle
-	BIT_FIELD_REFs.
-	(sra_walk_expr): Don't maintain or pass down use_all_p.
-	(scan_use): Remove use_all parameter.
-	(scalarize_use): Likewise.  Re-expand assignment to
-	BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
-	output, and re-scalarize after output.  Don't mark anything
-	for no warning.
-	(scalarize_ldst): Adjust.
-	(scalarize_walk_gimple_modify_statement): Likewise.
-	(build_element_name_1): Handle BIT_FIELD_REFs.
-	(instantiate_element): Don't warn for any element whose parent
-	is used as a whole.
-	(instantiate_missing_elements_1): Return the sra_elt.
-	(canon_type_for_field): New.
-	(try_instantiate_multiple_fields): New.
-	(instantiate_missing_elemnts): Use them.
-	(mark_no_warning): Removed.
-	(generate_one_element_ref): Handle BIT_FIELD_REFs.
-	(REPLDUP, sra_build_elt_assignment): New.
-	(generate_copy_inout): Use them.
-	(generate_element_copy): Likewise.  Handle bitfld differences.
-	(generate_element_zero): Don't recurse for blocks.  Use
-	sra_build_elt_assignment.
-	(generate_one_element_int): Take elt instead of var.  Use
-	sra_build_elt_assignment.
-	(generate_element_init_1): Adjust.
-	(scalarize_use, scalarize_copy): Use REPLDUP.
-	(scalarize_ldst): Move assert before dereference.
-	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
-
-2007-04-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR C++/31721
-	* tree.c (reconstruct_complex_type): Reconstruct a reference
-	correctly.
-	Also use the same mode for the pointer as the old pointer type.
-
-2007-04-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
-
-	* doc/trouble.texi (Interoperation): Remove note about Ultrix
-	Fortran compiler.
-
-2007-04-29  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR rtl-optimization/31676
-	* df-scan.c (record_nonlocal_goto_receiver_defs): New function.
-	(df_refs_record): Call it.
-
-2007-04-29  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* rtl.def (SS_ABS): New code.
-	* config/bfin/bfin.c (print_operand): New modifier 'v'.
-	(enum bfin_builtins): Add BFIN_BUILTIN_SUM_2X16, BFIN_BUILTIN_ABS_1x32,
-	BFIN_BUILTIN_ROUND_1x32, BFIN_BUILTIN_MULT_1x32x32,
-	BFIN_BUILTIN_MULT_1x32x32NS, BFIN_BUILTIN_SSASHIFT_1x32.
-	(bfin_init_builtins): Define them.
-	(bdesc_1arg, bdesc_2arg): Add some of them here, ...
-	(bfin_expand_builtin): ... and handle the others here.
-	* config/bfin/bfin.md (ssabssi2, ssroundsi2, ssashiftsi3,
-	flag_mul_macv2hi_parts_acconly_andcc0): New patterns.
-	(ss_absv2hi2): Renamed from absv2hi; use ss_abs code.
-	(ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Shift count
-	operand is only HImode.
-
-2007-04-29  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* regclass.c (scan_one_insn): Remove splitting of
-	two address insns.
-
-2007-04-28  Sandra Loosemore  <sandra@codesourcery.com>
-	    Nigel Stephens  <nigel@mips.com>
-
-	* config/mips/mips.h (SLOW_BYTE_ACCESS): Turn off for MIPS16.
-
-2007-04-28  Jan Hubicka  <jh@suse.cz>
-
-	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use
-	insn_locators_alloc instead of insn_locators_initialize;
-	call reset_block_changes.
-	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
-	* config/sh/sh.c (sparc_output_mi_thunk): Likewise.
-	* config/is64/ia64.c (ia64_output_mi_thunk): Likewise.
-	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
-	* config/score/score.c (th_output_mi_thunk): Likewise.
-	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
-	* cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block):
-	tolerate uninitialized locator info.
-
-	Re-apply:
-	* function.c (init_function_start): Don't init line number info.
-	(expand_function_end): Update.
-	(reset_block_changes, record_block_change, finalize_block_changes,
-	check_block_change, free_block_changes): Kill.
-	* function.h (reset_block_changes, record_block_change,
-	finalize_block_changes, check_block_change, free_block_changes):
-	Remove prototypes.
-	(struct function): Remove ib_boundaries_block.
-	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
-	Use curr_insn_locator to initialize locator.
-	(emit_line_note): Remove.
-	* cfgexpand.c (expand_gimple_cond_expr): Update.
-	(construct_exit_block): Likewise.
-	(tree_expand_cfg): Initialize/finalize locators.
-	* expr.c (expand_expr_real): Update.
-	* cfglayout.c (line_locators_locs, line_locators_lines,
-	file_locators_locs, file_locators_files): Remove.
-	(set_block_levels): Move to cfgexpand.c.
-	(insn_locators_initialize): Remove.
-	(pass_insn_locators_initialize): Remove.
-	(locations_locators_locs, locations_locators_vals): New static vars.
-	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
-	Likewise.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	New functions.
-	(locator_location): New.
-	(locator_line, locator_file): Rewrite.
-	* rtl.h (emit_line_note): Kill.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	Declare.
-	* tree-inline.c (initialize_cfun): Do not initialize
-	ib_boundaries_block.
-	* passes.c (pass_insn_locators_initialize): Remove.
-
-2007-04-28  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-cfg.c (move_block_to_fn): Release bb from dominance
-	info.  Update last_basic_block correctly.
-
-2007-04-27  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/31701
-	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
-	register itself to hold the offset constant.  Tell flow the use
-	of r4 and r5 when they are used.
-
-2007-04-27  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (forward_propagate_into_cond): Keep track
-	if we simplified anything.
-	(tree_ssa_forward_propagate_single_use_vars): Defer overflow
-	warnings until we did a simplification and the stmt was not
-	marked as TREE_NO_WARNING.
-
-2007-04-27  Mike Stump  <mrs@apple.com>
-
-	* config/rs6000/darwin.h (ALWAYS_PUSH_CONSTS_USING_REGS_P): Remove.
-
-2007-04-27  Ian Lance Taylor  <iant@google.com>
-
-	PR middle-end/31710
-	* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
-	TYPE_MAX_VALUE exist, convert them to the new type.
-
-2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-cfgcleanup.c (cleanup_tree_cfg): Verify dominance info
-	if it claims to be available.
-	* tree-ssa-dce.c (remove_dead_stmt): Mark cfg as altered when
-	edge is redirected.
-	(perform_tree_ssa_dce): Always free postdominators.
-
-2007-04-27  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/predicates.md (aligned_memory_operand): Mark
-	as define_special_predicate.
-	(unaligned_memory_operand, normal_memory_operand): Likewise.
-	(reg_or_unaligned_mem_operand): Remove.
-	(any_memory_operand): Match the documentation and check for
-	non-renumbered pseudos during reload.
-	* config/alpha/alpha.c (alpha_secondary_reload): Rename from
-	alpha_secondary_reload_class, update to new interface, make static.
-	Handle CQImode like HImode.  Remove FP subreg check.
-	(alpha_expand_mov): Use replace_equiv_address.
-	(alpha_expand_mov_nobwx): Use any_memory_operand.
-	(TARGET_SECONDARY_RELOAD): New.
-	* config/alpha/alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Remove.
-	(SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
-	* config/alpha/sync.md (I12MODE, I48MODE, modesuffix): Move ...
-	* config/alpha/alpha.md: ... here.
-	(RELOAD12, reloadmode): New.
-	(movcqi): New.
-	(reload_in<RELOAD12>): Macro-ize from reload_inqi, reload_inhi.
-	Don't handle the aligned case here.
-	(reload_out<RELOAD12>): Macro-ize from reload_outqi, reload_outhi.
-	(reload_in<I12MODE>_aligned): Macro-ize from reload_inqi_help,
-	reload_inhi_help.  Don't expect a scratch register.
-	(reload_out<I12MODE>_aligned): Macro-ize from reload_outqi_help,
-	reload_outhi_help.
-	* config/alpha/alpha-protos.h (alpha_secondary_reload_class): Remove.
-
-2007-04-27  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-forwprop.c (get_prop_dest_stmt): Fix comment typo.
-
-2007-04-27  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/30965
-	PR tree-optimization/30978
-	* Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H).
-	* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove.
-	(find_equivalent_equality_comparison): Likewise.
-	(simplify_cond): Likewise.
-	(get_prop_source_stmt): New helper.
-	(get_prop_dest_stmt): Likewise.
-	(can_propagate_from): Likewise.
-	(remove_prop_source_from_use): Likewise.
-	(combine_cond_expr_cond): Likewise.
-	(forward_propagate_comparison): New function.
-	(forward_propagate_into_cond): Rewrite to use fold for
-	tree combining.
-	(tree_ssa_forward_propagate_single_use_vars): Call
-	forward_propagate_comparison to propagate comparisons.
-
-2007-04-27  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31715
-	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make
-	sure to do computation on the offset in an appropriate
-	signed type.
-
-2007-04-27  Richard Sandiford  <richard@codesourcery.com>
-
-	* reload.h (elimination_target_reg_p): Declare.
-	* reload.c (find_reloads): Don't apply the reg_rtx move
-	optimization if the SET_DEST satisfies elimination_target_reg_p.
-	* reload1.c (elimination_target_reg_p): New function.
-	(gen_reload): In the move/add2 fallback, make sure that op0
-	does not overlap the destination register.
-
-2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-im.c (determine_invariantness_stmt): Attempt to
-	transform only GIMPLE_MODIFY_STMTs.
-	* tree-complex.c (expand_complex_operations_1): Ditto.
-	(expand_complex_div_wide): Do not create gotos in COND_EXPR branches.
-	* tree-ssa-loop-manip.c (build_if_stmt): Removed.
-	(tree_transform_and_unroll_loop): Do not create gotos in COND_EXPR
-	branches.
-	* value-prof.c (tree_divmod_fixed_value, tree_mod_pow2,
-	tree_mod_subtract, tree_ic, tree_stringop_fixed_value): Ditto.
-	* omp-low.c (expand_parallel_call, expand_omp_for_generic,
-	expand_omp_for_static_chunk, expand_omp_for_static_nochunk): Ditto.
-	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes,
-	slpeel_add_loop_guard): Ditto.
-	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
-	* lambda-code.c (perfect_nestify): Ditto.
-	* tree-iterator.c (tsi_split_statement_list_before): Fix splitting
-	before the first statement.
-	* tree-optimize.c (execute_free_datastructures): Fix comments.
-	(execute_free_cfg_annotations): Do not call disband_implicit_edges.
-	* tree-flow.h (disband_implicit_edges): Declaration removed.
-	* tree-cfg.c (make_cond_expr_edges): Remove gotos from COND_EXPR
-	branches.
-	(cleanup_dead_labels, tree_redirect_edge_and_branch): Handle
-	COND_EXPRs without gotos.
-	(disband_implicit_edges, has_label_p): Removed.
-	(tree_verify_flow_info): Verify that COND_EXPR branches are empty.
-	(tree_lv_add_condition_to_bb): Do not create gotos in COND_EXPR
-	branches.
-	* tree.c (build3_stat): Mark COND_EXPRs used as statements as having
-	side effects.
-	* tree-pretty-print.c (dump_implicit_edges): Dump implicit edges
-	also for COND_EXPRs.
-	* cfgexpand.c (label_rtx_for_bb): New function.
-	(expand_gimple_cond_expr): Do not expect gotos in COND_EXPR branches.
-	Use label_rtx_for_bb to find the labels.
-	(expand_gimple_basic_block): Remove RETURN_EXPR at the end of the
-	last block.  Detect fallthru edges.
-
-2007-04-26  Ian Lance Taylor  <iant@google.com>
-
-	PR target/28675
-	* reload.c (find_reloads_subreg_address): If the address was valid
-	in the original mode but not in the new mode, reload the whole
-	address.
-
-2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-cfgcleanup.c (cfgcleanup_altered_bbs): New global variable.
-	(remove_fallthru_edge): Use remove_edge_and_dominated_blocks.
-	(cleanup_control_expr_graph): Do not invalidate dominance info.
-	Record altered blocks.
-	(cleanup_control_flow, cleanup_forwarder_blocks): Removed.
-	(cleanup_control_flow_bb, split_bbs_on_noreturn_calls,
-	cleanup_tree_cfg_bb): New functions.
-	(remove_forwarder_block): Do not maintain the worklist of blocks.
-	Record altered blocks.
-	(cleanup_tree_cfg_1): Iterate over cfgcleanup_altered_bbs,
-	not over whole cfg.
-	(cleanup_tree_cfg): Do not iterate cleanup_tree_cfg_1.  Only call
-	delete_unreachable_blocks if dominators are not available.
-	* tree-inline.c (optimize_inline_calls): Free dominance information
-	earlier.
-	* tree-flow.h (remove_edge_and_dominated_blocks,
-	cfgcleanup_altered_bbs): Altered.
-	* tree-cfg.c (replace_uses_by, tree_merge_blocks): Record altered
-	blocks.
-	(get_all_dominated_blocks, remove_edge_and_dominated_blocks): New
-	functions.
-	(tree_purge_dead_eh_edges): Use remove_edge_and_dominated_blocks,
-	do not invalidate dominators.
-
-2007-04-26  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
-	ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
-	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
-	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
-
-2007-04-26  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.md (ip_value): Fix itanium_class attribute.
-
-2007-04-26  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31703
-	* tree-ssa-loop-im.c (rewrite_bittest): Make sure to use
-	the right type for the target of the bittest.
-
-2007-04-26  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/i386/vx-common.h (RETURN_IN_MEMORY): Use
-	ix86_sol10_return_in_memory.
-
-2007-04-26  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/i386/i386.c (ix86_sol10_return_in_memory): Remove unused
-	variables.
-
-2007-04-26  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/31598
-	* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
-
-	PR tree-optimization/30558
-	* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
-	clear this_state.prev_try.
-
-2007-04-26  Richard Sandiford  <richard@codesourcery.com>
-	    Mark Mitchell  <mark@codesourcery.com>
-
-	* config/i386/i386-protos.h (ix86_sol10_return_in_memory): Declare.
-	* config/i386/i386.c (ix86_sol10_return_in_memory): New function.
-	* config/i386/sol2-10.h (RETURN_IN_MEMORY): Use it.
-
-2007-04-26  Richard Sandiford  <richard@codesourcery.com>
-
-	PR driver/31107
-	* doc/invoke.texi (%:print-asm-header): Document.
-	* gcc.c (asm_options): Use %:print-asm-header() for --target-help
-	and -ftarget-help.
-	(static_spec_functions): Add print-asm-header.
-	(main): Print a banner before the --target-help linker options.
-	(print_asm_header_spec_function): New function.
-
-2007-04-25  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/31403
-	* config/sh/sh.md (movsi_ie): Fix length for TARGET_SH2A.
-	(movsf_ie): Likewise.
-
-2007-04-25  Paolo Carlini  <pcarlini@suse.de>
-
-	* doc/extend.texi ([Type Traits]): Adjust per N2255.
-
-2007-04-25  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an
-	exception for divide-by-zero.
-	(__umodsi3, __modsi3): Likewise.
-
-2007-04-25  Dirk Mueller  <dmueller@suse.de>
-
-	* c-typeck.c (build_compound_expr): Annotate warning()
-	call with OPT_Wunused_value.
-	* tree-ssa.c (warn_uninit): Annotate warning with
-	OPT_Wunintialized.
-	* c-common.c (handle_sentinel_attribute): Annotate warning
-	call with OPT_Wattributes.
-
-2007-04-25  Thiemo Seufer  <ths@mips.com>
-
-	* config/mips/mips.opt (mdmx, mmt, mno-mdmx): New options.
-	(mips16): Fix typo.
-	* config/mips/mips.h (ASM_SPEC): Pass -mmt/-mno-mt and -mdmx/-mno-mdmx
-	on to the assembler.  Improve handling of -mno-mips16.  Add handling
-	of -mno-mips3d, -mno-dsp, -mno-dspr2.
-	* doc/invoke.texi (MIPS Options): Whitespace cleanup.  Fix wrong use
-	of @itemx.  Document -mno-dsp, -mno-dspr2, -mno-paired-single, -mdmx,
-	-mno-mdmx, -mno-mips3d, -mmt and -mno-mt.
-
-2007-04-25  Danny Smith  <dannysmith.users.sourceforge.net>
-
-	PR target/31680
-	* config/i386/winnt.c (i386_pe_file_end): Strip only
-	USER_LABEL_PREFIX when writing export name.
-
-2007-04-25  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (sh-wrs-vxworks): Don't include dbxelf.h.  Include
-	sh/elf.h, vx-common.h and vxworks.h.
-	* config/sh/sh.h: Include config/vxworks-dummy.h.
-	(SUBTARGET_OVERRIDE_OPTIONS): Define.
-	(OVERRIDE_OPTIONS): Use it.
-	* config/sh/sh.md (GOTaddr2picreg): Add suport for VxWorks RTPs.
-	(vxworks_picreg): New pattern.
-	* config/sh/vxworks.h (TARGET_OS_CPP_BUILTINS): Use
-	VXWORKS_OS_CPP_BUILTINS.
-	(LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine
-	to their VXWORKS_* equivalents.
-	(SUBTARGET_OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
-	(SUBTARGET_LINK_EMUL_SUFFIX, FUNCTION_PROFILER): Define.
-	* config/sh/lib1funcs.asm (NO_FPSCR_VALUES): Define for VxWorks PIC.
-	(set_fpscr, ic_invalidate): Add VxWorks PIC sequences.
-	* config/sh/t-vxworks (MULTILIB_OPTIONS): Add m4a, -mrtp and
-	-mrtp/-fPIC multilibs.
-	(MULTILIB_EXCEPTIONS): Generalize globs accordingly.
-	(MULTILIB_MATCHES, EXTRA_MULTILIB_PARTS): Define.
-	(MULTILIB_OSDIRNAMES): Delete.
-
-2007-04-25  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/18989
- 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
-
-2007-04-24  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* real.c (mpfr_from_real): Handle Inf and NaN, and allow the
-	rounding mode to be specified by the caller.
-	(real_to_mpfr) Likewise.
-	* real.h: Update mpfr_from_real, mpfr_to_real prototypes to
-	include new arguments.
-	* builtins.c: Update mpfr_from_real, mpfr_to_real calls.
-
-2007-04-24  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31605
-	* tree-vrp.c (set_value_range): Check that min and max are not
-	both overflow infinities.
-	(set_value_range_to_value): New static function.
-	(extract_range_from_binary_expr): Call set_value_range_to_value.
-	(extract_range_from_cond_expr): Likewise.
-	(extract_range_from_expr): Likewise.
-	(extract_range_from_unary_expr): Likewise.  Don't create a range
-	which overflows on both sides.
-	(vrp_meet): Check for a useless range.
-	(vrp_visit_phi_node): If we see a constant which looks like an
-	overflow infinity, turn off the TREE_OVERFLOW flag.
-
-2007-04-24  Ian Lance Taylor  <iant@google.com>
-
-	* flow.c (elim_reg_cond): Handle a comparison of a subreg.
-
-2007-04-24  Simon Martin  <simartin@users.sourceforge.net>
-
-	PR diagnostic/25923
-	* tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a
-	diagnostic message is being built.
-	* tree-pretty-print.c (dump_generic_node): Only write the
-	formatted text into BUFFER's stream if we are not building a
-	diagnostic message.
-	* toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to
-	dump_generic_node.
-	* Makefile.in (toplev.o): Depend on tree-pass.h.
-
-2007-04-24  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31602
-	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
-	conditionals in the copied loop header.
-	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
-	warnings if TREE_NO_WARNING is set.
-	* doc/invoke.texi (Warning Options): Clarify that
-	-Wstrict-overflow does not warn about loops.
-
-2007-04-24  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/rs6000/rs6000.c (function_arg_advance): For 32-bit ELF ABI,
-	expand on the comment about _Decimal128 arguments and check the
-	integer result of the modulus operation; for 64-bit ELF ABI, ensure
-	that _Decimal128 argument uses even/odd register pair.
-	(function_arg): Ditto.
-
-2007-04-24  Hui-May Chang <hm.chang@apple.com>
-
-	* reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
-	instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
-
-2007-04-24  Richard Guenther  <rguenther@suse.de>
-	    Olga Golovanevsky  <olga@il.ibm.com>
-
-	* fold-const.c (multiple_of_p): Check for bottom
-	to be zero.
-
-2007-04-24  Richard Henderson  <rth@redhat.com>
-
-	* libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from
-	IS_IBM_EXTENDED.  Also define in terms of WIDEST_HARDWARE_FP_SIZE.
-	* libgcc2.c (__floatdisf): Avoid double-word arithmetic when
-	looking for non-zero bits shifted out.  Avoid a recursive call
-	when constructing the scalar.
-	(__floatundisf): Likewise.
-
-2007-04-24  Nathan Froyd  <froydnj@codesourcery.com>
-
-	* dwarf2out.c (field_byte_offset): Move the existing logic
-	under the control of PCC_BITFIELD_TYPE_MATTERS and just use
-	the bit offset of the field if !PCC_BITFIELD_TYPE_MATTERS.
-
-2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	PR target/31641
-	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant
-	length argument of 0 for memset.
-	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
-	unsigned shift instead of the signed variant.
-
-2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md ("*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs_ibm",
-	"fix_trunc<BFP:mode><GPR:mode>2_ieee", "fix_truncdfsi2_ibm",
-	"floatsidf2_ibm", "floatsisf2", "truncdfsf2_ieee", "truncdfsf2_ibm",
-	"*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
-	"*trunctfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
-	"*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee",
-	"*extendsftf2_ibm", "*add<mode>3", "*add<mode>3_ibm", "*sub<mode>3_ibm",
-	"*mul<mode>3", "*mul<mode>3_ibm", "*div<mode>3", "*div<mode>3_ibm",
-	"*neg<mode>2_ibm", "*abs<mode>2_ibm"): Insn definitions removed.
-	("fix_trunc<BFP:mode><GPR:mode>2_bfp", "floatsi<mode>2",
-	"truncdfsf2", "trunctf<mode>2", "add<mode>3", "sub<mode>3",
-	"mul<mode>3", "div<mode>3"): Insn definitions added.
-	("fixuns_trunc<BFP:mode><GPR:mode>2", "fix_trunc<mode>di2",
-	"fix_trunc<mode>si2"): gen_fix_trunc<BFP:mode><GPR:mode>2_ieee renamed
-	to gen_fix_trunc<BFP:mode><GPR:mode>2_bfp.
-	("fix_truncdfsi2", "floatsitf2", "truncdfsf2", "trunctfdf2",
-	"trunctfsf2", "extendsfdf2", "extenddftf2", "extendsftf2", "add<mode>3",
-	"sub<mode>3", "mul<mode>3", "div<mode>3"): Expander removed.
-	("fix_trunc<mode>si2", "extend<DSF:mode><BFP:mode>2"): Expander added.
-	* config/s390/s390.h (TARGET_IBM_FLOAT, TARGET_IEEE_FLOAT,
-	TARGET_FLOAT_FORMAT): Macro definitions removed.
-	(FP_REGNO_P): No special case for !TARGET_IEEE_FLOAT anymore.
-	* config/s390/s390.c (struct processor_costs, z900_cost, z990_cost,
-	z9_109_cost): Remove fields for hexfloat instructions: dxr, ddr and der.
-	(s390_rtx_costs): Remove !TARGET_IEEE_FLOAT special branches.
-	(s390_gen_rtx_const_DI): Function removed.
-	* config/s390/s390-protos.h (s390_gen_rtx_const_DI): Prototype removed.
-
-2007-04-24  Richard Sandiford  <richard@codesourcery.com>
-
-	* optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions
-	over an external ffs function.
-
-2007-04-24  Chao-ying Fu  <fu@mips.com>
-	    Richard Sandiford  <richard@nildram.co.uk>
-
-	* doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document.
-	* optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes.
-	(smadd_widen_optab, umadd_widen_optab): Define.
-	* optabs.c (init_optabs): Initialize smadd_widen_optab and
-	umadd_widen_optab.
-	* genopinit.c (optabs): Fill in smadd_widen_optab and
-	umadd_widen_optab.
-	* expr.c (expand_expr_real_1): Try to use smadd_widen_optab
-	and umadd_widen_optab to implement multiply-add sequences.
-	* config/mips/mips.md (*<su>mul_acc_di): Rename to...
-	(<u>maddsidi4): ...this.  Extend condition to include
-	GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
-	of operand 0 to "ka" and use the three-operand form of madd<u>
-	for TARGET_DSPR2.
-	* config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert
-	to define_expands.
-	* config/mips/constraints.md (ka): New register constraint.
-
-2007-04-24  Jan Hubicka  <j@suse.cz>
-
-	Revert:
-
-	2007-04-23  Jan Hubicka  <jh@suse.cz>
-	* function.c (init_function_start): Don't init line number info.
-	(expand_function_end): Update.
-	(reset_block_changes, record_block_change, finalize_block_changes,
-	check_block_change, free_block_changes): Kill.
-	* function.h (reset_block_changes, record_block_change,
-	finalize_block_changes, check_block_change, free_block_changes):
-	Remove prototypes.
-	(struct function): Remove ib_boundaries_block.
-	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
-	Use curr_insn_locator to initialize locator.
-	(emit_line_note): Remove.
-	* cfgexpand.c (expand_gimple_cond_expr): Update.
-	(construct_exit_block): Likewise.
-	(tree_expand_cfg): Initialize/finalize locators.
-	* expr.c (expand_expr_real): Update.
-	* cfglayout.c (line_locators_locs, line_locators_lines,
-	file_locators_locs, file_locators_files): Remove.
-	(set_block_levels): Move to cfgexpand.c.
-	(insn_locators_initialize): Remove.
-	(pass_insn_locators_initialize): Remove.
-	(locations_locators_locs, locations_locators_vals): New static vars.
-	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
-	Likewise.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	New functions.
-	(locator_location): New.
-	(locator_line, locator_file): Rewrite.
-	* rtl.h (emit_line_note): Kill.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	Declare.
-	* tree-inline.c (initialize_cfun): Do not initialize
-	ib_boundaries_block.
-	* passes.c (pass_insn_locators_initialize): Remove.
-
-2007-04-24  Daniel Franke  <franke.daniel@gmail.com>
-
-	* doc/invoke.texi: Removed leading '-' from option index entries.
-
-2007-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_node):
-	Use phi_nodes_ptr.
-	(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.
-	* 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.
-	* cfgexpand.c (expand_gimple_basic_block): Use bb_stmt_list.
-	Traverse the statements using tsi iterator.
-	* basic-block.h (struct basic_block_def): Fields stmt_list
-	and phi_nodes moved to ...
-	(struct tree_bb_info): ... new structure.
-	* tree-cfg.c (create_bb): Allocate il.tree.  Use set_bb_stmt_list.
-	(tree_merge_blocks): Use bb_stmt_list and set_bb_stmt_list.
-	(remove_bb): Handle blocks with NULL stmt list.  Clear il.tree field.
-	(tree_verify_flow_info): Verify that il.tree is not set for
-	entry and exit block.
-	(tree_split_block): Use set_bb_stmt_list.
-
-2007-04-23  Mike Stump  <mrs@apple.com>
-
-	* config/i386/i386.c (ix86_tune_features
-	[X86_TUNE_DEEP_BRANCH_PREDICTION]: Prefer call over thunks on
-	nocona and core2.
-
-2007-04-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.md (prefix_extra): New attribute.
-	(length): Add prefix_extra.
-
-	* onfig/i386/sse.md (sse2_movdqu): Set prefix_data16.
-	(sse2_movntv2di): Likewise.
-	(sse2_cvtps2dq): Likewise.
-	(sse2_cvtpd2pi): Likewise.
-	(sse2_cvttpd2pi): Likewise.
-	(*sse2_cvtpd2ps): Likewise.
-	(*add<mode>3): Likewise.
-	(sse2_ssadd<mode>3): Likewise.
-	(sse2_usadd<mode>3): Likewise.
-	(*sub<mode>3): Likewise.
-	(sse2_sssub<mode>3): Likewise.
-	(sse2_ussub<mode>3): Likewise.
-	(*mulv8hi3): Likewise.
-	(*smulv8hi3_highpart): Likewise.
-	(*umulv8hi3_highpart): Likewise.
-	(sse2_umulv2siv2di3): Likewise.
-	(sse2_pmaddwd): Likewise.
-	(ashr<mode>3): Likewise.
-	(lshr<mode>3): Likewise.
-	(ashl<mode>3): Likewise.
-	(sse2_ashlti3): Likewise.
-	(sse2_lshrti3): Likewise.
-	(*umaxv16qi3): Likewise.
-	(*smaxv8hi3): Likewise.
-	(*uminv16qi3): Likewise.
-	(*sminv8hi3): Likewise.
-	(sse2_eq<mode>3): Likewise.
-	(sse2_gt<mode>3): Likewise.
-	(*and<mode>3): Likewise.
-	(sse2_nand<mode>3): Likewise.
-	(*ior<mode>3): Likewise.
-	(*xor<mode>3): Likewise.
-	(sse2_packsswb): Likewise.
-	(sse2_packssdw): Likewise.
-	(sse2_packuswb): Likewise.
-	(sse2_punpckhbw): Likewise.
-	(sse2_punpcklbw): Likewise.
-	(sse2_punpckhwd): Likewise.
-	(sse2_punpcklwd): Likewise.
-	(sse2_punpckhdq): Likewise.
-	(sse2_punpckldq): Likewise.
-	(sse2_punpckhqdq): Likewise.
-	(sse2_punpcklqdq): Likewise.
-	(*sse2_pinsrw): Likewise.
-	(*sse2_pextrw): Likewise.
-	(sse2_pshufd_1): Likewise.
-	(sse2_uavgv16qi3): Likewise.
-	(sse2_uavgv8hi3): Likewise.
-	(sse2_psadbw): Likewise.
-	(sse2_pmovmskb): Likewise.
-	(*sse2_maskmovdqu): Likewise.
-	(*sse2_maskmovdqu_rex64): Likewise.
-	(sse4a_extrqi): Likewise.
-	(sse4a_extrq): Likewise.
-	(sse3_lddqu): Set prefix_rep.
-	(sse3_addsubv4sf3): Likewise.
-	(sse3_haddv4sf3): Likewise.
-	(sse3_hsubv4sf3): Likewise.
-	(sse_cvtss2si): Likewise.
-	(sse_cvtss2si_2): Likewise.
-	(sse_cvtss2siq): Likewise.
-	(sse_cvtss2siq_2): Likewise.
-	(sse_cvttss2si): Likewise.
-	(sse_cvttss2siq): Likewise.
-	(sse2_cvttps2dq): Likewise.
-	(sse3_movshdup): Likewise.
-	(sse3_movsldup): Likewise.
-	(sse2_cvtsd2si): Likewise.
-	(sse2_cvtsd2si_2): Likewise.
-	(sse2_cvtsd2siq): Likewise.
-	(sse2_cvtsd2siq_2): Likewise.
-	(sse2_cvttsd2si): Likewise.
-	(sse2_cvttsd2siq): Likewise.
-	(*sse2_cvtpd2dq): Likewise.
-	(*sse2_cvttpd2dq): Likewise.
-	(sse2_pshuflw_1): Likewise.
-	(sse2_pshufhw_1): Likewise.
-	(sse4a_insertqi): Likewise.
-	(sse4a_insertq): Likewise.
-	(ssse3_phaddwv8hi3): Set prefix_data16 and prefix_extra.
-	(ssse3_phadddv4si3): Likewise.
-	(ssse3_phaddswv8hi3): Likewise.
-	(ssse3_phsubwv8hi3): Likewise.
-	(ssse3_phsubdv4si3): Likewise.
-	(ssse3_phsubswv8hi3): Likewise.
-	(ssse3_pmaddubswv8hi3): Likewise.
-	(ssse3_pmulhrswv8hi3): Likewise.
-	(ssse3_pshufbv16qi3): Likewise.
-	(ssse3_psign<mode>3): Likewise.
-	(ssse3_palignrti): Likewise.
-	(abs<mode>2): Likewise.
-	(ssse3_phaddwv4hi3): Set prefix_extra.
-	(ssse3_phadddv2si3): Likewise.
-	(ssse3_phaddswv4hi3): Likewise.
-	(ssse3_phsubwv4hi3): Likewise.
-	(ssse3_phsubdv2si3): Likewise.
-	(ssse3_phsubswv4hi3): Likewise.
-	(ssse3_pmaddubswv4hi3): Likewise.
-	(ssse3_pmulhrswv4hi3): Likewise.
-	(ssse3_pshufbv8qi3): Likewise.
-	(ssse3_psign<mode>3): Likewise.
-	(ssse3_palignrdi): Likewise.
-	(abs<mode>2): Likewise.
-	(sse2_cvtdq2ps): Set mode to V4SF instead of V2DF.
-	(*vec_dupv2df): Set mode to V2DF instead of V4SF.
-	(sse2_pmovmskb): Set mode to SI instead of V2DF.
-
-2007-04-23  Nick Clifton  <nickc@redhat.com>
-
-	* params.def: Fix formatting of emacs local variables.
-
-2007-04-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/sse.md (sse2_stored): Don't split to inter-unit
-	move if inter-unit move isn't allowed.
-	Don't split moving the first element of V2DI to DI to inter-unit
-	move if inter-unit move isn't allowed.
-
-2007-04-23  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-sink.c (execute_sink_code): Calculate CDI_DOMINATORS
-	and CDI_POST_DOMINATORS separately.
-
-2007-04-23  Nick Clifton  <nickc@redhat.com>
-
-	* c.opt (Wformat-contains-nul): Add warning attribute.
-
-2007-04-23  Jan Hubicka  <jh@suse.cz>
-
-	* function.c (init_function_start): Don't init line number info.
-	(expand_function_end): Update.
-	(reset_block_changes, record_block_change, finalize_block_changes,
-	check_block_change, free_block_changes): Kill.
-	* function.h (reset_block_changes, record_block_change,
-	finalize_block_changes, check_block_change, free_block_changes):
-	Remove prototypes.
-	(struct function): Remove ib_boundaries_block.
-	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
-	Use curr_insn_locator to initialize locator.
-	(emit_line_note): Remove.
-	* cfgexpand.c (expand_gimple_cond_expr): Update.
-	(construct_exit_block): Likewise.
-	(tree_expand_cfg): Initialize/finalize locators.
-	* expr.c (expand_expr_real): Update.
-	* cfglayout.c (line_locators_locs, line_locators_lines,
-	file_locators_locs, file_locators_files): Remove.
-	(set_block_levels): Move to cfgexpand.c.
-	(insn_locators_initialize): Remove.
-	(pass_insn_locators_initialize): Remove.
-	(locations_locators_locs, locations_locators_vals): New static vars.
-	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
-	Likewise.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	New functions.
-	(locator_location): New.
-	(locator_line, locator_file): Rewrite.
-	* rtl.h (emit_line_note): Kill.
-	(insn_locators_alloc, insn_locators_finalize,
-	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
-	Declare.
-	* tree-inline.c (initialize_cfun): Do not initialize
-	ib_boundaries_block.
-	* passes.c (pass_insn_locators_initialize): Remove.
-
-2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/31448
-	* expr.c (reduce_to_bit_field_precision): Handle
-	CONST_INT rtx's.
-
-2007-04-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/24659
-	* optabs.h (enum optab_index) [OTI_vec_unpacks_hi,
-	OTI_vec_unpacks_lo]: Update comment to mention floating point operands.
-	(vec_pack_trunc_optab): Rename from vec_pack_mod_optab.
-	* genopinit.c (optabs): Rename vec_pack_mod_optab
-	to vec_pack_trunc_optab.
-	* tree-vect-transform.c (vectorizable_type_demotion): Do not fail
-	early for scalar floating point operands for NOP_EXPR.
-	(vectorizable_type_promotion): Ditto.
-	* optabs.c (optab_for_tree_code) [VEC_PACK_TRUNC_EXPR]: Return
-	vec_pack_trunc_optab.
-	(expand_binop): Rename vec_float_trunc_optab to vec_pack_mod_optab.
-
-	* tree.def (VEC_PACK_TRUNC_EXPR): Rename from VEC_PACK_MOD_EXPR.
-	* tree-pretty-print.c (dump_generic_node) [VEC_PACK_TRUNC_EXPR]:
-	Rename from VEC_PACK_MOD_EXPR.
-	(op_prio) [VEC_PACK_TRUNC_EXPR]: Ditto.
-	* expr.c (expand_expr_real_1): Ditto.
-	* tree-inline.c (estimate_num_insns_1): Ditto.
-	* tree-vect-generic.c (expand_vector_operations_1): Ditto.
-
-	* config/i386/sse.md (vec_unpacks_hi_v4sf): New expander.
-	(vec_unpacks_lo_v4sf): Ditto.
-	(vec_pack_trunc_v2df): Ditto.
-	(vec_pack_trunc_v8hi): Rename from vec_pack_mod_v8hi.
-	(vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si.
-	(vec_pack_trunc_v2di): Rename from vec_pack_mod_v2di.
-
-	* config/rs6000/altivec.md (vec_pack_trunc_v8hi): Rename from
-	vec_pack_mod_v8hi.
-	(vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si.
-
-	* doc/c-tree.texi (Expression trees) [VEC_PACK_TRUNC_EXPR]:
-	Rename from VEC_PACK_MOD_EXPR.  This expression also represent
-	packing of floating point operands.
-	[VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR]: These expression also
-	represent unpacking of floating point operands.
-	* doc/md.texi (Standard Names) [vec_pack_trunc]: Update documentation.
-	[vec_unpacks_hi]: Ditto.
-	[vec_unpacks_lo]: Ditto.
-
-2007-04-22  Jan Hubicka  <jh@suse.cz>
-
-	* final.c (rest_of_handle_final): Call
-	targetm.asm_out.constructor/targetm.asm_out.destructor
-	* cgraphunit.c (cgraph_build_static_cdtor): Don't do it here; set
-	proper priority via decl_*_priority_insert.
-	* c-common.c (c_expand_body): Likewise.
-
-2007-04-22  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/29789
-	* tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts.
-	(rewrite_reciprocal): New helper split out from
-	determine_invariantness_stmt.
-	(rewrite_bittest): Likewise.
-	(determine_invariantness_stmt): Rewrite (A >> B) & 1 to
-	A & (1 << B) if (1 << B) is loop invariant but (A >> B)
-	is not.
-
-2007-04-22  Revital Eres  <eres@il.ibm.com>
-
-	* loop-unroll.c (var_to_expand): New field to support also
-	insns of the form x = something + x.
-	(analyze_insn_to_expand_var): Use it.
-	(expand_var_during_unrolling): Likewise.
-
-2007-04-21  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* predict.c: Include pointer-set.h.
-	(bb_predictions): New variable.
-	(tree_predicted_by_p, tree_predict_edge,
-	remove_predictions_associated_with_edge): Use bb_predictions map
-	instead of bb->predictions.
-	(clear_bb_predictions, assert_is_empty): New functions.
-	(combine_predictions_for_bb): Use bb_predictions map.  Call
-	clear_bb_predictions.
-	(tree_estimate_probability): Create and free bb_predictions map.
-	* Makefile.in (predict.o): Add pointer-set.h dependency.
-	* basic-block.h (struct basic_block_def): Remove predictions
-	field.
-	* cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions.
-
-2007-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/31480
-	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
-	is null.
-
-2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* timevar.c (timevar_print): Change reference of --disable-checking to
-	--enable-checking=release.  Also warn if assert checking is disabled.
-
-2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR C/30265
-	* c-gimplifier.c (gimplify_compound_literal_expr): Mark the
-	decl as addressable if the compound literal was marked as
-	addressable.
-	Mark the decl as a gimple register if it is a complex or
-	vector decl and does not live in memory.
-
-2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* tree.h (GIMPLE_TUPLE_P): Also true for PHI_NODEs.
-	(GENERIC_NEXT): New function macro.
-	(PHI_CHAIN): Use phi_node's new chain variable.
-	(tree_phi_node): Change tree_common to tree_base
-	and add the chain field.
-	* tree-phinodes.c (make_phi_node): Don't set
-	TREE_TYPE on the new node.
-	* c-decl.c (lang_tree_node): Use GENERIC_NEXT
-	instead of checking GIMPLE_TUPLE_P in chain_next.
-	* tree-vect-transform.c
-	(get_initial_def_for_induction): Look at
-	PHI_RESULT_TREE for the type of the phi node.
-	(update_vuses_to_preheader): Use PHI_CHAIN
-	instead of TREE_CHAIN on the phi node.
-	* tree-ssa-structalias.c (compute_points_to_sets):
-	Likewise.
-	(ipa_pta_execute): Likewise.
-
-2007-04-21  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/31136
-	* fold-const.c (fold_unary): Call fold_convert_const on the
-	original tree.
-
-2007-04-21  Alexandre Oliva  <aoliva@redhat.com>
-
-	* gcse.c (store_killed_in_insn): Handle PARALLELs.
-	(store_killed_in_pat): New.
-
-2007-04-20  Richard Henderson  <rth@redhat.com>
-
-	PR target/31628
-	* config/i386/i386.c (type_has_variadic_args_p): Look for any
-	TREE_LIST with a void_type_node value, not void_list_node exactly.
-
-2007-04-21  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* doc/standards.texi: Re-arrange into language-specific
-	subsections. Add a C++ section, documenting which standards we
-	support.
-
-2007-04-21  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-structalias.c (delete_points_to_sets): Free graph->complex.
-	* tree-ssa-operands.c (finalize_ssa_vuse_ops): Free new_ops.
-
-2007-04-20  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/rs6000/sysv4.h (STARTFILE_DEFAULT_SPEC): Include
-	ecrti.o and crtbegin.o.
-	(LIB_DEFAULT_SPEC): Include -lc.
-	(ENDFILE_DEFAULT_SPEC): Include crtend.o and ecrtn.o.
-
-2007-04-20  Richard Henderson  <rth@redhat.com>
-
-	PR target/28623
-	* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
-	argument; update all callers.
-	(get_unaligned_offset): New.
-	* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
-	get_unaligned_address, just pass on the address directly.
-	(unaligned_extendqidi): Use gen_lowpart instead of open-coding
-	the subreg in the helper patterns.
-	(unaligned_extendqidi_le): Use get_unaligned_offset.
-	(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
-	(unaligned_extendhidi_be): Likewise.
-	(unaligned_extendhidi): Tidy.
-	* config/alpha/alpha-protos.h: Update.
-
-2007-04-20  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/alpha.h (CPP_SPEC, CPP_SUBTARGET_SPEC): Remove.
-	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
-	* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
-	* config/alpha/linux-elf.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
-	* config/alpha/freebsd.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
-	(CPP_SPEC): Don't include %(cpp_subtarget).
-	* config/alpha/netbsd.h (CPP_SPEC): Rename CPP_SUBTARGET_SPEC.
-	(EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
-	* config/alpha/osf.h (CPP_SPEC, EXTRA_SPECS): Similarly.
-
-2007-04-20  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
-	for __builtin_ia32_cmpordss.
-
-	PR tree-optimization/31632
-	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
-	and arg1 for optimizations of comparison against min/max values.
-	Fold arg0 to arg1's type for optimizations of comparison against
-	min+1 and max-1 values.
-
-2007-04-19  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* reload.c (combine_reloads): When trying to use a dying register,
-	check whether it's uninitialized and don't use if so.
-
-2007-04-19  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* fold-const.c: Remove prototypes for native_encode_expr and
-	native_interpret_expr.
-	(native_encode_expr): Make non-static.
-	(native_interpret_expr): Likewise.
-	* tree.h: Add prototypes for the above.
-
-2007-04-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2,
-	*mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2,
-	*mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2,
-	spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr,
-	tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr):
-	Add length attributes.
-
-2007-04-19  Janis Johnson  <janis187@us.ibm.com>
-
-	* ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined,
-	not that it is 1.
-
-	* c-cppbuiltin.c (c_cpp_builtins): Remove definition of
-	__STDC_WANT_DEC_FP__.
-
-2007-04-19  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu*
-	for long double compatibility.
-	* configure: Regenerate.
-
-2007-04-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/29841
-	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
-	trap instructions.
-	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
-	that may cause control flow transfer from being moved.
-
-2007-04-18  Jan Hubicka  <jh@suse.cz>
-
-	* fold-const.c (div_if_zero_remainder): Do signed divide for pointer
-	types.
-
-2007-04-18  Eric Christopher  <echristo@apple.com>
-
-	* config/rs6000/darwin.md (load_macho_picbase): Use link register
-	only. Update operands.
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller.
-	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from
-	link register to pic register.
-
-2007-04-18  Dirk Mueller  <dmueller@suse.de>
-
-	PR diagnostic/31227
-	* tree-vrp.c (search_for_addr_array): New.
-	(check_array_bounds): Suppress warning about
-	address taken of array refs if its not de-referenced.
-
-2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL.
-	* tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux.
-
-	* tree-vectorizer.h (NITERS_KNOWN_P): New.
-	* tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P
-	instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info.
-
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
-	dump print.
-	(vect_analyze_operations): Fix indenetation.  Fix a comment.  Fix a
-	print message.
-	(vect_analyze_scalar_cycles): Fix indentation.
-	(vect_enhance_data_refs_alignment): Fix check in case of peeling.
-	(vect_mark_relevant): Include phis in relevance analysis.
-
-	* tree-vect-transform.c (vect_transform_loop): Add an assert.
-
-2007-04-18  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (ptrreg_to_str): Replace error() with
-	output_operand_lossage().
-
-2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vect-transform.c (get_initial_def_for_reduction): Clean away
-	the unused code for reduction without adjust-in-epilog to simplify the
-	function.
-
-2007-04-18  Wolfgang Gellerich  <gellerich@de.ibm.com>
-
-	* config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant.
-	(S390_TDC_NEGATIVE_ZERO): New constant.
-	(S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant.
-	(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant.
-	(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant.
-	(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant.
-	(S390_TDC_POSITIVE_INFINITY): New constant.
-	(S390_TDC_NEGATIVE_INFINITY): New constant.
-	(S390_TDC_POSITIVE_QUIET_NAN): New constant.
-	(S390_TDC_NEGATIVE_QUIET_NAN): New constant.
-	(S390_TDC_POSITIVE_SIGNALING_NAN): New constant.
-	(S390_TDC_NEGATIVE_SIGNALING_NAN): New constant.
-	(S390_TDC_INFINITY): New constant.
-	* config/s390/s390.c (s390_canonicalize_comparison): Renamed
-	UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like
-	optimization for UNSPEC_CCZ_TO_INT.
-	* config/s390/s390.md ("*TDC_insn_<mode>"): New insn.
-	("*ccz_to_int"): New insn.
-	("isinf<mode>2"): New insn.
-	(UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT.
-	(UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT.
-	(UNSPEC_CCZ_TO_INT): New constant.
-
-2007-04-18  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/19431
-	PR tree-optimization/21463
-	* tree-pass.h (pass_phiprop): Declare.
-	* passes.c (init_optimization_passes): New phiprop pass.
-	* tree-ssa-forwprop.c (struct phiprop_d): New structure.
-	(phivn_valid_p): New helper function.
-	(phiprop_insert_phi): Likewise.
-	(propagate_with_phi): Likewise.
-	(tree_ssa_phiprop): New propagator propagating loads
-	through phi nodes if profitable.
-
-2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vect-analyze.c (process_use): New function.
-	(vect_mark_stmts_to_be_vectorized): Factor out code to process_use.
-	Check phis in all bbs.
-	* tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant
-	assert.
-
-2007-04-18  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way
-	we use REG_EQUAL.
-
-2007-04-17  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/30483
-	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
-	error().
-
-2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
-	on "0".
-	(sse_vmmulv4sf3): Likewise.
-	(sse2_vmaddv2df3): Likewise.
-	(sse2_vmmulv2df3): Likewise.
-
-2007-04-17  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR rtl-optimization/31360
-	* cfgloopanal.c (target_small_cost, target_pres_cost): Removed.
-	(target_reg_cost): New.
-	(init_set_costs): Initialize target_reg_cost.  Add comments
-	regarding the rationale of the costs.
-	(global_cost_for_size): Renamed to...
-	(estimate_reg_pressure_cost): ... and simplify.  Decrease importance
-	of register pressure.
-	* 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
-	estimate_reg_pressure_cost.  Removed n_inv_uses argument.
-	(best_gain_for_invariant, find_invariants_to_move): Remove
-	n_inv_uses.
-	* cfgloop.h (target_small_cost, target_pres_cost): Removed.
-	(target_reg_cost): Declare.
-	(global_cost_for_size): Declaration removed.
-	(estimate_reg_pressure_cost): Declare.
-
-2007-04-17  Peter Bergner  <bergner@vnet.ibm.com>
-
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode
-	regnos into even/odd register pairs.
-	* config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and
-	TDmode similar to the other floating point modes.
-	[SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode.
-	* config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New
-	define_expand's.
-	(negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr,
-	nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's.
-	(movdd_hardfloat64): Use TARGET_MFPGPR.
-
-2007-04-17  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* reload1.c (delete_output_reload): Don't count output in n_inherited.
-
-	Revert
-	2005-01-05  Richard Henderson  <rth@redhat.com>
-	PR rtl-opt/10692
-	* reload1.c (do_input_reload): Restrict the optimization deleteing
-	a previous output reload to RELOAD_FOR_INPUT.
-
-2007-04-17  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vectorizer.h (stmt_vec_info_type): Add enum value
-	induc_vec_info_type.
-	(vectorizable_induction): New function declaration.
-	* tree-vect-transform.c (get_initial_def_for_induction): No need to
-	check if already vectorized.  Find first place in BB where new stmts
-	can be inserted.  Takes only one argument.
-	(vectorizable_induction): New function.
-	(vect_transform_stmt): Add case for induc_vec_info_type to call
-	vectorizable_induction.
-	(vect_transform_loop): Consider phis for vectorization.
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
-	condition.
-	(analyze_operations): Call vectorizable_induction when analyzing phis.
-	Fix comment.
-	(vect_mark_stmts_to_be_vectorized): Remove redundant checks.
-	(vect_mark_relevant): Include phis in relevance analysis.
-	(vect_mark_stmts_to_be_vectorize): Likewise.
-	* tree-vect-patterns.c (widened_name_p): Remove obsolete asserts.
-
-2007-04-16  Lawrence Crowl  <crowl@google.com>
-
-	* doc/invoke.texi (Debugging Options): Add documentation for the
-	-femit-struct-debug options -femit-struct-debug-baseonly,
-	-femit-struct-debug-reduced, and
-	-femit-struct-debug-detailed[=...].
-
-	* c-opts.c (c_common_handle_option): Add
-	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
-	and OPT_femit_struct_debug_detailed_.
-	* c.opt: Add specifications for
-	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
-	and -femit-struct-debug-detailed[=...].
-	* opts.c (set_struct_debug_option): Parse the
-	-femit-struct-debug-... options.
-	* opts.c (matches_main_base, main_input_basename,
-	main_input_baselength, base_of_path, matches_main_base): Add
-	variables and functions to compare header base name to compilation
-	unit base name.
-	* opts.c (should_emit_struct_debug): Add to determine to emit a
-	structure based on the option.
-	(dump_struct_debug) Also disabled function to debug this
-	function.
-	* opts.c (handle_options): Save the base name of the
-	compilation unit.
-
-	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
-	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
-	This hook indicates if a type is generic.  Set it by default
-	to "never generic".
-	* langhooks.h (struct lang_hooks_for_types): Add a new hook
-	to determine if a struct type is generic or not.
-	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
-	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
-	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
-	with live C++ hook.
-
-	* flags.h (enum debug_info_usage): Add an enumeration to describe
-	a program's use of a structure type.
-	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
-	to indicate the program's usage of the type.  Filter structs based
-	on the -femit-struct-debug-... specification.
-	(gen_type_die): Split into two routines, gen_type_die and
-	gen_type_die_with_usage.  gen_type_die is now a wrapper
-	that assumes direct usage.
-	(gen_type_die_with_usage): Replace calls to gen_type_die
-	with gen_type_die_with_usage adding the program usage of
-	the referenced type.
-	(dwarf2out_imported_module_or_decl): Suppress struct debug
-	information using should_emit_struct_debug when appropriate.
-
-2007-04-16  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31522
-	* tree-vrp.c (vr_phi_edge_counts): New static variable.
-	(vrp_initialize): Allocate vr_phi_edge_counts.
-	(vrp_visit_phi_node): Don't push to infinity if we saw a new
-	executable edge.  Drop test for all constants.
-	(vrp_finalize): Free vrp_phi_edge_counts.
-
-	* doc/cpp.texi (Common Predefined Macros): Clarify description of
-	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
-
-	* tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer
-	predecessors at head rather than tail.
-
-2007-04-16  Matthias Klose  <doko@debian.org>
-
-	* config/alpha/linux.h (CPP_SPEC): Define.
-	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
-
-2007-04-16  Aldy Hernandez  <aldyh@redhat.com>
-
-	* function.h: Remove sequence_stack extern declaration.
-
-2007-04-16  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on
-	TARGET_FIDOA.
-	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is
-	defined.
-
-2007-04-16  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_arch_types): Rearranging  array.
-	(enum avr_arch): Add.
-	(avr_mcu_types): Use avr_arch enumeration constants instead of
-	numbers.
-	* config/avr/avr.h (LINK_SPEC): Simplify.
-
-2007-04-16  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_libcall_value,
-	m68k_function_value): Use macros for register names more.
-
-	* config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG
-	instead.
-	(M68K_REGNAME): Use A6_REG.
-	* config/m68k/m68k.md (FP_REG): Rename to A6_REG.
-
-2007-04-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	PR middle-end/28071
-	* sched-int.h (struct deps): Split field 'pending_lists_length' into
-	'pending_read_list_length' and 'pending_write_list_length'.  Update
-	comment.
-	* sched-deps.c (add_insn_mem_dependence): Change signature.  Update
-	to handle two length counters instead of one.  Update all uses.
-	(flush_pending_lists, sched_analyze_1, init_deps): Update to handle
-	two length counters instead of one.
-	* sched-rgn.c (propagate_deps): Update to handle two length counters
-	instead of one.
-
-2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/31582
-	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
-	copy of source, pass it to ix86_expand_vector_set and return
-	it as target.
-
-2007-04-16  David Ung  <davidu@mips.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF,
-	PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define.
-	* config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data):
-	Add 74K processor information.
-	* config/mips/mips.md: Include 74k.md.
-	(cpu): Add 74kc,74kf,74kx.
-	(ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout.
-	* config/mips/74k.md: New.
-	* doc/invoke.texi (MIPS Options): Document 74K support.
-
-2007-04-16  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to
-	vectorizable_* functions.
-	* tree-vect-transform.c (vectorizable_call): Add check for
-	STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P.
-	(vectorizable_store): likewise.
-	(vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE.
-	Add comments.
-	(vectorizable_operation, vectorizable_type_demotion): Likewise.
-	(vectorizable_type_promotion, vectorizable_load): Likewise.
-	(vectorizable_live_operation, vectorizable_condition): Likewise.
-	(vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and
-	STMT_VINFO_LIVE_P.
-	(vect_transform_stmt): Reorganize calls to vectorizable_* functions.
-
-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.
-
-2007-04-07  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/30289
-	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
-	earlyclobber.
-
-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
-	  -Wformat setting.
-	(check_format_info_main): Check OPT_Wformat_contains_nul before emitting
-	the NUL byte warning.
-
-2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (ix86_handle_option): Handle SSSE3.
-
-2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree.c (staticp): No longer use staticp langhook.
-	* langhooks.c (lhd_staticp): Removed.
-	* langhooks.h (struct lang_hooks): Remove staticp.
-	* c-common.c (c_staticp): Remove.
-	* c-common.h (c_staticp): Ditto.
-	* langhooks-defs.h (lhd_staticp): Ditto.
-	(LHD_HOOKS_STATICP): Ditto
-	* tree.h (gcc_assert_lowered): New macro.
-
-2007-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
-	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
-	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
-	and expected_loop_iterations_unbounded.
-	* cfgloopanal.c (expected_loop_iterations_unbounded): New function.
-	(expected_loop_iterations): Use expected_loop_iterations_unbounded.
-	* tree-data-ref.c (estimated_loop_iterations): Export.
-	(get_references_in_stmt): Fix -- do not return addresses of local
-	objects.
-	* cfgloop.h (expected_loop_iterations_unbounded,
-	estimated_loop_iterations): Declare.
-
-2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
-
-	* tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
-
-2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
-	and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
-	(*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
-	Use output_387_reg_move().
-	(*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
-	expander using X87MODEF12 mode macro.
-	(*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
-	choosing register preferences.  Use output_387_reg_move().
-	(*truncxfdf2_mixed): Combine alternatives, use "r" alternative
-	instead of "x".  Use output_387_reg_move().
-	(*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
-	*truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
-	(*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
-	*truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
-	Use output_387_reg_move().
-	(*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
-	mode macro.
-	(*truncxf?f_i387 splitter): Ditto.
-
-2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
-
-	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
-	LANG_HOOKS_SAFE_FROM_P.
-	* expr.c (safe_from_p): Remove langhook call.
-	* 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
-	functions.
-
-2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
-	* config/i386/i386.md (*movsf_1, *movdf_nointeger,
-	*movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
-	*movxf_integer): Use output_387_reg_move() for x87 reg->mem
-	alternative.
-	(*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
-	*extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.
-
-2007-04-05  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/alpha.c (print_operand) [+]: Remove.
-	(alpha_end_function): Print nop if call at end of function.
-	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
-	* config/alpha/alpha.md (UNSPEC_LDGP1): New.
-	(call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
-	(call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
-	(call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
-	the call pattern. Update peepholes to match.
-
-2007-04-05  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/extend.texi (Other Builtins): Add decimal float variants
-	of signbit.
-	* builtins.def: Ditto.
-	* builtins.c (expand_builtin): Ditto.
-
-2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	PR target/31478
-	* config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
-	of V8HImode when calling ix86_binary_operator_ok.
-	(sse2_pmaddwd): Call ix86_binary_operator_ok.
-	(sdot_prodv8hi): Operands 1 and 2 must be register.
-
-2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-sra.c (try_instantiate_multiple_fields): Needlessly
-	initialize align to silence bogus warning.
-
-2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR middle-end/22156
-	* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
-	all_no_warning.
-	(struct sra_walk_fns): Remove use_all parameter from use.
-	(sra_hash_tree): Handle BIT_FIELD_REFs.
-	(sra_elt_hash): Don't hash bitfld blocks.
-	(sra_elt_eq): Skip them in parent compares as well.  Handle
-	BIT_FIELD_REFs.
-	(sra_walk_expr): Don't maintain or pass down use_all_p.
-	(scan_use): Remove use_all parameter.
-	(scalarize_use): Likewise.  Re-expand assignment to
-	BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
-	output, and re-scalarize after output.  Don't mark anything
-	for no warning.
-	(scalarize_ldst): Adjust.
-	(scalarize_walk_gimple_modify_statement): Likewise.
-	(build_element_name_1): Handle BIT_FIELD_REFs.
-	(instantiate_element): Don't warn for any element whose parent
-	is used as a whole.
-	(instantiate_missing_elements_1): Return the sra_elt.
-	(canon_type_for_field): New.
-	(try_instantiate_multiple_fields): New.
-	(instantiate_missing_elemnts): Use them.
-	(mark_no_warning): Removed.
-	(generate_one_element_ref): Handle BIT_FIELD_REFs.
-	(REPLDUP, sra_build_elt_assignment): New.
-	(generate_copy_inout): Use them.
-	(generate_element_copy): Likewise.  Handle bitfld differences.
-	(generate_element_zero): Don't recurse for blocks.  Use
-	sra_build_elt_assignment.
-	(generate_one_element_int): Take elt instead of var.  Use
-	sra_build_elt_assignment.
-	(generate_element_init_1): Adjust.
-	(scalarize_use, scalarize_copy): Use REPLDUP.
-	(scalarize_ldst): Move assert before dereference.
-	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
-
-2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* regmove.c: Fix unused variable warnings due to previous commit.
-
-2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
-	(regmove_bb_head): Remove.
-	(copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
-	(regmove_optimize): Don't do unnecessary CFG fixes for non-existing
-	problems with fixup_match_1.
-	Don't initialize/free regmove_bb_head.
-
-	(reg_is_remote_constant_p): If an insn is in the same basic block
-	but not before INSN, consider it remote, too.
-
-2007-04-05  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/25448
-	* 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>
-
-	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
-	(CONDITIONAL_REGISTER_USAGE): Likewise.
-
-2007-04-04  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/lib1funcs.asm: Remove unused file.
-
-2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	PR other/31356
-	* opts.c (print_specific_help): Fix --help=<language>
-	header line.
-	(common_handle_option): Support --help=common.
-
-2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	PR other/31353
-	* gcc.c (main): Do not run the linker if
-	print_subprocess_help indicates that it shouldn't be
-	run.
-
-2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	PR doc/31355
-	* doc/invoke.texi (--help=): Document <languages> value, fix
-	formatting in tables of values.
-
-2007-04-04  Danny Smith  <dannysmith.users.sourceforge.net>
-
-	* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
-	dllimport attribute of virtual methods.
-
-2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>
-
-	* config/score/crti.asm: Change _bss_start to __bss_start.
-	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
-	(OUTGOING_REG_PARM_STACK_SPACE) update.
-	* config/score/score.opt: add options to make backend support
-	score5, score5u, score7 and score7d.
-	* config/score/score.md: Likewise.
-	* config/score/misc.md: Likewise.
-	* config/score/mac.md: Likewise.
-	* doc/invoke.texi: Likewise.
-	* doc/md.texi: update constraints define.
-
-2007-04-03  Richard Henderson  <rth@redhat.com>
-
-	* expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield
-	an appropriate type, use the mode instead.
-
-2007-04-03  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
-	Set the default --with-arch setting to mips2.
-	* config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES)
-	(MULTILIB_EXCEPTIONS): Redefine with new multilibs.
-	(MULTILIB_OSDIRNAMES): Delete.
-	(MULTILIB_DIRNAMES): Define.
-	* config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC.
-	(LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define.
-	(TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC
-	definitions, except for _WRS_R3K_EXC_SUPPORT.  Call
-	VXWORKS_OS_CPP_BUILTINS.
-	(SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC.
-	(MIPS_DEBUGGING_INFO): Undefine.
-	(FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER.
-
-2007-04-03  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/30704
-	* fold-const.c (native_encode_real): Encode real.c provided longs
-	as a series of 32-bit native integers.
-	(native_interpret_real): Interpret buffer as a series of 32-bit
-	native integers.
-
-2007-04-03  Richard Guenther  <rguenther@suse.de>
-
-	* genpreds.c (write_insn_constraint_len): Write function
-	optimized for CONSTRAINT_LEN implementation.
-	(write_tm_preds_h): Output insn_constraint_len inline and
-	use it for CONSTRAINT_LEN.
-	(write_insn_preds_c): Don't output insn_constraint_len.
-	* doc/md.texi (define_register_constraint): Document multi-letter
-	constraints shall have the same length if they start with the same
-	letter.
-
-2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31175
-	* config/i386/i386.md (isinf<mode>2): Expand only when
-	TARGET_C99_FUNCTIONS is set.
-
-2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
-	(x86_64-*-linux*): Ditto.
-	* config/i386/i386.opt (mpc): New option.
-	* config/i386/i386.c (overrride_options): Handle
-	ix87_precision_string.
-	* config/i386/crtprec.c: New file.
-	* config/i386/t-crtpc: Ditto.
-	* config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
-	and -mpc80 options.
-	* config/i386/linux64.h (ENDFILE_SPEC): Ditto.
-	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
-	crtprec32.o, crtprec64.o and crtprec80.o.
-
-	* doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
-	and -mpc80 options.
-	(i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.
-
-2007-04-02  Eric Christopher  <echristo@apple.com>
-
-	* doc/invoke.texi (i386 and x86-64 Options): Document -m64
-	limitations on darwin.
-
-2007-04-02  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/31137
-	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
-
-2007-04-02  Dave Korn  <dave.korn@artimi.com>
-
-	* doc/tm.texi (FUNCTION_MODE): Update and extend documentation.
-
-2007-04-02  Dave Korn  <dave.korn@artimi.com>
-
-	* libgcc2.h (exception_descriptor): Don't forward-declare.
-	(__get_eh_table_language, __get_eh_table_version): Delete
-	prototypes of long-dead functions.
-
-2007-04-01  Daniel Berlin  <dberlin@dberlin.org>
-
-	* ebitmap.h: New file
-	* ebitmap.c: New file
-	* Makefile.in (ebitmap.o): New target.
-
-2007-04-01  Jan Hubicka  <jh@suse.cz>
-
-	* emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit
-	before very first instruction.
-
-2007-04-01  Jan Hubicka  <jh@suse.cz>
-
-	* ggc-page.c (ggc_print_statistics): Fix formatting string to avoid
-	waring on 64bit hosts.
-	* bitmap.h: Fix typo in bitmap_head_def.
-
-2007-04-01  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR rtl-optimization/31391
-	* cfgcleanup.c (try_optimize_cfg): If a removed label is turned
-	into a DELETED_LABEL note, and the label is in an empty basic
-	block, update BB_END as well as BB_HEAD.
-
-2007-04-01  Richard Henderson  <rth@redhat.com>
-
-	PR tree-optimization/31169
-	* tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop
-	to varying if the range is outside [0,  prec-1].
-
-2007-04-01  Richard Sandiford  <richard@codesourcery.com>
-
-	PR target/31388
-	* config/mips/mips.md (load_const_gp): New insn.
-	* config/mips/mips.c (mips_split_symbol): Avoid using or creating
-	the MIPS16 GP pseudo register if no_new_pseudos.
-	(mips16_gp_pseudo_reg): Use gen_load_const_gp.
-
-2007-03-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR target/31364
-	* config/rs6000/rs6000.md (call): Convert to LR hard reg for
-	secureplt.
-	(call_value): Likewise.
-
-2007-03-31  Wolfgang Bangerth  <bangerth@dealii.org>
-	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR 14737
-	* doc/invoke.texi: (optimization options): Reword description
-	of -ffast-math. Document its primary purpose.
-
-2007-03-31  Richard Guenther  <rguenther@suse.de>
-
-	* omp-low.c (splay-tree.h): Include.
-	(lookup_decl): Replace splay-tree usage by pointer-map.
-	(maybe_lookup_decl): Likewise.
-	(new_omp_context): Likewise.
-	(delete_omp_context): Likewise.
-	* gimplify.c (splay-tree.h): Include.
-	* tree-inline.c (insert_decl_map): Replace splay-tree usage by
-	pointer-map.
-	(remap_ssa_name): Likewise.
-	(remap_decl): Likewise.
-	(remap_type_1): Likewise.
-	(remap_type): Likewise.
-	(copy_body_r): Likewise.
-	(expand_call_inline): Likewise.
-	(clone_body): Likewise.
-	(copy_tree_r): Likewise.
-	(remap_save_expr): Likewise.
-	(unsave_r): Likewise.
-	(unsave_expr_now): Likewise.
-	(tree_function_versioning): Likewise.
-	(build_duplicate_type): Likewise.
-	* tree-inline.h (pointer-set.h): Include instead of splay-tree.h.
-	(struct copy_body_data): Replace splay-tree by pointer-map.
-	* Makefile.in (TREE_INLINE_H): Depend on pointer-map.h,
-	not $(SPLAY_TREE_H).
-	(gimplify.o): Depend on $(SPLAY_TREE_H).
-	(omp-low.p): Likewise.
-
-2007-03-31  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/predicates.md (even_register_operand,
-	odd_register_operand): New predicates.
-	* config/avr/avr.md (movw peephole2): New.
-	(movw_r peephole2): New.
-
-2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
-
-	* tree.h (get_signed_or_unsigned_type): New.
-	* fold-const.c (operand_equal_for_comparison_p): Use
-	get_signed_or_unsigned_type instead of
-	lang_hooks.types.signed_or_unsigned_type.
-	* expr.c (store_expr): Ditto.
-	* langhooks.c (get_signed_or_unsigned_type): New.
-	(lhd_signed_or_unsigned_type): New.
-	* langhooks.h (lhd_signed_or_unsigned_type): New.
-	* langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
-
-2007-03-30  Richard Henderson  <rth@redhat.com>
-
-	* tree-ssa-loop-ivopts.c: Include target.h.
-	(produce_memory_decl_rtl): Pass the rtx through encode_section_info.
-	(get_address_cost): Force SYMBOL_FLAG_LOCAL set.
-	(force_expr_to_var_cost): Use produce_memory_decl_rtl.
-	* Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H.
-
-2007-03-30  Richard Henderson  <rth@redhat.com>
-	    Kai Tietz  <kai.tietz@onevision.com>
-
-	* config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by
-	default for 64-bit.
-	(PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit.
-	(TARGET_64BIT_MS_ABI): New.
-	(DBX_REGISTER_NUMBER): Handle 64-bit.
-	(SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit.
-	(LONG_TYPE_SIZE): Force to 32.
-	(REG_PARM_STACK_SPACE): New.
-	(OUTGOING_REG_PARM_STACK_SPACE): New.
-	(REGPARM_MAX, SSE_REGPARM_MAX): New.
-	(HANDLE_PRAGMA_PUSH_POP_MACRO): New.
-	(STACK_BOUNDARY): Use 128 for 64-bit.
-	* config/i386/cygwin.asm: Use push/ret to preserve call stack.
-	Add 64-bit implementation.
-	* config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor
-	argument unused.
-	* config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New.
-	(override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI.
-	Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm
-	for 64-bit; use TARGET_SUBTARGET64_DEFAULT.
-	(ix86_handle_cconv_attribute): Don't warn when ignoring if
-	TARGET_64BIT_MS_ABI.
-	(ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI.
-	(ix86_pass_by_reference): Likewise.
-	(ix86_function_value_regno_p): Likewise.
-	(ix86_build_builtin_va_list): Likewise.
-	(ix86_va_start, ix86_gimplify_va_arg): Likewise.
-	(function_arg_advance_ms_64): New.
-	(function_arg_advance): Call it.
-	(function_arg_ms_64): New.
-	(function_arg): Call it.
-	(function_value_ms_64): New.
-	(ix86_function_value_1): Call it.
-	(return_in_memory_ms_64): New.
-	(ix86_return_in_memory): Call it.
-	(setup_incoming_varargs_ms_64): New.
-	(ix86_setup_incoming_varargs): Call it.
-	(ix86_expand_prologue): Handle 64-bit stack probing.
-	(legitimize_pic_address): Handle TARGET_64BIT_MS_ABI.
-	(output_pic_addr_const): Likewise.
-	(x86_this_parameter): Likewise.
-	(x86_output_mi_thunk): Likewise.
-	(x86_function_profiler): Likewise.
-	(TARGET_STRICT_ARGUMENT_NAMING): New.
-	* config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New.
-	(TARGET_64BIT_MS_ABI): New.
-	(CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI.
-	* config/i386/i386.md (allocate_stack_worker): Remove.
-	(allocate_stack_worker_32): Rename from allocate_stack_worker_1;
-	describe the clobber of eax without a match_scratch.
-	(allocate_stack_worker_postreload): Remove.
-	(allocate_stack_worker_64): Rename from allocate_stack_worker_rex64;
-	describe the clobbers of rax, r10, r11 properly; use __chkstk symbol.
-	(allocate_stack_worker_rex64_postreload): Remove.
-	(allocate_stack): Handle 64-bit.
-	* config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove.
-	* config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit.
-	(EXTRA_OS_CPP_BUILTINS): Handle 64-bit.
-	(STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT.
-	(STANDARD_STARTFILE_PREFIX_1): Likewise.
-	* config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New.
-	* config.build (x86_64-*-mingw*): New host.
-	* config.host (x86_64-*-mingw*): New host.
-	* config.gcc (x86_64-*-mingw*): New target.
-	* gthr-win32.h (__gthread_key_create): Mark dtor unused.
-
-2007-03-30  Richard Henderson  <rth@redhat.com>
-	    Kai Tietz  <kai.tietz@onevision.com>
-
-	* c-pragma.c (struct def_pragma_macro_value): New.
-	(struct def_pragma_macro): New.
-	(pushed_macro_table): New.
-	(dpm_hash, dpm_eq): New.
-	(handle_pragma_push_macro, handle_pragma_pop_macro): New.
-	(init_pragma): Install them.
-	* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
-
-2007-03-30  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_override_options): Clear
-	'flag_delete_null_pointer_checks'.
-
-2007-03-30  Paolo Carlini  <pcarlini@suse.de>
-
-	PR c++/26099
-	* c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN,
-	RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY,
-	RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR,
-	RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR,
-	RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF,
-	RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM,
-	RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as
-	C++ extensions.
-	* doc/extend.texi (Extensions to the C++ Language): Add Type Traits.
-
-2007-03-30  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* regmove.c: Move all of pass_stack_adjustments from here...
-	* combine-stack-adj.c: ...to this new file.
-	* Makefile.in: Add rules for combine-stack-adj.o.
-
-2007-03-30  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/31383
-	* tree-data-ref.c (affine_function_equal_p): Do not require the
-	vectors to have the same length.
-
-2007-03-30  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/30700
-	* dwarf2out.c (reference_to_unused): Ask cgraph for functions
-	availablility; add more sanity checking; ask varpool only about
-	VAR_DECL.
-
-2007-03-29  Richard Henderson  <rth@redhat.com>
-
-	* unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG
-	to decide, but __SIZEOF_LONG_LONG__.
-
-2007-03-29  Richard Henderson  <rth@redhat.com>
-
-	* emutls.c (struct __emutls_array): New.
-	(emutls_destroy): Use it instead of casting element 0 from void*.
-	(__emutls_get_address): Likewise.
-
-2007-03-29  Richard Henderson  <rth@redhat.com>
-
-	* varasm.c (initializer_constant_valid_p): Don't deny
-	DECL_DLLIMPORT_P on functions.
-
-	* config/i386/cygming.h: Remove function declarations.
-	(SUBTARGET_ENCODE_SECTION_INFO): Don't undef first.
-	(ASM_OUTPUT_LABELREF): Remove.
-	(COMMON_ASM_OP): Remove.
-	(ASM_OUTPUT_COMMON): Remove.
-	(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
-	(ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol.
-	(ASM_DECLARE_FUNCTION_NAME): Likewise.
-	* config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO):
-	Rename from TARGET_ENCODE_SECTION_INFO.
-	* config/i386/netware.h: Likewise.
-	* config/i386/i386-protos.h: Update.
-	* config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef
-	of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if.
-	(legitimate_constant_p): Reject dllimports.
-	(dllimport_map, get_dllimport_decl): New.
-	(legitimize_dllimport_symbol): New.
-	(legitimize_address, ix86_expand_move): Use it.
-	(TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES.
-	* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove.
-	(SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New.
-	(SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New.
-	* config/i386/predicates.md (constant_call_address_operand): Only
-	accept symbols; reject dllimport_p symbols.
-	* config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use
-	i386_pe_maybe_record_exported_symbol.
-	* config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove.
-	(i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p.
-	(i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p;
-	trust the setting of DECL_DLLIMPORT_P.
-	(i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove.
-	(i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove.
-	(gen_stdcall_or_fastcall_suffix): Return NULL if no change required;
-	tidy the argument scanning loop.
-	(i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and
-	SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS.
-	(i386_pe_strip_name_encoding): Remove.
-	(i386_pe_binds_local_p): New.
-	(i386_pe_strip_name_encoding_full): Use default_strip_name_encoding.
-	(i386_pe_output_labelref): Remove.
-	(i386_pe_asm_output_aligned_decl_common): New.
-	(i386_pe_maybe_record_exported_symbol): Rename from
-	i386_pe_record_exported_symbol; check for dllexported symbols.
-
-2007-03-29  Zack Weinberg  <zack@mrtock.ucsd.edu>
-
-	* gengtype.c (oprintf): Mostly revert changes from 2007-03-26;
-	add comment explaining why vsnprintf cannot be used.
-
-2007-03-29  Douglas Gregor  <doug.gregor@gmail.com>
-
-	PR tree-optimization/30666
-	* tree.c (build_complex_type): When creating type names for DWARF2
-	debug info, create TYPE_DECLs for TYPE_NAME instead of
-	IDENTIFIER_NODEs.
-	(build_common_tree_nodes_2): Use build_complex_type when building
-	predefined complex types, to preserve canonical types.
-
-2007-03-29  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* ifcvt.c (struct noce_if_info): Add then_else_reversed field.
-	(noce_get_alt_condition): Look at it to determine whether to
-	reverse the condition or not.
-	(noce_get_condition): Substitute the truth for lies.
-	(noce_find_if_block): Set the then_else_reversed field.
-
-2007-03-29  Lars Poeschel <larsi@wh2.tu-dresden.de>
-
-	* config/fr30/fr30.md (movdi): Do not accept immediates as the
-	destination of this insn.
-	* config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather
-	than calling gen_rtx_SET directly.  Use r0 to hold the value of
-	'address + 4' rather than a stack based temporary which can be
-	mis-optimized away.
-
-2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (s390_secondary_input_reload_class,
-	s390_secondary_output_reload_class): Functions removed.
-	(s390_secondary_reload): New function.
-	(TARGET_SECONDARY_RELOAD): Target macro defined.
-	* config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS,
-	SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed.
-	* config/s390/s390.md ("reload_outti", "reload_outdi",
-	"reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>",
-	"reload_out<mode>"): Expanders removed.
-	("reload<mode>_plus", "reload<mode>_nonoffmem_in",
-	"reload<mode>_nonoffmem_out"): Expanders added.
-
-2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair
-	action if SRC->DEST replacement failed anyway.
-
-2007-03-28  Mike Stump  <mrs@apple.com>
-
-	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
-	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
-	* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
-
-2007-03-28  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
-
-	* config.gcc: Accept barcelona as a variant of amdfam10.
-	* config/i386/i386.c (override_options): Likewise.
-	* doc/invoke.texi: Likewise.
-
-2007-03-28  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-dfa.c (get_ref_base_and_extent): Do not expect positive
-	offsets for BIT_FIELD_REF and COMPONENT_REF.
-
-2007-03-28  Richard Guenther  <rguenther@suse.de>
-
-	* tree.c (is_global_var): Move ...
-	* tree-flow-inline.h (is_global_var): ... here.
-	* tree.h (is_global_var): Remove declaration.
-
-2007-03-28  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning
-	option.
-	(TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option.
-	* config/i386/i386.c (ix86_tune_features): Initialize new
-	tuning option.
-	* config/i386/predicates.md (promotable_binary_operator): Use
-	TARGET_TUNE_PROMOTE_HIMODE_IMUL.
-
-2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
-
-	PR target/31380
-	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
-
-2007-03-28  Lars Poeschel <larsi@wh2.tu-dresden.de>
-
-	* config/fr30/fr30.md (movsi_internal): Change destination
-	constraint from m to V and add m to the end.
-
-2007-03-28  Christian Bruel  <christian.bruel@st.com>
-
-	* config/sh/sh.md (movsi_i): Fix type attribute.
-
-2007-03-28  Christian Bruel  <christian.bruel@st.com>
-
-	* config/sh/sh.md (movsi_ie): Fix memory constraints attribute length.
-	(movsf_ie): Likewise.
-
-2007-03-28  Christian Bruel  <christian.bruel@st.com>
-
-	* config.gcc: Add sh4-300 to multilib.
-	* config/sh/t-mlib-sh4-300: New file.
-
-2007-03-28  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md ("fix_trunc<mode>di2"): New expander.
-	("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from
-	fix_trunc<mode>di2.
-	("fixuns_truncdddi2", "fixuns_trunctddi2"): Use
-	fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2.
-	("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2",
-	"fixuns_trunctddi2"): Whitespace fix.
-
-2007-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after
-	the definition of struct sh_args.
-	(CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT,
-	CALL_COOKIE_INT_REG_GET): Likewise.
-
-2007-03-28  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* ifcvt.c (cond_exec_find_if_block): Return FALSE if no
-	transformations are applied successfully.
-
-2007-03-27  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* tree.c (tree_contains_struct): Permit 512 tree codes.
-	* tree.h (tree_contains_struct): Ditto.
-	(MAX_TREE_CODES): Ditto.
-	(struct tree_base): Make CODE 16 bits, instead of 8 bits. Add
-	SPARE member to store remaining padding bits.
-
-2007-03-27  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
-	architecture.
-
-2007-03-27  Janis Johnson  <janis187@us.ibm.com>
-
-	* configure.ac: Fix assembler test for powerpc*-linux decimal float.
-	* configure: Regenerate.
-
-	* configure: Regenerate using the correct version of autoconf.
-
-2007-03-27  Anatoly Sokolov  <aesok@post.ru>
-
-	* config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack
-	pointer regs.
-	* config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__"
-	regs to "__SP_L__" and "__SP_H__".
-
-2007-03-27  Richard Guenther  <rguenther@suse.de>
-
-	* tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and
-	computations with it with a HOST_WIDE_INT variable.
-
-2007-03-26  Mike Stump  <mrs@apple.com>
-
-	* config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add
-	objective-c-header, objective-c++-header and objc++-cpp-output
-	support.
-	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
-
-2007-03-26  Richard Henderson  <rth@redhat.com>
-
-	PR target/31361
-	* config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128,
-	IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128,
-	IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128,
-	IX86_BUILTIN_PSRLQ128): New.
-	(ix86_init_mmx_sse_builtins): Add them.
-	(ix86_expand_builtin): Expand them.
-	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
-	operand 2 be TImode.
-	* config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16,
-	_mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
-	_mm_srli_epi64): Mark __B const.
-	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
-	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
-	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
-	new two-vector shift builtins.
-
-2007-03-26  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31345
-	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
-	[+INF, +INF(OVF)] into VARYING.
-
-2007-03-26  Zack Weinberg  <zackw@panix.com>
-
-	* gengtype-parse.c: New file.
-	* gengtype-yacc.y: Delete.
-	* gengtype-lex.l: Don't include gengtype-yacc.h.
-	Define YY_DECL and yyterminate appropriately for recursive
-	descent parser.  yylval is now a string out-parameter to yylex.
-	(HWS, EOID): New shorthand.
-	(IWORD): Add a couple more types.
-	(yylex): Add a setup stanza.  Remove the complex rules for
-	detecting GTY'ed types and typedefs; replace with simple
-	keyword detectors.  Adjust everything for the changed
-	definition of yylval.  Ignore all pp-directives, not just #define.
-	(yyerror): Delete.
-	(parse_file): Rename yybegin; do not call yyparse.
-	(yyend): New.
-	* gengtype.c (xasprintf): Export again.
-	(this_file): New.  Use everywhere __FILE__ was being used.
-	(get_lang_bitmap): Special case types defined in gengtype.c.
-	(do_typedef, new_structure): Suppress definition of certain types.
-	(new_structure): Improve diagnostics of duplicate definitions.
-	Make sure location_s is associated with input.h.
-	(nreverse_pairs, define_location_structures): New functions.
-	(main): Improve tagging of kludge types.  Remove old kludges
-	for input.h types; use define_location_structures.
-	* gengtype.h: Update prototypes.  Define token codes here.
-	* Makefile.in: Remove all references to gengtype-yacc.
-	Add rules for gengtype-parse.o.  Adjust rules for gengtype-lex.o
-	and gengtype.
-	* bitmap.h (struct bitmap_head_def): Coalesce definitions,
-	add GTY((skip)) to the field that's only conditionally there.
-	* doc/install.texi: Document that Bison is no longer required
-	unless building treelang.
-
-	* gengtype.c: Don't include gtyp-gen.h.
-	(srcdir): Declare here.
-	(base_files, lang_dir_names): Allocate dynamically.
-	(gt_files, num_gt_files, num_lang_dirs): New globals.
-	(measure_input_list, read_input_line, read_input_list)
-	(set_lang_bitmap): New functions.
-	(get_base_file_bitmap): Rename get_lang_bitmap and drastically
-	simplify, relying on read_input_list to set up the bitmaps.
-	(main): Arguments are no longer unused.  Check for correct number
-	of command line arguments, set srcdir and srcdir_len, then call
-	read_input_list, before doing anything else.  No need to worry
-	about duplicates in main loop.
-	* configure.ac: Simplify the calculation of all_gtfiles.
-	Put language tags in there.  Don't set or substitute
-	all_gtfiles_files_langs or all_gtfiles_files_frags.
-	* Makefile.in: Revamp the way gengtype is invoked, now that it
-	takes a file on its command line with a much simpler format.
-	Remove or replace with gtyp-input.list all references to gtyp-gen.h.
-	(GTFILES): Remove duplicates and C source files.
-	* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
-	* objcp/config-lang.in: Add c-pragma.h to gtfiles.
-	* configure: Regenerate.
-
-	* gengtype.h: Remove all type definitions to gengtype.c; leave
-	only definitions of options_p, type_p, and pair_p as opaque
-	pointers.  Update prototypes.
-	* gengtype.c: Many type definitions moved here from gengtype.h.
-	Consolidate type definitions at the top of the file.
-	(xvasprintf): Delete.
-	(xasprintf): Make static.
-	(create_nested_pointer_option): Add 'next' parameter.
-	(create_field_all, create_field_at): New functions.
-	(create_field): Now a thin wrapper around create_field_all.
-	(create_optional_field): Rename create_optional_field_ and add
-	line argument.  Original name is now a macro which supplies
-	__LINE__.
-	(oprintf): Use vsnprintf directly.
-	(close_output_files): Use fatal rather than perror/exit.
-	(note_def_vec, note_def_vec_alloc): Use create_field_at.
-	(main): Set progname.  Don't use exit.
-	* gengtype-yacc.y (struct_fields): Use create_field_at.
-	(option, optionseqopt): Delete.
-	(optionseq): Consolidate productions from option here so we
-	can use the first argument to create_option.
-
-	* gengtype-lex.l: Distinguish unions from structures in the
-	token type.  Don't call find_structure; return the tag as a string.
-	* gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and
-	ENT_UNION.  Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is
-	string.  Reorganize typedef_struct production accordingly.
-	Use create_nested_ptr_option.
-	* gengtype.c (create_nested_ptr_option): New function.
-	* gengtype.h: Declare it.
-
-	* gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char.
-	(string_type): Don't declare.
-	(do_scalar_typedef): Declare.
-	(create_scalar_type): Update prototype.
-	* gengtype.c (string_type): Make static.
-	(scalar_nonchar, scalar_char): New.
-	(do_scalar_typedef): Export.  Always use scalar_nonchar for the type.
-	(resolve_typedef): Use scalar_nonchar for error recovery.
-	(create_scalar_type): Remove name_len field.  Return scalar_char
-	or scalar_nonchar as appropriate.
-	(adjust_field_type): Look at scalar_is_char boolean to decide whether
-	to use string_type.
-	(throughout): Use scalar_nonchar instead of calling
-	create_scalar_type, whenever possible.
-	(main): Initialize scalar_char and scalar_nonchar before calling
-	gen_rtx_next.
-	* gengtype-lex.l: Adjust for removal of second argument to
-	create_scalar_type.  Use yylval.s instead of yylval.t when
-	returning SCALAR.
-	* gengtype-yacc.y: Type of SCALAR is string.  Call
-	create_scalar_type from type:SCALAR rule.  Adjust for removal of
-	second argument to create_scalar_type.
-
-	* vec.h: Remove all #if IN_GENGTYPE blocks.
-	Add comment saying that changes may require adjustments to gengtype.
-	* gengtype.c: Don't include coretypes.h or tm.h.
-	Add comment to inclusion of errors.h.
-	(note_def_vec, note_def_vec_alloc): New functions.
-	* gengtype.h: Declare new functions.
-	* gengtype-lex.l: Don't include coretypes.h.
-	(YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name):
-	Delete.
-	(update_lineno): Remove unnecessary prototype.
-	(DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc.
-	(VEC rule): Just return VEC_TOKEN.
-	* gengtype-yacc.y (VEC_TOKEN): New token type.
-	(type): Add a production for VEC(a,b).
-	* Makefile.in: Update dependencies.
-
-	* gengtype-lex.l: Remove rules for parsing pointer-to-function
-	typedefs that use the old PARAMS macro.
-
-	* gengtype-lex.l: Remove all rules and states relating to yacc
-	input files.
-	* gengtype-yacc.y: Similarly.
-	* gengtype.c (note_yacc_type): Delete function.
-	* gengtype.h: Update prototypes.
-
-2007-03-26  Joseph Myers  <joseph@codesourcery.com>
-
-	* tree-pretty-print.c (dump_generic_node): Report precision of
-	unnamed integer types.
-
-2007-03-26  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* ifcvt.c (noce_try_store_flag_constants): Don't check
-	no_new_pseudos here.
-	(noce_try_store_flag_constants): Don't check no_new_pseudos.
-	(noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith,
-	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
-	noce_try_sign_mask): Likewise.
-	(if_convert): Check no_new_pseudos here.
-
-	(cond_exec_process_if_block, noce_process_if_block, find_if_block):
-	Remove prototypes.
-	(struct noce_if_info): Add then_bb, else_bb, join_bb members.
-	(noce_get_condition): Handle new then_else_reversed argument.
-	(noce_init_if_info): Remove, fold into noce_find_if_block.
-	(noce_process_if_block): Take a struct noce_if_info as the
-	argument.  Don't set up one based on ce_if_info.  Update pointer
-	references accordingly.
-	(cond_move_process_if_block): Likewise.
-	(process_if_block): Removed.
-	(find_if_block): Removed.  Move functionality two new functions,
-	noce_find_if_block and cond_exec_find_if_block.
-	(noce_find_if_block): New function.  Be aware of IF-THEN-JOIN
-	blocks and the symmetric IF-ELSE-JOIN case.
-	(cond_exec_find_if_block): Also new function mostly based on old
-	find_if_block and process_if_block.
-	(find_if_header): Replace find_if_block call with separately
-	guarded calls to noce_find_if_block and cond_exec_find_if_block.
-	(find_cond_trap): Update noce_get_condition call.
-	(dead_or_predicable): Likewise.
-
-2007-03-26  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD):
-	Remove.
-	(IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128,
-	IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128,
-	IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove.
-	(ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and
-	v4si_ftype_v4si_v2di.  Remove __builtin_ia32_psllw128,
-	__builtin_ia32_pslld128, __builtin_ia32_psllq128,
-	__builtin_ia32_psrlw128, __builtin_ia32_psrld128,
-	__builtin_ia32_psrlq128, __builtin_ia32_psraw128 and
-	__builtin_ia32_psrad128 builtins.
-
-2007-03-26  Uros Bizjak  <ubizjak@gmail.com>
-
-	* reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert().
-	* config/i386/constraints.md
-	(define_constraint "I"): Use IN_RANGE macro.
-	(define_constraint "J"): Ditto.
-	(define_constraint "K"): Ditto.
-	(define_constraint "M"): Ditto.
-	(define_constraint "N"): Ditto.
-	(define_constraint "O"): Ditto.
-	* config/i386/predicates.md
-	(define_predicate "register_no_elim_operand"): Use IN_RANGE macro.
-	(define_predicate "const_0_to_3_operand"): Ditto.
-	(define_predicate "const_0_to_7_operand"): Ditto.
-	(define_predicate "const_0_to_15_operand"): Ditto.
-	(define_predicate "const_0_to_63_operand"): Ditto.
-	(define_predicate "const_0_to_255_operand"): Ditto.
-	(define_predicate "const_1_to_31_operand"): Ditto.
-	(define_predicate "const_2_to_3_operand"): Ditto.
-	(define_predicate "const_4_to_7_operand"): Ditto.
-
-2007-03-25  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR
-	in SImode for save_world.
-	* config/rs6000/altivec.md (save_world, restore_world): Convert to
-	LR hard reg.
-
-2007-03-25  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/30784
-	* fold-const.c (fold_ternary): Handle CONSTRUCTOR in case
-	BIT_FIELD_REF.
-
-2007-03-25  Revital Eres  <eres@il.ibm.com>
-
-	* tree-if-conv.c (if_convertible_gimple_modify_stmt_p):
-	  Fold movement_possibility function into it.
-
-2007-03-25  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0.
-	(load_macho_picbase_{si,di}): Convert to LR hard reg.
-	(call_indirect_nonlocal_darwin64): Same.
-	(call_nonlocal_darwin64): Same.
-	(call_value_indirect_nonlocal_darwin64): Same.
-	(call_value_nonlocal_darwin64): Same.
-	(sibcall_nonlocal_darwin64): Same.
-	(sibcall_value_nonlocal_darwin64): Same.
-	(sibcall_symbolic_64): Same.
-	(sibcall_value_symbolic_64): Same.
-	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
-	LR pseudo.
-	(rs6000_emit_load_toc_table): Same.
-	* config/rs6000/altivec.md (restore_world): Convert to LR hard reg.
-	* config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg.
-	(mull_call): Same.
-	(divss_call): Same.
-	(divus_call): Same.
-	(quoss_call): Same.
-	(quous_call): Same.
-	(load_toc_v4_pic_si): Same
-	(load_toc_v4_PIC_1): Same.
-	(load_toc_v4_PIC_1b): Same.
-	(call_indirect_aix{32,64}): Same.
-	(call_value_indirect_aix{32,64}): Same.
-	(call): Same.
-	(call_value): Same.
-	(call_local{32,64}): Same.
-	(call_value_local{32,64}): Same.
-	(call_indirect_nonlocal_aix{32,64}): Same.
-	(call_nonlocal_aix{32,64}): Same.
-	(call_value_indirect_nonlocal_aix{32,64}): Same.
-	(call_value_nonlocal_aix{32,64}): Same.
-	(call_indirect_nonlocal_sysv<mode>): Same.
-	(call_nonlocal_sysv<mode>): Same.
-	(call_value_indirect_nonlocal_sysv<mode>): Same.
-	(call_value_nonlocal_sysv<mode>): Same.
-	(sibcall): Same.
-	(sibcall_local{32,64}): Same.
-	(sibcall_value_local{32,64}): Same.
-	(sibcall_nonlocal_aix{32,64}): Same.
-	(sibcall_value_nonlocal_aix{32,64}): Same.
-	(sibcall_nonlocal_sysv<mode>): Same.
-	(sibcall_value): Same.
-	(sibcall_value_nonlocal_sysv<mode>): Same.
-
-2007-03-24  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
-	* config/arm/linux-eabi.h: Remove legacy syscall hack.
-
-2007-03-24  Richard Henderson  <rth@redhat.com>
-
-	* config/ia64/constraints.md: New file.
-	* config/ia64/predicates.md: Replace CONST_OK_FOR_? with
-	satisfies_constraint_?.
-	* config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p,
-	ia64_reload_gp, spill_restore_mem, ia64_expand_prologue,
-	ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs,
-	ia64_output_mi_thunk): Likewise.
-	(ia64_const_ok_for_letter_p): Remove.
-	(ia64_const_double_ok_for_letter_p): Remove.
-	(ia64_extra_constraint): Remove.
-	* config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove.
-	(CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L,
-	CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P,
-	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G,
-	CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT,
-	EXTRA_MEMORY_CONSTRAINT): Remove.
-	* config/ia64/ia64.md: Include constriants.md.  Replace
-	CONST_OK_FOR_? with satisfies_constraint_?.
-
-2007-03-23  Michael Meissner  <michael.meissner@amd.com>
-	    H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/dfp-bit.h (DPD_BID_NAME): New macro to give either the
-	DPD or BID name.
-	(name macros): Use DPD_BID_NAME to convert names properly.
-
-	* optabs.c (DECIMAL_PREFIX): Prefix string to use for the current
-	decimal floating point format.
-	(init_floating_libfuncs): Change decimal functions so that they
-	have a "bid_" prefix if the decimal system uses the BID format,
-	and "dpd_" prefix if the decimal system uses the DPD format.
-	(init_interclass_conv_libfuncs): Ditto.
-	(init_intraclass_conv_libfuncs): Ditto.
-
-	* config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are
-	using the BID format.
-
-	* configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say
-	whether we are using the BID decimal format.
-	* configure: Regenerate.
-
-	* c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if
-	the compiler has decimal floating point enabled.  Define
-	__DECIMAL_BID_FORMAT__ if BID decimal floating point is used
-	instead of DPD.
-
-	* config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are
-	using the BID format.
-
-	* configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say
-	whether we are using the BID decimal format.
-	* configure: Regenerate.
-
-	* c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if
-	the compiler has decimal floating point enabled.  Define
-	__DECIMAL_BID_FORMAT__ if BID decimal floating point is used
-	instead of DPD.
-
-	* doc/install.texi (--enable-decimal-float): Document BID and DPD
-	options, and that it is enabled for i386/x86_64 systems.
-
-	* Makefile.in (enable_decimal_float): New.
-	(DECNUMFMT): New.
-	(DECNUMINC): Add  -I$(DECNUMFMT).
-	(DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h
-	to $(DECNUMFMT) from $(DECNUM).
-
-	* configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}.
-	Substitute enable_decimal_float.
-	* configure: Regenerated.
-
-	PR other/30529
-	* config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of
-	unsigned long.
-
-	* configure.ac: Enable decimal float for x86_64-*-linux*.
-	* configure: Regenerated.
-
-	PR other/30530
-	* dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and
-	decimal128ClearSign to flip and clear the sign bit in decimal128.
-	(decimal_real_maxval): Set decimal128SetSign to set the sign
-	bit in decimal128.
-
-2007-03-23  Ian Lance Taylor  <iant@google.com>
-
-	* fold-const.c (fold_binary): Correct warning for X - c >= X.
-
-2007-03-23  Ian Lance Taylor  <iant@google.com>
-
-	* tree-dump.c (dump_files): Correct comment.
-
-2007-03-23  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (operand_less_p): Ignore fold overflow warnings.
-
-2007-03-23  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* tracer.c (tracer): Don't take FLAGS argument.  Assert we are
-	in cfglayout mode.  Don't go into and out of cfglayout mode.
-	Link the blocks in the order of the constructed traces.
-	(rest_of_handle_tracer): Adjust call to tracer.
-	* loop-init.c (rtl_loop_init): Assert we are in cfglayout mode.
-	Don't go into cfglayout mode.
-	(rtl_loop_done): Don't go out of cfglayout mode.
-	* cfglayout.c (relink_block_chain): New function, split out from...
-	(fixup_reorder_chain): ...here.  Remove redundant checking.
-	(cfg_layout_finalize): Don't clear the header, footer, and aux
-	fields here, move the code to do so to relink_block_chain.  Likewise
-	for free_original_copy_tables.
-	* rtl.h (tracer): Update prototype.
-	* bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument.
-	Assert we are in cfglayout mode.  Don't go into and out of cfglayout
-	mode.  Use relink_block_chain to serialize the CFG according to the
-	new basic block order.  Move targetm.cannot_modify_jumps_p check from
-	here...
-	(gate_handle_reorder_blocks): ...to here.
-	(duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check
-	from here...
-	(gate_duplicate_computed_gotos): ...to here.
-	(rest_of_handle_reorder_blocks): Don't see if anything has changed,
-	something always changes when going into and out of cfglayout mode.
-	Perform an expensive cfg cleanup while going into cfglayout mode.
-	Always update liveness information on HAVE_conditional_execution
-	targets.  Reserialize the basic blocks and go out of cfglayout mode.
-	* reg-stack.c: Include cfglayout.h.
-	(rest_of_handle_stack_regs): Go into and out of cfglayout mode around
-	the call to reorder_basic_blocks.
-	* basic-block.h (reorder_basic_blocks): Update prototype.
-	(relink_block_chain): New prototype.
-	* passes.c (pass_outof_cfg_layout_mode): Move after cse2.
-
-2007-03-23  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/mips/mips.md (type, hazard, *movdi_32bit,
-	*movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc,
-	*movhi_internal, *movqi_internal, *movsf_hardfloat,
-	*movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat,
-	movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high,
-	mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as
-	applicable.
-	(movcc): Change first xfer to multi.
-	* config/mips/24k.md, config/mips/4100.md, config/mips/4300.md,
-	config/mips/5000.md, config/mips/5400.md, config/mips/5500.md,
-	config/mips/5k.md, config/mips/7000.md, config/mips/9000.md,
-	config/mips/generic.md: Change reservations using "xfer" to use
-	"mfc,mtc".
-	* config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of
-	using match_operand.
-	(ir_sb1_mfxfer): Use "mfc" instead of using match_operand.
-	* config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of
-	examining mode.
-	(ir_sr70_xfer_to): Use "mtc" instead of examining mode.
-
-2007-03-22  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.c: Remove unnecessary function declarations.
-	Move targetm definition, and all related macros, to the end of
-	the file.  Resort some functions to put definitions before uses.
-	(ix86_attribute_table): Make static.  Move to end of file.
-	(ix86_gimplify_va_arg): Make static.
-
-2007-03-22  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit;
-	don't increase local_regparm with force_align_arg_pointer check.
-	(ix86_function_sseregparm): Assert 32-bit.
-	(type_has_variadic_args_p): New.
-	(ix86_return_pops_args): Early exit for 64-bit.  Reindent; use
-	type_has_variadic_args_p.
-	(ix86_function_arg_regno_p): Use == 0 instead of ! test for eax.
-	(init_cumulative_args): Remove TARGET_DEBUG_ARG.  Remove zero_cum;
-	use memset instead.  Do maybe_vaarg check first; skip attribute
-	tests if true; skip attribute tests for 64-bit.
-	(construct_container): Remove TARGET_DEBUG_ARG.
-	(function_arg_advance_32, function_arg_advance_64): Split out ...
-	(function_arg_advance): ... from here.
-	(function_arg_32, function_arg_64): Split out ...
-	(function_arg): ... from here.
-	(ix86_pass_by_reference): Tidy.
-	(ix86_function_value_regno_p): Rearrange w/ switch on regno.
-	(function_value_32): New, from parts of ix86_function_value
-	and ix86_value_regno.
-	(function_value_64): New, from parts of ix86_function_value
-	and ix86_libcall_value.
-	(ix86_function_value_1): New.
-	(ix86_function_value, ix86_libcall_value): Use it.
-	(return_in_memory_32, return_in_memory_64): Split out ...
-	(ix86_return_in_memory): ... from here.
-	(ix86_struct_value_rtx): Skip for 64-bit.
-	(ix86_libcall_value, ix86_value_regno): Remove.
-	(setup_incoming_varargs_64): Split out ...
-	(ix86_setup_incoming_varargs): ... from here.
-	(ix86_va_start): Remove TARGET_DEBUG_ARG.
-	(legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR.
-	* config/i386/i386-protos.h (ix86_function_value): Remove.
-	* config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove.
-
-2007-03-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR other/23572
-	* c-lex.c (interpret_float): On overflow, emit pedantic warning if
-	infinities not supported, otherwise emit warning if -Woverflow. On
-	underflow, emit warning if -Woverflow.
-	* real.c (real_from_string): Return -1 if underflow, +1 if overflow
-	and 0 otherwise.
-	* real.h (real_from_string): Update declaration
-
-2007-03-22  Kai Tietz  <kai.tietz@onevision.com>
-	    Richard Henderson  <rth@redhat.com>
-
-	* defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
-	* calls.c (compute_argument_block_size, expand_call,
-	emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE.
-	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
-	* function.c (STACK_DYNAMIC_OFFSET): Likewise.
-	* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update.
-	* config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h,
-	config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h,
-	config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h,
-	config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE):
-	Set to 1.
-
-2007-03-22  Joseph Myers  <joseph@codesourcery.com>
-
-	* c-incpath.c (add_sysroot_to_chain): New.
-	(merge_include_chains): Add sysroot argument.  Call
-	add_sysroot_to_chain if sysrooted.
-	(register_include_chains): Update call to merge_include_chains.
-	* doc/cppopts.texi: Document use of '=' in include directory
-	arguments.
-
-2007-03-22  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
-	Macroize expander using SSEMODEF mode macro.  Use SSE_FLOAT_MODE_P.
-	(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
-	insn pattern using X87MODEF12 mode macro.
-
-2007-03-21  Seongbae Park <seongbae.park@gmail.com>
-
-	* regmove.c (regmove_optimize): Use reg_mentioned_p
-	instead of reg_overlap_mentioned_p for DST.
-
-2007-03-21  Mike Stump  <mrs@apple.com>
-
-	* c.opt: Fixup for Objective-C/C++.
-
-2007-03-21  Steve Ellcey  <sje@cup.hp.com>
-
-	* explow.c (convert_memory_address): Fold memory reference when
-	POINTERS_EXTEND_UNSIGNED < 0
-
-2007-03-21  Richard Henderson  <rth@redhat.com>
-
-	PR target/31245
-	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
-	* config/i386/mmintrin.h (__m64): Likewise.
-	* config/i386/xmmintrin.h (__m128): Likewise.
-
-2007-03-21  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
-	(VXWORKS_OS_CPP_BUILTINS): Define.
-	* config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into...
-	(TARGET_OS_CPP_BUILTINS): ...here.  Use VXWORKS_OS_CPP_BUILTINS.
-
-2007-03-21  Richard Sandiford  <richard@codesourcery.com>
-
-	* rtl.h (constant_pool_reference_p): Delete.
-	(find_constant_src): Declare.
-	* rtlanal.c (find_constant_src): New function.
-	* simplify-rtx.c (constant_pool_reference_p): Delete.
-	* config/i386/i386.md: Use find_constant_src instead of
-	constant_pool_reference_p/avoid_constant_pool_reference pairs.
-
-2007-03-21  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__.
-	* c-cppbuiltin.c (c_cpp_builtins): Define them.
-
-2007-03-20  Mark Mitchell  <mark@codesourcery.com>
-
-	* config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define.
-	* config/arm/arm.c (arm_elf_asm_cdtor): New function.
-	(arm_elf_asm_constructor): Use it.
-	(arm_elf_asm_destructor): New function.
-
-2007-03-20  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* jump.c (mark_jump_label): Treat SEQUENCE specially.
-
-2007-03-20  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks.
-
-2007-03-19  Andrew Haley  <aph@redhat.com>
-
-	PR tree-optimization/31264
-	* tree-vrp.c (register_edge_assert_for_1): Don't look though
-	VIEW_CONVERT_EXPRs.
-
-2007-03-19  Paolo Bonzini  <bonzini@gnu.org>
-
-	PR rtl-optimization/30907
-	* fwprop.c (forward_propagate_into): Never propagate inside a loop.
-	(fwprop_init): Always call loop_optimizer_initialize.
-	(fwprop_done): Always call loop_optimizer_finalize.
-	(fwprop): We always have loop info now.
-	(gate_fwprop_addr): Remove.
-	(pass_fwprop_addr): Use gate_fwprop as gate.
-
-	PR rtl-optimization/30841
-	* df-problems.c (df_ru_local_compute, df_rd_local_compute,
-	df_chain_alloc): Call df_reorganize_refs unconditionally.
-	* df-scan.c (df_rescan_blocks, df_reorganize_refs): Change
-	refs_organized to refs_organized_size.
-	(df_ref_create_structure): Use refs_organized_size instead of
-	bitmap_size if refs had been organized, and keep refs_organized_size
-	up-to-date.
-	* df.h (struct df_ref_info): Change refs_organized to
-	refs_organized_size.
-	(DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of
-	bitmap_size.
-
-2007-03-19  Mark Mitchell  <mark@codesourcery.com>
-
-	* except.c (output_function_exception_table): Do not reference the
-	EH personality routine for functions that do not require an
-	exception table.
-
-2007-03-20  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/30762
-	* c-typeck.c (convert_for_assignment): Call comptypes for
-	RECORD_TYPE or UNION_TYPE.
-
-	PR inline-asm/30505
-	* reload1.c (reload): Do invalid ASM checking after
-	cleanup_subreg_operands.
-
-2007-03-19  Jeff Law  <law@redhat.com>
-
-	* tree-cfg.c (find_taken_edge): Tighten conditions for
-	optimizing computed gotos.
-
-2007-03-19  Michael Matz  <matz@suse.de>
-
-	* builtins.c (expand_builtin_sync_operation,
-	expand_builtin_compare_and_swap,
-	expand_builtin_lock_test_and_set): Care for extending CONST_INTs
-	correctly.
-
-	* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
-	sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
-	for operand 3.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* doc/tm.texi: Add brackets around the return type of
-	TARGET_SECONDARY_RELOAD.
-
-2007-03-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-	Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31254
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
-	Use handled_component_p () where appropriate.  Continue
-	propagating into the rhs if we propagated into an INDIRECT_REF
-	on the lhs.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md (op_type attribute): RRR instruction type added.
-	(FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros.
-	(xde, xdee): Mode attributes adjusted to support DFP modes.
-	(RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added.
-	("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters,
-	DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3",
-	"*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3",
-	"*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3",
-	"div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
-	"*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP
-	numbers.
-	("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31",
-	"movsf"): Insn definitions removed.
-	("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp",
-	"*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2",
-	"trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn
-	definitions added.
-	("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>",
-	"reload_in<mode>", "reload_out<mode>"): Expander added.
-	("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"):
-	Expander removed.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md: Only non-functional changes.  Renamed
-	FPR mode macro to BFP all over the file.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.md (UNSPEC_COPYSIGN): New constant.
-	(op_type attribute): RRF instruction type added.
-	(fT0): New mode attribute.
-	("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
-	"*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added.
-	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new
-	instruction no secondary memory is needed when moving DFmode values
-	between GPRs and FPRs.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value
-	inverted and documentation adjusted.
-	("mhard-dfp", "msoft-dfp"): New options.
-	* config/s390/s390.c (s390_handle_arch_option): New architecture
-	switch: z9-ec.
-	(override_options): Sanity checks for the new options added.
-	* config.gcc: New architecture switch: z9-ec.
-	* config/s390/s390.h (processor_flags): PF_DFP added.
-	(TARGET_CPU_DFP, TARGET_DFP): Macro definitions added.
-	(TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled
-	when the bit is NOT set so remove it from the defaults.
-
-2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* genemit.c (main): Print include statement for dfp.h.
-	* dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum
-	is not available.
-
-2007-03-19  Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here.
-
-2007-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/31022
-	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
-	instead of PATTERN.
-
-2007-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.c (output_deferred_plabels, output_bb, output_millicode_call,
-	attr_length_call, output_call, output_indirect_call): Cleanup
-	formatting of targetm calls.
-
-2007-03-19  Hans-Peter Nilsson  <hp@axis.com>
-
-	* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
-
-2007-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.md: Add fpstore_load and store_fpload instruction types.  Provide
-	reservation, bypass and anti-bypass descriptions for these
-	instructions.  Update move patterns.
-	* pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and
-	TYPE_FPSTORE.
-
-2007-03-18  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* tree-vect-transform.c (get_initial_def_for_induction): Replace
-	GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS.
-	(get_initial_def_for_reduction): Likewise.
-
-2007-03-16  Daniel Berlin  <dberlin@dberlin.org>
-
-	Fix PR tree-optimization/29922
-	* tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members.
-	(get_representative): Removed.
-	(value_dies_in_block_x): Update for rvuse removal.
-	(valid_in_sets): Update for renaming of vuses_dies_in_block_x.
-	(compute_antic_aux): Handle when PHI nodes appear in
-	non-single-successors.
-	(dump_bitmap_of_names): Removed.
-	(compute_antic_safe): Renamed and removed rvuse calculation.
-	Calculate only antic safe.
-	(insert_into_preds_of_block): Remove assert.
-	(execute_pre): Update for renamed functions.
-	(defer_or_phi_translate_block): New function.
-
-2007-03-17  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c,
-	config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment
-	typos.
-	* doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos.
-	Follow spelling conventions.
-
-	* tree-data-ref.h: Remove the prototype for analyze_array.
-
-2007-03-17  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/31041
-	* tree-vect-transform.c (get_initial_def_for_induction): Call
-	force_gimple_operand.
-
-2007-03-17  Olga Golovanevsky  <olga@il.ibm.com>
-
-  	* ipa-type-escape.c (look_for_casts) : Revert code to use
-	handled_component_p due to ada test a-numaux.adb.
-
-2007-03-17  Kazu Hirata  <kazu@codesourcery.com>
-
-	* final.c (final_scan_insn): Alter the condition of a
-	conditional trap if we have nonstandard CC.
-
-2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
-
-	* configure.ac: Remove excess quoting from asm line 0 test.
-	* configure: Rebuilt.
-
-2007-03-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (-Wconversion): Document warnings specific to C++.
-	* c-common.c (convert_and_check): Move warning logic to...
-	(warnings_for_convert_and_check): ...here. Define.
-	* c-common.h (warnings_for_convert_and_check): Declare.
-
-2007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.c (attr_length_call): Partially revert change of 2007-03-09.
-	(output_call): Likewise.
-
-2007-03-16  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define.
-
-2007-03-16  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define.
-
-2007-03-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8,
-	opteron, athlon-64 and athlon-fx processor_alias_table entries.
-
-2007-03-16  Sebastian Pop  <sebastian.pop@inria.fr>
-
-	PR tree-optimization/31183
-	* tree-loop-linear.c (gather_interchange_stats, try_interchange_loops):
-	Use double_int instead of unsigned int for representing access_strides.
-	* testsuite/gcc.dg/tree-ssa/pr31183.c: New.
-
-2007-03-16  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31146
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure
-	to allow recursion of forward_propagate_addr_expr.
-	(forward_propagate_addr_into_variable_array_index): Likewise.
-	(forward_propagate_addr_expr): Likewise.
-	(tree_ssa_forward_propagate_single_use_vars): Likewise.
-	(forward_propagate_addr_expr_1): Recurse on simple copies
-	instead of propagating into them.  Do so for useless conversions
-	as well.
-	(forward_propagate_addr_expr): Clean up unused statements after
-	recursion.
-
-2007-03-16  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (expand_builtin_cexpi): Use the right argument
-	for the expansion via cexp.
-
-2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
-
-	* configure.ac: Don't require ELF binutils to tolerate # 0 "".
-	* configure: Rebuilt.
-
-2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/29906
-	* dwarf2out.c (force_type_die): Adjust comment.
-	(dwarf2out_imported_module_or_decl): Handle base AT_import types.
-
-2007-03-15  DJ Delorie  <dj@redhat.com>
-
-	* config/frv/predicates.md (minmax_operator): Don't check operands
-	here.
-
-2007-03-15  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (record_estimate): Add "upper" argument.
-	Update constant estimates of number of iterations.
-	(record_nonwrapping_iv): Add "upper" argument.  "data_size_bounds_p"
-	argument renamed to "realistic".
-	(compute_estimated_nb_iterations): Removed.
-	(record_niter_bound): New function.
-	(idx_infer_loop_bounds): For possible but unlikely tail arrays,
-	call record_nonwrapping_iv with upper = false.
-	(infer_loop_bounds_from_signedness): Pass upper argument to
-	record_nonwrapping_iv.
-	(estimate_numbers_of_iterations_loop): Do not call
-	compute_estimated_nb_iterations.  Record estimate based on profile
-	information.  Initialize the constant estimates of number of
-	iterations.
-	* tree-data-ref.c (estimated_loop_iterations): Return the recorded
-	estimates.
-	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when
-	number of iterations is too small.
-	* cfgloop.h (struct nb_iter_bound): Remove "realistic" field.
-	(EST_NOT_AVAILABLE): Removed.
-	(struct loop): Replace estimated_nb_iterations by any_upper_bound,
-	nb_iterations_upper_bound, any_estimate and nb_iterations_estimate
-	fields.
-
-2007-03-15  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference):
-	Handle NE_EXPR guards.
-
-2007-03-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c++/24924
-	* c-opts.c (c_common_post_options): Handle C++ post-processing here.
-	Set also -pedantic-errors by default for the  preprocessor unless
-	-fpermissive is given.
-
-2007-03-15  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/29719
-	PR middle-end/31161
-	* builtins.c (expand_builtin_cexpi): As a fallback if we
-	don't have builtins for sincos or cexp create a function
-	declaration for cexp and expand to a call to that.
-	(expand_builtin_int_roundingfn): Always fall
-	back to floor/ceil and its variants even if they may be
-	not available.
-
-2007-03-15  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR middle-end/31159
-	* cfglayout.c (fixup_reorder_chain): Postpone deleting dead
-	jump tables, move the call to delete_dead_jumptables from here...
-	(cfg_layout_finalize): ...to here.  But rebuild jump labels first.
-	* cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
-	don't allow merging of blocks that try_redirect_by_replacing_jump
-	also does not handle when not optimizing.
-
-2007-03-15  Uros Bizjak  <ubizjak@gmail.com>
-	    Francois-Xavier Coudert  <coudert@clipper.ens.fr>
-
-	* config/i386/i386.md (x86_sahf_1): Correctly handle
-	HAVE_AS_IX86_SAHF.
-
-2007-03-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31167
-	* config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
-	x86_64_general_operand as operand[2] predicate.  Remove "iF"
-	from operand constraints and use "e" constraint instead.
-	(*subti3_1, *subti3_1 splitter): Ditto.
-	(*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
-	operand[1] predicate.
-
-2007-03-14  Sebastian Pop  <sebastian.pop@inria.fr>
-
-	* tree-loop-linear.c (gather_interchange_stats): For multidimensional
-	arrays, multiply the access strides by the size of the sub-array.
-	* testsuite/gcc.dg/tree-ssa/ltrans-5.c: New.
-
-2007-03-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
-	the configured assembler supports the sahf mnemonic.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-	* config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
-	emit "sahf" or ".byte\t0x9e" as asm template.
-
-2007-03-14  Michael Meissner  <michael.meissner@amd.com>
-
-	PR 31018
-	* config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning
-	option to replace hard coded TARGET_xxx in md file.
-	(X86_TUNE_AVOID_VECTOR_DECODE): Ditto.
-	(X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
-	(X86_TUNE_SLOW_IMUL_IMM8): Ditto.
-	(X86_TUNE_MOVE_M1_VIA_OR): Ditto.
-	(X86_TUNE_NOT_UNPAIRABLE): Ditto.
-	(X86_TUNE_NOT_VECTORMODE): Ditto.
-	(TUNE_SHORTEN_X87_SSE): Use new tuning option.
-	(TUNE_AVOID_VECTOR_DECODE): Ditto.
-	(TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
-	(TUNE_SLOW_IMUL_IMM8): Ditto.
-	(TUNE_MOVE_M1_VIA_OR): Ditto.
-	(TUNE_NOT_UNPAIRABLE): Ditto.
-	(TUNE_NOT_VECTORMODE): Ditto.
-
-	* config/i386/i386.c (ix86_tune_features): Fill in new tuning
-	options.
-
-	* config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new
-	tuning options instead of hard coded TARGET_xxx.
-	(fix ssemode peephole2's): Ditto.
-	(imul peephole2's): Ditto.
-	(movsi_or): Ditto.
-	(movdi_or_rex64): Ditto.
-	(move peephole2): Ditto.
-	(not peephole2's): Ditto.
-
-2007-03-14  Dirk Mueller  <dmueller@suse.de>
-
-	* c-common.h (empty_body_warning): Rename to empty_if_body_warning.
-	* c-common.c (empty_if_body_warning): Rephrase diagnostic message.
-	* c-parser.c (c_parser_if_body): Always add an empty statement in case
-	of empty body.
-	* c-parser.c (c_parser_do_statement): Warn about empty body in
-	do/while statement.
-	* c-typeck (c_finish_if_stmt): Call empty_if_body_warning.
-	* doc/invoke.texi (-Wempty-body): Update documentation.
-
-2007-03-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/21438
-	* c-common.h (warn_for_div_by_zero): Declare.
-	* c-common.c (warn_for_div_by_zero): Define.
-	* c-typeck.c (build_binary_op): Call warn_for_div_zero instead of
-	warning.
-
-2007-03-14  Richard Sandiford  <richard@codesourcery.com>
-
-	* Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators
-	to PREFIX and STANDARD_PREFIX.
-
-2007-03-14  Richard Sandiford  <richard@codesourcery.com>
-	    Phil Edwards  <phil@codesourcery.com>
-
-	* gthr-vxworks.h: Add an extern "C" wrapper for C++.
-	(__gthread_once_t): Remove busy field for RTPs.
-	(__GTHREAD_ONCE_INIT): Update accordingly.
-
-2007-03-14  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Document VxWorks options.
-
-2007-03-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	* doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option.
-
-2007-03-13  Seongbae Park <seongbae.park@gmail.com>
-
-	PR tree-optimization/30590
-	* tree-nrv.c (tree_nrv): Check for the partial update of the
-	return value.
-
-2007-03-13  Alexandre Oliva  <aoliva@redhat.com>
-
-	* flags.h (flag_random_seed): Remove declaration, in favor of...
-	* toplev.h (get_random_seed, set_random_seed): ... these.
-	* tree.c (get_file_function_name): Use the former.
-	* opts.c (common_handle_option): Use the latter.
-	* toplev.c
-
-2007-03-13  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR middle-end/31127
-	* cse.c (cse_find_path): Do not bail out if a basic block that
-	we already visited now becomes part of a path that starts at a
-	different basic block.  Just disallow this, to make sure we
-	visit each basic block at most once.
-
-2007-03-13  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold
-	attributes, when profile esitmate is present, calls with very low
-	frequency are cold.
-
-2007-03-13  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/30730
-	PR tree-optimization/26900
-	* tree-ssa-loop-niter.c: Include gmp.h.
-	(bounds): New type.
-	(mpz_set_double_int, get_type_bounds, mpz_to_double_int,
-	split_to_var_and_offset, determine_value_range,
-	bound_difference_of_offsetted_base, refine_bounds_using_guard,
-	bound_difference, bounds_add, bounds_negate,
-	number_of_iterations_ne_max, dump_affine_iv): New functions.
-	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
-	assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
-	difference of initial and final value of control iv to validate
-	results.
-	(number_of_iterations_cond): Add loop parameter.  Determine bounds
-	on the difference of the extremes of the control iv.  Add dumps.
-	(expand_simple_operations): Handle phi nodes.
-	(simplify_using_initial_conditions): Do not record used conditions.
-	(number_of_iterations_exit): Pass loop to number_of_iterations_cond.
-	Do not set additional_info.
-	(implies_nonnegative_p, implies_ge_p): Removed.
-	(derive_constant_upper_bound): Do not use parameter `additional'.
-	(record_estimate): Parameter `additional' removed.  Parameter
-	`i_bound' added.  Do not call derive_constant_upper_bound.
-	(record_nonwrapping_iv): Use derive_constant_upper_bound to
-	bound the number of iterations estimate.
-	(estimate_numbers_of_iterations_loop): Pass the estimate from
-	the number of iterations analysis to record_estimate.
-	* tree.h (multiple_of_p): Declare.
-	* tree-scalar-evolution.c (expression_expensive_p): Removed.
-	(scev_const_prop): Do not check expression_expensive_p.
-	* fold-const.c (multiple_of_p): Exported.
-	* double-int.c (double_int_mask): Exported.
-	* double-int.h (double_int_mask): Declare.
-	* tree-flow.h (struct tree_niter_desc): Removed additional_info
-	field.  Added max field.
-
-2007-03-13  David Taylor  <taylor@candd.org>
-
-	PR driver/12448
-	* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
-	default -MQ.
-
-2007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/31123
-	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
-	two unamed patterns.
-
-2007-03-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.opt (mcx16, msahf): New options.
-	* config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove.
-	(ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC.
-
-	* config/i386/driver-i386.c (bit_LAHF_LM): New define.
-	(host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits.
-	Output -mcx16 and -msahf options when corresponding bit is set.
-
-	* doc/invoke.texi (i386 and x86-64 Options): Document -mcx16
-	and -msahf options.
-
-2007-03-13  Alexandre Oliva  <aoliva@redhat.com>
-
-	* configure.ac: Test for assembler tolerance to # 0 "".
-	* configure, config.in: Rebuilt.
-	* final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.
-
-2007-03-13  Geoffrey Keating  <geoffk@apple.com>
-
-	* doc/invoke.texi (Spec Files): Update for '%{,' spec.
-
-	* config/rs6000/darwin-fallback.c: Compile file only on powerpc.
-	(handle_syscall): Handle direct system calls.
-	* config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.
-
-2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* doc/invoke.texi: Fix cpp.info cross-reference.
-	* doc/passes.texi: Fix gcc.info cross-reference.
-
-2007-03-12  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/30835
-	* lambda-code.c (can_convert_to_perfect_nest): Check whether
-	bb_for_stmt is not NULL before accessing it.
-
-2007-03-12  Joseph Myers  <joseph@codesourcery.com>
-
-	* gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for
-	some multilibs.
-
-2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	PR 30635
-	* doc/install.texi: Document --enable-stage1-languages
-
-2007-03-12  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* tree-pass.h (pass_into_cfg_layout_mode,
-	pass_outof_cfg_layout_mode): Declare.
-	* cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode,
-	pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New.
-	* passes.c (pass_into_cfg_layout_mode): Schedule before jump2.
-	(pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt.
-
-2007-03-12  Seongbae Park <seongbae.park@gmail.com>
-
-	* c-decl.c (warn_variable_length_array): New function.
-	Refactored from grokdeclarator to handle warn_vla
-	and handle unnamed array case.
-	(grokdeclarator): Refactored VLA warning case.
-	* c.opt (Wvla): New flag.
-	* doc/invoke.texi (Wvla): New warning.
-
-2007-03-12  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
-	(TARGET_SECTION_TYPE_FLAGS): New.
-
-2007-03-12  Richard Henderson  <rth@redhat.com>
-
-	* config/darwin.c (machopic_reloc_rw_mask): New.
-	* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
-	* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
-
-2007-03-12  Mark Mitchell  <mark@codesourcery.com>
-
-	* cppdefault.c (cpp_EXEC_PREFIX): New variable.
-	* cppdefault.h (cpp_PREFIX): Document.
-	(cpp_PREFIX_len): Likewise.
-	(cpp_EXEC_PREFIX): New variable.
-	* Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
-	* c-incpath.c (add_standard_paths): Correct logic for relocating
-	paths within prefix.
-
-2007-03-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
-	fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF
-	mode macro.
-	(fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and
-	fix_truncdfdi_sse using SSEMODEF mode macro.
-	(fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and
-	fix_truncdfsi_sse using SSEMODEF mode macro.
-	(fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro.
-	(fix_trunc?f?i_sse K8 peephole2): Fix register constraint.
-
-2007-03-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add
-	elfos.h to tm_file.
-
-2007-03-12  Olga Golovanevsky  <olga@il.ibm.com>
-
-  	* tree.h : Add multiple_of_p declaration.
-  	* fold-const.c (multiple_of_p): Make multiple_of_p public.
-  	* ipa-type-escape.c (results_of_malloc): Redundant.
-  	(visited_stmts): New. Visited stmt for walk_use_def_chains.
-  	(cast_type): Extended with new members.
-  	(check_cast): Returns cast_type.
-  	(cast): New structure for data of walk_use_def_chains.
-  	(is_malloc_result, is_cast_from_non_pointer_1,
-  	is_cast_from_non_pointer,
-  	is_array_access_through_pointer_and_index): New functions.
-  	(look_for_casts): Returns cast types.
- 	(check_call): Returns void.
-  	(okay_pointer_operation): Use support of pointer plus index,
-  	pointer plus constant and allow all multiplications.
-
-2007-03-11  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/31115
-	* tree-vrp.c (extract_range_from_binary_expr): Make sure
-	the shift count is positive and non-anti-range for RSHIFT_EXPR.
-	A shift count of zero is not special as with *_DIV_EXPR.
-	(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
-	direction.
-
-2007-03-11  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
-	the *_DIV_EXPR codes correctly with overflow infinities.
-
-2007-03-11  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
-	indicate success/failure of the analysis. Add negation to subtrahend
-	in case of subtraction. Fail if both operands contain constants.
-	(create_data_ref): Fail if analyze_offset fails.
-
-2007-03-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (frndintxf2): Rename to ...
-	(rintxf2): ... this. Remove expander having same name.
-	(rintsf2, rintdf2): Implement using SSEMODEF macro.
-	(roundsf2, rounddf2): Ditto.
-	(lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro.
-	(lround<mode>di2, lround<mode>si2): Ditto.
-
-2007-03-11  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* lower-subreg.c: Include except.h.
-	(decompose_multiword_subregs): Verify that the only control flow
-	insns we can split are loads to multi-words pseudos.
-	Handle breaking such blocks after splitting, instead of calling
-	find_many_sub_basic_blocks.
-
-	* loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
-	on the new basic block.  Add a lengthy comment explaining why we
-	thought this was necessary.
-	* cfglayout.c (cfg_layout_finalize): Don't break superblocks.
-
-2007-03-10  Mark Mitchell  <mark@codesourcery.com>
-
-	PR c++/30924
-	* tree.c (walk_type_fields): Recurse into the element type of
-	ARRAY_TYPEs if there is a pointer set.
-
-2007-03-10  Dirk Mueller  <dmueller@suse.de>
-
-	* c-common.c (warn_logical_operator): Fix condition.
-
-2007-03-10  Tobias Schl�ter  <tobi@gcc.gnu.org>
-
-	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
-	quotation mark.
-	* config/darwin.c (machopic_select_section): Remove superfluous
-	argument in call to categorize_decl_for_section.  Remove unused
-	variable shlib.
-
-2007-03-10  Joseph Myers  <joseph@codesourcery.com>
-
-	* configure.ac (glibc_header_dir): Set using with_build_sysroot if
-	defined.
-	* configure: Regenerate.
-
-2007-03-10  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/31101
-	* config/i386/i386.md (UNSPEC_C2_FLAG): New constant.
-	(fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG.
-	(fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3):
-	Add LABEL_NUSES to emitted label.
-	* config/i386/i386.c (ix86_emit_fp_unordered_jump): Add
-	branch probability value to emitted jump insn.
-	* reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG.
-	Do not check life information and do not re-arrange input operands
-	for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U.
-
-2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/sh.c (sh_insn_length_adjustment): Adjust for
-	the change of decode_asm_operands.
-
-2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* mode-switching.c (create_pre_exit): Skip blockage insn.
-
-2007-03-09  Diego Novillo  <dnovillo@redhat.com>
-
-	* tree-pass.h (TODO_update_smt_usage): Remove.
-	Update all users.
-	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
-	argument SOME.
-	Update all users.
-
-2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.c (attr_length_call): Revise condition for long
-	pc-relative branch.
-	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long
-	local calls on the SOM target.  Don't use "LONG_PIC_PCREL" call
-	sequence on SOM target.
-
-2007-03-09  Geoffrey Keating  <geoffk@apple.com>
-
-	* gcc.c: Document %{, in big comment at top.
-	(input_suffix_matches): Remove special handling for .s and
-	.S.
-	(input_spec_matches): New.
-	(handle_braces): Handle %{,.
-	(validate_switches): ',' indicates a value which is not a switch.
-	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{.
-	to detect assembler input.
-	* config/i386/sol2.h (CPP_SPEC): Likewise.
-	* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
-	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
-	* config/rs6000/lynx.h (ASM_SPEC): Likewise.
-	* config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
-	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus
-	-m64 causes deployment target to default to 10.5.
-	* config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
-
-2007-03-09  Richard Henderson  <rth@redhat.com>
-
-	PR target/26090
-	* target.h (targetm.asm.out.reloc_rw_mask): New.
-	* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
-	(TARGET_ASM_OUT): Use it.
-	* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
-	* varasm.c (categorize_decl_for_section): Remove shlib argument;
-	use the new reloc_rw_mask target hook instead.
-	(default_section_type_flags_1): Merge into...
-	(default_section_type_flags): ... here.
-	(decl_readonly_section_1): Merge into...
-	(decl_readonly_section): ... here.
-	(default_elf_select_section_1): Merge into...
-	(default_elf_select_section): ... here.
-	(default_unique_section_1): Merge into...
-	(default_unique_section): ... here.
-	(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
-	(default_select_rtx_section): Use it.
-	(default_elf_select_rtx_section): Likewise.
-	* output.h: Update to match.
-	* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
-	* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
-	(TARGET_ASM_RELOC_RW_MASK): New.
-	* config/i386/i386.c (x86_64_elf_select_section): Adjust call
-	to categorize_decl_for_section.
-	(x86_64_elf_unique_section): Likewise.
-	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
-	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
-	(TARGET_ASM_RELOC_RW_MASK): New.
-	* config/ia64/ia64.c (ia64_rwreloc_select_section,
-	ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
-	(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
-	(TARGET_RWRELOC): Remove.
-	(ia64_section_type_flags): Adjust call to default_section_type_flags.
-	* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
-	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
-	(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
-	(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
-	(rs6000_xcoff_select_section): Use decl_readonly_section.
-	(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
-	* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
-	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
-	(TARGET_SECTION_TYPE_FLAGS): Remove.
-	* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
-
-2007-03-09  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (fold_comparison): Remove compile-time evaluation of
-	complex constant equality/inequality comparisons for here.
-	(fold_binary) <EQ_EXPR>: Simplify complex comparisons that are
-	known at compile-time or can be simplified to a scalar comparison.
-	(fold_relational_const): Move compile-time evaluation of complex
-	constant equality/inequality comparisons to here.
-
-2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR rtl-optimization/30643
-	* cse.c (cse_insn): Recompute dest_hash after insert_regs for
-	dest_addr_elt.
-	(fold_rtx): Recurse, like before 2006-11-03.
-
-2007-03-09  DJ Delorie  <dj@redhat.com>
-
-	* config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to
-	m32c-pragma.o.
-
-2007-03-09  Aldy Hernandez  <aldyh@redhat.com>
-
-	PR tree-optimization/30375
-	* tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if
-	LHS of statements is not the same.
-	* testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New.
-
-2007-03-09  Chao-ying Fu  <fu@mips.com>
-
-	* doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP
-	REV 2.
-	* doc/invoke.texi (-mdspr2): Document new option.
-	* config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH):
-	New unspec for DSP REV 2.
-	(<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because
-	these instructions are extended in DSP REV 2.
-	(mips-dspr2.md): Include.
-	* config/mips/mips.opt (mdspr2): New option.
-	* config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI,
-	MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI,
-	MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI.
-	(override_options): Check TARGET_DSPR2 to enable MASK_DSP.
-	(CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3.
-	(dsp_bdesc): Add DSP REV 2 builtins.  Remove 32-bit only DSP builtins.
-	(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
-	dsp_32only_bdesc.
-	(mips_init_builtins): Initialize new function types.
-	Check unsupported_target_fileds to filter out builtins.
-	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if
-	TARGET_DSPR2.
-	(ASM_SPEC): Pass mdspr2 to the assembler.
-	* config/mips/mips-dspr2.md: New file.
-
-2007-03-09  Sa Liu  <saliu@de.ibm.com>
-
-	* config/rs6000/altivec.md: Fix vcond patterns using if_then_else.
-
-2007-03-09  Ian Lance Taylor  <iant@google.com>
-
-	* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
-	argument) like -Wstrict-overflow=2.
-	* doc/invoke.texi (Warning Options): Update documentation.
-
-2007-03-09  Dirk Mueller  <dmueller@suse.de>
-
-	PR c++/17946
-	* doc/invoke.texi (-Wlogical-op): Document.
-	* common.opt (-Wlogical-op): New.
-	* c-common.h (warn_logical_operator): Declare.
-	* c-common.c (warn_logical_operator): Define.
-	* c-typeck.c (parser_build_binary_op): Call
-	warn_logical_operator.
-
-2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	* rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name.
-	* final.c (final_scan_insn): Test for non-"" file name.
-
-2007-03-09  Sebastian Pop  <sebastian.pop@inria.fr>
-
-	* doc/loop.texi: Document the Omega linear constraints solver.
-	* doc/invoke.texi: Document -fcheck-data-deps, omega-max-vars,
-	omega-max-geqs, omega-max-eqs, omega-max-wild-cards,
-	omega-hash-table-size, omega-max-keys, and
-	omega-eliminate-redundant-constraints.
-	* tree-pass.h (pass_check_data_deps): Declared.
-	* omega.c: New.
-	* omega.h: New.
-	* timevar.def (TV_CHECK_DATA_DEPS): Declared.
-	* tree-ssa-loop.c (check_data_deps, gate_check_data_deps,
-	pass_check_data_deps): New.
-	* tree-data-ref.c (init_data_ref): Remove declaration.
-	(dump_data_dependence_relation): Dump DDR_INNER_LOOP.
-	(analyze_array): Renamed init_array_ref, move up initializations.
-	(init_data_ref): Renamed init_pointer_ref.  Moved before its call.
-	Removed arguments that are set to NULL.
-	(analyze_indirect_ref): Correct indentation, correct call to
-	init_pointer_ref.
-	(object_analysis): Call init_array_ref instead of analyze_array.
-	(initialize_data_dependence_relation): Initialize DDR_INNER_LOOP.
-	(access_functions_are_affine_or_constant_p): Use DR_ACCESS_FNS instead
-	of DR_ACCESS_FNS_ADDR.
-	(init_omega_eq_with_af, omega_extract_distance_vectors,
-	omega_setup_subscript, init_omega_for_ddr_1, init_omega_for_ddr,
-	ddr_consistent_p): New.
-	(compute_affine_dependence): Check consistency of ddrs when
-	flag_check_data_deps is passed.
-	(analyze_all_data_dependences): Uncomment.
-	(tree_check_data_deps): New.
-	* tree-data-ref.h: Include omega.h.
-	(DR_ACCESS_FNS_ADDR): Removed.
-	(data_dependence_relation): Add inner_loop.
-	(DDR_INNER_LOOP): New.
-	* common.opt (fcheck-data-deps): New.
-	* tree-flow.h (tree_check_data_deps): Declare.
-	* Makefile.in (TREE_DATA_REF_H): Depend on omega.h.
-	(OBJS-common): Depend on omega.o.
-	(omega.o): Define.
-	* passes.c (pass_check_data_deps): Scheduled.
-	* params.def (PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
-	PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
-	PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS,
-	PARAM_VECT_MAX_VERSION_CHECKS,
-	PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS): New.
-
-2007-03-09  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/30904
-	PR middle-end/31058
-	* tree-vrp.c (extract_range_from_binary_expr): Handle RSHIFT_EXPR
-	the same way as *_DIV_EXPR.
-
-2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	* recog.c (decode_asm_operands): No mixed declarations and code.
-
-2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
-
-	* rtl.def (ASM_INPUT): Add location.
-	* rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
-	(ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
-	(decode_asm_operands): Add loc operand.
-	(gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define.
-	* stmt.c (expand_asm): Rename to...
-	(expand_asm_loc): ... this.  Add locus argument.  Pass it on to
-	gen_rtx_ASM_INPUT_loc.
-	(expand_asm_expr): Adjust.
-	* recog.c (decode_asm_operands): Add loc operand.
-	(check_asm_operands, extract_insn): Adjust.
-	* reload1.c (maybe_fix_stack_asms): Likewise.
-	* final.c (asm_insn_count): Likewise.
-	(final_scan_insn): Output # line before and after asm.
-
-2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-structalias.c (variable_info): Remove
-	finished_solution.
-	(new_var_info): Ditto.
-	(shared_bitmap_info_t): New structure.
-	(shared_bitmap_table): New variable.
-	(shared_bitmap_hash): New function.
-	(shared_bitmap_eq): Ditto
-	(shared_bitmap_lookup): Ditto.
-	(shared_bitmap_add): Ditto.
-	(merge_smts_into): Change to take bitmap directly.
-	(find_what_p_points_to): Rewrite to use shared bitmap hashtable.
-	(init_alias_vars): Init shared bitmap hashtable.
-	(delete_points_to_sets): Delete shared bitmap hashtable.
-	* tree-ssa-operands.c (add_virtual_operand): Partially revert the
-	is_aliased removal as a change that was still necessary was
-	deleted.
-
-2007-03-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (override_options): Conditionally disable
-	x86_sahf for 64bit targets only.
-
-2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR C/31072
-	* c-decl.c (merge_decls): Don't call make_var_volatile.
-	* varasm.c (make_var_volatile): Remove.
-	* output.h (make_var_volatile): Remove.
-
-2007-03-08  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	PR tree-optimization/31085
-	* tree-ssa-address.c (create_mem_ref): Fix test of type of base.
-
-2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
-	llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
-	ATTR_CONST_NOTHROW_LIST.
-
-	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle
-	FIX_TRUNC_EXPR.
-
-2007-03-08  Diego Novillo  <dnovillo@redhat.com>
-
-	* doc/tree-ssa.texi: Remove documentation for V_MUST_DEF.
-
-2007-03-08  Geoffrey Keating  <geoffk@apple.com>
-
-	PR 31013
-	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
-	is declared.
-	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
-	passed, use shared libgcc.
-
-2007-03-08  Roger Sayle  <roger@eyesopen.com>
-
-	* tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt
-	instead of calling build2 with a GIMPLE_MODIFY_STMT.
-	(honor_protect_cleanup_actions, lower_try_finally_switch):
-	Likewise.
-	* tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt,
-	ifc_temp_var): Likewise.
-	* tree-inline.c (setup_one_parameter): Likewise.
-	* tree-mudflap.c (mf_decl_cache_locals,
-	mf_build_check_statement_for): Likewise.
-	* tree-nested.c (init_tmp_var, save_tmp_var,
-	finalize_nesting_tree_1): Likewise.
-	* tree-outof-ssa.c (insert_copy_on_edge,
-	insert_backedge_copies): Likewise.
-	* tree-profile.c (tree_gen_edge_profiler,
-	tree_gen_ic_profiler): Likewise.
-	* tree-scalar-evolution.c (scev_const_prop): Likewise.
-	* tree-sra.c (sra_build_assignment): Likewise.
-	* tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise.
-	* tree-ssa-math-opts.c (insert_reciprocals,
-	execute_cse_sincos_1): Likewise.
-	* tree-tailcall.c (adjust_accumulator_values,
-	adjust_return_value): Likewise.
-	* tree-vect-patterns.c (vect_pattern_recog_1): Likewise.
-	* tree-vect-transform.c (vect_create_data_ref_ptr,
-	bump_vector_ptr, vect_init_vector, get_initial_def_for_induction,
-	vect_create_epilog_for_reduction, vectorizable_reduction,
-	vectorizable_call, vectorizable_conversion,
-	vectorizable_assignment, vectorizable_operation,
-	vectorizable_type_demotion, vect_gen_widened_results_half,
-	vect_permute_store_chain, vectorizable_store,
-	vect_setup_realignment, vect_permute_load_chain,
-	vectorizable_load, vectorizable_condition,
-	vect_create_cond_for_align_checks): Likewise.
-	* tree-vrp.c (build_assert_expr_for): Likewise.
-
-2007-03-08  Ian Lance Taylor  <iant@google.com>
-
-	* tree-vrp.c: Include "intl.h".
-	(usable_range_p): New static function.
-	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
-	overflowed values, juts set *strict_overflow_p.
-	(compare_values): Only return -2 if one of the operands is not a
-	constant.
-	(compare_ranges): Call usable_range_p.
-	(compare_range_with_value): Likewise.
-	(vrp_evaluate_conditional_warnv): Rename from
-	vrp_evaluate_conditional.  Make static.  Change all callers.
-	(vrp_evaluate_conditional): New function.
-	(simplify_div_or_mod_using_ranges): Issue warning about reliance
-	on signed overflow.
-	(simplify_abs_using_ranges): Likewise.
-	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
-	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
-	within_stmt parameter.
-	* tree-ssa-propagate.c (fold_predicate_in): Update call to
-	vrp_evaluate_conditional.
-	* tree-ssa-threadedge.c
-	(record_temporary_equivalences_from_stmts_at_dest): Change
-	simplify parameter to take a second tree parameter.
-	(simplify_control_stmt_condition): Likewise.
-	(thread_across_edge): Likewise.
-	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
-	(thread_across_edge): Likewise.
-	* Makefile.in (tree-vrp.o): Depend upon intl.h.
-
-2007-03-08  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TARGET_SAHF): New define.
-	* config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]:
-	Also enable for m_K8, m_AMDFAM10 and m_CORE2.
-	(x86_sahf): New global variable.
-	(override_options): Add PTA_NO_SAHF to pta_flags enum.  Recode
-	pta_flags masks using shifts.  Add PTA_NO_SAHF to x86_64 and
-	nocona processor flags.  Set x86_sahf when PTA_NO_SAHF is not set
-	in processor flags.  Do not unconditionally disable TARGET_USE_SAHF
-	for 64-bit.
-	(ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF.
-	(ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF
-	when expanding fcomi/sahf based tests.
-	(ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when
-	expanding sahf based alternative. Emit sahf based sequence when
-	optimizing for code size.
-	* config/i386/i386.md (x86_sahf_1): Do not disable for
-	TARGET_64BIT, enable for TARGET_SAHF.
-
-2007-03-08  Martin Michlmayr  <tbm@cyrius.com>
-
-	* tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove
-	spurious whitespace from error message.
-
-2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
-
-	PR c++/30852
-	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
-
-2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
-
-	* c-decl.c (grokdeclarator): Disable warnings for anonymous
-	bitfields.
-	* tree-sra.c (instantiate_element): Propagate disabled warnings
-	from the element itself to the created variable.
-
-2007-03-07  Richard Henderson  <rth@redhat.com>
-
-	PR target/30848
-	* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
-	silently fix up the stack in the case of a missing register.
-
-2007-03-07  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.
-
-2007-03-07  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
-	New.
-	(phase1_vrs): Use them.
-	(DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
-	(__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
-	__gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
-	(restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
-	__gnu_Unwind_Restore_WMMXC if required.
-	(_Unwind_VRS_Pop): Implement iWMMXt support.
-	* config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
-	gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
-	gnu_Unwind_Save_WMMXC): Define.
-
-2007-03-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vxworks.h (vxworks_override_options): Declare.
-	(VXWORKS_OVERRIDE_OPTIONS): Use it.
-	* config/vxworks.c: Include target.h and toplev.h.
-	(vxworks_override_options): New function.
-	* config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.
-
-2007-03-07  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (override_options): Don't emit an error when
-	-mstack-size is used without providing -mstack-guard.
-	(s390_emit_prologue): Choose stack_guard value automatically if not
-	provided via command line.
-	* doc/invoke.texi: Adjust description of -mstack-guard and
-	-mstack-size.
-
-2007-03-07  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/i386/i386.c (output_set_got): Add a GOT initialization
-	sequence for VxWorks PIC.
-	(legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
-	around labels as well as symbols.  Use gotoff_operand instead
-	of local_symbolic_operand.
-	(legitimize_pic_address): Use gotoff_operand instead of
-	local_symbolic_operand.  Use @GOT accesses for labels as
-	well as symbols.
-	(ix86_output_addr_diff_elt): Use PC-relative rather than
-	GP-relative offsets for VxWorks PIC.
-	(ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
-	no_new_pseudos.  Check whether the returned register is op0.
-	* config/i386/i386.md (tablejump): Use PC-relative rather than
-	GP-relative offsets for VxWorks PIC.
-	* config/i386/predicates.md (gotoff_operand): New predicate.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine
-	before defining.
-	* config/vxworks-dummy.h: New file.
-	* config/i386/i386.h: Include it.
-
-2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dwarf2out.c (is_inlined_entry_point): New
-	(add_high_low_attributes): Emit DW_AT_entry_pc along with
-	DW_AT_ranges if the first subblock is the entry point.
-
-2007-03-06  David Daney  <ddaney@avtrex.com>
-
-	* doc/install.texi (mips-*-*): Change recommended binutils
-	version.
-
-2007-03-06  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
-	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
-	devices.
-	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
-	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
-
-2007-03-06  Jan Hubicka  <jh@suse.cz>
-
-	* errors.h (warning, error, fatal, internal_error): Mark as cold.
-	* predict.c (maybe_hot_bb): Cold functions are never hot; hot
-	functions are hot.
-	(probably_cold_bb_p): Cold functions are cold.
-	(probably_never_executed_bb_p): Cold functions are cold.
-	(tree_bb_level_predictions): Predict calls to cold functions as not
-	taken.
-	(compute_function_frequency): Check hot/cold attributes.
-	* function.h (function_frequency): Update comments.
-	* predict.def (PRED_COLD_FUNCTION): Predict cold function.
-	* c-common.c (handle_hot_attribute, handle_cold_attribute): New.
-	(c_common_att): Add cold and hot.
-
-	* doc/extend.texi (hot,cold attributes): Document.
-
-2007-03-06  Andrew Haley  <aph@redhat.com>
-
-	* function.c (expand_function_end): Move blockage to just after we
-	emit the label for the naked return from the function.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine
-	before redefining.
-
-2007-03-06  Jan Hubicka  <jh@suse.cz>
-
-	* reg-stack.c (reg_to_stack): Large models don't allow NAN to be
-	loaded for constant large models.  Non-large 64bit PIC can do.
-	* config/i386/i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
-	* cmodel.h: Add LARGE PIC.
-	* config/i386/i386.md (UNSPEC_PLTOFF): New.
-	(UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other
-	unspecs as needed.
-	(*call_1_rex64): Disable for large models.
-	(*call_1_rex64_large): New.
-	(*call_value_1_rex64): Disable for large models.
-	(*call_value_1_rex64_large): New.
-	(set_rip_rex4): New.
-	(set_got_offset_rex64): New.
-	* config/i386/predicates.md (constant_call_address_operand): For
-	large model constant calls are not possible.
-	* config/i386/i386-protos.h (construct_plt_address): Declare.
-	* config/i386/i386.c (override_options): Accept large models.
-	(ix86_expand_prologue): Expand large PIC GOT pointer load.
-	(legitimate_constant_p): Add new UNSPECs.
-	(legitimate_pic_operand_p): Likewise.
-	(legitimate_pic_address_disp_p): Disallow local symbols for large PICs.
-	(legitimize_pic_address): Do easy RIP relative way for TLS only for
-	non-large model.
-	(output_pic_addr_const): Add PLTOFF.
-	(ix86_output_addr_diff_elt): Output 64bit tables when needed.
-	(ix86_expand_move): Legitimize pic address when in PIC mode.
-	(construct_plt_address): New function.
-	(ix86_expand_call): Offload the address to register and use GOT
-	pointer for large model.
-	* invoke.texi (mcmodel=large): Update documentation.
-
-2007-03-06  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.c (x86_use_leave, x86_push_memory,
-	x86_zero_extend_with_and, x86_movx, x86_double_with_add,
-	x86_use_bit_test, x86_unroll_strlen, x86_deep_branch,
-	x86_branch_hints, x86_use_sahf, x86_partial_reg_stall,
-	x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop,
-	x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify,
-	x86_split_long_moves, x86_promote_QImode, x86_fast_prefix,
-	x86_single_stringop, x86_qimode_math, x86_promote_qi_regs,
-	x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8,
-	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
-	x86_partial_reg_dependency, x86_memory_mismatch_stall,
-	x86_prologue_using_move, x86_epilogue_using_move, x86_shift1,
-	x86_sse_partial_reg_dependency, x86_sse_split_regs,
-	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
-	x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
-	x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
-	x86_schedule, x86_use_bt, x86_pad_returns,
-	x86_use_xchgb): Merge into ...
-	(ix86_tune_features): ... here.  New array.
-	(x86_cmove, x86_cmpxchg, x86_cmpxchg8b,	x86_xadd,
-	x86_bswap): Merge into ...
-	(ix86_arch_features): ... here.  New array.
-	(x86_3dnow_a): Remove.
-	(x86_accumulate_outgoing_args): Make static.
-	(x86_arch_always_fancy_math_387): Make static.
-	(ix86_tune_mask, ix86_arch_mask): Move ...
-	(override_options): ... to local variables here.  Apply the
-	appropriate mask to each element of ix86_arch_features and
-	ix86_tune_features.  Adjust TARGET_CMOVE and TARGET_USE_SAHF
-	as were done in the old macros.
-	(standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS.
-	* config/i386/i386.h (x86_use_leave, x86_push_memory,
-	x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch,
-	x86_branch_hints, x86_unroll_strlen, x86_double_with_add,
-	x86_partial_reg_stall, x86_movx, x86_use_himode_fiop,
-	x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb,
-	x86_read_modify_write, x86_read_modify, x86_split_long_moves,
-	x86_promote_QImode, x86_single_stringop, x86_fast_prefix,
-	x86_himode_math, x86_qimode_math, x86_promote_qi_regs,
-	x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4,
-	x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8,
-	x86_partial_reg_dependency, x86_memory_mismatch_stall,
-	x86_accumulate_outgoing_args, x86_prologue_using_move,
-	x86_epilogue_using_move, x86_decompose_lea,
-	x86_arch_always_fancy_math_387, x86_shift1,
-	x86_sse_partial_reg_dependency, x86_sse_split_regs,
-	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
-	x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves,
-	x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
-	x86_use_incdec, x86_pad_returns, x86_bswap,
-	x86_partial_flag_reg_stall): Remove.
-	(enum ix86_tune_indices): New.
-	(ix86_tune_features): New.
-	(TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND,
-	TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN,
-	TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS,
-	TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX,
-	TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL,
-	TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0,
-	TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES,
-	TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode,
-	TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH,
-	TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS,
-	TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4,
-	TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES,
-	TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY,
-	TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS,
-	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR,
-	TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE,
-	TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP,
-	TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE,
-	TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS,
-	TARGET_EXT_80387_CONSTANTS): Use it.
-	(enum ix86_arch_indices): New.
-	(ix86_arch_features): New.
-	(TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD,
-	TARGET_BSWAP): Use it.
-	(ix86_tune_mask, ix86_arch_mask): Remove.
-
-2007-03-06  Joseph Myers  <joseph@codesourcery.com>
-
-	PR bootstrap/31020
-	* configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
-	Define using $${sysroot_headers_suffix}.
-	* configure: Regenerate.
-	* cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
-	multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
-	defined.
-	* doc/invoke.texi (-print-sysroot-headers-suffix): Document.
-	* gcc.c (print_sysroot_headers_suffix): New.
-	(option_map): Include --print-sysroot-headers-suffix.
-	(display_help): Mention -print-sysroot-headers-suffix.
-	(process_command): Handle -print-sysroot-headers-suffix.
-	(do_spec_1): Append multilib directory to include-fixed path if
-	sysroot suffixes in use.
-	(main): Handle -print-sysroot-headers-suffix.
-	* Makefile.in (start.encap): Don't depend on xlimits.h
-	(xlimits.h): Remove.
-	(stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
-	limits.h for each multilib in fixinc_list.
-	(fixinc_list, s-fixinc_list): New.
-	(stmp-fixinc): Depend on fixinc_list.  If not copying headers,
-	generate them for each multilib in fixinc_list.
-	(stmp-fixproto): Use include-fixed.  Run fixproto for each
-	multilib in fixinc_list.
-	(mostlyclean): Don't remove xlimits.h.
-	(clean): Remove include-fixed.
-	(real-install-headers-tar, real-install-headers-cpio,
-	real-install-headers-cp): Don't copy include, only include-fixed.
-	(install-mkheaders): Depend on fixinc_list.  Don't depend on
-	xlimits.h.  Save limits.h files for each multilib in fixinc_list.
-	Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
-	SYSTEM_HEADER_DIR setting in mkheaders.conf.
-
-2007-03-06  Jan Hubicka  <jh@suse.cz>
-
-	* regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load
-	NANs easilly.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* configure.ac: Allow tm_file to contain build-directory files.
-	* configure: Regenerate.
-	* config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file.
-	* config/m68k/t-uclinux (sysroot-suffix.h): New target.
-	* config/m68k/print-sysroot-suffix.sh: New file.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO
-	of pic_offset_table_rtx if reload_completed.
-	(CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of
-	PIC_OFFSET_TABLE_REGNUM.
-	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always
-	return true.
-	(m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO.
-	(m68k_output_mi_thunk): Rewrite to use RTL.  Honor vcall_offset.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
-	functions that call eh_return.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
-	functions that need a constant pool.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	PR target/28181
-	* config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare.
-	(m68k_preferred_reload_class): Likewise.
-	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment.
-	(SECONDARY_RELOAD_CLASS): Define.
-	(PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class.
-	(LIMIT_RELOAD_CLASS): Delete.
-	* config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address
-	registers from storing bytes.
-	(m68k_secondary_reload_class): New function.
-	(m68k_preferred_reload_class): Likewise.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_save_reg): Remove special case for
-	leaf functions.
-	(m68k_expand_prologue): Likewise.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k-protos.h (output_sibcall): Declare.
-	(mips_expand_epilogue): Add a bool parameter.
-	(m68k_legitimize_sibcall_address): Declare.
-	* config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
-	(m68k_expand_epilogue): Add a parameter to select between sibling
-	and normal epilogues.  Only generate a return for the latter.
-	(m68k_ok_for_sibcall_p): New function.
-	(m68k_legitimize_sibcall_address, output_sibcall): New functions.
-	* config/m68k/m68k.md (sibcall, *sibcall): New patterns.
-	(sibcall_value, *sibcall_value): Likewise.
-	(*call, *call_value): Require !SIBLING_CALL_P.
-	(epilogue): Update call to m68k_expand_epilogue.
-	(sibcall_epilogue): New pattern.
-	* config/m68k/predicates.md (const_call_operand): Say that this
-	predicate applies to sibling calls too.
-	(sibcall_operand): New predicate.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q
-	alternatives as movsi_cf.
-	(movsf_cf_hard): Add commentary.
-
-2007-03-06  Kazu Hirata  <kazu@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
-	(m68k_movem_pattern_p, m68k_output_movem): Likewise.
-	(m68k_expand_prologue, m68k_expand_epilogue): Likewise.
-	* config/m68k/m68k.h (EPILOGUE_USES): Define.  Treat all registers
-	as being live on exit from an interrupt function.
-	(PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'.
-	* config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
-	(m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
-	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
-	(m68k_interrupt_function_p): Globalize.
-	(m68k_compute_frame_layout): Remove reverse mask code.
-	(m68k_emit_movem, m68k_set_frame_related): New functions.
-	(m68k_output_function_prologue): Delete in favor of...
-	(m68k_expand_prologue): ...this new function.
-	(m68k_output_function_epilogue): Delete in favor of...
-	(m68k_expand_epilogue): ...this new function.
-	(m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New
-	functions.
-	(print_operand): Handle %?.
-	* config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space.
-	(UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants.
-	(prologue, epilogue): New patterns.
-	(return): Turn into a define_expand.
-	(*return): New pattern, derived from old "return" pattern.  Use rte
-	rather than rts for interrupt functions.  Only use rtd if the pop
-	count is nonzero.
-	(*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
-	(*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
-	(link, *link, unlink, *unlink, load_got): Likewise.
-
-2007-03-06  Richard Sandiford  <richard@codesourcery.com>
-
-	PR target/23482
-	PR target/17114
-	* config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare.
-	(m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise.
-	(m68k_matches_q_p, m68k_matches_u_p): Likewise.
-	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p
-	and m68k_matches_u_p.
-	(PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete.
-	(INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete.
-	(GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete.
-	(LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete.
-	(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete.
-	(REG_STRICT_P): New macro.
-	(LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than
-	PCREL_GENERAL_OPERAND_OK.
-	(REG_OK_FOR_BASE_P): Merge definitions.  Use REG_STRICT_P and
-	m68k_legitimate_base_reg_p.
-	(REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p.
-	(GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p.
-	(PIC_CASE_VECTOR_ADDRESS): Update comment.
-	* config/m68k/m68k.c (m68k_address): New structure.
-	(m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p)
-	(m68k_decompose_index, m68k_legitimate_constant_address_p)
-	(m68k_jump_table_ref_p, m68k_decompose_address)
-	(m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p)
-	(m68k_matches_u_p): New functions.
-	(print_operand_address): Rewrite to use m68k_decompose_index.
-
-2007-03-05  David Taylor  <dtaylor@emc.com>
-
-	* gcc.c: Correct copyright date in --version output.
-
-2007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.md: In unamed move patterns, disparge copies between general
-	and floating point registers using '?' modifier.  Don't include 'f'
-	constraint for register preferences in DImode, SImode, HImode and
-	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
-	Remove constraints for copies between general and floating registers
-	in soft-float DFmode pattern.
-	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
-	floating register.
-	(movsf): Likewise.
-
-2007-03-05  Mike Stump  <mrs@apple.com>
-
-	* c-common.c (targetcm): Add.
-	* c-opts.c (c_common_handle_option): Handle language specific
-	target options.
-	* opts.c (handle_option): Verify language for target options, if
-	any are given.
-	* opth-gen.awk: Add CL_LANG_ALL.
-	* target-def.h (TARGET_HANDLE_C_OPTION): Add.
-	(TARGETCM_INITIALIZER): Add.
-	* target.h (struct gcc_targetcm): Add.
-	(targetcm): Add.
-	* targhooks.c (default_handle_c_option): Add.
-	* targhooks.h (default_handle_c_option): Add.
-	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Add.
-
-	* config/darwin.opt (iframework): Add.
-	* config/darwin.h (TARGET_HAS_TARGETCM): Add.
-	* config/darwin-c.c (handle_c_option): Add.
-	(TARGET_HANDLE_C_OPTION): Add.
-	(targetcm): Add.
-	* doc/invoke.texi (Darwin Options): Add -iframework.
-
-2007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
-	conversion.
-
-2007-03-05  Ian Lance Taylor  <iant@google.com>
-
-	* c.opt (fgnu89-inline): New option.
-	* c-opts.c (c_common_post_options): Set default value for
-	flag_gnu89_inline.
-	* c-decl.c (WANT_C99_INLINE_SEMANTICS): Remove.
-	(pop_scope): Check flag_gnu89_inline rather than flag_isoc99 for
-	inline functions.
-	(diagnose_mismatched_decls, merge_decls, start_decl): Likewise.
-	(grokdeclarator, start_function): Likewise.
-	* c-cppbuiltin.c (c_cpp_builtins): Define either
-	__GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__.
-	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
-	(C Dialect Options): Document -fgnu89-inline.
-	* doc/extend.texi (Function Attributes): Explain what the
-	gnu_inline attribute does.
-	* doc/cpp.texi (Common Predefined Macros): Document
-	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
-
-2007-03-05  Ian Lance Taylor  <iant@google.com>
-
-	PR tree-optimization/31034
-	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
-	half-range if the other side is an overflow infinity.
-
-2007-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config.gcc (bfin*-uclinux*): Use t-bfin-uclinux.
-	(bfin*-linux-uclibc*): New configuration.
-	* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefined before
-	defining.
-	* config/bfin/linux.h: New file.
-	* config/bfin/libgcc-bfin.ver: New file.
-	* config/bfin/t-bfin-uclinux: New file.
-	* config/bfin/t-bfin-linux: New file.
-	* config/bfin/uclinux.h (LINUX_TARGET_OS_CPP_BUILTINS): New macro.
-	(TARGET_OS_CPP_BUILTINS): New macro.
-
-2007-03-05  Richard Guenther  <rguenther@suse.de>
-
-	* fold-const.c (fold_binary): Remove duplicate folding
-	of comparison of non-null ADDR_EXPR against null.
-
-2007-03-05  Richard Guenther  <rguenther@suse.de>
-	    Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/26420
-	* tree-vectorizer.c (vectorize_loops): Bail out early if there
-	are no loops in the function.  Only print the number of
-	vectorized loops if it is greater than zero or we are supposed
-	to print information about unvectorized loops.
-
-2007-03-05  Revital Eres  <eres@il.ibm.com>
-
-	* gcc.dg/var-expand1.c: New test.
-	* loop-unroll.c (analyze_insn_to_expand_var): Add dump info
-	when an accumulator is expanded.
-
-2007-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR other/30465
-	* c-common.c (convert_and_check): Don't give warnings for
-	conversion if 'expr' already overflowed.
-
-2007-03-04  Roger Sayle  <roger@eyesopen.com>
-
-	PR middle-end/30744
-	* fold-const.c (fold_comparison): Enforce type consistency when
-	transforming ~X op ~Y to Y op X, and ~X op C to X op' ~C.
-
-2007-03-04  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-address.c (create_mem_ref): Do not put an expression
-	containing a cast to the base of TARGET_MEM_REF.
-
-2007-03-04  Martin Michlmayr  <tbm@cyrius.com>
-
-	* tree.c (tree_contains_struct_check_failed): Remove spurious
-	whitespace from error message.
-
-2007-03-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
-	PR target/30406
-	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
-	instead of precision.
-
-2007-03-04  Roman Zippel <zippel@linux-m68k.org>
-	    Nathan Sidwell  <nathan@codesourcery.com>
-
-	* emit-rtl.c (find_auto_inc): New.
-	(try_split): recreate REG_INC notes,
-	Use regular for loops rather than whiles.
-
-2007-03-03  Andreas Schwab  <schwab@suse.de>
-
-	* configure.ac (HAVE_AS_REL16): Move test back to correct place.
-	* configure: Regenerate.
-
-2007-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.def (ATTR_MATHFN_FPROUNDING): Rely on
-	flag_rounding_math, not flag_unsafe_math_optimizations.
-
-	* c-pretty-print.c (pp_c_direct_abstract_declarator): Use
-	fold_build2.
-	* config/alpha/alpha.c (alpha_fold_builtin_zapnot,
-	alpha_fold_vector_minmax): Likewise.
-	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
-	* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
-
-2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
-	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
-	if the lhs has side-effects.
-	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
-
-2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (TUNEMASK): Remove define.
-	(ARCHMASK): Remove define.
-	(TARGET_*): Use ix86_tune_mask variable instead of TUNEMASK.
-	 Use ix86_arch_mask variable instead of ARCHMASK.
-	* config/i386/i386.c (override_options): Ditto.
-	(standard_80387_constant_p): Ditto.
-
-2007-03-02  Ian Lance Taylor  <iant@google.com>
-
-	Used signed infinities in VRP.
-	* tree-vrp.c (uses_overflow_infinity): New static function.
-	(supports_overflow_infinity): New static function.
-	(make_overflow_infinity): New static function.
-	(negative_overflow_infinity): New static function.
-	(positive_overflow_infinity): New static function.
-	(is_negative_overflow_infinity): New static function.
-	(is_positive_overflow_infinity): New static function.
-	(is_overflow_infinity): New static function.
-	(overflow_infinity_range_p): New static function.
-	(compare_values_warnv): New function split out of compare_values.
-	(compare_value): Call it.
-	(set_value_range_to_nonnegative): Add overflow_infinity
-	parameter.  Change caller.
-	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
-	Change callers.
-	(vrp_expr_computes_nonzero): Likewise.
-	(compare_ranges, compare_range_with_value): Likewise.
-	(compare_name_with_value, compare_names): Likewise.
-	(vrp_evaluate_conditional): Likewise.
-	(set_value_range): Handle infinity
-	(vrp_operand_equal_p, operand_less_p): Likewise.
-	(extract_range_from_assert): Likewise.
-	(vrp_int_const_binop): Likewise.
-	(extract_range_from_binary_expr): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	(extract_range_from_comparison): Likewise.
-	(extract_range_from_expr): Likewise.
-	(dump_value_range): Likewise.
-	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
-	(test_for_singularity): Likewise.
-	(vrp_int_const_binop): Remove inline qualifier.
-	(adjust_range_with_scev): Add comment.
-	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
-
-2007-03-02  Diego Novillo  <dnovillo@redhat.com>
-
-	* tree-ssa-structalias.c (could_have_pointers): Tidy.
-	(get_constraint_for): Likewise.
-	(do_structure_copy): Likewise.
-	(find_func_aliases): Fix references to MODIFY_EXPR.
-	(intra_create_variable_infos): Tidy.
-	* tree-ssa-operands.c (add_virtual_operand): Add argument
-	IS_CALL_SITE.
-	When adding members of alias sets, if IS_CALL_SITE is true and
-	the symbol is not call-clobbered, skip it.
-	Adjust all callers.
-
-2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
-	entry by means of emit_insn_at_entry.
-
-2007-03-02  Richard Henderson  <rth@redhat.com>
-
-	* expr.h (promoted_input_arg): Remove decl.
-	* function.c (promoted_input_arg): Merge into ...
-	* combine.c (setup_incoming_promotions): ... only caller.
-	Rearrange to avoid double loop.
-
-2007-03-02  Ben Elliston  <bje@au.ibm.com>
-	    Peter Bergner  <bergner@vnet.ibm.com>
-	    Janis Johnson  <janis187@us.ibm.com>
-
-	* config/rs6000/dfp.md: New file.
-	* config/rs6000/rs6000.md: Include dfp.md.
-	(add<mode>3_internal1): Disable for DECIMAL_FLOAT_MODE_P operands.
-	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Handle DDmode
-	and TDmode decimal float modes in FP registers.
-	(num_insns_constant): Likewise.
-	(rs6000_legitimate_offset_address_p): Likewise.
-	(rs6000_legitimize_address): Likewise.
-	(rs6000_legitimize_reload_address): Likewise.
-	(rs6000_legitimate_address): Likewise.
-	(rs6000_emit_move): Likewise.
-	(function_arg_boundary): Likewise.
-	(function_arg_advance): Likewise.
-	(rs6000_darwin64_record_arg_recurse): Likewise.
-	(function_arg): Likewise.
-	(rs6000_gimplify_va_arg): Likewise.
-	(rs6000_split_multireg_move): Likewise.
-	(rs6000_output_function_epilogue): Likewise.
-	(rs6000_output_function_epilogue): Likewise.
-	(rs6000_register_move_cost): Likewise.
-	(rs6000_function_value): Likewise.
-	(rs6000_libcall_value): Likewise.
-
-2007-03-02  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/t-vxworks (LIMITS_H_TEST): Define to true for VxWorks.
-
-2007-03-02  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc.
-	Use $MULTIDIR to choose between the kernel and RTP headers,
-	and use $WIND_BASE and $WIND_USR to locate them.
-
-2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (override_options): Put initialization of
-	ix86_tune_mask and ix86_arch_mask to the correct place.
-
-2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
-	    Michael Meissner  <michael.meissner@amd.com>
-
-	PR target/31019
-	* config/i386/i386.h (TUNEMASK): Redefine to use ix86_tune_mask.
-	(ARCHMASK): Define.
-	(TARGET_CMOVE): Use ARCHMASK.
-	(TARGET_CMPXCHG): Ditto.
-	(TARGET_CMPXCHG8B): Ditto.
-	(TARGET_XADD): Ditto.
-	(TARGET_BSWAP): Ditto.
-	* config/i386/i386.c (ix86_tune_mask): New global variable.
-	(ix86_arch_mask): Ditto.
-	(override_options): Initialize ix86_tune_mask and
-	ix86_arch_mask. Use ARCHMASK to clear MASK_NO_FANCY_MATH_387 in
-	target_flags.
-
-2007-03-02  Ben Elliston  <bje@au.ibm.com>
-
-	PR 30992
-	* config/dfp-bit.c (DFP_TO_INT): Initialise qval with "1.".
-
-2007-03-02  Joseph Myers  <joseph@codesourcery.com>
-
-	* target.h (init_dwarf_reg_sizes_extra): New target hook.
-	* target-def.h (TARGET_INIT_DWARF_REG_SIZES_EXTRA): New default.
-	* doc/tm.texi (TARGET_INIT_DWARF_REG_SIZES_EXTRA): Document.
-	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Call this
-	hook.
-	* config/rs6000/rs6000.c (TARGET_INIT_DWARF_REG_SIZES_EXTRA,
-	rs6000_init_dwarf_reg_sizes_extra): New.
-	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Support
-	SPE register high parts.
-
-2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* Makefile.in: Add install-pdf target as
-	copied from automake v1.10 rules.
-	* configure.ac: Add install-pdf to target list.
-	* configure: Regenerate.
-
-2007-03-01  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
-	modes to LDRD for DImode.
-	(output_move_double): Fixup out of range ldrd/strd.
-	(vfp_secondary_reload_class): Rename...
-	(coproc_secondary_reload_class): ... to this.  Add wb argument.
-	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
-	coproc_secondary_reload_class for CLASS_IWMMXT.
-	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
-	* arm-protos.h (coproc_secondary_reload_class): Update prototype.
-
-2007-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* 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.
-
-	* config/i386/driver-i386.c (describe_cache, detect_caches_amd,
-	decode_caches_intel, detect_caches_intel): New functions.
-	(host_detect_local_cpu): Use detect_caches_amd and
-	detect_caches_intel.
-
-2007-03-01  Richard Henderson  <rth@redhat.com>
-
-	* expr.c (emit_move_complex_push): Export.
-	(emit_move_complex_parts): Split out from ...
-	(emit_move_complex): ... here.
-	* expr.h (emit_move_complex_push, emit_move_complex_parts): Declare.
-	* config/i386/i386.md (movcdi): New.
-
-2007-03-01  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (ix86_modes_tieable_p): Fix typo, use also
-	size of mode1 to check for tieable modes in MMX case.
-
-2007-03-01  Richard Sandiford  <richard@codesourcery.com>
-
-	* Makefile.in (rtlanal.o): Depend on tree.h.
-	* rtl.h (offset_within_section_p, split_const): Declare.
-	* rtlanal.c: Include tree.h.
-	(offset_within_block_p): New function, taken from
-	mips_offset_within_object_p.
-	(split_const): New function, taken from mips_split_const.
-	* config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p):
-	Declare.
-	* config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
-	(CONSTANT_ADDRESS_P): Only accept legitimate constants.
-	(LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p.
-	* config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
-	(m68k_illegitimate_symbolic_constant_p): New function.
-	* config/m68k/m68k.md (movsi): Remove misleading predicates.
-	If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a
-	symbolic constant that might be outside the symbol's section,
-	move the symbol first and then add the offset.
-	* config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
-	Override.
-	* config/mips/mips.c (mips_split_const): Delete.
-	(mips_offset_within_object_p): Delete.
-	(mips_symbolic_constant_p): Use offset_within_section_p and
-	split_const instead of mips_offset_within_object_p and
-	mips_split_const.
-	(mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address)
-	(mips_legitimize_const_move, print_operand_reloc)
-	(mips_dangerous_for_la25_p): Use split_const instead of
-	mips_split_const.
-
-2007-02-28  Eric Christopher  <echristo@apple.com>
-
-	* Makefile.in (install-include-dir): Don't rm -rf include.
-
-2007-02-28  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/30364
-	* fold-const.c (fold_binary): Do not associate expressions
-	with more than one variable for integer types that do not wrap.
-
-2007-02-28  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* builtins.c (fold_builtin_call_list, fold_builtin_call_valist):
-	Delete, and replace with...
-	(fold_builtin_call_array): This.  Update callers to use it.
-	* fold-const.c (fold_build_call_list): Delete, and replace with...
-	(fold_build_call_array): This.
-	(fold_build_call_list_initializer): Delete, and replace with...
-	(fold_build_call_array_initializer): This.
-	* tree.h: Update declarations to reflect above changes.
-
-	* c-typeck.c (build_function_call): Store converted arguments
-	in a stack-allocated array instead of building a list.
-	(convert_arguments): Store arguments in the array passed in as an
-	argument, and return the actual number of arguments.
-	* c-format.c: (check_function_format): Pass arguments in an
-	array instead of a list.
-	* c-common.c (check_function_nonnull): Likewise.
-	(check_function_sentinel): Likewise.
-	(check_function_arguments): Likewise.
-	* c-common.h: Update declarations to reflect above changes.
-
-2007-02-28  Jan Hubicka  <jh@suse.cz>
-
-	* predict.def (PRED_TREE_EARLY_RETURN, PRED_CONST_RETURN,
-	PRED_NEGATIVE_RETURN): Update outcomes.
-
-2007-02-28  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* calls.c (emit_library_call_value_1): Handle partial registers
-	correctly when building up CALL_INSN_FUNCTION_USAGE.
-
-2007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa/predicates.md (move_src_operand): Allow zero for mode.
-	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
-	move pattern.
-
-2007-02-27  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/30970
-	* config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal,
-	*movv2df_internal): Enable pattern only for valid operand
-	combinations.
-	* config/i386/i386.c (ix86_modes_tieable_p): For SSE registers,
-	tie only 128bit modes. For MMX registers, tie only 64bit modes.
-
-2007-02-27  Mike Stump  <mrs@apple.com>
-
-	* config/darwin-crt3.c: Avoid compilation when compiling for a
-	kext multilib.
-
-2007-02-27  Joseph Myers  <joseph@codesourcery.com>
-
-	* Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define
-	FIXED_INCLUDE_DIR.
-	(stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed
-	for fixed headers and limits.h.
-	(install-include-dir, install-headers-tar, install-headers-cpio,
-	install-headers-cp, real-install-headers-tar,
-	real-install-headers-cpio, real-install-headers-cp): Handle
-	include-fixed as well as include.
-	(install-mkheaders): Don't install files that go only in include
-	not include-fixed.
-	* cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR
-	from GCC_INCLUDE_DIR.
-	* gcc.c (process_command): Remove special -BstageN/ handling.
-	(do_spec_1): Add include-fixed directories.
-
-2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and
-	_smulsi3_highpart.
-	* config/bfin/lib1funcs.asm (___umulsi3_highpart, ___smulsi3_highpart):
-	New functions.
-	* config/bfin/bfin.md (smulsi3_highpart, umulsi3_highpart): New
-	patterns.
-
-2007-02-27  Mark Mitchell  <mark@codesourcery.com>
-
-	* c-common.c (get_priority): Add check for
-	SUPPORTS_INIT_PRIORITY.
-
-2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode.
-
-	* config/bfin/bfin.c: Include "cfglayout.h".
-	(MAX_LSETUP_DISTANCE): New macro.
-	(struct loop_info): New members incoming, incoming_src and
-	incoming_dest.  Delete member predecessor.
-	(length_for_loop): New function.
-	(bfin_optimize_loop): Handle more different loop structures.
-	(bfin_discover_loop): Rework detection of predecessor blocks by
-	examining incoming edges.
-	(bfin_discover_loops, bfin_free_loops): New functions, broken out of
-	bfin_reorg_loops.
-	(bfin_reorder_loops): New function.
-	(bfin_reorg_loops): Use these three new functions.
-
-	* config/bfin/bfin.h (enum reg_class, REG_CLASS_NAMES,
-	REG_CLASS_CONTENTS): Add D0REGS through D7REGS.
-	(CONSTRAINT_LEN): Add entry for 'q'.
-	(REG_CLASS_FROM_CONSTRAINT): Renamed from REG_CLASS_FROM_LETTER.
-	Add 'q' constraints.
-	(REGNO_REG_CLASS): For R0 through R7, return corresponding regclass.
-	(CLASS_LIKELY_SPILLED_P): True for R0, R1 and R2.
-
-	* config/bfin/bfin.md (add_with_carry): New pattern.
-	(s_or_u, su_optab, su_modifier): New code macros/attrs.
-	(<su_optab>hisi_ll, <su_optab>hisi_lh, <su_optab>hisi_hl,
-	<su_optab>hisi_hh): Renamed from mulhisi_xx patterns; macroized to
-	support unsigned multiplies too.  Removed incorrect commutativity from
-	operand 1 constraint where appropriate.
-	(usmulhisi_ull, usmulhisi_ulh, usmulhisi_uhl, usmulhisi_uhh): New
-	patterns.
-	(<su_optab>hisi_ll_lh, <su_optab>hisi_ll_hl, <su_optab>hisi_ll_hh,
-	<su_optab>hisi_lh_hl, <su_optab>hisi_lh_hh, <su_optab>hisi_hl_hh):
-	New patterns.
-	(usmulhisi_ll_lul, usmulhisi_ll_luh, usmulhisi_ll_hul,
-	usmulhisi_ll_huh, usmulhisi_lh_lul, usmulhisi_lh_luh, usmulhisi_lh_hul,
-	usmulhisi_lh_huh, usmulhisi_hl_lul, usmulhisi_hl_luh, usmulhisi_hl_hul,
-	usmulhisi_hl_huh, usmulhisi_hh_lul, usmulhisi_hh_luh, usmulhisi_hh_hul,
-	usmulhisi_hh_huh): New patterns.
-
-	* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
-	lshifthi3): Fix output template to use half reg for operand 2.
-
-	* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg
-	instead of R2.
-
-	* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.
-
-2007-02-27  Andreas Schwab  <schwab@suse.de>
-
-	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
-
-2007-02-27  Jan Hubicka  <jh@suse.cz>
-
-	* predict.c (last_basic_block_p): Remove.
-	(tree_estimate_probability): Update return heuristic for commonized
-	return blocks.
-
-2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
-
-2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
-
-	* doc/include/gcc-common.texi (versionsubtitle): New macro.
-	* doc/cpp.texi: Standardize title page.
-	* doc/cppinternals.texi: Likewise.
-	* doc/gcc.texi: Standardize title page, remove version number
-	from copyright page.
-	* doc/gccint.texi: Likewise.
-	* doc/install.texi: Standardize title page, add table of
-	contents.
-
-2007-02-26  Jan Hubicka  <jh@suse.cz>
-
-	* predict.def: Set outcomes according to more recent results.
-	(PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER):
-	Remove dead predictors.
-	* predict.c (return_prediction): Fix pasto.
-
-2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* loop-iv.c (simplify_using_initial_values): Fix oversight in previous
-	change; avoid a memory leak when returning early.
-
-2007-02-26  Mark Mitchell  <mark@codesourcery.com>
-
-	* c-decl.c (static_ctors): Move to c-common.c.
-	(static_dtors): Likewise.
-	(finish_function): Use c_record_cdtor_fn.
-	(build_cdtor): Move to c-common.c.
-	(c_write_global_declarations): Use c_build_cdtor_fns.
-	* c-common.h (static_ctors): Declare.
-	(static_dtors): Likewise.
-	(c_record_cdtor_fn): Likewise.
-	(c_build_cdtor_fns): Likewise.
-	* c-common.c (static_ctors): New variable.
-	(static_dtors): Likewise.
-	(c_record_cdtor_fn): New function.
-	(build_cdtor): Move from c-decl.c
-	(c_build_cdtor_fns): New function.
-
-	* output.h (assemble_addr_to_section): Declare.
-	(get_cdtor_priority_section): Likewise.
-	* varasm.c (assemble_addr_to_section): New function.
-	(get_cdtor_priority_section): Likewise.
-	(default_named_section_asm_out_destructor): Use them.
-	(destor_dtor_section_asm_out_destructor): Likewise.
-	(default_named_section_asm_out_constructor): Likewise.
-	(default_ctor_section_asm_out_constructor): Likewise.
-	* config.gcc (*-*-vxworks*): Include vxworks.o.
-	* config/t-vxworks (vxworks.o): New target.
-	* config/vxworks.h (ALWAYS_NUMBER_CTORS_SECTIONS): Remove.
-	(TARGET_ASM_CONSTRUCTOR): Define.
-	(TARGET_ASM_DESTRUCTOR): Likewise.
-	(vxworks_asm_out_constructor): Declare.
-	(vxworks_asm_out_destructor): Likewise.
-
-	* c-common.c (get_priority): Check that we have not just an
-	INTEGER_CST, but an integer constant with integeral type.
-
-2007-02-25  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR tree-optimization/30938
-	* tree-vect-transform.c (vectorizable_call): Fix off-by-one error:
-	use &dt[nargs-1] instead of &dt[nargs] in the call to
-	vect_is_simple_use().
-
-2007-02-25  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	* reload.c (find_reloads_address_1): Handle PLUS expressions resulting
-	from register elimination as PRE_MODIFY / POST_MODIFY increments.
-	Do not attempt to handle MEM inside auto-inc expressions.
-	* reload1.c (eliminate_regs_1): Do not attempt to handle elimination
-	of a register modified by an auto-inc expression.  However, do handle
-	elimination of a register used as PRE_MODIFY / POST_MODIFY increment.
-	(elimination_effects): Prohibit elimination of a register modified
-	by an auto-inc expression.  Disable register elimination rules whose
-	target register is modified by an auto-inc expression with variable
-	increment.
-
-2007-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix
-	off-by-one error.
-	(array_at_struct_end_p): New function.
-	(idx_infer_loop_bounds): Use it.
-	(estimate_numbers_of_iterations_loop): Export.
-	* predict.c (predict_loops): Use estimated_loop_iterations_int.
-	Do not use PRED_LOOP_EXIT on exits predicted by # of iterations.
-	(tree_estimate_probability): Call record_loop_exits.
-	* tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ...
-	(estimated_loop_iterations, estimated_loop_iterations_int,
-	estimated_loop_iterations_tree): New functions.
-	(analyze_siv_subscript_cst_affine,
-	compute_overlap_steps_for_affine_1_2,
-	analyze_subscript_affine_affine): Use estimated_loop_iterations_int.
-	(analyze_miv_subscript): Use estimated_loop_iterations_tree.
-	* predict.def (PRED_LOOP_ITERATIONS): Update comment.
-	(PRED_LOOP_ITERATIONS_GUESSED): New.
-	* cfgloop.c (record_loop_exits): Do nothing if there are no loops.
-	* cfgloop.h (estimate_numbers_of_iterations_loop,
-	estimated_loop_iterations_int): Declare.
-
-2007-02-25  Mark Mitchell  <mark@codesourcery.com>
-
-	* doc/extend.texi: Document optional priority argument to
-	constructors and destructors.
-	* tree.c (init_priority_for_decl): Adjust GTY markers.
-	(init_ttree): Use priority-info hash functions for
-	init_priority_for_decl.
-	(tree_map_eq): Rename to ...
-	(tree_map_base_eq): ... this.
-	(tree_map_marked_p): Rename to ...
-	(tree_map_base_marked_p): ... this.
-	(tree_map_base_hash): New function.
-	(decl_init_priority_lookup): Rework.
-	(decl_fini_priority_lookup): New function.
-	(decl_priority_info): New function.
-	(decl_init_priority_insert): Use it.
-	(decl_fini_priority_insert): Likewise.
-	(decl_restrict_base_lookup): Adjust for refactoring of tree_map
-	hierarchy.
-	(decl_restrict_base_insert): Likewise.
-	(decl_debug_expr_insert): Likewise.
-	(decl_value_expr_lookup): Likewise.
-	(decl_value_expr_insert): Likewise.
-	* tree.h (priority_type): New type.
-	(decl_init_priority_lookup): Use priority_type.
-	(decl_fini_priority_lookup): New function.
-	(decl_init_priority_insert): Use priority_type.
-	(decl_fini_priority_insert): New function.
-	(DECL_HAS_INIT_PRIORITY): Tweak comments.
-	(DECL_INIT_PRIORITY): Likewise.
-	(SET_DECL_INIT_PRIORITY): Add comment.
-	(DECL_FINI_PRIORITY): New macro.
-	(SET_DECL_FINI_PRIORITY): Likewise.
-	(DEFAULT_INIT_PRIORITY): Document.
-	(MAX_INIT_PRIORITY): Likewise.
-	(MAX_RESERVED_INIT_PRIORITY): Likewise.
-	(tree_map_base): New type.
-	(tree_map_base_eq): New function.
-	(tree_map_base_hash): Likewise.
-	(tree_map_base_marked_p): Likewise.
-	(tree_map): Inherit from tree_map_base.
-	(tree_map_eq): Make it a macro.
-	(tree_map_marked_p): Likewise.
-	(tree_int_map): Inherit from tree_map_base.
-	(tree_int_map_eq): Make it a macro.
-	(tree_int_map_hash): Likewise.
-	(tree_int_map_marked_p): Likewise.
-	(tree_priority_map): New type.
-	(tree_priority_map_eq): New macro.
-	(tree_priority_map_hash): Likewise.
-	(tree_priority_map_marked_p): Likewise.
-	* varasm.c (emults_decl): Adjust for refactoring of tree_map
-	hierarchy.
-	(emutls_common_1): Likewise.
-	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
-	* tree-ssa-structalias.c (heapvar_lookup): Adjust for refactoring
-	of tree_map hierarchy.
-	* tree-cfg.c (move_stmt_r): Likewise.
-	(new_label_mapper): Likewise.
-	* c-tree.h (c_expand_body): Move to ...
-	* c-common.h (c_expand_body): ... here.
-	* c-decl.c (c_expand_body): Move to ...
-	* c-common.c (c_expand_body): ... here.
-	(c_common_attribute_table): Allow 1 argument for the constructor
-	and destructor attributes.
-	(get_priority): New function.
-	(handle_constructor_attribute): Set DECL_INIT_PRIORITY.
-	(handle_destructor_attribute): Set DECL_FINI_PRIORITY.
-
-2007-02-24  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/30509
-	* tree-inline.c (copy_bb): Produce exact copy of EH info when
-	copying for inlining.
-
-2007-02-24  Uros Bizjak  <ubizjak@gmail.com>
-	    Jan Hubicka  <jh@suse.cz>
-
-	PR target/30778
-	* cofnig/i386/i386.c (counter_mode): New function.
-	(expand_set_or_movmem_via_loop): Use it.
-	(expand_movmem_epilogue): Likewise; fix pasto.
-	(ix86_expand_movmem): Do emit guard even for constant counts.
-	(ix86_expand_setmem): Likewise.
-
-2007-02-25  Nick Clifton  <nickc@redhat.com>
-
-	* config/frv/frv.h (ASM_OUTPUT_CASE_LABEL): Delete.
-	(JUMP_TABLES_IN_TEXT_SECTION): Define.
-
-2007-02-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/30770
-	* config/i386/i386.md (expand_movmem_epilogue): Fix typo, mask
-	count argument with 0x10, not with 0x16.
-	(expand_setmem_epilogue): Ditto.
-
-2007-02-24  Mike Stump  <mrs@apple.com>
-
-	* config/i386/i386.c (output_pic_addr_const): Stubify optimized
-	symbols.
-
-2007-02-24  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/30951
-	* fold-const.c (fold_binary): Fold x +- CST op x for
-	EQ_EXPR and NE_EXPR.
-
-2007-02-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.md (muldi3): Force subregs to registers in 64-bit expander.
-
-2007-02-24  Jan Hubicka  <jh@suse.cz>
-
-	* cgraphunit.c (decide_is_function_needed): Honor
-	-fkeep-inline-functions.
-
-2007-02-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_modf): New.
-	(fold_builtin_2): Use it.
-
-2007-02-24  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* loop-iv.c (implies_p): Detect additional cases where A implies B.
-	(determine_max_iter): Take additional LOOP arg; all callers changed.
-	Lose broken logic dealing with PLUS.  Try to limit the upper bound by
-	one using simplifications.
-	(simplify_using_initial_values): Return if the expression becomes
-	invalid due to altered regs.
-
-2007-02-23  DJ Delorie  <dj@redhat.com>
-
-	* doc/tm.h (BIGGEST_ALIGNMENT): Clarify the purpose of this macro.
-
-2007-02-23  Mike Stump  <mrs@apple.com>
-
-	* tlink.c (scan_linker_output): Parse linker messages from
-	darwin9's linker better.
-
-2007-02-23  Steve Ellcey  <sje@cup.hp.com>
-
-	PR debug/29614
-	* varpool.c (varpool_assemble_pending_decls): Set
-	varpool_last_needed_node to null.
-
-2007-02-23  DJ Delorie  <dj@redhat.com>
-
-	* config/i386/i386.c (ix86_data_alignment): Don't specify an
-	alignment bigger than the object file can handle.
-
-2007-02-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/30825
-	* config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
-	zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
-	(*movsf_1): Penalize MMX moves.
-
-2007-02-23  Bernd Schmidt  <bernd.schmidt@analog.com>
-
-	* config/bfin/bfin.md (doloop_end): Fail for loops that can iterate
-	2^32-1 or more times unless flag_unsafe_loop_optimizations.
-
-	* loop-iv.c (determine_max_iter): Moved in front of its sole user.
-
-2007-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_logb, fold_builtin_significand): New.
-	(fold_builtin_1): Use them.
-	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle
-	BUILT_IN_SIGNIFICAND.
-
-2007-02-23  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/i386/i386.c (bdesc_1arg): Initialize
-	IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with
-	"__builtin_ia32_movshdup" and "__builtin_ia32_movsldup".
-	(ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP
-	and IX86_BUILTIN_MOVSLDUP.
-
-2007-02-22  Paolo Bonzini  <bonzini@gnu.org>
-
-	PR rtl-optimization/30841
-	* fwprop.c (propagate_rtx_1): Accept a VOIDmode replacement address.
-
-2007-02-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_frexp): New.
-	(fold_builtin_2): Use it.
-
-2007-02-22  Mark Mitchell  <mark@codesourcery.com>
-
-	* doc/invoke.texi (Spec Files): Document getenv spec function.
-
-	* gcc.c (getenv_spec_function): New function.
-	(static_spec_functions): Add it.
-	* config/vxworks.h (VXWORKS_TARGET_DIR): Remove.
-	(VXWORKS_ADDITIONAL_CPP_SPEC): Use getenv to find the VxWorks
-	header files.
-
-2007-02-22  Michael Matz  <matz@suse.de
-
-	PR c++/29433
-	* dwarf2out.c (add_AT_string): Call ggc_strdup once per string.
-	(type_tag): Use lang_hooks.dwarf_name instead of DECL_NAME.
-
-2007-02-22  Ian Lance Taylor  <iant@google.com>
-
-	PR debug/30898
-	* dwarf2out.c (concatn_mem_loc_descriptor): New static function.
-	(mem_loc_descriptor): Call it.
-
-2007-02-22  Zdenek Dvorak  <dvorakz@suse.cz>
-	    Ira Rosen  <irar@il.ibm.com>
-
-	* tree-data-ref.c (ptr_ptr_may_alias_p): Take alias sets into account.
-
-2007-02-22  Ira Rosen  <irar@il.ibm.com>
-
-	PR tree-optimization/30843
-	* tree-vect-transform.c (vect_transform_loop): Remove strided scalar
-	stores only after all the group is vectorized.
-
-2007-02-22  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/30858
-	* tree-vectorizer.c (vect_is_simple_reduction): Check that the stmts
-	in the reduction cycle have a single use in the loop.
-	* tree-vectorizer.h (relevant): Add documentation.
-
-2007-02-20  Mike Stump  <mrs@apple.com>
-
-	* configure.ac (powerpc*-*-darwin*): #include <sys/cdefs.h>.
-	* configure: Regenerate.
-
-2007-02-21  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
-
-	Change the defaults of some parameters and options.
-	* config/spu/spu-protos.h (spu_optimization_options): Declare.
-	* config/spu/spu.c (spu_optimization_options): Add.
-	(spu_override_options): Change params in spu_optimization_options.
-	* config/spu/spu.h (OPTIMIZATION_OPTIONS): Define.
-
-	Register 127 is only 16 byte aligned when used as a frame pointer.
-	* 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
-	aligned when frame_pointer_needed is true.
-	(spu_init_expanders): New.  Set alignment of HARD_FRAME_POINTER_REGNUM
-	to 8 bits.
-	* config/spu/spu.h (INIT_EXPANDERS): Define.
-
-	Make sure shift and rotate instructions have valid immediate operands.
-	* config/spu/predicates.md (spu_shift_operand): Remove.
-	* config/spu/spu.c (print_operand): Add [efghEFGH] modifiers.
-	* config/spu/constraints.md (W, O): Extend range.
-	* config/spu/spu.md (umask, nmask): Define.
-	(ashl<mode>3, ashldi3, ashlti3_imm, shlqbybi_ti, shlqbi_ti, shlqby_ti,
-	lshr<mode>3, rotm_<mode>, lshr<mode>3_imm, rotqmbybi_<mode>,
-	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.
-
-	Make sure mulhisi immediate operands are valid.
-	* config/spu/predicates.md (imm_K_operand): Add.
-	* config/spu/spu.md (mulhisi3_imm, umulhisi3_imm): Use imm_K_operand.
-
-	Generate constants using fsmbi and andi.
-	* config/spu/spu.c (enum immediate_class): Add IC_FSMBI2.
-	(print_operand, spu_split_immediate, classify_immediate,
-	fsmbi_const_p): Handle IC_FSMBI2.
-
-	Correctly handle a CONST_VECTOR containing symbols.
-	* 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
-	with symbols when flag_pic is set.
-	(const_vector_immediate_p): New.
-	(logical_immediate_p, iohl_immediate_p, arith_immediate_p): Don't
-	accept a CONST_VECTOR with symbols.
-	(spu_legitimate_constant_p): Use const_vector_immediate_p.  Don't
-	accept a CONST_VECTOR with symbols when flag_pic is set.  Handle HIGH
-	correctly.
-	* config/spu/spu.md (high, low): Delete.
-	(low_<mode>): Define.
-
-	Remove INTRmode and INTR_REGNUM, which didn't work.
-	* config/spu/spu.c (spu_conditional_register_usage): Remove reference
-	of INTR_REGNUM.
-	* config/spu/spu-builtins.md (spu_idisable, spu_ienable, set_intr,
-	set_intr_pic, set_intr_cc, set_intr_cc_pic, set_intr_return, unnamed
-	peephole2 pattern): Don't use INTR or 131.
-	(movintrcc): Delete.
-	* config/spu/spu.h (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS,
-	CALL_USED_REGISTERS, REGISTER_NAMES, INTR_REGNUM): Remove INTR_REGNUM.
-	* config/spu/spu.md (UNSPEC_IDISABLE, UNSPEC_IENABLE): Remove.
-	(UNSPEC_SET_INTR): Add.
-	* config/spu/spu-modes.def (INTR): Remove.
-
-	More accurate warnings about run-time relocations.
-	* config/spu/spu.c (reloc_diagnostic): Test in_section.
-
-	Correctly warn about immediate arguments to specific intrinsics.
-	* config/spu/spu.c (spu_check_builtin_parm): Handle CONST_VECTORs.
-	(spu_expand_builtin_1): Call spu_check_builtin_parm before checking
-	the instruction predicate.
-
-	Fix tree check errors with latest update.
-	* config/spu/spu.c (expand_builtin_args, spu_expand_builtin_1): Use
-	CALL_EXPR_ARG.
-	(spu_expand_builtin): Use CALL_EXPR_FN.
-
-	Add missing specific intrinsics.
-	* config/spu/spu-builtins.def: Add si_bisled, si_bisledd and
-	si_bislede.
-	* 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.
-
-	Optimize one case of zero_extend of a vec_select.
-	* config/spu/spu.md (_vec_extractv8hi_ze): Add.
-
-	Accept any immediate for hbr.
-	* config/spu/spu.md (hbr): Change s constraints to i.
-
-2007-02-21  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/arm.c (thumb2_final_prescan_insn): Don't incrememnt
-	condexec_count when skipping USE and CLOBBER.
-
-2007-02-21  Nick Clifton  <nickc@redhat.com>
-
-	* common.opt (Warray-bounds): Add Warning attribute.
-	(Wstrict-overflow, Wstrict-overflow=, Wcoverage-mismatch):
-	Likewise.
-	(fsized-zeroes): Add Optimization attribute.
-	(fsplit-wide-types, ftree-scev-cprop): Likewise.
-	* c.opt (Wc++0x-compat): Add Warning attribute.
-
-2007-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
-
-	PR middle-end/30761
-	* reload1.c (eliminate_regs_in_insn): In the single_set special
-	case, attempt to re-recognize the insn before falling back to
-	having reload fix it up.
-
-2007-02-20  Eric Christopher  <echristo@gmail.com>
-
-	* config/frv/frv.c (frv_read_argument): Take a tree and int argument.
-	Rewrite accordingly.
-	(frv_read_iacc_argument): Ditto.
-	(frv_expand_set_builtin): Take a call instead of arglist, update for
-	above changes.
-	(frv_expand_unop_builtin): Ditto.
-	(frv_expand_binop_builtin): Ditto.
-	(frv_expand_cut_builtin): Ditto.
-	(frv_expand_binopimm_builtin): Ditto.
-	(frv_expand_voidbinop_builtin): Ditto.
-	(frv_expand_int_void2arg): Ditto.
-	(frv_expand_prefetches): Ditto.
-	(frv_expand_voidtriop_builtin): Ditto.
-	(frv_expand_voidaccop_builtin): Ditto.
-	(frv_expand_load_builtin): Ditto.
-	(frv_expand_store_builtin): Ditto.
-	(frv_expand_mdpackh_builtin): Ditto.
-	(frv_expand_mclracc_builtin): Ditto.
-	(frv_expand_mrdacc_builtin): Ditto.
-	(frv_expand_mwtacc_builtin): Ditto.
-	(frv_expand_builtin): Remove usage of CALL_EXPR_ARGS, update
-	calls for above.
-
-2007-02-20  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcmpb and -mdfp.
-	* configure.ac (HAVE_GAS_CMPB): Check for assembler support of the
-	cmpb instruction.
-	(HAVE_GAS_DFP): Check for assembler support of decimal floating
-	point instructions.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-	* config/rs6000/rs6000.opt (mcmpb, mdfp): New.
-	* config/rs6000/rs6000.c (rs6000_override_options): Add CMPB and DFP
-	masks to power6 and power6x and to POWERPC_MASKS.
-	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
-	_ARCH_PWR6.
-	* config/rs6000/rs6000.h: Check assembler support for CMPB and DFP.
-	* config/rs6000/sysv4.opt (mprototype): Use variable, not mask.
-	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
-	Access PROTOTYPE as variable, not mask.
-
-2007-02-20  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* rtl.h (remove_reg_equal_equiv_notes): New prototype.
-	* rtlanal.c (remove_reg_equal_equiv_notes): New function.
-	* combine.c (adjust_for_new_dest): Use it.
-	* postreload.c (reload_combine): Likewise.
-
-2007-02-20  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* rtlanal.c (find_reg_equal_equiv_note): Do not find REG_EQ*
-	notes on an insn with multiple sets, even if single_set returns
-	non-NULL for that insn.
-
-2007-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle scalb,
-	scalbn and scalbln.
-
-2007-02-20  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/darwin.h (LINK_SPEC): Default -mmacosx-version-min only
-	if user didn't pass it.
-	* config/i386/darwin.h (CC1_SPEC): Likewise.
-	* config/rs6000/darwin.h (CC1_SPEC): Likewise.
-	(DARWIN_MINVERSION_SPEC): Don't depend on user's setting of
-	-mmacosx-version-min.
-
-2007-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-	    Uros Bizjak  <ubizjak@gmail.com>
-
-	* optabs.h (enum optab_index): Add new OTI_scalb.
-	(scalb_optab): Define corresponding macro.
-	* optabs.c (init_optabs): Initialize scalb_optab.
-	* genopinit.c (optabs): Implement scalb_optab using scalb?f3
-	patterns.
-	* builtins.c (expand_builtin_mathfn_2, expand_builtin): Handle
-	BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L} and BUILT_IN_SCALBLN{,F,L}.
-	(expand_builtin): Expand BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L}
-	and BUILT_IN_SCALBLN{,F,L} using expand_builtin_mathfn_2 if
-	flag_unsafe_math_optimizations is set.
-
-	* config/i386/i386.md (scalbxf3, scalb<mode>3): New expanders
-	to implement scalbf, scalb and scalbl built-ins as inline x87
-	intrinsics.
-
-2007-02-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-	    DJ Delorie <dj@redhat.com>
-
-	PR other/30824
-	* diagnostic.c (diagnostic_count_diagnostic): Move -Werror logic to...
-	(diagnostic_report_diagnostic): ... here, and turn them into real
-	errors. If warnings are inhibited, no need to do anything.
-
-2007-02-20  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (expm1xf2): Reorder insn sequence for
-	better code generation.
-
-2007-02-20  Ben Elliston  <bje@au.ibm.com>
-
-	* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove extra ;.
-
-2007-02-20  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/alpha/alpha.c, config/alpha/alpha.md,
-	config/alpha/lib1funcs.asm, config/alpha/vms-crt0-64.c,
-	config/alpha/vms-psxcrt0-64.c, config/arc/arc.c,
-	config/arc/arc.h, config/arm/arm.c, config/arm/arm.md,
-	config/arm/lib1funcs.asm: Follow spelling conventions.
-
-	* config/c4x/c4x.md, config/cris/cris.c, config/crx/crx.c,
-	config/fr30/fr30.md, config/i386/i386.h,
-	config/iq2000/iq2000.h, config/iq2000/predicates.md,
-	config/pa/milli64.S, config/pa/pa.c, config/pa/pa.h,
-	config/pa/pa.md, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
-	config/pdp11/pdp11.c, config/pdp11/pdp11.h,
-	config/rs6000/altivec.md, config/rs6000/rs6000.c,
-	config/s390/s390-modes.def, config/sparc/netbsd-elf.h,
-	config/sparc/sparc.c, config/sparc/sparc.h,
-	config/sparc/sparc.md, config/spu/constraints.md,
-	config/spu/spu.c, config/stormy16/stormy16.md: Follow spelling
-	conventions.
-
-2007-02-20  Alan Modra  <amodra@bigpond.net.au>
-
-	PR target/29943
-	* varasm.c (use_blocks_for_decl_p): Return false for decls with
-	alias attribute.
-
-2007-02-19  Kazu Hirata  <kazu@codesourcery.com>
-
-	* doc/invoke.texi (-ftree-lrs): Remove.
-
-2007-02-19  Diego Novillo  <dnovillo@redhat.com>
-
-	* tree-ssa-pre.c (create_value_expr_from): Initialize POOL to
-	NULL.
-
-2007-02-19  Lee Millward  <lee.millward@codesourcery.com>
-
-	* config/ia64/ia64.c (ia64_expand_builtin): Use the
-	new CALL_EXPR_FN macro for retrieving the function
-	declaration of the input expression.
-
-2007-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* c.opt (Waddress): New.
-	* common.opt (Walways-true): Delete.
-	(Wstring-literal-comparison): Delete.
-	* doc/invoke.texi (Warning Options): Delete -Walways-true and
-	-Wstring-literal-comparison. Add -Waddress.
-	(Waddress): New.
-	(Walways-true): Delete.
-	(Wstring-literal-comparison): Delete.
-	* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
-	consistently instead of -Walways-true in example.
-	* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
-	* c-typeck.c (parser_build_binary_op): Replace
-	-Wstring-literal-comparison and -Walways-true with -Waddress.
-	* c-common.c (c_common_truthvalue_conversion): Replace -Walways-true
-	with -Waddress.
-
-2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-cfg.c (dump_function_to_file): Be prepared for functions
-	without DECL_STRUCT_FUNCTION initialized.
-
-2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
-	due to calls to functions taking pointers as parameters.
-
-2007-02-19  Richard Henderson  <rth@redhat.com>
-
-	PR debug/29558
-	* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
-	in memory.
-
-2007-02-19  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* config/s390/s390.c (s390_call_saved_register_used,
-	s390_function_ok_for_sibcall): Adjust the way CALL_EXPR arguments are
-	accessed to the new scheme.
-
-2007-02-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
-
-	* config/cris/cris.c (cris_movem_load_rest_p, cris_store_multiple_op_p)
-	(cris_print_index, cris_print_operand, cris_print_operand_address)
-	(cris_reload_address_legitimized, cris_rtx_costs, cris_address_cost)
-	(cris_side_effect_mode_ok, cris_valid_pic_const, cris_split_movdx)
-	(cris_expand_pic_call_address): Use xxx_P predicate macros instead of
-	GET_CODE () == xxx.
-	* config/cris/cris.h (SECONDARY_RELOAD_CLASS, EXTRA_CONSTRAINT_Q,
-	EXTRA_CONSTRAINT_T, BDAP_INDEX_P, BIAP_INDEX_P, SIMPLE_ADDRESS_P,
-	GO_IF_LEGITIMATE_ADDRESS): Ditto.
-	* config/cris/cris.md (define_insns: *btst, movdi, *mov_side<mode>)
-	(*mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem)
-	(*clear_side<mode>, movsi, *movsi_internal, *ext_sideqihi)
-	(*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, addsi3)
-	(*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side)
-	(*extop<mode>si_swap_side, addi_mul, *addi,andsi3, andhi3, ashl<mode>3)
-	(uminsi3, call, call_value): Ditto.
-	(define_split: indir_to_reg_split, unnamed): Ditto.
-
-2007-02-19  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/30975
-	* tree-vect-trasnform.c (vect_get_vec_def_for_stmt_copy): Remove
-	wrong assert.
-
-2007-02-18  Eric Christopher  <echristo@gmail.com>
-
-	* mips.c (mips_prepare_builtin_arg): Add argnum parameter.
-	Remove use of arglist.
-	(mips_expand_builtin): Remove use of arglist, pass in expr.
-	(mips_expand_builtin_direct): Rewrite handling for arglist removal.
-	(mips_expand_builtin_movtf): Ditto.
-	(mips_expand_builtin_compare): Ditto.
-
-2007-02-19  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-sra.c (sra_build_assignment): Replace assertion
-	checking with a comment explaining why it can't be done.
-
-2007-02-18  Sandra Loosemore  <sandra@codesourcery.com>
-
-	PR middle-end/30833
-	* tree-dump.c (dequeue_and_dump): Add tcc_vl_exp case missed
-	during CALL_EXPR representation conversion.
-	* tree-ssa-propagate.c (set_rhs): Likewise.
-
-2007-02-19  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-sra.c (sra_build_assignment): Disable assertion checking
-	for now.
-
-2007-02-18  Roger Sayle  <roger@eyesopen.com>
-
-	* function.c (gimplify_parameters): Call build_gimple_modify_stmt
-	instead of calling build2 with a GIMPLE_MODIFY_STMT.
-	* gimple-low.c (lower_function_body, lower_builtin_setjmp):
-	Likewise.
-	* gimplify.c (build_stack_save_restore, gimplify_return_expr,
-	gimplify_decl_expr,  gimplify_self_mod_expr, gimplify_cond_expr,
-	gimplify_init_ctor_eval_range, gimple_push_cleanup,
-	gimplify_omp_for, gimplify_omp_atomic_pipeline,
-	gimplify_omp_atomic_mutex, gimplify_expr, gimplify_one_sizepos,
-	force_gimple_operand): Likewise.
-	* ipa-cp.c (constant_val_insert): Likewise.
-	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
-	lambda_loopnest_to_gcc_loopnest, replace_uses_equiv_to_x_with_y,
-	perfect_nestify): Likewise.
-	* langhooks.c (lhd_omp_assignment): Likewise.
-	* omp-low.c (lower_rec_input_clauses, lower_reduction_clauses,
-	lower_copyprivate_clauses, lower_send_clauses,
-	lower_send_shared_vars, expand_parallel_call,
-	expand_omp_for_generic, expand_omp_for_static_nochunk,
-	expand_omp_for_static_chunk, expand_omp_sections,
-	lower_omp_single_copy, lower_omp_for_lastprivate,
-	lower_omp_parallel, init_tmp_var, save_tmp_var): Likewise.
-	* value-prof.c (tree_divmod_fixed_value, tree_mod_pow2,
-	tree_mod_subtract, tree_ic, tree_stringop_fixed_value):
-	Likewise.
-
-2007-02-19  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/sh/divtab.c, config/sh/sh.c, config/sh/sh.h,
-	config/sh/sh.md: Follow spelling conventions.
-
-	* config/frv/frv.c, config/frv/frv.h, config/frv/frv.md,
-	config/frv/predicates.md: Follow spelling conventions.
-
-	* config/m68k/linux-unwind.h: Fix a comment typo.
-	* target.h: Follow spelling conventions.
-
-2007-02-18  Roger Sayle  <roger@eyesopen.com>
-
-	PR rtl-optimization/28173
-	* 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.
-	<AND>: Canonicalize (X | C1) & C2 as (X & C2) | (C1 & C2).
-
-2007-02-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_load_exponent): New.
-	(fold_builtin_2): Use it.
-
-2007-02-18  Steven Bosscher  <steven@gcc.gnu.org>
-
-	PR rtl-optimization/30773
-	* local-alloc.c (update_equiv_regs): Do not set reg_equiv_init
-	if we fail to attach a REG_EQUIV note.
-
-2007-02-18  David Edelsohn  <edelsohn@gnu.org>
-	    Roger Sayle  <roger@eyesopen.com>
-
-	* config/rs6000/rs6000.md (bswapsi2): New define_insn and splitter.
-
-2007-02-18  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* calls.c (initialize_argument_information): Pass original EXP
-	and STRUCT_VALUE_ADDR_VALUE instead of a list of arguments.  Move
-	code to split complex arguments here, as part of initializing the
-	ARGS array.
-	(expand_call): Remove code that builds a list of arguments and
-	inserts implicit arguments into it.  Instead, just count how many
-	implicit arguments there will be so we can determine the size of
-	the ARGS array, and let initialize_argument_information do the work.
-	(split_complex_values): Delete unused function.
-
-2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
-
-2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
-	for arg pointer based indexed addressing.
-
-2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/ia64/ia64.h, config/ia64/ia64.md,
-	config/ia64/predicates.md, config/ia64/sysv4.h: Follow
-	spelling conventions.
-
-2007-02-18  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.c (split_di): New.
-	* config/m68k/m68k-protos.h: Declare split_di.
-	* config/m68k/m68k.md (extendsidi2*,ashldi3*,ashrdi3*,lshrdi3*):
-	  Improve predicate handling and split constant shifts.
-
-2007-02-18  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/m68k.md (extv,extzv,insv): disable dynamic
-	parameter for register bitfield operations, general predicates
-	cleanup
-
-2007-02-18  Roman Zippel <zippel@linux-m68k.org>
-
-	* config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
-	* config/m68k/linux-unwind.h: New file.
-
-2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
-
-	* cfgloop.c, config/alpha/alpha.c, config/bfin/bfin.c,
-	config/i386/athlon.md, config/ia64/ia64.md,
-	config/rs6000/rs6000.c, config/s390/s390.c, config/spu/spu.md,
-	df-problems.c, df.h, fold-const.c, ipa-cp.c, ipa-inline.c,
-	ipa-prop.h, see.c, struct-equiv.c, tree-inline.c,
-	tree-ssa-loop-niter.c, tree-vect-analyze.c,
-	tree-vect-transform.c: Fix comment typos.
-
-2007-02-17  Kazu Hirata  <kazu@codesourcery.com>
-
-	* sched-deps.c (find_insn_list): Remove.
-	* sched-int.h: Remove the prototype for find_insn_list.
-
-2007-02-16  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/darwin.h (LINK_SPEC): Always pass -macosx_version_min
-	to linker.
-	(DARWIN_EXTRA_SPECS): Add %(darwin_minversion).
-	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call
-	darwin_rs6000_override_options.
-	(C_COMMON_OVERRIDE_OPTIONS): Expect
-	darwin_macosx_version_min to be non-NULL always.
-	(TARGET_C99_FUNCTIONS): Likewise.
-	(CC1_SPEC): Always pass -mmacosx-version-min to cc1*.
-	(DARWIN_MINVERSION_SPEC): New.
-	* config/rs6000/rs6000.c (darwin_rs6000_override_options): New.
-	* config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min
-	to cc1*.
-	(DARWIN_MINVERSION_SPEC): New.
-	* config/darwin.opt (mmacosx-version-min): Initialize to non-NULL
-	value.
-	* config/darwin-c.c (darwin_cpp_builtins): Expect
-	darwin_macosx_version_min to be non-NULL always.
-
-	* config/rs6000/rs6000.c: Clean up trailing whitespace.
-
-2007-02-16  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.h (x86_use_xchgb): New.
-	(TARGET_USE_XCHGB): New macro.
-	* config/i386/i386.c (x86_use_xchgb): Set for PENT4.
-	* config/i386/i386.md (*rotlhi3_1 splitter, *rotrhi3_1 splitter):
-	Split after reload into bswaphi for shifts of 8.
-	(bswaphi_lowpart): Generate rolw insn for HImode byte swaps.
-	(*bswaphi_lowpart_1): Generate xchgb for Q registers for TARGET_XCHGB
-	or when optimizing for size.
-
-2007-02-16  Richard Guenther  <rguenther@suse.de>
-	    Christian Bruel  <christian.bruel@st.com>
-
-	* fold-const.c (tree_swap_operands_p): Treat SSA_NAMEs like
-	DECLs but prefer SSA_NAMEs over DECLs.
-
-2007-02-16  Richard Guenther  <rguenther@suse.de>
-
-	* tree-flow-inline.h (single_imm_use_p): Remove.
-	(zero_imm_uses_p): Likewise.
-	* tree-ssa-coalesce.c (create_outofssa_var_map): Use has_single_use
-	instead of single_imm_use_p.
-	* tree-cfg.c (replace_uses_by): Use has_zero_use instead of
-	zero_imm_uses_p.
-
-2007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-	PR other/27843
-	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
-	nested double- and backquotes.
-
-2007-02-15  Roger Sayle  <roger@eyesopen.com>
-
-	PR middle-end/30391
-	* tree.c (expr_align): Handle MODIFY_EXPR.  GIMPLE_MODIFY_STMT
-	should be unreachable.
-	(build2_stat): Allow construction of MODIFY_EXPR at any time.
-	For the time being redirect GIMPLE_MODIFY_STMT to the new
-	(renamed) build_gimple_modify_stmt_stat.
-	(build2_gimple_stat): Rename to...
-	(build_gimple_modify_stmt_stat): Now longer take a CODE argument.
-	Always build a GIMPLE_MODIFY_STMT node.
-	* tree.h (build2_gimple, build2_gimple_stat): Delete.
-	(build_gimple_modify_stmt, build_gimple_modify_stmt_stat): New
-	declarations.
-
-	* tree-cfg.c (factor_computed_gotos, tree_merge_blocks,
-	gimplify_val): Use build_gimple_modify_stmt instead of build2_gimple.
-	* tree-complex.c (set_component_ssa_name, expand_complex_move,
-	expand_complex_div_wide): Likewise.
-	* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
-	* tree-ssa-loop-im.c (schedule_sm): Likewise.
-	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Likewise.
-	* tree-ssa-loop-manip.c (create_iv): Likewise.
-	* tree-ssa-phiopt.c (conditional_replacement, minmax_replacement,
-	abs_replacement): Likewise.
-	* tree-ssa-pre.c (create_expression_by_pieces, poolify_modify_stmt,
-	realify_fake_stores): Likewise.
-
-	* builtins.c (std_expand_builtin_va_start): Build a MODIFY_EXPR
-	node rather than a GIMPLE_MODIFY_STMT node.
-	(std_gimpify_va_arg_expr, expand_builtin_va_copy,
-	fold_builtin_memset, fold_builtin_memory_op, do_mpfr_sincos):
-	Likewise.
-	(integer_valued_real_p): Handle MODIFY_EXPR, not GIMPLE_MODIFY_STMT.
-	* expr.c (expand_expr_real_1): Handle both MODIFY_EXPR and
-	GIMPLE_MODIFY_STMT.
-
-2007-02-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/30433
-	* fold-const.c (fold_comparison): Add back the
-	folding of constant complex comparisions.
-
-2007-02-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/30729
-	* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
-	effects unknown to this function, return early.
-
-2007-02-15  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (move_eh_region_note): New static function.
-	(resolve_simple_move): Call it.
-	(decompose_multiword_subregs): Track blocks for which we resolve a
-	simple move which is also a control flow insn.  Pass them to
-	find_many_sub_basic_blocks.
-	(pass_lower_subreg): Add TODO_verify_flow.
-	(pass_lower_subreg2): Likewise.
-
-2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
-	    Brooks Moses  <brooks.moses@codesourcery.com>
-	    Lee Millward  <lee.millward@codesourcery.com>
-
-	* tree.h (enum tree_code_class): Add tcc_vl_exp.
-	(VL_EXP_CLASS_P): New.
-	(TREE_OPERAND_CHECK): Use TREE_OPERAND_LENGTH instead of
-	TREE_CODE_LENGTH.
-	(TREE_OPERAND_CHECK_CODE): Likewise.
-	(GIMPLE_STMT_OPERAND_CHECK): Likewise.
-	(TREE_RTL_OPERAND_CHECK): Likewise.
-	(tree_operand_check_failed): Make second parameter the whole tree
-	instead of its code.  Fixed callers.
-	(VL_EXP_CHECK): New.
-	(TREE_OPERAND_LENGTH): New.
-	(VL_EXP_OPERAND_LENGTH): New.
-	(CALL_EXPR_FN): New.
-	(CALL_EXPR_STATIC_CHAIN): New.
-	(CALL_EXPR_ARGS): New.
-	(CALL_EXPR_ARG): New.
-	(call_expr_nargs): New.
-	(CALL_EXPR_ARGP): New.
-	(build_nt_call_list): Declare.
-	(build_vl_exp_stat): Declare.
-	(build_vl_exp): New.
-	(build_call_list): Declare.
-	(build_call_nary): Declare.
-	(build_call_valist): Declare.
-	(build_call_array): Declare.
-	(call_expr_arg): Declare.
-	(call_expr_argp): Declare.
-	(call_expr_arglist): Declare.
-	(fold_build_call_list): Declare.
-	(fold_build_call_list_initializer): Declare.
-	(fold_call_expr): Declare to replace fold_builtin.
-	(fold_builtin_fputs): Update to agree with modified definition.
-	(fold_builtin_strcpy): Likewise.
-	(fold_builtin_strncpy): Likewise.
-	(fold_builtin_memory_chk): Likewise.
-	(fold_builtin_stxcpy_chk): Likewise.
-	(fold_builtin_strncpy_chk): Likewise.
-	(fold_builtin_next_arg): Likewise.
-	(fold_build_call_expr): Declare.
-	(fold_builtin_call_list): Declare.
-	(fold_builtin_call_valist): Declare.
-	(build_call_expr): Declare.
-	(validate_arglist): Update to agree with modified definition.
-	(tree_operand_length): New.
-	(call_expr_arg_iterator): New.
-	(init_call_expr_arg_iterator): New.
-	(next_call_expr_arg): New.
-	(first_call_expr_arg): New.
-	(more_call_expr_args_p): New.
-	(FOR_EACH_CALL_EXPR_ARG): New.
-
-	* tree.c (tree_code_class_string): Add entries for tcc_vl_exp
-	and tcc_gimple_stmt.
-	(tree_code_size): Update documentation.  Use sizeof (tree) rather
-	than sizeof (char *).
-	(tree_size): Likewise.  Add case for tcc_vl_exp.
-	(tree_node_structure): Add case for tcc_vl_exp.
-	(contains_placeholder_p): Likewise.
-	(substitute_in_expr): Likewise.
-	(substitute_placeholder_in_expr): Likewise.
-	(stabilize_reference_1): Likewise.
-	(build3_stat): Remove logic for CALL_EXPRs.  Replace with assertion
-	to diagnose breakage of this interface for constructing CALL_EXPRs.
-	(build_nt): Add similar assertion here.
-	(build_nt_call_list): New.
-	(simple_cst_equal) <CALL_EXPR>: Rewrite to use new accessors.
-	(iterative_hash_expr): Use TREE_OPERAND_LENGTH instead of
-	TREE_CODE_LENGTH.
-	(get_callee_fndecl): Use new CALL_EXPR accessors.
-	(tree_operand_check_failed): Change parameters to pass entire node
-	instead of its code, so that we can call TREE_OPERAND_LENGTH on it.
-	(process_call_operands): New.
-	(build_vl_exp_stat): New.
-	(build_call_list): New.
-	(build_call_nary): New.
-	(build_call_valist): New.
-	(build_call_array): New.
-	(walk_tree): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-	(call_expr_arglist): New.
-
-	* tree.def (CALL_EXPR): Change representation of CALL_EXPRs to use
-	tcc_vl_exp instead of a fixed-size tcc_expression.
-
-	* doc/c-tree.texi (CALL_EXPR): Document new representation and
-	accessors for CALL_EXPRs.
-	(AGGR_INIT_EXPR): Likewise.
-
-2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
-	    Brooks Moses  <brooks.moses@codesourcery.com>
-	    Lee Millward  <lee.millward@codesourcery.com>
-
-	* builtins.c (c_strlen): Return NULL_TREE instead of 0.
-	(expand_builtin_nonlocal_goto): Change parameter to be entire
-	CALL_EXPR instead of an arglist.  Use new CALL_EXPR accessors.
-	(expand_builtin_prefetch): Likewise.
-	(expand_builtin_classify_type): Likewise.
-	(mathfn_built_in): Return NULL_TREE instead of 0.
-	(expand_errno_check): Use new CALL_EXPR accessors.
-	(expand_builtin_mathfn): Use new CALL_EXPR accessors and constructors.
-	Return NULL_RTX instead of 0.
-	(expand_builtin_mathfn_2): Likewise.
-	(expand_builtin_mathfn_3): Likewise.
-	(expand_builtin_interclass_mathfn): Likewise.
-	(expand_builtin_sincos): Likewise.
-	(expand_builtin_cexpi): Likewise.
-	(expand_builtin_int_roundingfn): Likewise.
-	(expand_builtin_int_roundingfn_2): Likewise.
-	(expand_builtin_pow): Likewise.
-	(expand_builtin_powi): Likewise.
-	(expand_builtin_strlen): Pass entire CALL_EXPR as parameter instead
-	of arglist, fixing callers appropriately.  Use new CALL_EXPR
-	accessors and constructors.  Return NULL_RTX instead of 0.
-	(expand_builtin_strstr): Likewise.
-	(expand_builtin_strchr): Likewise.
-	(expand_builtin_strrchr): Likewise.
-	(expand_builtin_strpbrk): Likewise.
-	(expand_builtin_memcpy): Likewise.
-	(expand_builtin_mempcpy): Likewise.
-	(expand_builtin_mempcpy_args): New.
-	(expand_builtin_memmove): Similarly to expand_builtin_mempcpy.
-	(expand_builtin_memmove_args): New.
-	(expand_builtin_bcopy): Similarly to expand_builtin_mempcpy.
-	(expand_movstr): Likewise.
-	(expand_builtin_strcpy): Likewise.
-	(expand_builtin_strcpy_args): New.
-	(expand_builtin_stpcpy): Similarly to expand_builtin_strcpy.
-	(expand_builtin_strncpy): Likewise.
-	(expand_builtin_memset): Likewise.
-	(expand_builtin_memset_args): New.
-	(expand_builtin_bzero): Similarly to expand_builtin_memset.
-	(expand_builtin_memcmp): Likewise.
-	(expand_builtin_strcmp): Likewise.
-	(expand_builtin_strncmp): Likewise.
-	(expand_builtin_strcat): Likewise.
-	(expand_builtin_strncat): Likewise.
-	(expand_builtin_strspn): Likewise.
-	(expand_builtin_strcspn): Likewise.
-	(expand_builtin_args_info): Likewise.
-	(expand_builtin_va_start): Likewise.
-	(gimplify_va_arg_expr): Likewise.
-	(expand_builtin_va_end): Likewise.
-	(expand_builtin_va_copy): Likewise.
-	(expand_builtin_frame_address): Likewise.
-	(expand_builtin_alloca): Likewise.
-	(expand_builtin_bswap): Likewise.
-	(expand_builtin_unop): Likewise.
-	(expand_builtin_fputs): Likewise.
-	(expand_builtin_expect): Likewise.
-	(expand_builtin_fabs): Likewise.
-	(expand_builtin_copysign): Likewise.
-	(expand_builtin_printf): Likewise.
-	(expand_builtin_fprintf): Likewise.
-	(expand_builtin_sprintf): Likewise.
-	(expand_builtin_init_trampoline): Likewise.
-	(expand_builtin_signbit): Likewise.
-	(expand_builtin_fork_or_exec): Likewise.
-	(expand_builtin_sync_operation): Likewise.
-	(expand_builtin_compare_and_swap): Likewise.
-	(expand_builtin_lock_test_and_set): Likewise.
-	(expand_builtin_lock_release): Likewise.
-	(expand_builtin): Likewise.
-	(builtin_mathfn_code): Likewise.
-
-	(fold_builtin_constant_p): 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_expect): Likewise.
-	(fold_builtin_classify_type): Likewise.
-	(fold_builtin_strlen): Likewise.
-	(fold_builtin_nan): Likewise.
-	(integer_valued_real_p): Likewise.
-	(fold_trunc_transparent_mathfn): Likewise.
-	(fold_fixed_mathfn): Likewise.
-	(fold_builtin_cabs): Likewise.
-	(fold_builtin_sqrt): Likewise.
-	(fold_builtin_cbrt): Likewise.
-	(fold_builtin_cos): Likewise.
-	(fold_builtin_cosh): Likewise.
-	(fold_builtin_tan): Likewise.
-	(fold_builtin_sincos): Likewise.
-	(fold_builtin_cexp): Likewise.
-	(fold_builtin_trunc): Likewise.
-	(fold_builtin_floor): Likewise.
-	(fold_builtin_ceil): Likewise.
-	(fold_builtin_round): Likewise.
-	(fold_builtin_int_roundingfn): Likewise.
-	(fold_builtin_bitop): Likewise.
-	(fold_builtin_bswap): Likewise.
-	(fold_builtin_logarithm): Likewise.
-	(fold_builtin_hypot): Likewise.
-	(fold_builtin_pow): Likewise.
-	(fold_builtin_powi): Likewise.
-	(fold_builtin_exponent): Likewise.
-	(fold_builtin_memset): Likewise.
-	(fold_builtin_bzero): Likewise.
-	(fold_builtin_memory_op): Likewise.
-	(fold_builtin_bcopy): Deleted; call site changed to invoke
-	fold_builtin_memory_op directly.
-	(fold_builtin_strcpy): Similarly as for fold_builtin_memory_op.
-	(fold_builtin_strncpy): Likewise.
-	(fold_builtin_memcmp): Likewise.
-	(fold_builtin_strcmp): Likewise.
-	(fold_builtin_strncmp): Likewise.
-	(fold_builtin_signbit): Likewise.
-	(fold_builtin_copysign): Likewise.
-	(fold_builtin_isascii): Likewise.
-	(fold_builtin_toascii): Likewise.
-	(fold_builtin_isdigit): Likewise.
-	(fold_builtin_fabs): Likewise.
-	(fold_builtin_abs): Likewise.
-	(fold_builtin_fmin_fmax): Likewise.
-	(fold_builtin_carg): Likewise.
-	(fold_builtin_classify): Likewise.
-	(fold_builtin_unordered_cmp): Likewise.
-
-	(fold_builtin_0, fold_builtin_2, fold_builtin_3, fold_builtin_4):
-	New functions split out from fold_builtin_1.
-	(fold_builtin_n): New.
-	(fold_builtin_varargs): New.
-	(fold_builtin): Deleted.  Most callers changed to use fold_call_expr
-	instead.
-	(fold_call_expr): New.
-	(build_function_call_expr): Rewrite to use new helper function.
-	(fold_builtin_call_list): New.
-	(build_call_expr): New.
-	(fold_builtin_call_valist): New.
-	(rewrite_call_expr): New.
-	(validate_arg): New.
-	(validate_arglist): Change parameter to be entire CALL_EXPR instead
-	of an arglist.  Change return type to bool.  Use new CALL_EXPR
-	accessors.
-
-	(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.
-	(fold_builtin_strrchr): Likewise.
-	(fold_builtin_strpbrk): Likewise.
-	(fold_builtin_strcat): Likewise.
-	(fold_builtin_strncat): Likewise.
-	(fold_builtin_strspn): Likewise.
-	(fold_builtin_strcspn): Likewise.
-	(fold_builtin_fputs): Likewise.
-	(fold_builtin_next_arg): Likewise.
-	(fold_builtin_sprintf): Likewise.
-
-	(expand_builtin_object_size): Use new CALL_EXPR accessors.  Use
-	NULL_RTX instead of 0.
-	(expand_builtin_memory_chk): Likewise.
-	(maybe_emit_chk_warning): Likewise.
-	(maybe_emit_sprintf_chk_warning): Likewise.
-
-	(fold_builtin_object_size): 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_memory_chk): Likewise.
-	(fold_builtin_stxcpy_chk): Likewise.
-	(fold_builtin_strncpy_chk): Likewise.
-	(fold_builtin_strcat_chk): Likewise.
-	(fold_builtin_strcat_chk): Likewise.
-	(fold_builtin_strncat_chk): Likewise.
-	(fold_builtin_sprintf_chk): Likewise.
-	(fold_builtin_snprintf_chk): Likewise.
-	(fold_builtin_printf): Likewise.
-	(fold_builtin_vprintf): Likewise.
-
-	* fold-const.c (negate_expr_p): Use new CALL_EXPR accessors and
-	constructors.
-	(operand_equal_p): Add separate tcc_vl_exp/CALL_EXPR case.
-	(make_range): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-	(extract_muldiv_1): Add VL_EXP_CLASS_P case.
-	(fold_mathfn_compare): Use new CALL_EXPR accessors and constructors.
-	(fold_unary): Likewise.
-	(fold_binary): Likewise.
-	(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
-	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-	(fold_build3_stat): Add assertion to flag broken interface for
-	constructing CALL_EXPRs.
-	(fold_build_call_list): New.
-	(fold_build_call_list_initializer): New.
-	(tree_expr_nonnegative_p): Use new CALL_EXPR accessors and
-	constructors.
-	(fold_strip_sign_ops): Likewise.
-
-2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
-	    Brooks Moses  <brooks.moses@codesourcery.com>
-	    Lee Millward  <lee.millward@codesourcery.com>
-
-	* tree-dump.c (dequeue_and_dump) <CALL_EXPR>: Use new CALL_EXPR
-	accessors and dump arguments explicitly.
-
-	* tree-pretty-print.c (do_niy): Use TREE_OPERAND_LENGTH instead of
-	TREE_CODE_LENGTH.
-	(dump_generic_node): Use new CALL_EXPR accessors and walk arguments
-	explicitly.
-	(print_call_name): Use new CALL_EXPR accessors.
-
-	* print-tree.c (print_node): Add case tcc_vl_exp.  Print
-	CALL_EXPR arguments explicitly instead of as a list.  Use
-	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-
-	* 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
-	know about tcc_vl_exp.  Use TREE_OPERAND_LENGTH instead of
-	TREE_CODE_LENGTH.
-	(force_move_till_expr): Likewise.
-
-	* targhooks.c (default_external_stack_protect_fail): Use
-	build_call_expr instead of build_function_call_expr.
-	(default_hidden_stack_protect_fail): Likewise.
-
-	* tree-complex.c (expand_complex_libcall): Use build_call_expr to
-	build the call.
-
-	* cgraphbuild.c (build_cgraph_edges): Use new CALL_EXPR accessors
-	and walk arguments explicitly.
-
-	* tree-ssa-loop-niter.c (simplify_replace_tree): Use
-	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-	(expand_simple_operations): Likewise.
-	(infer_loop_bounds_from_array): Use new CALL_EXPR accessors.
-
-	* gengtype.c (adjust_field_tree_exp): Use TREE_OPERAND_LENGTH instead
-	of TREE_CODE_LENGTH.
-	(walk_type): Tweak walking of arrays not to blow up on CALL_EXPRs.
-
-	* optabs.c (expand_widen_pattern-expr): Use TREE_OPERAND_LENGTH
-	instead of TREE_CODE_LENGTH.
-
-	* value_prof.c (tree_ic): Use new CALL_EXPR accessors.
-	(tree_ic_transform): Likewise.
-	(interesting_stringop_to_profile_p): Pass entire CALL_EXPR as
-	parameter instead of arglist.  Fix callers.
-	(tree_stringop_fixed_value): Use new CALL_EXPR accessors.
-	(tree_stringops_transform): Likewise.
-	(tree_indirect_call_to_profile): Likewise.
-	(tree_stringops_values_to_profile): Likewise.
-
-	* tree-tailcall.c (find_tail_calls): Use new CALL_EXPR iterator.
-	(eliminate_tail_call): Likewise.
-
-	* ipa-cp.c (ipcp_update_callgraph): Use new CALL_EXPR accessors.
-
-	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
-	Use TREE_OPERAND_LENGTH and generalize to handle any number of
-	operands.
-	(instantiate_parameters_1): Can't handle tcc_vl_exp here.
-
-	* omp-low.c (build_omp_barrier): Use build_call_expr.
-	(lower_rec_input_clauses): Likewise.
-	(lower_reduction_clauses): Likewise.
-	(expand_parallel_call): Likewise.
-	(maybe_catch_exception): Likewise.
-	(expand_omp_for_generic): Likewise.
-	(expand_omp_for_static_nochunk): Likewise.
-	(expand_omp_sections): Likewise.
-	(lower_omp_single_simple): Likewise.
-	(lower_omp_single_copy): Likewise.
-	(lower_omp_master): Likewise.
-	(lower_omp_ordered): Likewise.
-	(lower_omp_critical): Likewise.
-
-	* ipa-reference.c (check-call): Use new CALL_EXPR iterator.
-	(scan_for_static_refs): Create tcc_vl_exp case for CALL_EXPR.
-
-	* tree-gimple.c (is_gimple_call_addr): Fix doc.
-	(recalculate_side_effects): Use TREE_OPERAND_LENGTH instead of
-	TREE_CODE_LENGTH.  Add tcc_vl_exp case.
-
-	* tree-chrec.c (chrec_contains_symbols): Use TREE_OPERAND_LENGTH
-	and generalize to handle any number of operands.
-	(chrec_contains_undetermined): Likewise.
-	(tree_contains_chrecs): Likewise.
-	(evolution_function_is_invariant_rec_p): Use TREE_OPERAND_LENGTH.
-
-	* cgraphunit.c (update_call_expr): Use new CALL_EXPR accessors.
-
-	* tree-ssa-ccp.c (ccp_fold): Use new CALL_EXPR accessors.  Use
-	fold_call_expr instead of fold_builtin.
-	(ccp_fold_builtin): Likewise.  Update calls into builtins.c to
-	match declarations there.
-	(fold_stmt): Use new CALL_EXPR constructor and accessors.  Doc
-	updates.
-
-	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Use
-	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-
-	* ipa-pure-const.c (check_call): Use new CALL_EXPR accessors.
-	(scan_function): Add case tcc_vl_exp for CALL_EXPR.
-
-	* tree-stdarg.c (execute_optimize_stdarg): Use new CALL_EXPR
-	accessors.
-
-	* tree-ssa-math-opts.c (execute_cse_sincos_1): Use build_call_expr.
-	(execute_cse_sincos): Use new CALL_EXPR accessors.
-
-	* tree-ssa-alias.c (find_used_portions): Use new CALL_EXPR iterator.
-
-	* gimple-low.c (lower_function_body): Use build_call_expr.
-	(lower_builtin_setjmp): Likewise.
-
-	* expr.c (emit_block_move_via_libcall): Use build_call_expr.
-	(set_storage_via_libcall): Likewise.
-	(safe_from_p): Add tcc_vl_exp case.  Use TREE_OPERAND_LENGTH
-	instead of TREE_CODE_LENGTH.
-	(expand_expr_real_1): Use new CALL_EXPR accessors.
-
-	* tree-browser.c (store_child_info): Use TREE_OPERAND_LENGTH and
-	generalize to handle any number of operands.
-	(TB_parent_eq): Likewise.
-
-	* predict.c (expr_expected_value): Use new CALL_EXPR accessors.
-	(strip_builtin_expect): Likewise.
-
-	* function.c (gimplify_parameters): Use build_call_expr.
-
-	* tree-vectorizer.c (vect_is_simple_reduction): Use
-	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-
-	* ipa-type-escape.c (check_call): Use new CALL_EXPR iterators.
-	(scan_for_refs): Add case tcc_vl_exp for CALL_EXPR.
-
-	* tree-data-ref.c (get_references_in_stmt): Use new CALL_EXPR
-	iterators.
-
-	* gimplify.c (build_stack_save_restore): Use build_call_expr.
-	(gimplify_decl_expr): Likewise.
-	(gimplify_call_expr): Use fold_call_expr instead of fold_builtin.
-	Use new CALL_EXPR iterators.
-	(gimplify_modify_expr_to_memcpy): Use build_call_expr.
-	(gimplify_modify_expr_to_memset): Likewise.
-	(gimplify_variable_sized_compare): Likewise.
-	(gimplify_omp_atomic_fetch_op): Likewise.
-	(gimplify_omp_atomic_pipeline): Likewise.
-	(gimplify_omp_atomic_mutex): Likewise.
-	(gimplify_function_tree): Likewise.
-
-	* calls.c (alloca_call_p): Use new CALL_EXPR accessors.
-	(call_expr_flags): Likewise.
-	(expand_call): Likewise.
-
-	* except.c (expand_builtin_eh_return_data_regno): Pass entire
-	CALL_EXPR as parameter instead of arglist.  Use new CALL_EXPR
-	accessors.
-
-	* coverage.c (create_coverage): Use build_call_expr.
-
-	* tree-ssa-pre.c (expression_node_pool, list_node_pool): Delete.
-	(temp_call_expr_obstack): New.
-	(pool_copy_list): Delete.
-	(temp_copy_call_expr): New.
-	(phi_translate): Add case tcc_vl_exp for CALL_EXPR.  Use new
-	CALL_EXPR accessors.  Get rid of special goo for copying argument
-	lists and use temp_copy_call_expr instead.
-	(valid_in_sets): Add case tcc_vl_exp for CALL_EXPR.  Use new
-	CALL_EXPR accessors.
-	(create_expression_by_pieces): Likewise.  Use build_call_array
-	to construct the result instead of fold_build3.
-	(create_value_expr_from): Add tcc_vl_exp.  Delete special goo for
-	dealing with argument lists.
-	(init_pre): Remove references to expression_node_pool and
-	list_node_pool.  Init temp_call_expr_obstack instead.
-	(fini_pre): Remove references to expression_node_pool and
-	list_node_pool.
-
-	* tree-sra.c (sra_walk_call_expr): Use new CALL_EXPR accessors
-	and walk arguments explicitly instead of as a list.
-
-	* tree-mudflap.c (mf_build_check_statement_for): Use build_call_expr.
-	(mx_register_decls): Likewise.
-	(mudflap_register_call): Likewise.
-	(mudflap_finish_file): Likewise.
-
-	* ipa-prop.c (ipa_callsite_compute_count): Use new CALL_EXPR accessors.
-	(ipa_callsite_compute_param): Likewise.
-
-	* tree-vect-patterns.c (vect_recog_pow_pattern): Use new CALL_EXPR
-	accessors and constructor.
-
-	* tree-nested.c (convert_nl_goto_reference): Use new CALL_EXPR
-	accessors and constructor.
-	(convert_tramp_reference): Likewise.
-	(convert_call_expr): Likewise.
-	(finalize_nesting_tree_1): Likewise.
-
-	* tree-ssa.c (tree_ssa_useless_type_conversion): Use new CALL_EXPR
-	accessors.
-
-	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Use build_call_expr.
-
-	* tree-inline.c (initialize_inlined_parameters): Pass entire
-	CALL_EXPR as parameter instead of arglist.  Use new CALL_EXPR
-	accessors.
-	(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_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-	(vectorizable_reduction): Likewise.
-	(vectorizable_call): Use new CALL_EXPR iterators.
-	(vectorizable_conversion): Use build_call_expr.
-	(vectorizable_operation): Use TREE_OPERAND_LENGTH.
-	(vect_gen_widened_results_half): Use build_call_expr.
-	(vect_setup_realignment): Likewise.
-	(vectorizable_live_operation): Use TREE_OPERAND_LENGTH.
-
-	* tree-object-size.c (alloc_object_size): Use new CALL_EXPR accessors.
-	(pass_through_call): Likewise.
-	(compute_object_sizes): Likewise.  Use fold_call_expr instead of
-	fold_builtin.
-
-	* tree-profile.c (tree_gen_interval_profiler): Use build_call_expr.
-	(tree_gen_pow2_profiler): Likewise.
-	(tree_gen_one_value_profiler): Likewise.
-	(tree_gen_ic_func_profiler): Likewise.
-	(tree_gen_average_profiler): Likewise.
-	(tree_gen_ior_profiler): Likewise.
-
-	* tree-ssa-structalias.c (get_constraint_for): Add case tcc_vl_exp.
-	(find_func_aliases): Use new CALL_EXPR accessors.  Add case
-	tcc_vl_exp.  Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
-
-	* tree-ssa-reassoc.c (get_rank): Use TREE_OPERAND_LENGTH instead
-	of TREE_CODE_LENGTH.
-
-	* stmt.c (warn_if_unused_value): Use TREE_OPERAND_LENGTH instead
-	of TREE_CODE_LENGTH.
-
-	* convert.c (convert_to_real): Use new CALL_EXPR accessors and
-	constructor.
-	(convert_to_integer): Likewise.
-
-	* tree-ssa-operands.c (get_call_expr_operands): Use new CALL_EXPR
-	accessors.
-
-2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
-	    Brooks Moses  <brooks.moses@codesourcery.com>
-	    Lee Millward  <lee.millward@codesourcery.com>
-
-	* config/alpha/alpha.c (alpha_expand_builtin): Use new CALL_EXPR
-	accessors.
-	* config/frv/frv.c (frv_expand_builtin): Likewise.
-	* config/s390/s390.c (s390_expand_builtin): Likewise.
-
-	* config/sparc/sparc.c (sparc_gimplify_va_arg): Use build_call_expr.
-	(sparc_expand_builtin): Use new CALL_EXPR accessors.
-
-	* config/i386/i386.c (ix86_function_ok_for_sibcall): Likewise.
-	(ix86_expand_binop_builtin): Pass entire CALL_EXPR as parameter
-	instead of arglist.  Use new CALL_EXPR accessors on it.  Fix callers.
-	(ix86_expand_store_builtin): Likewise.
-	(ix86_expand_unop_builtin): Likewise.
-	(ix86_expand_unop1_builtin): Likewise.
-	(ix86_expand_sse_compare): Likewise.
-	(ix86_expand_sse_comi): Likewise.
-	(ix86_expand_vec_init_builtin): Likewise.
-	(ix86_expand_vec_ext_builtin): Likewise.
-	(ix86_expand_vec_set_builtin): Likewise.
-	(ix86_expand_builtin): Use new CALL_EXPR accessors.
-
-	* config/sh/sh.c (sh_expand_builtin): Use new CALL_EXPR accessors.
-	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
-
-	* config/iq2000/iq2000.c (expand_one_builtin): Pass entire CALL_EXPR
-	instead of arglist.  Use new CALL_EXPR accessors.  Fix callers.
-	(iq2000_expand_builtin): Use new CALL_EXPR accessors.
-
-	* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Use
-	build_call_expr.
-	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
-	(rs6000_expand_unop_builtin): Pass entire CALL_EXPR instead of
-	arglist.  Use new CALL_EXPR accessors.  Fix callers.
-	(altivec_expand_abs_builtin): Likewise.
-	(rs6000_expand_binop_builtin): Likewise.
-	(altivec_expand_predicate_builtin): Likewise.
-	(altivec_expand_lv_builtin): Likewise.
-	(spe_expand_stv_builtin): Likewise.
-	(altivec_expand_stv_builtin): Likewise.
-	(rs6000_expand_ternop_builtin): Likewise.
-	(altivec_expand_ld_builtin): Use new CALL_EXPR accessors.
-	(altivec_expand_st_builtin): Likewise.
-	(altivec_expand_dst_builtin): Likewise.
-	(altivec_expand_vec_init_builtin): Pass entire CALL_EXPR instead of
-	arglist.  Use new CALL_EXPR accessors.  Fix callers.
-	(altivec_expand_vec_set_builtin): Likewise.
-	(altivec_expand_vec_ext_builtin): Likewise.
-	(altivec_expand_builtin): Use new CALL_EXPR accessors.
-	(spe_expand_builtin): Likewise.
-	(spe_expand_predicate_builtin): Pass entire CALL_EXPR instead of
-	arglist.  Use new CALL_EXPR accessors.  Fix callers.
-	(spe_expand_evsel_builtin): Likewise.
-	(rs6000_expand_builtin): Use new CALL_EXPR accessors.  VCFUX and
-	FCFSX cases must construct whole new CALL_EXPR, not just arglist.
-
-	* config/arm/arm.c (arm_expand_binop_builtin): Pass entire CALL_EXPR
-	instead of arglist.  Use new CALL_EXPR accessors.  Fix callers.
-	(arm_expand_unop_builtin): Likewise.
-	(arm_expand_builtin): Use new CALL_EXPR accessors.
-
-	* config/mips/mips.c (mips_expand_builtin): Use new CALL_EXPR
-	accessors.
-
-	* config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire
-	CALL_EXPR instead of arglist.  Use new CALL_EXPR accessors.
-	Fix callers.
-	(bfin_expand_unop_builtin): Likewise.
-	(bfin_expand_builtin): Use new CALL_EXPR accessors.
-
-2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
-	    Brooks Moses  <brooks.moses@codesourcery.com>
-	    Lee Millward  <lee.millward@codesourcery.com>
-
-	* c-semantics.c (build_stmt): Add internal diagnostic check.
-
-	* c-pretty-print.c (pp_c_postfix_expression): Use new CALL_EXPR
-	accessors.  Print arguments explicitly instead of as a list.
-
-	* c-typeck.c (build_function_call): Use new CALL_EXPR constructors.
-
-	* c-omp.c (c_finish_omp_barrier): Use build_call_expr.
-	(c_finish_omp_flish): Likewise.
-
-	* c-common.c (verify_tree): Use new CALL_EXPR accessors.  Traverse
-	arguments explicitly instead of as a list.  Use TREE_OPERAND_LENGTH
-	instead of TREE_CODE_LENGTH.
-	(check_function_arguments_recurse): Use new CALL_EXPR accessors.
-	(c_warn_unused_result): Likewise.
-
-2007-02-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/26494
-	* doc/invoke.texi (Warning Options): Remove
-	-Werror-implicit-function-declaration.
-	(Wimplicit-function-declaration): Update description.
-	* opts.c (common_handle_option): Move handling of -Werror=* to...
-	(enable_warning_as_error): ...here.
-	* opts.h (enable_warning_as_error): Declare.
-	* c-decl.c (implicit_decl_warning): Unless
-	-Wno-implicit-function-declaration is given, emit a pedwarn if
-	-std=c99 or emit a warning if -Wimplicit-function-declaration.
-	* c.opt (Wimplicit-function-declaration): Replace
-	mesg_implicit_function_declaration with
-	warn_implicit_function_declaration.
-	* c-opts.c (c_common_handle_option):
-	-Werror-implicit-function-declaration is exactly equal as
-	-Werror=implicit-function-declaration.
-	(set_Wimplicit): Replace mesg_implicit_function_declaration with
-	warn_implicit_function_declaration.
-	(c_common_post_options): -Wimplict-function-declaration is enabled
-	by default by -std=c99, otherwise is disabled by default.
-	* c-objc-common.c (c_objc_common_init): Remove flawed logic.
-
-2007-02-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* gimplify.c (gimplify_modify_expr): During gimplification, attach a
-	DECL on the rhs to a DECL on the lhs for debug info purposes if the
-	former is ignored but not the latter.
-
-2007-02-15  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* expr.c (expand_expr_real_1) <normal_inner_ref>: If a temporary
-	is made and the reference doesn't use the alias set of its type,
-	do not create the temporary using that type.
-
-2007-02-15  Aldy Hernandez  <aldyh@redhat.com>
-
-	* jump.c: Remove prototypes for delete_computation and
-	delete_prior_computation.
-
-2007-02-15  Paolo Bonzini  <bonzini@gnu.org>
-
-	* jump.c (get_label_after): Delete.
-	(get_label_before, delete_computation, delete_jump,
-	delete_prior_computation, follow_jumps): Move...
-	* reorg.c (delete_computation, delete_prior_computation): ... here...
-	(get_label_before, delete_jump): ... making these static ...
-	(follow_jumps): ... and simplifying this since it only runs after
-	reload.
-	* rtl.h (get_label_after, get_label_before, delete_jump,
-	follow_jumps): Delete prototypes.
-
-2007-02-15  Paolo Bonzini  <bonzini@gnu.org>
-
-	* caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
-
-2007-02-15  Nick Clifton  <nickc@redhat.com>
-
-	* varasm.c (default_asm_output_anchor): Prepend * to . symbol in
-	order to prevent it from being munged by the target.
-
-2007-02-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md: Remove misleading comment.
-
-2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* config/frv/frv.md (reload_incc, reload_outcc, reload_incc_uns,
-	reload_outcc_uns, reload_incc_nz, reload_outcc_nz): Remove
-	invalid patterns.
-
-2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-sra.c (instantiate_missing_elements): Canonicalize
-	bit-field types.
-	(sra_build_assignment): New.
-	(generate_copy_inout, generate_element_copy,
-	generate_element_zero, generate_one_element_init): Use it.
-
-2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* tree-sra.c (instantiate_missing_elements): Canonicalize
-	bit-field types.
-	(sra_build_assignment): New.
-	(generate_copy_inout, generate_element_copy,
-	generate_element_zero, generate_one_element_init): Use it.
-
-2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
-
-	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
-	limbo die nodes.
-
-2007-02-14  Joseph Myers  <joseph@codesourcery.com>
-
-	* emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex
-	types as aggregates not scalars.
-	* function.c (assign_stack_temp_for_type): Likewise.
-
-2007-02-14  Roger Sayle  <roger@eyesopen.com>
-	    Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* tree-dump.c (dump_switch_p_1): Require exact match of the option
-	name.
-
-2007-02-14  Zdenek Dvorak  <dvorakz@suse.cz>
-
-	* passes.c (next_pass_1): Clear the next field of the copied
-	pass structure.
-
-2007-02-14  Richard Henderson  <rth@redhat.com>
-
-	* tree-sra.c (early_sra): New.
-	(decl_can_be_decomposed_p): Deny va_list if early_sra.
-	(tree_sra_early, pass_sra_early): New.
-	* tree-pass.h (pass_sra_early): Declare.
-	* passes.c (init_optimization_passes): Use it.
-
-2007-02-14  Richard Guenther  <rguenther@suse.de>
-
-	* flags.h (issue_strict_overflow_warning): Convert to a macro.
-
-2007-02-14  Dorit Nuzman  <dorit@il.ibm.com>
-
-	 PR tree-optimization/30771
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Traverse
-	also phi nodes.
-	(vect_analyze_operations): Induction phis can now be marked as
-	used_in_loop.
-	(vect_mark_stmts_to_be_vectorized): No special treatment for phis.
-	Update documentation accordingly.
-
-2007-02-14  Nick Clifton  <nickc@redhat.com>
-
-	* builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at
-	most 3 arguments are supported.
-	(DEF_FUNCTION_TYPE_VAR_5): Fix typo in its description.
-
-2007-02-13  Seongbae Park <seongbae.park@gmail.com>
-
-	* bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor):
-	Ensure dst->current is valid.
-
-2007-02-13  Paul Brook  <paul@codesourcery.com>
-
-	* config.gcc: Add arm*-*-uclinux-*eabi.
-	* config/arm/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Define.
-	(SUBTARGET_EXTRA_LINK_SPEC): Define.
-	(STARTFILE_SPEC, ENDFILE_SPEC): Remove broken -shared handling.
-	(LINK_GCC_C_SEQUENCE_SPEC): Undef.
-	(LINK_SPEC): Define.
-	(LIB_SPEC): Define.
-	* config/arm/arm.c (arm_override_options): Use r9 as EABI PIC
-	register.
-	* config/arm/uclinux-eabi.h: New file.
-	* config/arm/linux-eabi.h (WCHAR_TYPE): Remove.
-	* config/arm/linux-gas.h (WCHAR_TYPE): Use unsigned long on AAPCS
-	based targets.
-
-2007-02-13  Ian Lance Taylor  <iant@google.com>
-
-	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
-	* flags.h (warn_strict_overflow): Declare.
-	(enum warn_strict_overflow_code): Define.
-	(issue_strict_overflow_warning): New static inline function.
-	* opts.c (warn_strict_overflow): New variable.
-	(common_handle_option): Handle OPT_Wstrict_overflow and
-	OPT_Wstrict_overflow_.
-	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
-	OPT_Wall.
-	* fold-const.c: Include intl.h.
-	(fold_deferring_overflow_warnings): New static variable.
-	(fold_deferred_overflow_warning): New static variable.
-	(fold_deferred_overflow_code): New static variable.
-	(fold_defer_overflow_warnings): New function.
-	(fold_undefer_overflow_warnings): New function.
-	(fold_undefer_and_ignore_overflow_warnings): New function.
-	(fold_deferring_overflow_warnings_p): New function.
-	(fold_overflow_warning): New static function.
-	(make_range): Add strict_overflow_p parameter.  Change all
-	callers.
-	(extract_muldiv, extract_muldiv_1): Likewise.
-	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
-	tree_expr_nonnegative_p.
-	(fold_negate_expr): Call fold_overflow_warning.
-	(fold_range_test): Likewise.
-	(fold_comparison): Likewise.
-	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
-	instead of tree_expr_nonnegative_p.
-	(tree_expr_nonnegative_warnv_p): Rename from
-	tree_expr_nonnegative_p, add strict_overflow_p parameter.
-	(tree_expr_nonnegative_p): New function.
-	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
-	strict_overflow_p parameter.
-	(tree_expr_nonzero_p): New function.
-	* passes.c (verify_interpass_invariants): New static function.
-	(execute_one_pass): Call it.
-	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
-	warnings.
-	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
-	(estimate_numbers_of_iterations): Likewise.
-	(scev_probably_wraps_p): Likewise.
-	* tree-ssa-ccp.c: Include "toplev.h".
-	(evaluate_stmt): Defer fold overflow warnings until we know we are
-	going to optimize.
-	(struct fold_stmt_r_data): Add stmt field.
-	(fold_stmt_r): Defer fold overflow warnings until we know we
-	optimized.
-	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
-	(fold_stmt_inplace): Likewise.
-	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
-	(cleanup_control_expr_graph): Defer fold overflow warnings until
-	we know we are going to optimize.
-	* tree-cfg.c (fold_cond_expr_cond): Likewise.
-	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
-	Likewise.
-	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
-	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
-	* tree-ssa-loop-manip.c (create_iv): Likewise.
-	* c-typeck.c (build_conditional_expr): Likewise.
-	(build_binary_op): Likewise.
-	* tree-vrp.c (vrp_expr_computes_nonzero): Call
-	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
-	(extract_range_from_unary_expr): Likewise.
-	* simplify-rtx.c (simplify_const_relational_operation): Warn when
-	assuming that signed overflow does not occur.
-	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
-	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
-	(fold_defer_overflow_warnings): Declare.
-	(fold_undefer_overflow_warnings): Declare.
-	(fold_undefer_and_ignore_overflow_warnings): Declare.
-	(fold_deferring_overflow_warnings_p): Declare.
-	(tree_expr_nonzero_warnv_p): Declare.
-	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
-	of warning options.
-	(Warning Options): Document -Wstrict-overflow.
-	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
-	(tree-ssa-ccp.o): Likewise.
-	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
-	(fold-const.o): Depend on intl.h.
-
-2007-02-13  Ian Lance Taylor  <iant@google.com>
-
-	PR middle-end/30751
-	* lower-subreg.c (resolve_simple_move): Decompose subregs in
-	addresses.
-
-2007-02-13  Stuart Hastings  <stuart@apple.com>
-
-	* config/i386/i386.md (fixuns_truncdfhi2): Require SSE2.
-
-2007-02-13  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/alpha.c (alpha_stdarg_optimize_hook): Strip
-	handled_component_p before looking for the indirect_ref.
-
-2007-02-13  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.md (bswapsi_1): Rename from bswapsi2,
-	remove flags clobber.
-	(bswapsi2): New expander, emit code for !TARGET_BSWAP.
-	(bswaphi_lowpart): New.
-	(bswapdi2): Rename from bswapdi2_rex, remove flags clobber,
-	remove TARGET_BSWAP test.  Delete expander of the same name.
-
-	* optabs.c (widen_bswap, expand_doubleword_bswap): New.
-	(expand_unop): Use them.
-
-2007-02-13  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (cmpdi_ccno_1_rex64, *cmpsi_ccno_1,
-	*cmphi_ccno_1, *cmpqi_ccno_1, *movsi_xor, *movstricthi_xor,
-	*movstrictqi_xor, *movdi_xor_rex64, *ashldi3_1_rex64,
-	*ashldi3_cmp_rex64, *ashldi3_cconly_rex64, ashlsi3, *ashlsi3_1_zext,
-	*ashlsi3_cmp, *ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea,
-	*ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea,
-	*ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Remove equivalent
-	assembler dialect choice from asm templates.
-
-2007-02-12  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.md (fixuns_trunc<SSEMODEF>si_1): New insn.
-	(fixuns_trunc<SSEMODEF>si2): Use it.
-	* config/i386/sse.md (vec_setv4sf_0): Export.
-	* config/i386/i386.c (ix86_build_const_vector): Export.
-	(ix86_split_convert_uns_si_sse): Rename from
-	ix86_expand_convert_uns_si_sse and rewrite as a splitter.
-	* config/i386/i386-protos.h: Update.
-
-2007-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/29521
-	* c-typeck.c (c_finish_return): Improve warning message.
-
-2007-02-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* alias.c (find_symbolic_term): Delete unused function.
-
-2007-02-12  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (paritydi2, paritysi2): New expanders.
-	(paritydi2_cmp, paritydi2_cmp): New insn and split patterns.
-	(*parityhi2_cmp, *parityqi2_cmp): New insn patterns.
-
-2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
-	* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
-	the function, temporarily point the debug interface to the null one.
-
-2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
-
-	* dwarf2out.c (round_up_to_align): New static function.
-	(field_byte_offset): Use it to round the offset.
-
-2007-02-12  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/alpha.md (bswapsi2, bswapdi2): New.
-	(inswl_const): Export.
-
-2007-02-12  Richard Henderson  <rth@redhat.com>
-
-	* calls.c (emit_library_call_value_1): If PROMOTE_MODE modifed the
-	result mode of the libcall, convert back to outmode.
-
-2007-02-12  Roger Sayle  <roger@eyesopen.com>
-
-	* config/i386/i386.md (*bswapdi2_rex): Renamed from bswapdi2.
-	(bswapdi2): New define_expand to implement 32-bit implementation.
-
-2007-02-12  Nick Clifton  <nickc@redhat.com>
-
-	* doc/invoke.texi (Overall Options): Document --help=.
-	* gcc.c (target_help_flag): Rename to print_subprocess_flag.
-	(cc1_options): Pass --help= on to cc1.
-	(display_help): Add description of --help=.
-	(process_command): Add code to handle --help=.  Allow translated
-	--help and --target-help switches to be passed on to compiler
-	sub-process.
-	(main): Remove unused if statement.
-	* opts.c (columns): Remove.
-	(LEFT_COLUMN): Define.
-	(wrap_help): Add columns argument.
-	(print_filtered_help): Change parameters to be an include bitmask,
-	an exclude bitmask, an any bitmask and the column width.  Move the
-	code to display the params list here.  Add code to display the
-	status of options rather than their descriptions if the quiet flag
-	is not active.
-	(print_specific_help): Change parameters to be an include bitmask,
-	an exclude bitmask and an any bitmask.  Move code to look up the
-	column width here.  Decide upon the title for an options listing.
-	(common_handle_options): Add code to handle --help=.  Adapt code
-	for --help and --target-help to use the revised form of the
-	print_specific_help function.
-	(print_help): Delete.
-	(print_param_help): Delete.
-	(print_switch): Delete.
-	* opts.h (cl_lang_count): Add prototype.
-	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS,
-	CL_MAX_OPTION_CLASS): New defines.
-	* optc-gen.awk: Add construction of cl_lang_count.
-	* c.opt: Add Warning attribute to warning options and Optimization
-	attribute to optimization options.
-	* common.opt: Likewise.
-	Add --help=.
-	Add -fhelp and -ftarget-help as aliases for the transformed --help
-	and --target-help options.
-	* opt-functions.awk: Add code to handle Warning and Optimization
-	attributes.
-
-2007-02-12  Richard Henderson  <rth@redhat.com>
-
-	* config/alpha/constraints.md: New file.
-	* config/alpha/alpha.c: Include tm-constrs.h.
-	(alpha_const_ok_for_letter_p, alpha_const_double_ok_for_letter_p,
-	alpha_extra_constraint): Remove.
-	(alpha_emit_conditional_branch): Use satisfies_constraint_*.
-	* config/alpha/alpha-protos.h: Update.
-	* config/alpha/alpha.h (REG_CLASS_FROM_LETTER): Remove.
-	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Remove.
-	(EXTRA_CONSTRAINT): Remove.
-	* config/alpha/alpha.md: Include constraints.md.
-	(adddi splitter): Use satisfies_constraint_*.
-	* config/alpha/predicates.md (add_operand): Likewise.
-	(sext_add_operand, addition_operation): Likewise.
-
-2007-02-12  Dorit Nuzman  <dorit@il.ibm.com>
-
-	PR tree-optimization/29145
-	* tree-data-ref.c (base_addr_differ_p): Make us more conservative
-	in our handling of restrict qualified pointers.
-
-2007-02-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/7651
-	* doc/invoke.texi (Wunused-value): Update description.
-	(Wextra): Delete item.
-	* opts.c (set_Wextra): Don't use the value of Wextra to set the
-	value of Wunused-value.
-	* c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
-	(c_finish_stmt_expr): Don't check extra_warnings.
-	(emit_side_effect_warnings): The caller is responsible to check
-	warn_unused_value.
-
-2007-02-11  Roger Sayle  <roger@eyesopen.com>
-	    Matt Thomas  <matt@3am-software.com>
-
-	* simplify-rtx.c (simplify_relational_operation_1): Correct typo.
-
-2007-02-11  Roger Sayle  <roger@eyesopen.com>
-
-	* simplify-rtx.c (simplify_relational_operation_1): Optimize
-	comparisons of POPCOUNT against zero.
-	(simplify_const_relational_operation): Likewise.
-
-2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* doc/invoke.texi (Wextra): Delete outdated paragraph.
-
-2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* dwarf2out.c (root_type): Delete unused function.
-
-2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* genattrtab.c (contained_in_p): Delete unused function.
-	(write_expr_attr_cache): Likewise.
-
-2007-02-11  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (cgraph_edge_badness): Add "else" missing in the
-	previous patch.
-
-2007-02-11  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
-	to add the REG_EQ* note.
-	* see.c (see_merge_one_use_extension): Likewise.
-	* local-alloc.c (update_equiv_regs): Likewise.  Also don't
-	turn REG_EQUAL notes into REG_EQUIV notes if the target
-	register may have more than one set.
-	* function.c (assign_parm_setup_reg): Use set_unique_reg_note.
-	* gcse.c (try_replace_reg): Likewise.
-	* alias.c (init_alias_analysis): Use find_reg_equal_equiv_note.
-	* calls.c (fixup_tail_calls): Likewise.  Abort if there is
-	more than one REG_EQUIV note.
-	* reload1.c (gen_reload): Use set_unique_reg_note.
-
-2007-02-11  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Define.
-	(ix86_builtin_conversion): New function.
-
-2007-02-06  Mark Mitchell  <mark@codesourcery.com>
-
-	PR target/29487
-	* tree.h (DECL_REPLACEABLE_P): New macro.
-	* except.c (set_nothrow_function_flags): Likewise.
-
-2007-02-11  Tehila Meyzels  <tehila@il.ibm.com>
-	    Ira Rosen  <irar@il.ibm.com>
-	    Dorit Nuzman  <dorit@il.ibm.com>
-
-	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
-	* targhooks.c (default_builtin_vectorized_conversion): New.
-	* targhooks.h (default_builtin_vectorized_function): New declaration.
-	* target.h (struct vectorize): Add builtin_conversion field.
-	* tree-vectorizer.h (type_conversion_vec_info_type): New enum
-	stmt_vec_info_type value.
-	(vectorizable_conversion): New declaration.
-	* tree-vect-analyze.c (vect_analyze_operations): Add
-	vectorizable_conversion call.
-	* target-def.h (TARGET_VECTORIZE_BUILTIN_CONVERSION): New.
-	* tree-vect-transform.c (vectorizable_conversion): New function.
-	(vect_transform_stmt): Add case for type_conversion_vec_info_type.
-	* tree-vect-generic.c (expand_vector_operations_1): Consider correct
-	mode.
-	* config/rs6000/rs6000.c (rs6000_builtin_conversion): New.
-	(TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined.
-	(rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX
-	or ALTIVEC_BUILTIN_VCFSX.
-
-2007-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	PR target/30634
-	* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
-	CONST_DOUBLE and operand 0 is a hard register.
-	(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
-	memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
-	is a hard floating-point register.
-
-2007-02-10  Richard Henderson  <rth@redhat.com>
-	    Jakub Jelinek  <jakub@redhat.com>
-	    Alexandre Oliva  <aoliva@redhat.com>
-
-	* Makefile.in (libgcc-support, libgcc.mvars): 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.
-	* 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.
-	* varpool.c (decide_is_variable_needed): Look at force_output.
-	Recurse for emulated tls.
-	(cgraph_varpool_remove_unreferenced_decls): Remove checks redundant
-	with decide_is_variable_needed.
-	* emutls.c: New file.
-	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
-	tls_object for real tls.
-
-2007-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR rtl-optimization/29599
-	* reload1.c (eliminate_regs_in_insn): Take the destination
-	mode into account when computing the offset.
-
-2007-02-09  Stuart Hastings  <stuart@apple.com>
-	    Richard Henderson  <rth@redhat.com>
-
-	* config/i386/i386.h (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
-	* config/i386/darwin.h: (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
-	* config/i386/i386.md (fixuns_trunc<mode>si2, fixuns_truncsfhi2,
-	fixuns_truncdfhi2): New.
-	(fix_truncsfdi_sse): Call ix86_expand_convert_sign_didf_sse.
-	(floatunsdidf2): Call ix86_expand_convert_uns_didf_sse.
-	(floatunssisf2): Add call to ix86_expand_convert_uns_sisf_sse.
-	(floatunssidf2): Allow nonimmediate source.
-	* config/i386/sse.md (movdi_to_sse): New.
-	(vec_concatv2di): Drop '*'.
-	* config/i386/i386-protos.h (ix86_expand_convert_uns_si_sse,
-	ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
-	ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse):
-	New.
-	* config/i386/i386.c (ix86_expand_convert_uns_si_sse,
-	ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
-	ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse,
-	ix86_build_const_vector, ix86_expand_vector_init_one_nonzero): New.
-	(ix86_build_signbit_mask): Fix decl of v, refactor to call
-	ix86_build_const_vector.
-	(x86_emit_floatuns): Rewrite.
-
-2007-02-10  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* genautomata.c (longest_path_length): Delete unused function.
-	(struct state): Delete unused longest_path_length.
-	(UNDEFINED_LONGEST_PATH_LENGTH): Delete unused macro.
-	(get_free_state): Delete unused.
-
-2007-02-09  Jan Hubicka  <jh@suse.cz>
-
-	* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30.
-	* doc/invoke.texi (inline-unit-growth): Update default value.
-
-	* Makefile.in (passes.o, ipa-inline.o): Add dependencies.
-	* cgraphbuild.c (build_cgraph_edges): Compute frequencies.
-	(rebuild_cgraph_edges): Likewise.
-	* cgraph.c (cgraph_set_call_stmt): Add new argument frequency.
-	(dump_cgraph_node): Dump frequencies.
-	(cgraph_clone_edge): Add frequency scales.
-	(cgraph_clone_node): Add freuqnecy.
-	* cgraph.h (cgraph_edge): Add freuqnecy argument.
-	(CGRAPH_FREQ_BASE, CGRAPH_FREQ_MAX): New constants.
-	(cgraph_create_edge, cgraph_clone_edge, cgraph_clone_node): Update.
-	* tree-pass.h (TODO_rebuild_frequencies): New constant.
-	* cgraphunit.c (verify_cgraph_node): Verify frequencies.
-	(cgraph_copy_node_for_versioning): Update call of cgraph_clone_edge.
-	(save_inline_function_body): Likewise.
-	* ipa-inline.c: inluce rtl.h
-	(cgraph_clone_inlined_nods): Update call of cgraph_clone_node.
-	(cgraph_edge_badness): Use frequencies.
-	(cgraph_decide_recursive_inlining): Update clonning.
-	(cgraph_decide_inlining_of_small_function): Dump frequency.
-	* predict.c (estimate_bb_frequencies): Export.
-	* predict.h (estimate_bb_frequencies): Declare.
-	* tree-inline.c (copy_bb): Watch overflows.
-	(expand_call_inline): Update call of cgraph_create_edge.
-	(optimize_inline_calls): Use TODO flags to update frequnecies.
-	* passes.h: Include predict.h
-	(init_optimization_passes): Move profile ahead.
-	(execute_function_todo): Handle TODO_rebuild_frequencies.
-
-2007-02-09  Roger Sayle  <roger@eyesopen.com>
-
-	* config/alpha/alpha.c (emit_insxl): Force the first operand of
-	the insbl or inswl pattern into a register.
-
-2007-02-09  Roger Sayle  <roger@eyesopen.com>
-
-	* config/ia64/ia64.md (bswapdi2): New define_insn.
-
-2007-02-09  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/constraints.md (Ym): New constraint.
-	* config/i386/i386.md (movsi_1): Change Y2 to Yi constraints.
-	(movdi_1_rex64): Split sse and xmm general register moves from
-	memory move alternatives.  Use conditional register constraints.
-	(movsf_1, movdf_integer): Likewise.
-	(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
-	(movdf_integer_rex64): New.
-	(pushsf_rex64): Fix output constraints.
-	* config/i386/sse.md (sse2_loadld): Split rm alternative, use Yi.
-	(sse2_stored): Likewise.
-	(sse2_storeq_rex64): New.
-	* config/i386/i386.c (x86_inter_unit_moves): Enable for not
-	amd and not generic.
-	(ix86_secondary_memory_needed): Don't bypass TARGET_INTER_UNIT_MOVES
-	for optimize_size.  Remove SF/DFmode hack.
-
-2007-02-09  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
-
-	* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.
-	(bit_SSE4a): New.
-
-2007-02-09  Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (m68010-*-netbsdelf*, m68k*-*-netbsdelf*)
-	(m68k*-*-openbsd*, m68k-*-linux*): Set default_cf_cpu.
-	(m68k-*-aout*, m68k-*-coff*, m68k-*-uclinux*, m68k-*-rtems*): Add
-	m68k/t-mlib to tmake_file.
-	(m68020-*-elf*, m68k-*-elf*): Likewise.  Add t-m68kbare as well.
-	(m68k*-*-*): Use --with-arch to pick a default for --with-cpu.
-	(m680[012]0-*-*, m68k*-*-*): Add support for --with-arch.
-	Allow it to be cf or m68k.  Set m68k_arch_family.  If that
-	variable is not empty, add t-$m68k_arch_family to tmake_file.
-	Add t-mlibs to tmake_file.
-	* doc/install.texi: Document --with-arch=m68k and --with-arch=cf.
-	* config/m68k/t-cf: New file.
-	* config/m68k/t-m68k: Likewise.
-	* config/m68k/t-mlibs: Likewise.
-	* config/m68k/t-m68kbare (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
-	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
-	(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
-	* config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
-	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS, LIBGCC, INSTALL_LIBGCC):
-	Delete.
-	* config/m68k/t-openbsd (MULTILIB_OPTIONS, LIBGCC): Delete.
-	(INSTALL_LIBGCC): Delete.
-	(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
-	* config/m68k/t-rtems (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
-	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
-	(M68K_MLIB_CPU): Define.
-	* config/m68k/t-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
-	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
-	(M68K_MLIB_CPU, M68K_MLIB_OPTIONS, M68K_MLIB_DIRNAMES): Define.
-
-2007-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
-	    Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/23361
-	* fold-const.c (fold_comparison): Handle obfuscated comparisons
-	against INT_MIN/INT_MAX.
-	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump
-	file if a loop is removed.
-
-2007-02-09  Joseph Myers  <joseph@codesourcery.com>
-
-	* calls.c (store_one_arg): Pass correct alignment to
-	emit_push_insn for non-BLKmode values.
-	* expr.c (emit_push_insn): If STRICT_ALIGNMENT, copy to an
-	unaligned stack slot via a suitably aligned slot.
-
-2007-02-08  DJ Delorie  <dj@redhat.com>
-
-	* config/m32c/m32c.c (m32c_unpend_compare): Add default to silence
-	warnings.
-	(legal_subregs): Use unsigned char, make const.
-	(m32c_illegal_subreg_p): Use ARRAY_SIZE.  Delete unused variables.
-
-2007-02-08  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/lib1funcs.asm (RETLDM): Pop directly into PC when no
-	special interworking needed.
-
-2007-02-08  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
-	conditional to __SSE2__.
-	(Entries below should have been added to first ChangeLog
-	entry for amdfam10 dated 2007-02-05)
-	* config/i386/emmintrin.h: Generate #error if __SSE2__ is not
-	defined.
-	* config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
-	defined.
-	* config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
-	defined.
-
-2007-02-08  DJ Delorie  <dj@redhat.com>
-
-	* config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New.
-	* config/m32c/m32c.c (legal_subregs): New.
-	(m32c_illegal_subreg_p): New.
-	* config/m32c/predicates.md (m32c_any_operand): Use it to reject
-	unsupported subregs of hard regs.
-
-2007-02-08  Jan Hubicka  <jh@suse.cz>
-
-	* tree-cfg.c (bsi_replace): Shortcut when replacing the statement with
-	the same one; always update histograms.
-
-2007-02-08  Diego Novillo  <dnovillo@redhat.com>
-
-	* passes.c (init_optimization_passes): Tidy comment.
-
-2007-02-08  Roger Sayle  <roger@eyesopen.com>
-
-	* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
-	strip zero_extend, bswap and rotates from POCOUNT's argument.
-	<PARITY>: Likewise, we can strip not, bswap, sign_extend,
-	zero_extend and rotates from PARITY's argument.
-	<BSWAP>: A byte-swap followed by a byte-swap is an identity.
-	(simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
-	of an integer constant at compile-time.
-
-2007-02-08  Diego Novillo  <dnovillo@redhat.com>
-
-	PR 30562
-	* tree-flow.h (struct var_ann_d): Remove field 'is_used'.
-	Update all users.
-	* tree-ssa-alias.c (compute_is_aliased): Remove.  Update all
-	users.
-	(init_alias_info):
-	* tree-ssa-live.c (remove_unused_locals): Do not remove
-	TREE_ADDRESSABLE variables.
-	* tree-ssa-structalias.c (compute_points_to_sets): Tidy.
-	* tree-ssa-operands.c (add_virtual_operand): Remove argument
-	FOR_CLOBBER.  Update all users.
-	If VAR has an associated alias set, add a virtual operand for
-	it if no alias is found to conflict with the memory reference.
-
-2007-02-07  Jan Hubicka  <jh@suse.cz>
-	    Robert Kidd <rkidd@crhc.uiuc.edu>
-
-	* value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
-
-2007-02-07  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (simple_move): Reject PARTIAL_INT modes.
-
-2007-02-07  Roger Sayle  <roger@eyesopen.com>
-
-	* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
-	parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
-	tablejumpdi, movsi_to_cr_one): Remove constraints from
-	define_expand's match_operands.
-
-2007-02-07  Roger Sayle  <roger@eyesopen.com>
-
-	* global.c (compute_regsets): Move declatation of "i" inside of
-	#ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure.
-
-2007-02-07  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c++/30703
-	* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
-	of INDIRECT_REF <RESULT_DECL>.
-
-	* config/i386/i386.c (override_options): Set PTA_SSSE3 for core2.
-
-2007-02-06  J"orn Rennecke  <joern.rennecke@arc.com>
-	    Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	PR target/29746
-	* config/sh/sh.c (expand_cbranchdi4): Use scratch register
-	properly.
-	(sh_initialize_trampoline): Add parentheses to avoid a warning.
-
-2007-02-06  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* doc/loop.texi: Document possibility not to perform disambiguation
-	of loops with multiple latches.
-	* cfgloopmanip.c (alp_enum_p): Removed.
-	(add_loop): Handle subloops.  Use get_loop_body_with_size.
-	(create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
-	* cfghooks.c (redirect_edge_and_branch_force): Set dominator for
-	the new forwarder block.
-	(make_forwarder_block): Only call new_bb_cbk if it is not NULL.
-	Handle the case latch is NULL.
-	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg
-	modifications when marking loop exits.
-	* ifcvt.c (if_convert): Ditto.  Mark loop exits even if cfg cannot
-	be modified.
-	* loop-init.c (loop_optimizer_init): Do not modify cfg.  Call
-	disambiguate_loops_with_multiple_latches.
-	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
-	before fix_loop_structure.
-	* cfgloop.c: Include pointer-set.h and output.h.
-	(canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
-	update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
-	(get_loop_latch_edges, find_subloop_latch_edge_by_profile,
-	find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
-	mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
-	disambiguate_multiple_latches, get_loop_body_with_size,
-	disambiguate_loops_with_multiple_latches): New functions.
-	(flow_loop_dump): Dump multiple latch edges.
-	(flow_loop_nodes_find): Handle loops with multiple latches.
-	(flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
-	(glb_enum_p): Modified.
-	(get_loop_body): Use get_loop_body_with_size.
-	* cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
-	(AVOID_CFG_MODIFICATIONS): New constant.
-	(disambiguate_loops_with_multiple_latches, add_loop,
-	get_loop_body_with_size): Declare.
-	* Makefile.in (cfgloop.o): Add pointer-set.h and output.h.
-
-2007-02-06  Seongbae Park <seongbae.park@gmail.com>
-
-	PR inline-asm/28686
-	* global.c (compute_regsets): New function.
-	(global_alloc): Refactored ELIMINABLE_REGSET
-	and NO_GLOBAL_ALLOC_REGS computation out.
-	(rest_of_handle_global_alloc): Call compute_regsets()
-	for non-optimizing case.
-
-2007-02-06  Richard Henderson  <rth@redhat.com>
-
-	* config/i386/constraints.md (Y2): Rename from Y.
-	(Yi): New constraint.
-	* config/i386/i386.md (movsi_1, movdi_2, pushdf_nointeger,
-	pushdf_integer, movdf_nointeger, movdf_integer, zero_extendsidi2_32,
-	zero_extendsidi2_rex64, truncxfdf2_mixed): Change Y constraints to Y2.
-	(extendsfdf2_mixed, extendsfdf2_sse, truncdfsf_fast_mixed,
-	truncdfsf_fast_sse, truncdfsf_mixed, fix_truncdfdi_sse,
-	fix_truncdfsi_sse, floatsidf2_mixed, floatsidf2_sse,
-	floatdidf2_mixed, floatdidf2_sse, absnegdf2_mixed,
-	absnegdf2_sse, sse_setccdf, fop_df_comm_mixed, fop_df_comm_sse,
-	fop_df_1_mixed, fop_df_1_sse): Change Y constraints to x.
-	* config/i386/mmx.md (mov<MMXMODEI>_internal_rex64,
-	mov<MMXMODEI>_internal, movv2sf_internal_rex64, movv2sf_internal,
-	vec_extractv2si_1): Change Y constraints to Y2.
-	* config/i386/sse.md (vec_setv4sf_0, vec_concatv2df, vec_dupv4si,
-	vec_dupv2di, sse2_concatv2si, vec_concatv4si_1, vec_concatv2di):
-	Change Y constraints to Y2.
-	(sse2_loadld): Change Y constraints to x.
-
-2007-02-06  Roger Sayle  <roger@eyesopen.com>
-
-	* config/rs6000/rs6000.md (popcount<mode>2): Rewrite.
-	(parity<mode>2): New define_expand using rs6000_emit_parity.
-	* config/rs6000/rs6000.c (rs6000_emit_popcount,
-	rs6000_emit_parity): New functions.
-	* config/rs6000/rs6000-protos.h (rs6000_emit_popcount,
-	rs6000_emit_parity): Prototype here.
-
-2007-02-06  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (simple_move_operand): Reject CONST.
-	(resolve_clobber): Call validate_change rather than directly
-	assigning to XEXP (pat, 0).
-
-2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
-
-	* Makefile.in (tree-ssa-loop-ivopts.o): Add pointer-set.h dependency.
-	(tree-ssa-reassoc.o): Add pointer-set.h dependency.
-	(tree-cfg.o): Remove hashtab.h dependency.
-
-	* tree-ssa-loop-ivopts.c: Include pointer-set.h.
-	(struct ivopts_data): Change niters to pointer_map_t.
-	(struct nfe_cache_elt, nfe_hash, nfe_eq): Delete.
-	(niter_for_exit): Create pointer_map on demand.  Change for
-	pointer_map API.
-	(tree_ssa_iv_optimize_init): Initialize data->niters to NULL.
-	(free_loop_data): Destroy data->niters if created and reset field.
-	(tree_ssa_iv_optimize_finalize): Don't delete data->niters here.
-	(tree_ssa_iv_optimize_loop): Check for presence of stale data.
-
-	* tree-ssa-reassoc.c: Include pointer-set.h.
-	(bb_rank): Change to long *.
-	(operand_rank): Change to pointer_map_t.
-	(find_operand_rank): Return long, -1 if not found.  Declare as inline.
-	(insert_operand_rank): Accept long.
-	(operand_entry_hash, operand_entry_eq): Remove.
-	(get_rank): Return long.  Adjust for changes above.
-	(init_reassoc): Change rank type to long.  Adjust creation of bb_rank
-	and operand_rank.
-	(fini_reassoc): Delete operand_rank with pointer_map_destroy.
-
-	* tree-ssa-structalias.c (vi_for_tree): Change to pointer_map.
-	(struct tree_vi, tree_vi_t, tree_vi_hash, tree_vi_eq): Delete.
-	(insert_vi_for_tree): Rewrite for pointer_map API.  Assert argument
-	is not NULL.
-	(lookup_vi_for_tree): Rewrite for pointer_map API.  Return varinfo_t
-	directly since it cannot be NULL.
-	(get_vi_for_tree): Rewrite for pointer_map API.
-	(find_what_p_points_to): Adjust for change to lookup_vi_for_tree.
-	(init_alias_vars): Create vi_for_tree as pointer_map.
-	(delete_points_to_sets): Delete vi_for_tree using pointer_map_destroy.
-
-	* tree-cfg.c: Don't include hashtab.h.
-	(edge_to_cases): Declare as pointer_map.
-	(struct edge_to_cases_elt, edge_to_cases_hash, edge_to_cases_eq):
-	Delete.
-	(edge_to_cases_cleanup): Rewrite as pointer_map_traverse callback.
-	(start_recording_case_labels): Create edge_to_cases as pointer_map.
-	(end_recoding_case_labels): Cleanup edge_to_cases manually before
-	destroying it.
-	(record_switch_edge): Delete.
-	(get_cases_for_edge): Adjust for pointer_map API, inline
-	record_switch_edge (rewritten for new API), remove goto.
-
-2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
-
-	* Makefile.in (tree-nested.o): Add pointer-set.h dependency.
-	* tree-nested.c: Include pointer-set.h.
-	(var_map_elt, var_map_eq, var_map_hash): Delete.
-	(struct nesting_info): Remove GTY marker.  Change the two htab_t's
-	to pointer_map_t's.
-	(nesting_info_bitmap_obstack): New.
-	(lookup_field_for_decl): Adjust for pointer_map API.
-	(lookup_tramp_for_decl): Adjust for pointer_map API.
-	(get_nonlocal_debug_decl): Adjust for pointer_map API.
-	(get_local_debug_decl): Adjust for pointer_map API.
-	(convert_nl_goto_reference): Adjust for pointer_map API.
-	(convert_nl_goto_receiver): Adjust for pointer_map API.
-	(create_nesting_tree): Create outside GGC space.  Create bitmap on
-	the new obstack.  Create field_map and var_map as pointer_maps.
-	(free_nesting_tree): Adjust for changes to create_nesting_tree.
-	(root): Delete.
-	(lower_nested_functions): Move root here, no need to NULL it.
-	Initialize and release the obstack.
-
-2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
-
-	* tree.c (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p):
-	Remove prototypes and make them non-static.
-	(struct tree_int_map): Remove.
-	* tree.h (struct tree_int_map): Move here, turning TO into an
-	unsigned int.
-	(tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): Declare.
-
-	* tree.h (TREE_COMPLEXITY): Remove.
-	(struct tree_exp): Remove complexity field.
-	* tree.c (build1_stat): Don't set it.
-
-2007-02-06  Dorit Nuzman  <dorit@il.ibm.com>
-	    Victor Kaplansky  <victork@il.ibm.com>
-
-	* tree-vectorizer.c (vect_is_simple_use): Support induction.
-	(vect_is_simple_reduction): Support reduction with induction as
-	one of the operands.
-	(vect_is_simple_iv_evolution): Fix formatting.
-	* tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix
-	formatting.  Don't mark induction phis for vectorization.
-	(vect_analyze_scalar_cycles): Analyze all inductions, then reductions.
-	* tree-vect-transform.c (get_initial_def_for_induction): New function.
-	(vect_get_vec_def_for_operand): Support induction.
-	(vect_get_vec_def_for_stmt_copy): Fix formatting and add check for
-	induction case.
-	(vectorizable_reduction): Support reduction with induction as one of
-	the operands.
-	(vectorizable_type_demotion): Use def-type of stmt argument rather
-	than dummy def-type.
-
-	* tree-ssa-loop.c (gate_scev_const_prop): Return the value of
-	flag_tree_scev_cprop.
-	* common.opt (tree-scev-cprop): New flag.
-
-	* tree-vect-transform.c (vect_create_destination_var): Use 'kind' in
-	call to vect_get_new_vect_var.
-
-2007-02-06  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Check that
-	vectype is not NULL.
-	(vect_pattern_recog_1): Likewise.
-
-2007-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* fold-const.c (negate_expr_p): Handle CONJ_EXPR.
-	(fold_negate_expr): Likewise.
-
-2007-02-05  Alexandre Oliva  <aoliva@redhat.com>
-
-	PR debug/30189
-	* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
-	even if cv-qualification is the same.
-
-2007-02-05  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
-	__enable_execute_stack on completion.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (athlon_fldxf_k8, athlon_fld_k8,
-	athlon_fstxf_k8, athlon_fst_k8, athlon_fist, athlon_fmov,
-	athlon_fadd_load, athlon_fadd_load_k8, athlon_fadd, athlon_fmul,
-	athlon_fmul_load, athlon_fmul_load_k8, athlon_fsgn,
-	athlon_fdiv_load, athlon_fdiv_load_k8, athlon_fdiv_k8,
-	athlon_fpspc_load, athlon_fpspc, athlon_fcmov_load,
-	athlon_fcmov_load_k8, athlon_fcmov_k8, athlon_fcomi_load_k8,
-	athlon_fcomi, athlon_fcom_load_k8, athlon_fcom): Added amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/i386.md (x86_sahf_1, cmpfp_i_mixed, cmpfp_i_sse,
-	cmpfp_i_i387, cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387,
-	swapsi, swaphi_1, swapqi_1, swapdi_rex64, fix_truncsfdi_sse,
-	fix_truncdfdi_sse, fix_truncsfsi_sse, fix_truncdfsi_sse,
-	x86_fldcw_1, floatsisf2_mixed, floatsisf2_sse, floatdisf2_mixed,
-	floatdisf2_sse, floatsidf2_mixed, floatsidf2_sse,
-	floatdidf2_mixed, floatdidf2_sse, muldi3_1_rex64, mulsi3_1,
-	mulsi3_1_zext, mulhi3_1, mulqi3_1, umulqihi3_1, mulqihi3_insn,
-	umulditi3_insn, umulsidi3_insn, mulditi3_insn, mulsidi3_insn,
-	umuldi3_highpart_rex64, umulsi3_highpart_insn,
-	umulsi3_highpart_zext, smuldi3_highpart_rex64,
-	smulsi3_highpart_insn, smulsi3_highpart_zext, x86_64_shld,
-	x86_shld_1, x86_64_shrd, sqrtsf2_mixed, sqrtsf2_sse,
-	sqrtsf2_i387, sqrtdf2_mixed, sqrtdf2_sse, sqrtdf2_i387,
-	sqrtextendsfdf2_i387, sqrtxf2, sqrtextendsfxf2_i387,
-	sqrtextenddfxf2_i387): Added amdfam10_decode.
-
-	* config/i386/athlon.md (athlon_idirect_amdfam10,
-	athlon_ivector_amdfam10, athlon_idirect_load_amdfam10,
-	athlon_ivector_load_amdfam10, athlon_idirect_both_amdfam10,
-	athlon_ivector_both_amdfam10, athlon_idirect_store_amdfam10,
-	athlon_ivector_store_amdfam10): New define_insn_reservation.
-	(athlon_idirect_loadmov, athlon_idirect_movstore): Added
-	amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (athlon_call_amdfam10,
-	athlon_pop_amdfam10, athlon_lea_amdfam10): New
-	define_insn_reservation.
-	(athlon_branch, athlon_push, athlon_leave_k8, athlon_imul_k8,
-	athlon_imul_k8_DI, athlon_imul_mem_k8, athlon_imul_mem_k8_DI,
-	athlon_idiv, athlon_idiv_mem, athlon_str): Added amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (athlon_sseld_amdfam10,
-	athlon_mmxld_amdfam10, athlon_ssest_amdfam10,
-	athlon_mmxssest_short_amdfam10): New define_insn_reservation.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (athlon_sseins_amdfam10): New
-	define_insn_reservation.
-	* config/i386/i386.md (sseins): Added sseins to define_attr type
-	and define_attr unit.
-	* config/i386/sse.md: Set type attribute to sseins for insertq
-	and insertqi.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (sselog_load_amdfam10, sselog_amdfam10,
-	ssecmpvector_load_amdfam10, ssecmpvector_amdfam10,
-	ssecomi_load_amdfam10, ssecomi_amdfam10,
-	sseaddvector_load_amdfam10, sseaddvector_amdfam10): New
-	define_insn_reservation.
-	(ssecmp_load_k8, ssecmp, sseadd_load_k8, seadd): Added amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (cvtss2sd_load_amdfam10,
-	cvtss2sd_amdfam10, cvtps2pd_load_amdfam10, cvtps2pd_amdfam10,
-	cvtsi2sd_load_amdfam10, cvtsi2ss_load_amdfam10,
-	cvtsi2sd_amdfam10, cvtsi2ss_amdfam10, cvtsd2ss_load_amdfam10,
-	cvtsd2ss_amdfam10, cvtpd2ps_load_amdfam10, cvtpd2ps_amdfam10,
-	cvtsX2si_load_amdfam10, cvtsX2si_amdfam10): New
-	define_insn_reservation.
-
-	* config/i386/sse.md (cvtsi2ss, cvtsi2ssq, cvtss2si,
-	cvtss2siq, cvttss2si, cvttss2siq, cvtsi2sd, cvtsi2sdq,
-	cvtsd2si, cvtsd2siq, cvttsd2si, cvttsd2siq,
-	cvtpd2dq, cvttpd2dq, cvtsd2ss, cvtss2sd,
-	cvtpd2ps, cvtps2pd): Added amdfam10_decode attribute.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/athlon.md (athlon_ssedivvector_amdfam10,
-	athlon_ssedivvector_load_amdfam10, athlon_ssemulvector_amdfam10,
-	athlon_ssemulvector_load_amdfam10): New define_insn_reservation.
-	(athlon_ssediv, athlon_ssediv_load_k8, athlon_ssemul,
-	athlon_ssemul_load_k8): Added amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/i386.h (TARGET_SSE_UNALIGNED_MOVE_OPTIMAL): New macro.
-	(x86_sse_unaligned_move_optimal): New variable.
-
-	* config/i386/i386.c (x86_sse_unaligned_move_optimal): Enable for
-	m_AMDFAM10.
-	(ix86_expand_vector_move_misalign): Add code to generate movupd/movups
-	for unaligned vector SSE double/single precision loads for AMDFAM10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/i386.h (TARGET_AMDFAM10): New macro.
-	(TARGET_CPU_CPP_BUILTINS): Add code for amdfam10.
-	Define TARGET_CPU_DEFAULT_amdfam10.
-	(TARGET_CPU_DEFAULT_NAMES): Add amdfam10.
-	(processor_type): Add PROCESSOR_AMDFAM10.
-
-	* config/i386/i386.md: Add amdfam10 as a new cpu attribute to match
-	processor_type in config/i386/i386.h.
-	Enable imul peepholes for TARGET_AMDFAM10.
-
-	* config.gcc: Add support for --with-cpu option for amdfam10.
-
-	* config/i386/i386.c (amdfam10_cost): New variable.
-	(m_AMDFAM10): New macro.
-	(m_ATHLON_K8_AMDFAM10): New macro.
-	(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
-	x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_simode_fiop,
-	x86_promote_QImode, x86_integer_DFmode_moves,
-	x86_partial_reg_dependency, x86_memory_mismatch_stall,
-	x86_accumulate_outgoing_args, x86_arch_always_fancy_math_387,
-	x86_sse_partial_reg_dependency, x86_sse_typeless_stores,
-	x86_use_ffreep, x86_use_incdec, x86_four_jump_limit,
-	x86_schedule, x86_use_bt, x86_cmpxchg16b, x86_pad_returns):
-	Enable/disable for amdfam10.
-	(override_options): Add amdfam10_cost to processor_target_table.
-	Set up PROCESSOR_AMDFAM10 for amdfam10 entry in
-	processor_alias_table.
-	(ix86_issue_rate): Add PROCESSOR_AMDFAM10.
-	(ix86_adjust_cost): Add code for amdfam10.
-
-2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
-
-	* config/i386/i386.opt: Add new Advanced Bit Manipulation (-mabm)
-	instruction set feature flag. Add new (-mpopcnt) flag for popcnt
-	instruction. Add new SSE4A (-msse4a) instruction set feature flag.
-	* config/i386/i386.h: Add builtin definition for SSE4A.
-	* config/i386/i386.md: Add support for ABM instructions
-	(popcnt and lzcnt).
-	* config/i386/sse.md: Add support for SSE4A instructions
-	(movntss, movntsd, extrq, insertq).
-	* config/i386/i386.c: Add support for ABM and SSE4A builtins.
-	Add -march=amdfam10 flag.
-	* config/i386/ammintrin.h: Add support for SSE4A intrinsics.
-	* doc/invoke.texi: Add documentation on flags for sse4a, abm, popcnt
-	and amdfam10.
-	* doc/extend.texi: Add documentation for SSE4A builtins.
-
-2007-02-05  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
-
-2007-02-05  Richard Guenther  <rguenther@suse.de>
-
-	* tree-vectorizer.h (vectorizable_function): Add argument type
-	argument, change return type.
-	* tree-vect-patterns.c (vect_recog_pow_pattern): Adjust caller.
-	* tree-vect-transform.c (vectorizable_function): Handle extra
-	argument, return vectorized function decl.
-	(build_vectorized_function_call): Remove.
-	(vectorizable_call): Handle calls with result and argument types
-	differing.  Handle loop vectorization factor correctly.
-	* targhooks.c (default_builtin_vectorized_function): Adjust for
-	extra argument.
-	* targhooks.h (default_builtin_vectorized_function): Likewise.
-	* target.h (builtin_vectorized_function): Add argument type
-	argument.
-	* config/i386/i386.c (ix86_builtin_vectorized_function): Handle
-	extra argument, allow vectorizing of lrintf.
-	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Adjust
-	documentation of target hook.
-
-2007-02-05  Hans-Peter Nilsson  <hp@axis.com>
-
-	PR target/30665
-	* config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu")
-	("*andhi_clear", andu (casesi+45)): For size-changed operand where
-	memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P.
-
-2007-02-05  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (fold_unary) <REAL_PART>: Test for availability of
-	BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS.
-	<IMAG_PART>: Likewise, check for availability of BUILT_IN_SIN.
-	* builtins.c (fold_builtin_sincos): Check for TARGET_C99_FUNCTIONS
-	before canonicalizing sincos to cexpi.
-	(fold_builtin_cexp): Likewise, for canonicalizing cexp to cexpi.
-
-2007-02-05  Roger Sayle  <roger@eyesopen.com>
-
-	* config/alpha/alpha.c (alpha_add_builtins): New Helper function.
-	Set TREE_READONLY and TREE_NOTHROW directly, not via attributes.
-	(alpha_init_builtins): Use alpha_add_builtins to process tables.
-
-2007-02-05  Roger Sayle  <roger@eyesopen.com>
-
-	* mips-tfile.c (initialize_init_file): Correct endianness test.
-
-2007-02-05  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use
-	the 'y' constraint.
-
-2007-02-05  Richard Sandiford  <richard@codesourcery.com>
-
-	* dwarf2out.c (dwarf2out_frame_debug_expr): Record the register
-	saves in a PARALLEL before the register assignments.
-
-2007-02-05  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require
-	DWARF_FRAME_RETURN_COLUMN to be a general register.
-	* dwarf2out.c (init_return_column_size): New function, split from...
-	(expand_builtin_init_dwarf_reg_sizes): ...here.  Allow both
-	DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN
-	to be nongeneral registers.
-	* config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and
-	integer registers.
-	(DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define.
-	(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
-
-2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.
-
-2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* cfgloopmanip.c (loop_delete_branch_edge): Removed.
-	(remove_path): Use can_remove_branch_p and remove_branch instead
-	of loop_delete_branch_edge.
-	* tree-ssa-loop-manip.c (scale_dominated_blocks_in_loop): New function.
-	(tree_transform_and_unroll_loop): Remove dead branches immediately.
-	Update profile using scale_dominated_blocks_in_loop.
-	* cfghooks.c (can_remove_branch_p, remove_branch): New functions.
-	* cfghooks.h (struct cfg_hooks): Add can_remove_branch_p.
-	(can_remove_branch_p, remove_branch): Declare.
-	* tree-cfg.c (tree_can_remove_branch_p): New function.
-	(tree_cfg_hooks): Add tree_can_remove_branch_p.
-	* cfgrtl.c (rtl_can_remove_branch_p): New function.
-	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add rtl_can_remove_branch_p.
-
-2007-02-05  Jan Hubicka  <jh@suse.cz>
-
-	PR middle-end/30696
-	* ipa-inline.c (cgraph_clone_inlined_nodes): When there are unanalyzed
-	nodes in cgraph, don't remove offline copy of the function.
-
-2007-02-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into
-	vectors might cause maybe_lookup_element_for_expr to be called
-	on non-sra-candidate.
-
-2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/bfin/bfin-modes.def, config/bfin/bfin.c,
-	config/bfin/bfin.md, config/bfin/predicates.md: Follow
-	spelling conventions.
-
-2007-02-04  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/30636
-	* fold-const.c (try_move_mult_to_index): Make sure to not
-	overflow one dimension of a multi-dimensional array access.
-
-2007-02-04  Jan Hubicka  <jh@suse.cz>
-
-	* passes.c (init_optimization_passes): Reindent.
-
-2007-02-04  Jan Hubicka  <jh@suse.cz>
-	    Eric Botcazou  <ebotcazou@adacore.com>
-
-	* tree-optimize.c (has_abnormal_outgoing_edge_p): Move to...
-	(execute_fixup_cfg): Break out the abnormal goto code.
-	* tree-inline.c (has_abnormal_outgoing_edge_p): ...here.
-	(make_nonlocal_label_edges): Move here from execute_fixup_cfg.
-	(optimize_inline_calls): Call make_nonlocal_label_edges.
-
-2007-02-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return
-	true when something was changed.
-	(rename_ssa_copies): When something was changed, do
-	TODO_remove_unused_locals.
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
-	add TODO_remove_unused_locals when instruction was removed.
-
-2007-02-04  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (try_inline): Improve debug output; work on already
-	inline edges too.
-	(cgraph_decide_inlining_incrementally): Indent; improve debug output;
-	call try_inline for already inlined edges too when flattening;
-	inline also functions that make callee growth but overall unit size
-	reduce.
-
-2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m32c/bitops.md, config/m32c/jump.md,
-	config/m32c/m32c.c, config/m32c/m32c.h, config/m32r/m32r.c,
-	config/m32r/m32r.h, config/m32r/m32r.md,
-	config/m32r/predicates.md, config/m68hc11/larith.asm,
-	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
-	config/m68k/m68k.h, config/mcore/mcore.md, config/mips/4k.md,
-	config/mips/mips-protos.h, config/mips/mips.c,
-	config/mips/mips.h, config/mips/mips.md, config/mips/mips16.S,
-	config/mn10300/mn10300.h, config/mn10300/predicates.md,
-	config/mt/mt.c, config/mt/mt.h, config/mt/mt.md: Follow
-	spelling conventions.
-
-	* config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
-	Follow spelling conventions.
-
-2007-02-03  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* c-opts.c (c_common_post_options): If C++0x mode is enabled, don't
-	warn about C++0x compatibility.
-
-2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/h8300/h8300.c, config/h8300/h8300.h,
-	config/h8300/h8300.md: Follow spelling conventions.
-
-2007-02-03  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR middle-end/30667
-	* combine.c (try_combine): Do not substitute source operand
-	with constants wider than 2 * HOST_BITS_PER_WIDE_INT.
-
-2007-02-03  Jan Hubicka  <jh@suse.cz>
-
-	PR gcov-profile/30650
-	* value-prof.c (stringop_block_profile): Fix handling of size counter;
-	do not divide by zero for never executed counters.
-	(tree_find_values_to_profile): Fix counters.
-	* gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments.
-
-2007-02-03  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (simple_move_operand): New static function,
-	broken out of simple_move.  Reject LABEL_REF, SYMBOL_REF, and HIGH
-	operands.
-	(simple_move): Call simple_move_operand.
-	(find_decomposable_subregs): Add special handling of MEMs.
-	(can_decompose_p): Rename from cannot_decompose_p.  Reverse
-	meaning of return value.  If we see a hard register, test whether
-	it can store a word_mode value.  Change all callers.
-
-2007-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.md (addvdi3, addvsi3, subvdi3, subvsi3, negvdi2, negvsi2): New
-	ftrapv insns and expanders.
-	(subdi3): Change define_expand operand 1 to arith11_operand, and
-	operand 2 to reg_or_0_operand.  Change constraints of 64-bit insn
-	pattern to handle reg_or_0 operands.  Revise 32-bit insn pattern to
-	handle 11-bit constants and reg_or_0 operands in operands 1 and 2,
-	respectively.
-
-	PR middle-end/30174
-	* varasm.c (notice_global_symbol): Treat global objects as weak when
-	flag_shlib is true.
-
-2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* emit-rtl.c (dconstpi): Delete.
-	(dconstsqrt2): New.
-	(init_emit_once): Delete dconstpi and init dconstsqrt2.
-	* real.h (dconstpi): Delete.
-	(dconstsqrt2): New.
-	* builtins.c (fold_builtin_cabs): Use dconstsqrt2.
-	(fold_builtin_hypot): Likewise.
-
-2007-02-03  Tom Tromey  <tromey@redhat.com>
-
-	PR driver/30246
-	* gcc.c (cpp_unique_options): Any of -ggdb3, -gstabs3,
-	-gcoff3, -gxcoff3, -gvms3 implies -dD.
-
-2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
-
-	* c-decl.c, config/avr/avr.c, config/avr/avr.h,
-	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
-	config/mn10300/mn10300.c, config/pdp11/pdp11.h,
-	config/rs6000/cell.md, config/rs6000/darwin.h,
-	config/sh/sh.md, config/sh/sh4-300.md, config/spu/spu.c,
-	config/spu/spu.md, cselib.c, expr.c, haifa-sched.c, hwint.h,
-	jump.c, reload.c, sched-deps.c, sched-int.h, tree-inline.c,
-	tree-profile.c, tree-ssa-live.h, tree-vrp.c: Fix comment
-	typos.  Follow spelling conventions.
-	* doc/invoke.texi: Follow spelling conventions.
-
-2007-02-03  Roger Sayle  <roger@eyesopen.com>
-
-	* simplify-rtx.c (simplify_relational_operation_1): Implement some
-	canonicalization transformations that attempt to simplify integer
-	constant comparisons to become comparisons against zero.
-
-2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_cabs): Fold cabs(x+xi) into
-	fabs(x)*sqrt(2).
-	* fold-const.c (fold_binary): Fix comment typos.  Fold complex
-	(x,0)-(0,y) into (x,-y).  Likewise (0,y)-(x,0) into (-x,y).
-
-2007-02-02  Mike Stump  <mrs@apple.com>
-
-	* config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Add.
-	* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
-	(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
-	generate a branch island.
-
-2007-02-02  Bob Wilson  <bob.wilson@acm.org>
-
-	* config/xtensa/xtensa.c (smalloffset_mem_p): Use BASE_REG_P.
-	(xtensa_legitimate_address_p): New.
-	(xtensa_legitimize_address): New.
-	(xtensa_output_addr_const_extra): New.
-	* config/xtensa/xtensa.h (REG_OK_STRICT_FLAG): Define.
-	(BASE_REG_P): New.
-	(REG_OK_FOR_BASE_P): Use BASE_REG_P.
-	(GO_IF_LEGITIMATE_ADDRESS): Move code to xtensa_legitimate_address_p.
-	(LEGITIMIZE_ADDRESS): Move code to xtensa_legitimize_address.
-	(OUTPUT_ADDR_CONST_EXTRA): Move code to xtensa_output_addr_const_extra.
-	* config/xtensa/xtensa-protos.h (xtensa_legitimate_address_p): New.
-	(xtensa_legitimize_address): New.
-	(xtensa_output_addr_const_extra): New.
-
-2007-02-02  Steve Ellcey  <sje@cup.hp.com>
-
-	* config/ia64/ia64.c (ia64_print_operand): Fix compare strings.
-
-2007-02-02  Ian Lance Taylor  <iant@google.com>
-
-	* expmed.c (expand_divmod): Add comment.
-
-2007-02-02  Kazu Hirata  <kazu@codesourcery.com>
-
-	* emit-rtl.c (renumber_insns): Remove.
-	* flags.h: Remove the extern for flag_renumber_insns.
-	* rtl.h: Remove the prototype for renumber_insns.
-	* toplev.c (flag_renumber_insns): Remove.
-
-2007-02-02  Hui-May Chang  <hm.chang@apple.com>
-
-	Revert for x86 darwin:
-	2005-06-19  Uros Bizjak  <uros@kss-loka.si>
-
-	* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
-	code before the following patch under TARGET_MACHO.
-	(ix86_function_value_regno_p): Likewise.
-
-2007-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* fold-const.c (negate_expr_p, fold_negate_expr): Handle
-	COMPLEX_EXPR.
-
-2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	PR target/29682
-	* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory
-	loads to general or fp registers.  Add comments.
-	* config/ia64/ia64.md (reg_pred_prefix): Add comment.
-
-2007-02-02  Paolo Bonzini  <bonzini@gnu.org>
-
-	* pointer-set.c (insert_aux): Only return insertion slot.
-	(pointer_set_insert): Adjust.
-	(pointer_set_traverse, struct pointer_map_t, pointer_map_create,
-	pointer_map_destroy, pointer_map_insert, pointer_map_contains,
-	pointer_map_traverse): New.
-	* pointer-set.h (pointer_set_traverse, struct pointer_map_t,
-	pointer_map_create,  pointer_map_destroy, pointer_map_insert,
-	pointer_map_contains, pointer_map_traverse): Declare.
-
-2007-02-02  Jakub Jelinek  <jakub@redhat.com>
-
-	PR middle-end/30473
-	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
-	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
-
-2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
-
-	* sched-int.h (ds_to_dk, dk_to_ds): Declare functions.
-
-	(struct _dep): New type.
-	(dep_t): New typedef.
-	(DEP_PRO, DEP_CON, DEP_KIND): New access macros.
-	(DEP_STATUS): New access macro.  The macro with the same name was
-	renamed to DEP_LINK_STATUS.
-	(dep_init): Declare function
-
-	(struct _dep_link): New type.
-	(dep_link_t): New typedef.
-	(DEP_LINK_NODE, DEP_LINK_NEXT, DEP_LINK_PREV_NEXTP): New access macros.
-	(DEP_LINK_DEP, DEP_LINK_PRO, DEP_LINK_CON, DEP_LINK_KIND): New macros.
-	(DEP_LINK_STATUS): New macro.
-	(debug_dep_links): New debug function.
-
-	(struct _deps_list): New type.
-	(deps_list_t): New typedef.
-	(DEPS_LIST_FIRST): New access macro.
-	(FOR_EACH_DEP_LINK): New cycle macro.
-	(create_deps_list, free_deps_list, delete_deps_list): Declare
-	functions.
-	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
-	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
-	(copy_deps_list_change_con): Ditto.
-
-	(move_dep_link): Declare function.
-
-	(struct _dep_node): New type.
-	(dep_node_t): New typedef.
-	(DEP_NODE_BACK, DEP_NODE_DEP, DEP_NODE_FORW): New access macros.
-
-	(struct haifa_insn_data.back_deps): New field to hold backward
-	dependencies of the insn.
-	(struct haifa_insn_data.depend): Rename to forw_deps.  Change its type
-	to deps_list_t.
-	(struct haifa_insn_data.resolved_deps): Rename to resolved_back_deps.
-	Change its type	to deps_list_t.
-	(INSN_BACK_DEPS): New access macro to use instead of LOG_LINKS.
-	(INSN_DEPEND): Rename to INSN_FORW_DEPS.
-	(RESOLVED_DEPS): Rename to INSN_RESOLVED_BACK_DEPS.
-
-	(INSN_COST): Move to haifa-sched.c.  Use insn_cost () instead.
-
-	(DEP_STATUS): Rename to DEP_LINK_STATUS.  Fix typo in the comment.
-
-	(add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration
-	and all callers.
-	(dep_cost): Declare.
-
-	* sched-deps.c (CHECK): New macro to (en/dis)able sanity checks.
-	(ds_to_dk, dk_to_ds): New functions.
-
-	(init_dep_1): New static function.
-	(init_dep): New function.
-	(copy_dep): New static function.
-
-	(dep_link_consistent_p, attach_dep_link, add_to_deps_list): New static
-	functions.
-	(detach_dep_link): New static function.
-	(move_dep_link): New function.
-
-	(dep_links_consistent_p, dump_dep_links): New static functions.
-	(debug_dep_links): New debugging function.
-
-	(deps_obstack, dl_obstack, dn_obstack): New static variables.
-
-	(alloc_deps_list, init_deps_list): New static functions.
-	(create_deps_list): New function.
-	(clear_deps_list): New static function.
-	(free_deps_list, delete_deps_list, deps_list_empty_p): New functions.
-	(deps_list_consistent_p, dump_deps_list): New static functions.
-	(debug_deps_list): New function.
-	(add_back_dep_to_deps_list, find_link_by_pro_in_deps_list): New
-	functions.
-	(find_link_by_con_in_deps_list, copy_deps_list_change_con): Ditto.
-
-	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Update to
-	use new scheduler dependencies lists.
-	(add_back_dep, delete_all_dependences, fixup_sched_groups): Ditto.
-	(sched_analyze): Ditto.  Initialize dependencies lists.
-	(add_forw_dep, compute_forward_dependences): Update to use new
-	scheduler dependencies lists.
-
-	(init_dependency_caches): Init deps_obstack.
-	(free_dependency_caches): Free deps_obstack.
-
-	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Update to use
-	new scheduler dependencies lists.
-	(delete_forw_dep, add_or_update_back_forw_dep): Ditto.
-	(add_back_forw_dep, delete_back_forw_dep): Ditto.
-
-	* sched-rgn.c (set_spec_fed, find_conditional_protection, is_pfree):
-	Update to use new scheduler dependencies lists.
-	(is_conditionally_protected, is_prisky, add_branch_dependences): Ditto.
-	(debug_dependencies): Ditto.
-	(schedule_region): Update comments.
-
-	* sched-ebb.c (earliest_block_with_similiar_load): Update to use new
-	scheduler dependencies lists.
-	(schedule_ebb): Update comments.
-
-	* rtl.def (DEPS_LIST): Remove.
-
-	* lists.c (unused_deps_list): Remove.
-	(free_list): Update assertions.
-
-	(alloc_DEPS_LIST, free_DEPS_LIST_list, free_DEPS_LIST_node): Remove.
-	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
-
-	* rtl.h (free_DEPS_LIST_list, alloc_DEPS_LIST): Remove declarations.
-	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
-
-	* haifa-sched.c (comments): Update.
-	(insn_cost1): Remove.  Inline the code into insn_cost ().
-	(insn_cost): Update to use new scheduler dependencies lists.  Move
-	processing of the dependency cost to dep_cost ().
-	(dep_cost): New function.  Use it instead of insn_cost () when
-	evaluating cost of the dependency.  Use compatible interface to
-	interact with the target.
-	(priority): Update to use new scheduler dependencies lists.
-	(rank_for_schedule): Ditto.  Optimize heuristic that prefers the insn
-	with greater number of insns that depend on the insn.
-	(schedule_insn): Update to use new scheduler dependencies lists.  Add
-	code to free backward dependencies lists.  Inline and optimize code
-	from resolve_dep () - see PR28071.
-	(ok_for_early_queue_removal): Update to use new scheduler dependencies
-	lists.  Update call to targetm.sched.is_costly_dependence hook.
-
-	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
-	scheduler dependencies lists.
-
-	(resolve_dep): Remove.  Move the logic to schedule_insn ().
-	(init_h_i_d): Initialize dependencies lists.
-
-	(process_insn_depend_be_in_spec): Rename to
-	process_insn_forw_deps_be_in_spec.  Update to use new scheduler
-	dependencies lists.
-	(add_to_speculative_block, create_check_block_twin, fix_recovery_deps):
-	Update to use new scheduler dependencies lists.
-	(clear_priorities, calc_priorities, add_jump_dependencies): Ditto.
-
-	* ddg.c (create_ddg_dependence, create_ddg_dep_no_link): Update to use
-	new scheduler dependencies lists.
-	(build_intra_loop_deps): Ditto.
-
-	* target.h (struct _dep): Declare to use in
-	gcc_target.sched.is_costly_dependence.
-	(struct gcc_target.sched.adjust_cost): Fix typo.
-	(struct gcc_target.sched.is_costly_dependence): Change signature to
-	use single dep_t parameter instead of an equivalent triad.
-	(struct gcc_target.sched.adjust_cost_2): Remove.
-
-	* target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove.
-
-	* reg-notes.def (DEP_TRUE, DEP_OUTPUT, DEP_ANTI): Update comments.
-
-	* doc/tm.texi (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Update
-	documentation.
-	(TARGET_SCHED_ADJUST_COST_2): Remove documentation.
-
-	* doc/rtl.texi (LOG_LINKS): Remove part about instruction scheduler.
-	(REG_DEP_TRUE): Document.
-
-	* config/ia64/ia64.c (ia64_adjust_cost_2): Rename to ia64_adjust_cost.
-	Change signature to correspond to the targetm.sched.adjust_cost hook.
-	Update use in TARGET_SCHED_ADJUST_COST_2.
-	(TARGET_SCHED_ADJUST_COST_2): Rename to TARGET_SCHED_ADJUST_COST.
-	(ia64_dependencies_evaluation_hook, ia64_dfa_new_cycle): Update to use
-	new scheduler dependencies lists.
-	(ia64_gen_check): Ditto.
-
-	* config/mips/mips.c (vr4130_swap_insns_p): Update to use new
-	scheduler dependencies lists.
-
-	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change
-	signature to correspond to the targetm.sched.is_costly_dependence hook.
-	(is_costly_group): Update to use new scheduler dependencies lists.
-
-	* config/spu/spu.c (spu_sched_adjust_cost): Use insn_cost () function
-	instead of INSN_COST () macro.
-
-2007-02-01  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
-
-2007-02-01  Guy Martin  <gmsoft@gentoo.org>
-
-	* pa.md (tp_load): Correct mfctl instruction syntax.
-
-2007-02-01  Geoffrey Keating  <geoffk@apple.com>
-
-	* config/rs6000/rs6000.c (rs6000_stack_info): Correct
-	altivec_padding_size calculation on AIX.  Improve comment, add
-	assert to verify that it's right.
-
-	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Don't define for
-	64-bit.
-
-2007-2-01  Seongbae Park  <seongbae.park@gmail.com>
-
-	PR inline-asm/28686
-	* global.c (global_alloc): Add mising initialization of
-	ELIMINABLE_REGSET.
-
-2007-02-01  Roger Sayle  <roger@eyesopen.com>
-
-	* alias.c (init_alias_analysis): Correct whitespace.
-	* bb-reorder.c (fix_edges_for_rarely_executed_code,
-	partition_hot_cold_basic_blocks): Likewise.
-	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
-	expand_builtin_sprintf, fold_builtin_carg, fold_builtin_sprintf,
-	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
-	fold_builtin_snprintf_chk, fold_builtin_printf,
-	fold_builtin_fprintf, do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_arg2,
-	do_mpfr_arg3, do_mpfr_sincos): Likewise.
-	* cfgcleanup.c (cleanup_cfg): Likewise.
-	* cfgexpand.c (tree_expand_cfg): Likewise.
-	* fold-const.c (fold_binary) <RDIV_EXPR>: Likewise.
-	* function.c (get_next_funcdef_no): Likewise.
-	* gengtype.c (main): Likewise.
-	* genmodes.c (main): Likewise.
-	* gcse.c (bypass_conditional_jumps, print_ldst_list): Likewise.
-	* haifa-sched.c (schedule_block, extend_h_i_d): Likewise.
-	* ifcvt.c (noce_emit_move_insn): Likewise.
-	* modulo-sched.c (generate_prolog_epilog, sms_schedule_by_order):
-	Likewise.
-	* stor-layout.c (get_best_mode): Likewise.
-	* tree-ssa-loop-niter.c (get_val_for): Likewise.
-	* tree-ssa-structalias.c (get_varinfo, get_varinfo_fc,
-	scc_visit, do_ds_constraint, do_complex_constraint, label_visit,
-	perform_var_substitution, solve_graph): Likewise.
-	* tree-vrp.c (vrp_finalize): Likewise.
-
-2007-02-01  Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c (simplify_gen_subreg_concatn): If we ask for the
-	high part of a paradoxical subreg, return a constant zero.
-
-2007-02-01  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* toplev.c (lang_dependent_init): Call init_set_costs.
-	* loop-init.c (loop_optimizer_init): Do not call init_set_costs.
-
-2007-02-01  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/30656
-	* fold-const.c (fold_negate_expr): Allow negating a
-	constant if overflow does not change.
-
-2007-02-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-	* doc/c-tree.texi (Expression trees): Improve markup.
-	* doc/tm.texi (Register Classes, Addressing Modes)
-	(Floating Point): Fix spacing after abbreviations.  Fix some
-	typos.
-
-2007-02-01  Ben Elliston  <bje@au.ibm.com>
-
-	* doc/invoke.texi: Replace "bugfix" with "bug fix" throughout.
-	* doc/contrib.texi: Likewise.
-	* doc/install.texi: Likewise.
-
-2007-01-31  Richard Henderson  <rth@redhat.com>
-	    Ian Lance Taylor  <iant@google.com>
-
-	* lower-subreg.c: New file.
-	* rtl.def (CONCATN): Define.
-	* passes.c (init_optimization_passes): Add pass_lower_subreg and
-	pass_lower_subreg2.
-	* emit-rtl.c (update_reg_offset): New static function, broken out
-	of gen_rtx_REG_offset.
-	(gen_rtx_REG_offset): Call update_reg_offset.
-	(gen_reg_rtx_offset): New function.
-	* regclass.c: Revert patch of 2006-03-05, restoring
-	reg_scan_update.
-	(clear_reg_info_regno): New function.
-	* dwarf2out.c (concatn_loc_descriptor): New static function.
-	(loc_descriptor): Handle CONCATN.
-	* common.opt (fsplit_wide_types): New option.
-	* opts.c (decode_options): Set flag_split_wide_types when
-	optimizing.
-	* timevar.def (TV_LOWER_SUBREG): Define.
-	* rtl.h (gen_reg_rtx_offset): Declare.
-	(reg_scan_update): Declare.
-	* regs.h (clear_reg_info_regno): Declare.
-	* tree-pass.h (pass_lower_subreg): Declare.
-	(pass_lower_subreg2): Declare.
-	* doc/invoke.texi (Option Summary): List -fno-split-wide-types.
-	(Optimize Options): Add -fsplit-wide-types to -O1 list.  Document
-	-fsplit-wide-types.
-	* doc/rtl.texi (Regs and Memory): Document concat and concatn.
-	* Makefile.in (OBJS-common): Add lower-subreg.o.
-	(lower-subreg.o): New target.
-
-2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/sh/sh.h (HAVE_SECONDARY_RELOADS): Remove.
-
-2007-01-31  Anatoly Sokolov <aesok@post.ru>
-
-	PR target/19087
-	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
-
-2007-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/29335
-	* builtins.c (fold_builtin_sqrt): Use MPFR for constant args.
-
-2007-01-31  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* cfgloop.h: Include vec-prim.h.
-	(enum li_flags): Remove LI_ONLY_OLD.
-	(loop_iterator): Changed.
-	(fel_next, fel_init): Iterate over loop tree.
-	(FOR_EACH_LOOP_BREAK): New macro.
-	* loop-unswitch.c (unswitch_loops): Do not pass LI_ONLY_OLD to
-	FOR_EACH_LOOP.
-	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Ditto.
-	* modulo-sched.c (sms_schedule): Ditto.
-	* tree-vectorizer.c (vectorize_loops): Ditto.
-	* doc/loop.texi: Update information on loop numbering and behavior of
-	FOR_EACH_LOOP wrto new loops.
-	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
-	add_to_evolution_1): Test nestedness of loops instead of comparing
-	their numbers.
-	* tree-chrec.c (chrec_fold_plus_poly_poly,
-	chrec_fold_multiply_poly_poly, chrec_evaluate,
-	hide_evolution_in_other_loops_than_loop, chrec_component_in_loop_num,
-	reset_evolution_in_loop): Ditto.
-	* Makefile.in (CFGLOOP_H): Add vecprim.h dependency.
-
-2007-01-31  Dirk Mueller  <dmueller@suse.de>
-
-	* c-common.c (warn_about_parentheses): Separate warning about
-	un-parenthized sequence of comparison operators from the one
-	which is supposed to warn about x <= y <= z.
-
-2007-01-31  Uros Bizjak  <ubizjak@gmail.com>
-
-	* optabs.h (enum optab_index): Add new OTI_isinf.
-	(isinf_optab): Define corresponding macro.
-	* optabs.c (init_optabs): Initialize isinf_optab.
-	* genopinit.c (optabs): Implement isinf_optab using isinf?f2
-	patterns.
-	* builtins.c (mathfn_built_in): Handle BUILT_IN_ISINF{,F,L}.
-	(expand_builtin_interclass_mathfn): Expand BUILT_IN_ISINF{,F,L}
-	using isinf_optab.
-	(expand_builtin): Expand BUILT_IN_ISINF{,F,L} using
-	expand_builtin_interclass_mathfn.
-	* reg_stack.c (subst_stack_regs_pat): Handle UNSPEC_FXAM.
-	* config/i386/i386.md (UNSPEC_FXAM): New constant.
-	(fxam<mode>2_i387): New insn pattern.
-	(isinf<mode>2) New expander to implement isinf, isinff and isinfl
-	built-in functions as x87 inline asm.
-
-2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/arm/unwind-arm.h (_sleb128_t, _uleb128_t): New.
-
-2007-01-30  Eric Christopher  <echristo@apple.com>
-
-	* config.gcc: Add geode.
-
-2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
-
-	* cgraphunit.c, config/arm/arm.c, config/m68k/m68k.c,
-	ipa-inline.c, tree-profile.c, tree-ssa-live.c,
-	tree-ssa-math-opts.c, tree-ssanames.c, tree-vect-analyze.c,
-	value-prof.c: Fix comment typos.
-
-2007-01-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c++/24745
-	* doc/invoke.texi (Wpointer-arith): Document warning.
-
-2007-01-30  Janis Johnson  <janis187@us.ibm.com>
-
-	* doc/extend.texi (Decimal Floating Types): Remove decfloat.h from
-	the list of discrepancies from the draft TR.
-
-2007-01-30  Dirk Mueller  <dmueller@suse.de>
-
-	PR c++/30601
-	* doc/invoke.texi (-Wreturn-type): Update description to
-	match new behavior.
-
-2007-01-30  Richard Sandiford  <richard@codesourcery.com>
-
-	* cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.
-
-2007-01-30  Uros Bizjak  <ubizjak@gmail.com>
-
-	* builtins.c (expand_builtin_int_interclass_roundingfn): New function
-	to handle optabs that operate on floating point input argument and
-	output to integer output.
-	(expand_builtin_mathfn) [BUILT_IN_ILOGB]: Move from here ...
-	(expand_builtin_interclass_mathfn) [BUILT_IN_ILOGB]: ... to here.
-	(expand_builtin): Expand BUILT_IN_ILOGB{,F,L} using
-	expand_builtin_interclass_mathfn ().
-	* config/i386/i386.md (fxtractxf3_i387): Rename from *fxtractxf3_i387.
-	(ilogbsi2): Remove.
-	(ilogbxf2, ilogb<mode>2): New expanders to implement ilogb, ilogbf and
-	ilogbl built-in functions as x87 intrinsics.
-
-2007-01-30  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/27657
-	* dwarf2out.c (reference_to_unused): Query varpool if the
-	variable was output.
-
-2007-01-30  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/30313
-	* passes.c (execute_one_pass): Reset in_gimple_form to not
-	confuse non-unit-at-a-time mode.
-
-2007-01-29  Roger Sayle  <roger@eyesopen.com>
-	    Richard Guenther  <rguenther@suse.de>
-
-	* fold-const.c (round_up): Make HIGH an unsigned HOST_WIDE_INT to
-	avoid undefined behaviour on overflow.  Use force_fit_type_double
-	to construct the constant with the specified TREE_OVERFLOW.
-
-2007-01-29  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/dfp-bit.c: Add parameterized support for fp exceptions.
-	* config/dfp-bit.h: Ditto.
-
-2007-01-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* c-decl.c (pop_scope): Replace warnings with call to
-	warn_for_unused_label.
-	* c-common.h (warn_for_unused_label): Declare.
-	* c-common.c (warn_for_unused_label): Define.
-
-2007-01-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* tree-optimize.c (update_inlined_to_pointers): Delete unused
-	function.
-
-2007-01-29  Janis Johnson  <janis187@us.ibm.com>
-
-	* Makefile.in (USER_H): Remove decfloat.h.
-	* ginclude/decfloat.h: Delete, moving contents to ...
-	* ginclude/float.h: Add support for decimal floating point,
-	guarded by __STDC_WANT_DEC_FP__.
-
-2007-01-29  Mike Stump  <mrs@apple.com>
-
-	* doc/gccint.texi (Top): Rename Loop Representation to Loop
-	Analysis and Representation to resolve case insensitive conflict.
-	* doc/loop.texi (Loop Analysis and Representation): Likewise.
-
-2007-01-28  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree.h (struct tree_memory_tag): Add aliases member.
-	(MTAG_ALIASES): New macro.
-	* tree-ssa-alias.c (alias_bitmap_obstack): New variable.
-	(add_may_alias): Remove pointer-set. Update for may_aliases being
-	a bitmap.
-	(mark_aliases_call_clobbered): Update for may_aliases being a
-	bitmap.
-	(compute_tag_properties): Ditto.
-	(create_partition_for): Ditto.
-	(compute_memory_partitions): Ditto.
-	(dump_may_aliases_for): Ditto.
-	(is_aliased_with): Ditto.
-	(add_may_alias_for_new_tag): Ditto.
-	(rewrite_alias_set_for): Rewrite for may_aliases being a bitmap.
-	(compute_is_aliased): New function.
-	(compute_may_aliases): Call compute_is_aliased).
-	(init_alias_info): Initialize alias_bitmap_obstack.
-	(union_alias_set_into): New function.
-	(compute_flow_sensitive_aliasing): Use union_aliases_into.
-	(have_common_aliases_p): Rewrite to take two bitmaps and use
-	intersection.
-	(compute_flow_insensitive_aliasing): Stop using pointer-sets.
-	Update for bitmaps.
-	(finalize_ref_all_pointers): Update for add_may_alias changes.
-	(new_type_alias): Ditto.
-	* tree-flow-inline.h (may_aliases): Return a bitmap.
-	* tree-dfa.c (dump_variable): Check for MTAG_P'ness.
-	* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
-	may_aliases being a bitmap.
-	* tree-flow.h (struct var_ann_d): Remove may_aliases member.
-	may_aliases now returns a bitmap.
-	* tree-ssa-structalias.c (merge_smts_into): Update for may_aliases
-	being a bitmap.
-	* tree-ssa-operands.c (add_virtual_operand): Update for
-	may_aliases being a bitmap.
-
-2007-01-29  Daniel Berlin  <dberlin@dberlin.org>
-
-	PR tree-optimization/30630
-	* tree-ssa-structalias.c (do_complex_constraint): Mark correct
-	variable as changed.
-
-2007-01-29  Simon Martin  <simartin@users.sourceforge.net>
-
-	PR c++/28266
-	* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
-	expanded only once even if an error occurs.
-
-2007-01-29  Ben Elliston  <bje@au.ibm.com>
-
-	* gcov-io.h (__gcov_indirect_call_profiler): Declare.
-	(__gcov_average_profiler): Likewise.
-	(__gcov_ior_profiler): Likewise.
-	(__gcov_merge_ior): Likewise.
-
-2007-01-28  Jan Hubicka  <jh@suse.cz>
-
-	* builtins.c (expand_builtin_memset): Fix typo in my last patch.
-	* value-prof.c (stringop_block_profile): Likewise.
-
-2007-01-28  Jan Hubicka  <jh@suse.cz>
-
-	* expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall):
-	Add variant handling histograms; add wrapper.
-	(clear_storage_via_libcall): Export.
-	(emit_block_move_hints): Break out from ...; add histograms.
-	(emit_block_move): ... this one.
-	(clear_storage_hints): Break out from ...; add histograms.
-	(clear_storage): ... this one.
-	(set_storage_via_memset): Handle histogram.
-	* expr.h (emit_block_move_via_libcall, emit_block_move_hints): Declare.
-	(clear_storage_hints, clear_storage_via_libcall): Declare.
-	(set_storage_via_setmem): Update prototype.
-	* doc/md.texi (movmem, setmem): Document new arguments.
-
-	* value-prof.c (dump_histogram_value, tree_find_values_to_profile):
-	Add new histograms.
-	(stringop_block_profile): New global function.
-	(tree_stringops_values_to_profile): Profile block size and alignment.
-	* value-prof.h (enum hist_type): add HIST_TYPE_AVERAGE and
-	HIST_TYPE_IOR.
-	(struct profile_hooks): Add gen_average_profiler and gen_ior_profiler.
-	(stringop_block_profile): Declare.
-	* builtins.c: Include value-prof.h.
-	(expand_builtin_memcpy, expand_builtin_memset): Pass block profile.
-	* gcov-ui.h (GCOV_COUNTER_NAMES): Add new counter.
-	(GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): New constants.
-	(GCOV_COUNTERS, GCOV_LAST_VALUE_COUNTER): Update.
-	* profile.c (instrument_values): Add new counters.
-	* cfgexpand.c (expand_gimple_basic_block): Propagate histograms to
-	calls.
-	* tree-profile.c (tree_average_profiler_fn, tree_ior_profiler_fn): New.
-	(tree_init_edge_profiler): Build new profilers.
-	(tree_gen_average_profiler, tree_gen_ior_profiler): New.
-	(pass_tree_profile): Add dump.
-	(tree_profile_hooks): Update.
-	* Makefile.in (LIBGCOV): Add new constants.
-	* libgcov.c (__gcov_merge_ior, __gcov_average_profiler,
-	__gcov_ior_profiler): New.
-	* config/i386/i386.md (movmem/setmem expanders): Add new optional
-	arguments.
-
-2007-01-28  David Edelsohn  <edelsohn@gnu.org>
-
-	* doc/md.texi (Standard Pattern Names): Document blockage pattern.
-
-2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-ssa-loop-unswitch.c: Include tree-inline.h.
-	(tree_unswitch_single_loop): Pass eni_size_weights to
-	tree_num_loop_insns.
-	* tree-ssa-loop-manip.c: Include tree-inline.h.
-	(can_unroll_loop_p): Pass eni_size_weights to
-	tree_num_loop_insns.
-	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p):
-	Pass eni_size_weights to estimate_num_insns.
-	* tree.h (init_inline_once): Export.
-	* toplev.c (backend_init): Call init_inline_once.
-	* cgraphunit.c (cgraph_process_new_functions,
-	cgraph_analyze_function): Pass eni_inlining_weights to
-	estimate_num_insns.
-	* ipa-inline.c (compute_inline_parameters): Ditto.
-	* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Pass weights
-	to estimate_num_insns.
-	(try_unroll_loop_completely): Pass eni_size_weights to
-	tree_num_loop_insns.
-	* tree-eh.c (decide_copy_try_finally): Pass eni_size_weights
-	ot estimate_num_insns.
-	* tree-ssa-loop-prefetch.c: Include tree-inline.h.
-	(loop_prefetch_arrays): Pass eni_time_weights to tree_num_loop_insns.
-	* tree-inline.c (eni_inlining_weights, eni_size_weights,
-	eni_time_weights): New variables.
-	(init_inline_once): Initialize them.
-	(struct eni_data): Mew.
-	(estimate_num_insns_1, estimate_num_insns): Use weights.
-	* tree-inline.h (struct eni_weights_d): New.
-	(eni_inlining_weights, eni_size_weights, eni_time_weights): Declare.
-	(estimate_num_insns): Declaration changed.
-	* cfgloop.h (tree_num_loop_insns): Declaration changed.
-	* Makefile.in (tree-ssa-loop-unswitch.o, tree-ssa-loop-prefetch.o,
-	tree-ssa-loop-manip.o): Add TREE_INLINE_H dependency.
-
-2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-data-ref.c (conflict_fn): Assert that the number of affine
-	relations in the conflict function is valid.
-
-2007-01-27  Ian Lance Taylor  <iant@google.com>
-
-	* common.opt: Add fstrict-overflow.
-	* opts.c (decode_options): Set flag_strict_overflow if -O2.
-	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
-	(TYPE_OVERFLOW_UNDEFINED): Define.
-	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
-	Replace all uses.
-	* tree.h (TYPE_TRAP_SIGNED): Don't define.
-	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
-	(fold_negate_expr): Likewise.
-	(make_range): Likewise.
-	(extract_muldiv_1): Likewise.
-	(maybe_canonicalize_comparison): Likewise.
-	(fold_comparison): Likewise.
-	(fold_binary): Likewise.
-	(tree_expr_nonnegative_p): Likewise.
-	(tree_expr_nonzero_p): Likewise.
-	* tree-vrp.c (compare_values): Likewise.
-	(extract_range_from_binary_expr): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
-	Likewise.
-	(nowrap_type_p): Likewise.
-	* tree-scalar-evolution.c (simple_iv): Likewise.
-	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
-	(build_range_check): Likewise.
-	(extract_muldiv_1): Likewise.
-	(fold_comparison): Likewise.
-	* tree-vrp.c (vrp_int_const_binop): Likewise.
-	(extract_range_from_unary_expr): Likewise.
-	* convert.c (convert_to_integer): Likewise.
-	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
-	(fold_comparison): Likewise.
-	(fold_binary): Likewise.
-	* optabs.c (optab_for_tree_code): Likewise.
-	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
-	* simplify-rtx.c (simplify_const_relational_operation): Check
-	flag_strict_overflow and flag_trapv.
-	(simplify_const_relational_operation): Likewise.
-	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
-	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
-	-fstrict-overflow.
-
-2007-01-27  Roger Sayle  <roger@eyesopen.com>
-
-	* tree.c (tree_fold_gcd): Delete.
-	* tree.h (tree_fold_gcd): Remove prototype.
-	* 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
-	BOTTOM are integer constants so we can call int_const_binop directly
-	instead of the more generic const_binop.
-
-2007-01-27  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and
-	1*X check that the constant hasn't overflowed, to preserve the
-	TREE_OVERFLOW bit.
-	(round_up): Provide an efficient implementation when rouding-up an
-	INTEGER_CST to a power-of-two.
-
-2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-	* doc/sourcebuild.texi: Add comma for clarity.
-	* doc/extend.texi: Fix some typos.
-	* doc/passes.texi: Likewise.
-	* doc/cppinternals.texi: Likewise.
-	* doc/c-tree.texi: Likewise.
-	* doc/tree-ssa.texi: Likewise.
-	* doc/install.texi: Likewise.
-
-2007-01-27  Jan Hubicka  <jh@suse.cz>
-
-	* tree-sra.c (sra_walk_function): Don't rely on aliases being build.
-	(pass_sra): Do not require alias information.
-	* passes.c (init_optimization_passes): Add SRA
-
-2007-01-27  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* tracer.c (rest_of_handle_tracer): We already cleaned
-	up the CFG in tracer() so don't do it here again.
-	* cfgcleanup.c (rest_of_handle_jump2): Don't repeat
-	cleanup_cfg here, either.  And don't call renumber_insns.
-
-	* cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
-	and BB_HEAD are in the insn stream here.  Instead make sure
-	that BB_INSN is valid on all insns.  Also, do check here that
-	there are no pending branch predictions...
-	(rtl_verify_flow_info): ...instead of doing it here.  Checks
-	for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
-	here.
-
-2007-01-26  Roger Sayle  <roger@eyesopen.com>
-
-	* config/i386/i386.c (ix86_swap_binary_operands_p): New helper
-	function to simplify/factorize operand order canonicalization.
-	(ix86_fixup_binary_operands): Reorganize using the above function.
-	(ix86_binary_operator_ok): Likewise.
-
-2007-01-27  Jakub Jelinek  <jakub@redhat.com>
-
-	* genattrtab.c (struct attr_value_list, insn_code_values): Move to
-	file scope from optimize_attrs.
-	(simplify_test_exp): If insn_code_values is not NULL, use it to speed
-	up search.
-	(optimize_attrs): Clear insn_code_values after freeing it.
-
-2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-ssa-address.c (create_mem_ref): Remove ", bsi" from
-	a parts.base assignment.
-
-2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-data-ref.c (dump_subscript): Use dump_conflict_function.
-	(compute_subscript_distance, initialize_data_dependence_relation,
-	finalize_ddr_dependent, analyze_ziv_subscript,
-	analyze_siv_subscript_cst_affine,
-	compute_overlap_steps_for_affine_univar,
-	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
-	analyze_siv_subscript, analyze_miv_subscript,
-	analyze_overlapping_iterations, subscript_dependence_tester_1,
-	compute_self_dependence, free_dependence_relation): Work
-	with affine_fn instead of chrecs.
-	(dump_affine_function, dump_conflict_function, affine_function_equal_p,
-	common_affine_function, affine_function_base,
-	affine_function_constant_p, affine_fn_op, affine_fn_plus,
-	affine_fn_minus, affine_fn_free, conflict_fn_not_known,
-	conflict_fn_no_dependence, free_conflict_function, free_subscripts,
-	conflict_fn, affine_fn_cst, affine_fn_univar): New functions.
-	(all_chrecs_equal_p): Removed.
-	* tree-data-ref.h (affine_fn, conflict_function): New types.
-	(struct subscript): Change type of conflicting_iterations_in_a
-	and conflicting_iterations_in_b.
-
-2007-01-26  Steve Ellcey  <sje@cup.hp.com>
-
-	PR other/30182
-	* config/pa/pa.h (TARGET_HPUX_11): New.
-	* config/pa/pa-hpux11.h (TARGET_HPUX_11): New.
-	* config/pa/pa.c (pa_init_builtins): Use TARGET_HPUX_11.
-
-2007-01-26  Daniel Berlin  <dberlin@dberlin.org>
-	Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-structalias.c (solve_graph): Handle case
-	we merged the variable to another.
-
-2007-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_1): Treat ccos and ccosh as 'even'
-	functions.
-
-	* fold-const.c (negate_mathfn_p): Treat casin, casinh, catan,
-	catanh, cproj, csin, csinh, ctan and ctanh as 'odd' functions.
-
-2007-01-25  DJ Delorie  <dj@redhat.com>
-
-	* config/m32c/m32c.c (m32c_cannot_change_mode_class): We don't
-	allow changes to modes which don't fit in those registers.
-
-	* reload1.c (choose_reload_regs): Check for invalid subregs before
-	computing their locations, not after.
-
-2007-01-25  Geoffrey Keating  <geoffk@apple.com>
-
-	PR 25127
-	* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
-	save Altivec registers in an eh_return function.
-	(compute_vrsave_mask): Likewise.
-	(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
-	for saving Altivec registers.
-	(rs6000_emit_prologue): Don't allocate stack twice in
-	eh_return function.  Correct expected value of altivec_save_offset
-	when using save_world.  Describe save of R0 to stack when using
-	save_world.  Describe stack pointer adjustment when using
-	save_world.  Remove duplicated eh_return parameter register saving.
-	Update sp_offset variable after save_world.
-	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
-	darwin-world.asm.
-	(LIB2FUNCS_EXTRA): Add darwin-world.asm.
-	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
-	implies Altivec.
-
-2007-01-25  Steve Ellcey  <sje@cup.hp.com>
-
-	* config.gcc (ia64*-*-hpux*): Make posix threads the default.
-
-2007-01-25  Steve Ellcey  <sje@cup.hp.com>
-
-	PR other/30182
-	* config/pa/pa.c (pa_init_builtins): Set asm names for finite routines.
-	* config/ia64/ia64.c (ia64_init_builtins): Ditto.
-
-2007-01-25  Richard Guenther  <rguenther@suse.de>
-
-	* doc/invoke.texi (-Wcoverage-mismatch): Document.
-	* common.opt (-Wcoverage-mismatch): New warning option.
-	* coverage.c (get_coverage_counts): Ignore coverage mismatch
-	if -Wcoverage-mismatch is given.
-
-2007-01-25  Razya Ladelsky  <razya@il.ibm.com>
-
-	* ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA.
-	(ipcp_driver): Change to static definition.
-	Add dumping of the ifunctions.
-	(constant_val_insert): Remove unused parameter. Support for SSA.
-	(ipcp_propagate_const): Support for SSA.
-	(ipcp_profile_bb_print): Print only analyzed nodes.
-	(ipcp_replace_map_create): Remove support for Fortran constant
-	for now.
-	* ipa-prop.c (ipa_method_modify_stmt,
-	ipa_callsite_compute_param): Support for SSA.
-	* ipa-prop.h (ipcp_driver): Remove declaration.
-	(IS_VALID_TREE_MAP_INDEX): Add define.
-
-2007-01-24  Geoffrey Keating  <geoffk@apple.com>
-
-	* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
-
-2007-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/30447
-	* builtins.c (fold_builtin_cabs): Use MPFR to evaluate a
-	constant argument to cabs and do it without checking for
-	-funsafe-math-optimizations.
-
-2007-01-24  Douglas Gregor  <dgregor@osl.iu.edu>
-
-	* c-common.h (RID_FIRST_CXX0X): New.
-	(RID_LAST_CXX0X): New.
-	* c-opts.c (c_common_handle_option): -Wc++0x-compat is triggered
-	by -Wall.
-	* c.opt (Wc++0x-compat): New.
-	* doc/invoke.texi (-Wc++0x-compat): Document.
-
-2007-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	* builtins.c (fold_builtin_carg): New.
-	(fold_builtin_1): Use it.
-
-2007-01-24  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (cgraph_decide_inlining): Initialize initial_insns.
-
-	* ipa-inline.c (initial_insns, max_insns): Delete.
-	(compute_max_insns): New function.
-	(cgraph_decide_inlining_of_small_function): Use it; take minimal
-	amount of insns as base for code growth.
-	(cgraph_decide_inlining): Make initial_insns local; do not compute
-	max_insns.
-	* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 60.
-	* doc/invoke.texi (inline-unit-growth): Update docs.
-
-2007-01-24  Jakub Jelinek  <jakub@redhat.com>
-
-	* config/i386/i386.h (x86_cmpxchg16b): Remove const.
-	(TARGET_CMPXCHG16B): Define to x86_cmpxchg16b.
-	* config/i386/i386.c (x86_cmpxchg16b): Remove const.
-	(override_options): Add PTA_CX16 flag.  Set x86_cmpxchg16b
-	for CPUs that have PTA_CX16 set.
-
-	PR middle-end/27416
-	* gimplify.c (omp_check_private): New function.
-	(gimplify_scan_omp_clauses): Use it for
-	firstprivate/lastprivate/reduction.
-
-	PR middle-end/30494
-	* gimplify.c (omp_add_variable): Don't call omp_notice_variable
-	on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
-
-	PR middle-end/30421
-	* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
-	If lower_lastprivate_clauses emits some statements, append them
-	to dlist rather than body_p and to body_p append an initializer.
-	(lower_omp_for): Adjust caller.
-
-2007-01-24  Steve Ellcey  <sje@cup.hp.com>
-
-	* target.h (globalize_decl_name): New.
-	* target-def.h (TARGET_ASM_GLOBALIZE_DECL_NAME): New.
-	* output.h (default_globalize_decl_name): New.
-	* varasm.c (asm_output_bss): Use globalize_decl_name instead of
-	globalize_label.
-	(globalize_decl): Ditto.
-	(default_globalize_decl_name): New.
-	* config/ia64/ia64.c (ia64_globalize_decl_name): New.
-	(ia64_handle_version_id_attribute): New.
-	(TARGET_ASM_GLOBALIZE_DECL_NAME): New.
-	(ia64_asm_output_external): Use globalize_decl_name instead
-	of globalize_label.
-	* doc/extend.texi (version_id): New pragma.
-	* doc/tm.texi (ARGET_ASM_GLOBALIZE_DECL_NAME): New target hook.
-
-2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with
-	_uleb128_t and _Unwind_SWord with _sleb128_t.
-	* unwind-dw2.c (extract_cie_info, execute_stack_op,
-	execute_cfa_program, uw_frame_state_for, uw_update_context_1):
-	Likewise.
-	* unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise.
-	* unwind-pe.h (read_uleb128, read_sleb128,
-	read_encoded_value_with_base): Likewise.
-	* unwind-generic.h: Define _sleb128_t and _uleb128_t types.
-
-2007-01-24  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (expand_builtin_cexpi): Get the fndecl
-	for cexp in the correct way.
-
-2007-01-24  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS
-	of calls.
-
-2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
-
-	* c-cppbuiltin.c (builtin_define_type_sizeof): New function.
-	(c_cpp_builtins): New builtin macros: __SIZEOF_INT__, __SIZEOF_LONG__,
-	__SIZEOF_LONG_LONG__, __SIZEOF_SHORT__, __SIZEOF_POINTER__,
-	__SIZEOF_FLOAT__, __SIZEOF_DOUBLE__, __SIZEOF_LONG_DOUBLE__,
-	__SIZEOF_SIZE_T__, __SIZEOF_WCHAR_T__, __SIZEOF_WINT_T__ and
-	__SIZEOF_PTRDIFF_T__.
-	* doc/cpp.texi: Documentation for the new builtin macros added.
-
-2007-01-24  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (tanxf2, tan<mode>2, atan<mode>2, log<mode>2,
-	log10<mode>2, log2<mode>2, expxf2, exp10xf2, exp2xf2): Use op2
-	instead of operands[2] to avoid access past the end of array.
-
-2007-01-24  Richard Sandiford  <richard@codesourcery.com>
-
-	* reload1.c (emit_reload_insns): Pass the reload register
-	for a non-spill output reload through forget_old_reloads_1.
-
-2007-01-23  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
-	_SOFT_DOUBLE if doubles use software floating-point.
-	* config/rs6000/libgcc-ppc-glibc.ver: Export additional long
-	double functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
-	* config/rs6000/darwin-ldouble.c: Also compile functions for
-	hard-float without FPRs.  Use fmsub function for all __NO_FPRS__
-	cases.  Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
-	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove
-	commented-out long double override.
-	(CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise.
-	* config/rs6000/eabispe.h: Likewise.
-	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
-	long double for non-SPE.
-	(rs6000_handle_option): Likewise.
-	(invalid_e500_subreg): Disallow more subregs involding DImode,
-	DFmode, TImode or TFmode.
-	(rs6000_legitimate_offset_address_p): Check TFmode offsets for
-	E500 double.
-	(legitimate_lo_sum_address_p): Also check for TFmode for E500
-	double.
-	(rs6000_legitimize_address): Also handle TFmode for E500 double.
-	(rs6000_legitimize_reload_address): Also handle TFmode for E500
-	double.
-	(rs6000_legitimate_address): Also check for TFmode for E500
-	double.
-	(rs6000_emit_move): Use DFmode subregs of TFmode for E500 double.
-	(spe_build_register_parallel): Handle TFmode and TCmode.
-	(rs6000_spe_function_arg): Handle TFmode and TCmode for E500
-	double.
-	(function_arg): Handle TFmode and TCmode for E500 double.
-	(rs6000_init_libfuncs): Initialize extra libfuncs for soft double
-	in general.
-	(print_operand): Handle TFmode and TImode for %y.
-	(rs6000_generate_compare): Handle TFmode comparisons for E500
-	double.
-	(spe_func_has_64bit_regs_p): Check for TFmode for E500 double.
-	(rs6000_function_value): Handle TFmode and TCmode for E500 double.
-	(rs6000_libcall_value): Handle TFmode and TCmode for E500 double.
-	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for
-	TFmode for E500 double.
-	* config/rs6000/rs6000.md (FP): Allow TF for E500 double.
-	(floatsidf2): Enable for E500 double.
-	(movtf_softfloat): Use rs6000_nonimmediate_operand.
-	(extenddftf2): Change to extenddftf2_fprs.
-	(extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs
-	depending on TARGET_E500_DOUBLE.
-	(extendsftf2): Enable for E500 double.
-	(trunctfdf2): Enable for E500 double.
-	(trunctfsf2): Change to trunctfsf2_fprs.
-	(trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs
-	depending on TARGET_E500_DOUBLE.
-	(floatsitf2): Enable for E500 double.
-	(fix_trunctfsi2): Change to fix_trunctfsi2_fprs.
-	(fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or
-	gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE.
-	(negtf2): Change to negtf2_internal.
-	(negtf2): New expander.
-	(abstf2): Enable for E500 double.  Call gen_spe_abstf2_tst,
-	gen_spe_abstf2_cmp or gen_abstf2_internal depending on
-	TARGET_E500_DOUBLE and flag_unsafe_math_optimizations.
-	(movdi_internal32): Use rs6000_nonimmediate_operand.
-	(unnamed splitter): Likewise.
-	* config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR,
-	TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs.
-	(SPE64TF, DITI): New mode macros.
-	(frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more
-	modes.
-	(frob_tf_ti): New.
-	(frob_<mode>_di_2): New.
-	(frob_tf_di_8_2): New.
-	(frob_di_df): Change to frob_di_<mode>; allow more modes.
-	(frob_ti_tf): New.
-	(frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow
-	more modes.
-	(frob_ti_<mode>_8_2): New.
-	(frob_ti_tf_2): New.
-	(mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2,
-	mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow
-	TFmode.
-	(mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2,
-	mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New.
-	(spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2,
-	spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal,
-	spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New.
-	(cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr,
-	tsttflt_gp): New.
-
-2007-01-23  Ian Lance Taylor  <iant@google.com>
-
-	* Makefile.in (OBJS-common): Reformat, alphabetize, but put
-	insn-*.o first.
-	(OBJS-archive): Reformat, alphabetize.
-	(OBJS): Change out_object_file to OBJS-md.
-
-2007-01-23  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md: Use REG_P, MEM_P, CONST_INT_P, LABEL_P,
-	JUMP_P and CALL_P predicates where applicable.
-	* config/i386/i386.c: Ditto.
-	* config/i386/i386.md: Ditto.
-	* config/i386/mmx.md: Ditto.
-	* config/i386/predicates.md: Ditto.
-
-2007-01-22  Andreas Schwab  <schwab@suse.de>
-
-	* config/m68k/m68k.h: Fix comment.
-
-2007-01-22  Jan Hubicka  <jh@suse.cz>
-
-	* passes.c (init_optimization_passes): Do not rerun
-	pass_early_warn_uninitialized.
-
-2007-01-22  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/30038
-	* tree-ssa-math-opts.c (maybe_record_sincos): New static helper
-	function.
-	(execute_cse_sincos_1): Likewise.
-	(execute_cse_sincos): Likewise.
-	(gate_cse_sincos): Likewise.
-	(pass_cse_sincos): New pass CSEing sin() and cos() calls using
-	the cexpi() canonicalization of sincos().
-	* tree-pass.h (pass_cse_sincos): Declare.
-	* passes.c (init_optimization_passes): New pass pas_cse_sincos.
-
-2007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	PR rtl-optimization/29329
-	* combine.c (replaced_rhs_insn): Rename to i2mod.
-	(replaced_rhs_value): Rename to i2mod_new_rhs.
-	(i2mod_old_rhs): New global variable.
-	(combine_instructions): Adjust for above change.  Save a copy of
-	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
-	note are substituted in the second instruction.
-	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
-	ditch the note if it pertains to the second eliminated register
-	and this register is mentioned in i2mod_old_rhs.
-
-	Revert:
-	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
-
-	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
-	the insn to which the note was originally attached.
-
-2007-01-21  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (inlining_mode): Comment, move up.
-	(cgraph_decide_inlining_incrementally): Do not perform inlining
-	itself; fix handling of flattening of self recursive functions.
-	(cgraph_find_cycles): Remove.
-	(cgraph_flatten_node): Remove.
-	(cgraph_decide_inlining): Use incremental inliner to handle flattening.
-	(try_inline): New function.
-	(cgraph_early_inlining): Update call of
-	cgraph_decide_inlining_incrementally.  Apply inlining here.
-	(apply_inline): Update call of cgraph_decide_inlining_incrementally.
-
-2007-01-21  Dirk Mueller  <dmueller@suse.de>
-
-	PR bootstrap/30511
-	* tree-vrp.c (check_array_bounds): do not warn
-	about ADDR_EXPR's of ARRAY_REF's which are immediately
-	used in binary expressions.
-
-2007-01-21  Ira Rosen  <irar@il.ibm.com>
-
-	* tree-vectorizer.h (struct _stmt_vec_info): Add new field
-	read_write_dep and macros for its access.
-	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
-	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Remove
-	argument, call vect_check_interleaving for every independent pair of
-	data-refs. Mark loads that access the same memory location as a store
-	in the loop.
-	(vect_check_dependences): Remove.
-	(vect_analyze_data_ref_dependences): Remove  vect_check_dependences
-	call, fix the call to vect_analyze_data_ref_dependence.
-	(vect_analyze_data_ref_access): For statements that access the same
-	data-ref, check that they are not stores; for loads, check that there
-	is no store that access the same location.
-
-2007-01-20  Roger Sayle  <roger@eyesopen.com>
-	    Joseph Myers  <joseph@codesourcery.com>
-
-	* doc/invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox.
-	(-fdump-rtl-stack): Likewise.
-	(-fno-signed-zeros): Use @minus{} for a minus sign.  Correct typo.
-	(-mcheck-zero-division, -mcpu): Fix under/overfull hbox.
-	(-mpt-fixed): Use @minus{} for minus sign.
-	(Using Precompiled Headers): Fix under/overfull hbox.
-
-2007-01-20  Jan Hubicka  <jh@suse.cz>
-
-	* tree-flow.h (struct stmt_ann_d): Move references_memory to proper
-	place within annotation.
-
-2007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa.c (output_move_double): Change array size of xoperands to 4.
-
-2007-01-20  Jan Hubicka  <jh@suse.cz>
-
-	* tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL
-	as temporary.
-
-2007-01-19  Ian Lance Taylor  <iant@google.com>
-
-	* expmed.c (expand_divmod) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: Cast
-	constant to unsigned HOST_WIDE_INT before negating.
-
-2007-01-19  Ian Lance Taylor  <iant@google.com>
-
-	* tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field
-	to unsigned.
-	(VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Use unsigned comparison.
-	(VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
-	(SET_VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Likewise.
-	(SET_VUSE_ELEMENT_VAR) [ENABLE_CHECKING]: Likewise.
-	(SET_VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
-	(realloc_vdef, realloc_vuse): Change second parameter to
-	unsigned.
-	(ssa_operand_iterator_d): Change vuse_index and mayuse_index
-	fields to unsigned.
-	* tree-ssa-operands.c (realloc_vop): Change num_elem parameter to
-	unsigned. Change x and lim locals to unsigned.
-	(realloc_vdef, realloc_vuse): Change num_elem parameter to
-	unsigned.
-	(finalize_ssa_vuse_ops): Change old_i local to unsigned.
-	(copy_virtual_operands): Change i and n locals to unsigned.
-
-2007-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
-
-	PR middle-end/29335
-	* builtins.c (fold_builtin_1): Handle builtin fdim.
-
-2007-01-20  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars.
-	* tree-ssa-structalias.c (compute_points_to_sets): Do call
-	init_alias_heapvars.
-	(init_alias_heapvars): Initialize only when not already initialized.
-	(delete_alias_heapvars): Set heapvar_for_stmt to NULL.
-
-2007-01-19  Roger Sayle  <roger@eyesopen.com>
-
-	* common.opt (fsigned-zeros): New command line option.
-	* flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead
-	of flag_unsafe_math_optimizations.
-	* opts.c (set_fast_math_flags): The -ffast-math command line option
-	implies -fno-signed-zeros.
-	(fast_math_flags_set_p): Likewise.
-
-	* doc/invoke.texi: Document new -fno-signed-zeros option, and update
-	the documentation of -ffast-math appropriately.  Wrap long lines.
-
-2007-01-19  Steve Ellcey  <sje@cup.hp.com>
-
-	* system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
-	* varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef.
-
-2007-01-19  Tomas Bily  <tbily@suse.cz>
-
-	* cgraphunit.c (cgraph_finalize_function): Updating of pid
-	* tree-profile.c:
-	(tree_init_ic_make_global_vars): New function
-	(tree_init_edge_profiler): call of tree_init_ic_make_global_vars
-	(tree_gen_ic_profiler): New function
-	(tree_gen_ic_func_profiler): New function
-	(tree_profiling): Added calling of tree_gen_ic_func_profiler
-	(tree_profile_hooks): Added hook for indirec/virtual calls
-	* value-prof.c (tree_find_values_to_profile): New case for
-	indirect calls
-	(tree_values_to_profile): Call for determining indirect/virtual
-	counters
-	(tree_indirect_call_to_profile): New function
-	(tree_ic_transform): New function
-	(tree_ic): New function
-	(find_func_by_pid): New function
-	(init_pid_map): New function
-	(tree_value_profile_transformations): Added check for
-	indirect/virtual call transformation
-	* value-prof.h (enum hist_type): New counter type for
-	indirect/virtual calls
-	(profile_hooks): Added new hook for profiling indirect/virtual
-	calls
-	* profile.c (instrument_values): New case for indirect/virtual
-	call added
-	* gcov-io.h (GCOV_LAST_VALUE_COUNTER): Changed to 6
-	(GCOV_COUNTER_V_INDIR): New counter type
-	(GCOV_COUNTER_NAMES): New name of counter "indirect" added
-	(GCOV_MERGE_FUNCTIONS): New merge function for indirect/virtual
-	call added
-	* cgraph.c: Definition of cgraph_max_pid
-	(cgraph_create_node): Default init of pid attribute
-	* cgraph.h: Declaration of cgraph_max_pid
-	(struct cgraph_node): Added pid attribute
-	* libgcov.c (__gcov_indirect_call_profiler): New function
-	(__gcov_one_value_profiler_body): New function
-	(__gcov_one_value_profiler): Body was moved to
-	__gcov_one_value_profiler_body and calls it
-
-2007-01-19  Basile Starynkevitch  <basile@starynkevitch.net>
-
-	* doc/gty.texi (Options): Document the mark_hook option to GTY.
-	* gengtype.c (write_types_data, write_func_for_structure,
-	write_types, ggc_wtd, pch_wtd): Add skip_hooks to
-	write_types_data, ggc_wtd, pch_wtd for processing mark_hook.
-	(walk_type, write_func_for_structure): Generate the mark_hook if
-	needed.
-
-2007-01-19  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of
-	'early' argument take inlining mode argument specifying whether to
-	inline for size/speeed or all functions; add support for flattening;
-	improve dumpting.
-	(cgraph_early_inlining): Update call of decide_inlining_incrementally.
-
-2007-01-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c++/17947
-	* toplev.c (warn_deprecated_use): Use %qD instead of %qs to print
-	the name of the declared identifier.
-
-2007-01-19  Dirk Mueller  <dmueller@suse.de>
-
-	* config/i386.h (CONDITIONAL_REGISTER_USAGE): Store
-	result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid
-	duplicate evaluation.
-
-2007-01-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2.
-	Macroize expander using X87MODEF12 mode macro.  Extend operand 1
-	to XFMode, use acosxf2 and truncate result to requested mode.
-	Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
-	(asin<mode>2): Similarly, with asin expanders.
-	(*fscalexf4_i387): Rename from *fscalexf4.
-	(expNcorexf3): New expander.
-	(expxf2, exp10xf2, exp2xf2): Use expNcorexf3 expander.
-	(exp<mode>2): Rename from expsf2 and expdf2. Macroize expander using
-	X87MODEF12 mode macro.  Extend operand 1 to XFMode, use expxf2 and
-	truncate result to requested mode. Use SSE_FLOAT_MODE_P to disable
-	patterns for SSE math.
-	(exp10<mode>2): Similarly, with exp10 expanders.
-	(exp2<mode>2): Similarly, with exp2 expanders.
-	(expm1<mode>2): Similarly, with expm1 expanders.
-	(ldexp<mode>3): Similarly, with ldexp expanders.
-	(log<mode>2, log10<mode>2, log2<mode>2, log1p<mode>2, logb<mode>2):
-	Use gen_truncxf<mode>2_i387_noop to truncate result.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32
-	for ColdFire targets.
-
-2007-01-19  Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro.
-	(INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
-	(__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
-	* config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override.
-	(M68K_STATIC_CHAIN_REG_NAME): Likewise.
-	* config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (adddi_dilshr32): Rename to...
-	(*adddi_dilshr32): ...this.  Fix formatting.  Remove commented-out
-	non-canonical pattern.  Restrict to !TARGET_COLDFIRE.
-	(*adddi_dilshr32_cf): New pattern.
-	(adddi3, subdi3): Remove first alternatives.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.c (notice_update_cc): If an SFmode move is
-	implemented using move.l, do not use its cc result for floating-point
-	comparisons.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint
-	from accepting 's' constraints if flag_pic.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
-	(bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
-	(bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
-	condition from TARGET_68881 to TARGET_HARD_FLOAT.
-
-2007-01-19  Sandra Loosemore  <sandra@codesourcery.com>
-
-	* 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
-	architectures that support ff1 instruction.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-	    Julian Brown  <julian@codesourcery.com>
-
-	* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
-	* config/m68k/m68k.md (*movsi_cfv4): Fold into...
-	(*movsi_cf): ...here.  Remove unnecessary 'R' from 'Rg'.
-	Add commentary.
-
-2007-01-19  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
-	and return a bool.
-	(output_move_const_into_data_reg, output_move_simode_const): Delete.
-	* config/m68k/m68k.c (const_method, const_int_cost): Take a
-	HOST_WIDE_INT instead of an rtx.
-	(m68k_rtx_costs): Update call accordingly.
-	(output_move_const_into_data_reg): Likewise.  Fix formatting.
-	(valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx.
-	Return a bool.
-	(output_move_simode_const): Update calls after above changes.
-	Rework to use automatic variables and predicates like MEM_P.
-	* config/m68k/m68k.md (pushexthisi_const): Update call to
-	valid_mov3q_const.
-
-2007-01-19  Dirk Mueller  <dmueller@suse.de>
-
-	* tree-ssa-alias.c (perform_var_substitution): Fix typo
-	in dump_flags test.
-
-2007-01-19  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (expand_builtin_cexpi): Fall back to expanding
-	via cexp in case sincos is not available.
-
-2007-01-19  Richard Guenther  <rguenther@suse.de>
-
-	* doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro.
-	* defaults.h (TARGET_HAS_SINCOS): Default to off.
-	* config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc.
-	* config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise.
-	* config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise.
-	* config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise.
-	* config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise.
-	* config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise.
-
-2007-01-19  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387):
-	New insn patterns.
-	(atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns.
-	(atan2xf3): Directly generate RTL pattern.
-	(atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn
-	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
-	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
-	disable patterns for SSE math.
-	(atan<mode>2): Rename from atansf2 and atandf2 and macroize insn
-	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
-	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
-	disable patterns for SSE math.
-
-2007-01-19  Alexandre Oliva  <aoliva@redhat.com>
-
-	* libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0.
-
-2007-01-18  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
-	VIEW_CONVERT_EXPR to the same type as it's operand.
-
-2007-01-18  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if
-	configured for long double 128.
-
-2007-01-18  Mike Stump  <mrs@apple.com>
-
-	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build
-	error.
-
-2007-01-18  Michael Meissner  <michael.meissner@amd.com>
-
-	* config/i386/i386.c (ix86_compute_frame_layout): Make fprintf's
-	in #if 0 code type correct.
-
-2007-01-18  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-operands.c (vop_free_bucket_size): Never return value
-	greater than NUM_VOP_FREE_BUCKETS.
-
-2007-01-18  Daniel Berlin  <dberlin@dberlin.org>
-
-	* tree-ssa-structalias.c: Update comments.
-	(ptabitmap_obstack): Removed.
-	(pta_obstack): New.
-	(oldpta_obstack): Ditto.
-	(stats): Add a few members.
-	(struct variable_info): Remove node, complex, address_taken, and
-	indirect_target members. Add oldsolution member.
-	(new_var_info): Do not initialize removed members.
-	(constraint_expr_type): Remove INCLUDES.
-	(constraint_graph): Add size, implicit_preds, rep,
-	indirect_cycles, eq_rep, label, direct_nodes, and complex members.
-	(FIRST_REF_NODE): New macro.
-	(LAST_REF_NODE): Ditto.
-	(FIRST_ADDR_NODE): Ditto.
-	(find): New function.
-	(unite): Ditto.
-	(dump_constraint): Do not handle INCLUDES.
-	(insert_into_complex): Do not insert duplicate constraints.
-	(condense_varmap_nodes): Renamed and rewritten into ...
-	(merge_node_constraints): This. Also fix bug in handling of
-	offseted copy constraints.
-	(clear_edges_for_node): No longer need to deal with preds at all,
-	or removing associated preds/succs.
-	(merge_graph_nodes): Deal with indirect_cycles.
-	Don't deal with predecessors.
-	(add_implicit_graph_edge): New function.
-	(add_pred_graph_edge): Ditto.
-	(add_graph_edge): Don't deal with predecessors.
-	(build_constraint_graph): Removed.
-	(build_pred_graph): New function.
-	(build_succ_graph): Ditto.
-	(struct scc_info): Removed in_component. Added roots, dfs, and
-	node_mapping. Remove visited_index, unification_queue.
-	(scc_visit): Deal with union-find we do now.
-	Deal with cycles with REF nodes.
-	(collapse_nodes): Renamed and rewritten to ...
-	(unify_nodes): This.
-	(process_unification_queue): Removed.
-	(topo_visit): Cleanup
-	(do_da_constraint): Use find.
-	(do_sd_constraint): Ditto.
-	(do_ds_constraint): Ditto.
-	(do_complex_constraint): Ditto.
-	(init_scc_info): Update for removed and added members.
-	(find_and_collapse_graph_cycles): Renamed and rewritten into ...
-	(find_indirect_cycles): This.
-	(equivalence_class): New variable.
-	(label_visit): New function.
-	(perform_variable_substitution): Rewritten.
-	(free_var_substitution_info): New function.
-	(find_equivalent_node): Ditto.
-	(move_complex_constraints): Ditto.
-	(eliminate_indirect_cycles): Ditto.
-	(solve_graph): Only propagate changed bits.
-	Use indirect cycle elimination.
-	Use find.
-	(tree_id_t): Rename to tree_vi_t, delete id member, add vi member.
-	(tree_id_eq): Renamed to ...
-	(tree_vi_eq): This. Update for member change
-	(insert_id_for_tree): Renamed and rewritten to ...
-	(insert_vi_for_tree): This.
-	(lookup_id_for_tree): Renamed and rewritten to ...
-	(lookup_vi_for_tree): This.
-	(get_id_for_tree): Renamed and rewritten to ...
-	(get_vi_for_tree): Ditto.
-	(get_constraint_exp_from_ssa_var): Update to use get_vi_for_tree.
-	(process_constraint): Don't handle INCLUDES.
-	Remove special ADDRESSOF case.
-	(find_func_aliases): Rewrite to use vi functions instead of id
-	ones.
-	(create_function_info_for): Ditto.
-	(create_variable_info_for): Ditto.
-	(intra_create_variable_infos): Ditto.
-	(merge_smts_into): Ditto.
-	(find_what_p_points_to): Ditto.
-	(init_base_vars): Ditto.
-	(init_alias_vars): Ditto.
-	(remove_preds_and_fake_succs): New function.
-	(dump_sa_points_to_info): Dump new stats.
-	(dump_solution_for_var): Use find.
-	(set_used_smts): Fix formatting.
-	(compute_points_to_sets): Updated for new functions.
-	(ipa_pta_execute): Ditto.
-
-2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/tm.texi (TARGET_FUNCTION_VALUE): Expand documentation of
-	parallels.
-	* calls.c (expand_call): If the return value is a PARALLEL,
-	extract its first member.
-	* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove.
-	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
-	use FUNCTION_EXTRA_EPILOGUE.
-	(m68k_function_value): Return a PARALLEL if the return value
-	is of a pointer type.
-	* config/m68k/netbsd-elf.h (current_function_returns_pointer)
-	(FUNCTION_EXTRA_EPILOGUE): Remove.
-	* config/m68k/m68k.md (D0_REG): New constant.
-
-2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
-	output a NOP for empty epilogues.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.c (m68k_use_return_insn): Update comments
-	before function.  Extend register save check to include all
-	registers, not just integer ones.
-
-2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/m68k/m68k-protos.h (use_return_insn): Rename to...
-	(m68k_use_return_insn): ...this.
-	* config/m68k/m68k.h (USE_RETURN_INSN): Delete.
-	* config/m68k/m68k.c (use_return_insn): Rename to...
-	(m68k_use_return_insn): ...this.
-	* config/m68k/m68k.md (return): Use m68k_use_return_insn instead
-	of USE_RETURN_INSN.
-
-2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/fpgnulib.c (__truncdfsf2): Implement round to
-	nearest even, fix denormal rounding overflow.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of
-	f%$smove and f%$move.
-	(movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1.
-	(extendsfdf2_cf): Use fdmove instead of f%&move.
-	(truncdfsf2_cf): Use fsmove instead of f%$smove.
-	(add<mode>3_cf, sub<mode>3_cf): Use <FP:prec> instead of <FP:round>.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (movdf_cf_hard): Use output_move_double for
-	GPR<-GPR moves.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* real.h (real_format): Add a canonical_nan_lsbs_set field.
-	(coldfire_single_format): Declare.
-	(coldfire_double_format): Likewise.
-	* real.c (encode_ieee_single): Use canonical_nan_lsbs_set instead
-	of qnan_msb_set to determine the lower bits of a canonical
-	NaN significand.
-	(encode_ieee_double): Likewise.
-	(encode_ieee_quad): Likewise.
-	(ieee_single_format): Initialize canonical_nan_lsbs_set.
-	(mips_single_format): Likewise.
-	(ieee_double_format): Likewise.
-	(mips_double_format): Likewise.
-	(ieee_extended_motorola_format): Likewise.
-	(ieee_extended_intel_96_format): Likewise.
-	(ieee_extended_intel_128_format): Likewise.
-	(ieee_extended_intel_96_round_53_format): Likewise.
-	(ibm_extended_format): Likewise.
-	(mips_extended_format): Likewise.
-	(ieee_quad_format): Likewise.
-	(mips_quad_format): Likewise.
-	(vax_f_format): Likewise.
-	(vax_d_format): Likewise.
-	(vax_g_format): Likewise.
-	(i370_single_format): Likewise.
-	(i370_double_format): Likewise.
-	(decimal_single_format): Likewise.
-	(decimal_double_format): Likewise.
-	(decimal_quad_format): Likewise.
-	(c4x_single_format): Likewise.
-	(c4x_extended_format): Likewise.
-	(real_internal_format): Likewise.
-	(coldfire_single_format): New real_format.
-	(coldfire_double_format): Likewise.
-	* config/pdp11/pdp11.c (pdp11_f_format): Initialize
-	canonical_nan_lsbs_set.
-	(pdp11_d_format): Likewise.
-	* config/m68k/m68k.c (override_options): Override REAL_FORMAT_MODE
-	if TARGET_COLDFIRE_CPU.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k-protos.h (m68k_output_pic_call): Delete.
-	(output_call, m68k_legitimize_call_address): Declare.
-	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Remove unnecessary
-	parenthesees.  Add support for a 'W' constraint.
-	(LEGITIMATE_PIC_OPERAND_P): Remove SYMBOL_REF_FLAG handling.
-	(PRINT_OPERAND_PUNCT_VALID_P): Remove comment about 'o'.
-	(m68k_symbolic_call, m68k_symbolic_jump): Declare.
-	* config/m68k/m68k.c (m68k_symbolic_call, m68k_symbolic_jump): New
-	variables.
-	(override_options): Initialize them.  Do not set flag_no_function_cse
-	for TARGET_ID_SHARED_LIBRARY.
-	(m68k_output_pic_call): Delete.
-	(m68k_legitimize_call_address): New function.
-	(print_operand): Remove the %o prefix.  Handle the %p prefix.
-	(output_call): New function.
-	(m68k_output_mi_thunk): Use m68k_symbolic_jump.  Always load the
-	target address from the GOT if symbolic jumps are not allowed.
-	* config/m68k/m68k.md (call, general_operand): Do not set
-	SYMBOL_REF_FLAG.  Use m68k_legitimize_call_address instead.
-	Merge separate flag_pic and !flag_pic define_insns into...
-	(*call, *call_value): ...these new patterns.  Match the address
-	rather than the containing MEM and require it to be a call_operand.
-	Use output_call to generate the asm template.
-	* config/m68k/predicates.md (const_call_operand): New predicate.
-	(call_operand): Likewise.
-
-2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify definition.
-	(STACK_GROWS_DOWNWARD): Define to 1.
-	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Equivocate
-	comments, emphasizing that these values are only defaults.
-	* config/m68k/linux.h (LINK_SPEC): Fix formatting in #undef.
-	* config/m68k/m68k.c (const_method): Remove trailing whitespace.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.md (cmpsi): Remove outdated flag_pic handling.
-
-2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P)
-	(FP_REGNO_P): New macros.
-	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_DATA_P)
-	(REGNO_OK_FOR_FP_P, REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Use them.
-	(EH_RETURN_STACKADJ_RTX): Use A0_REG.
-	* config/m68k/m68k.c (m68k_regno_mode_ok): Use the new REGNO macros.
-
-2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
-	(m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-rtems*): Add t-floatlib
-	to $tmake_file.
-	* config/m68k/t-floatlib: New file, extracting common code from...
-	* config/m68k/t-m68kbare, config/m68k/t-m68kelf,
-	* config/m68k/t-uclinux: Here.
-	* config/m68k/fpgnulib.c: Do not compile extendeed precision
-	routines on ColdFire targets.
-
-2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
-	(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*)
-	(m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-linux*)
-	(m68k-*-rtems*): Use tm_file rather than m68k/m68k.h and
-	explicitly set MOTOROLA to 1.
-	* config/m68k/m68k.h (MOTOROLA): Simplify definition accordingly.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-	    Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k.h (PCC_STATIC_STRUCT_RETURN): Delete.
-	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add MOTOROLA cases.
-	* config/m68k/coff.h (REGISTER_PREFIX_MD): Delete.
-	* config/m68k/m68020-elf.h (LIB_SPEC): Delete.
-	* config/m68k/m68k-none.h (CC1_SPEC, CPP_SUBTARGET_SPEC): Delete.
-	* config/m68k/m68kelf.h (IMMEDIATE_PREFIX, REGISTER_PREFIX_MD)
-	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
-	(NO_DOLLAR_IN_LABEL, PCC_STATIC_STRUCT_RETURN): Don't undefine.
-	(BSS_ASM_OP, ASM_OUTPUT_SKIP, ASM_OUTPUT_ASCII): Delete.
-	* config/m68k/m68kemb.h (PCC_STATIC_STRUCT_RETURN): Don't undefine.
-	* config/m68k/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE)
-	(WCHAR_TYPE_SIZE, TARGET_OBJFMT_CPP_BUILTINS): Delete.
-	(TARGET_OS_CPP_BUILTINS): Don't define mc68000 and mc68020 here.
-	(DBX_REGISTER_NUMBER): Delete.
-	* config/m68k/netbsd-elf.h (IMMEDIATE_PREFIX): Delete.
-	(PCC_STATIC_STRUCT_RETURN): Don't undefine.
-	* config/m68k/openbsd.h (PCC_STATIC_STRUCT_RETURN): Define.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (m68k-*-uclinux*): Add flat.h to $tm_file.
-	* config/flat.h: New file.
-	* crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define if
-	OBJECT_FORMAT_FLAT.
-	* config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Do not use
-	indirect references for -msep-data or -mid-shared-library.
-	Do not use PC-relative code addresses either.
-	* config/m68k/m68k.c (override_options): Restrict -fPIC error
-	to -mpcrel.
-	* config/m68k/uclinux.h (STARTFILE_SPEC): Define.  Use Scrt1.o
-	for shared libraries and crt1.o for executables.  Use crti.o and
-	crtbegin.o.
-	(ENDFILE_SPEC): Use crtend.o and crtn.o.
-	(LIB_SPEC): Suppress -Rlibc.gdb if -static-libc is given.
-	Do not add -elf2flt or -shared-lib-id options here.
-	(LINK_SPEC): Define.  Pass -elf2flt if no -elf2flt option is given.
-	Pass -shared-lib-id if -mid-shared-library, taking the library
-	identifier from -mshared-library-id if given, otherwise
-	defaulting to 0.
-	(EH_FRAME_IN_DATA_SECTION): Do not undefine.
-	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Likewise.
-	(TARGET_OS_CPP_BUILTINS): Define __GXX_MERGED_TYPEINFO_NAMES=0
-	and __GXX_TYPEINFO_EQUALITY_INLINE=0 if -mid-shared-library.
-	(DRIVER_SELF_SPECS): Map unadorned PIC options to -msep-data.
-	* config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Add crtbegin.o
-	and crtend.o.
-	* config/m68k/lb1sf68.asm (PICCALL): Use an lea and pc-relative
-	jump sequence for ISA A and ISA A+.
-	(PICJUMP): Likewise.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (m68k-*-uclinux*): Base the port on the common
-	and m68k GNU/Linux files rather than on the generic ELF ones.
-	* config/m68k/uclinux.h (TARGET_VERSION): Override.
-	(TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
-
-2007-01-18  Julian Brown  <julian@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Make 64-bit on ColdFire.
-	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
-	* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Undefine
-	before redefining.
-	* config/m68k/uclinux-oldabi.h (LONG_DOUBLE_TYPE_SIZE): Redefine to
-	80 unconditionally.
-	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
-
-2007-01-18  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/install.texi: Document m68k-uclinuxoldabi.
-	* config.gcc (m68k-*-uclinuxoldabi): New configuration.
-	* config/m68k/uclinux-oldabi.h: New file, copied from
-	config/m68k/uclinux.h.
-
-2007-01-18  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
-
-	* config/m32r/m32r-protos.h (m32r_expand_epilogue): Declare it.
-	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Use gen_frame_mem.
-	(m32r_compute_frame_size): Use unsigned for regno.
-	(m32r_reload_lr): Use gen_frame_mem.
-	(pop): New.
-	(m32r_output_function_epilogue): Don't output the function epilogue
-	textually here.
-	(m32r_expand_epilogue): New.
-	(direct_return): Return false if the function has the interrupt
-	attribute.
-	(m32r_hard_regno_rename_ok): Remove code for the textual epilogue.
-	* config/m32r/m32r.md (epilogue): New expander.
-	(return_lr, return_rte): New insns.
-	(return): Make it expander.
-	(return_normal): New expander.
-
-2007-01-18  Josh Conner  <jconner@apple.com>
-
-	PR target/30485
-	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add
-	support for UNLE, UNLT, UNGE, and UNGT.
-
-2007-01-18  Jan Hubicka  <jh@suse.cz>
-
-	* tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand.
-	* tree-tailcall (add_virtual_phis): Likewise.
-	(optimize_tail_call): Return TODOs.
-	(execute_tail_calls): Return TODOs.
-	* tree-ssa-ccp (execute_fold_all_builtins): Do cleanup_cfg via TODO.
-	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Return if something
-	changed.
-	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
-	Cleanup cfg using TODO.
-	* tree-flow.h (cleanup_tree_cfg_loop): Update prototype.
-	* passes.c (execute_function_todo): When cleanup did something, remove
-	unused locals.
-	* tree-cfg.c (pass_build_cfg): Add cleanup_cfg TODO.
-	(make_edges): Don't cleanup_cfg.
-
-2007-01-18  Uros Bizjak  <ubizjak@gmail.com>
-
-	* reg-stack.c (subst_stack_regs_pat) [UNSPEC_SINCOS_COS,
-	UNSPEC_XTRACT_FRACT]: Use generic code for instructions that
-	operate on the top of stack.
-	[UNSPEC_SINCOS_SIN, UNSPEC_XTRACT_EXP, UNSPEC_TAN]: Rewrite
-	register handling of instructions that output to the second
-	stack slot.
-	[UNSPEC_TAN_ONE, UNSPEC_TAN_TAN]: Remove.
-	(move_for_stack_reg): Special-case check for dead destination
-	stack slot for constant load of 1.0 inside UNSPEC_TAN.
-
-	* config/i386/i386.md (UNSPEC_TAN): New constant.
-	(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): Remove.
-	(fptanxf4_i387, fptan_extend<mode>xf4_i387): New patterns
-	to correctly model move of constant 1.0 to top stack slot.
-	(*tandf3_1, *tansf3_1, *tanxf3_1): Remove insn patterns.
-	(unnamed peephole2 pattern): Remove corresponding peephole2
-	pattern that optimizes tan insn and loading of constant 1.0.
-	(tanxf2): Use fptanxf4_i387.
-	(tan<mode>2): Rename from tansf2 and tandf2 and macroize insn
-	patterns using X87MODEF12 mode macro.  Use fptan_extend<mode>xf4_i387
-	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
-	disable patterns for SSE math.
-	(sincos<mode>3): Use truncxf<mode>2_i387_noop for truncation.
-	(fyl2x_extend<mode>xf3_i387): Use X87MODEF12 for operand 1.
-
-2007-01-18  Dirk Mueller  <dmueller@suse.de>
-	    Richard Guenther <rguenther@suse.de>
-
-	PR diagnostic/8268
-	* doc/invoke.texi (Warray-bounds): Document -Warray-bounds.
-	* common.opt (Warray-bounds): Add new warning option.
-	* c-opts.c (c_common_handle_option): Define -Warray-bounds
-	if -Wall is given.
-	* Makefile.in: make tree-vrp.o depend on toplev.h
-	* tree-vrp.c (vrp_finalize): Call check_array_refs if -Warray-bounds
-	is enabled.
-	(check_array_refs, check_array_bounds, check_array_ref): New.
-
-2007-01-18  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-ccp.c (ccp_finalize): Return if something changed.
-	(execute_ssa_ccp): Return flags conditionally.
-	* tree-ssa-propagate.c (substitue_and_fold): Return if something was
-	changed.
-	* tree-ssa-propagate.h (substitute_and_fold): Update prototype.
-
-2007-01-18  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* cfgcleanup.c (cleanup_cfg): Detect cfglayout mode and set
-	the CLEANUP_CFGLAYOUT flag when in cfglayout mode.
-
-	* Makefile.c (GTFILES): Add cfglayout.h.
-	* gengtype.c (open_base_files): Likewise.
-	* cfglayout.c (cfg_layout_function_footer,
-	cfg_layout_function_header) Reindent to make gengtype happy.
-	* cfglayout.h (cfg_layout_function_footer,
-	cfg_layout_function_header): Add GTY(()) marker.
-
-	* ifcvt.c (noce_try_sign_mask): Make sure INSN_B is non-null.
-
-2007-01-18  Ben Elliston  <bje@au.ibm.com>
-
-	* genautomata.c (write_automata): Include xstrerror output in the
-	error message if writing the DFA description file fails.
-
-2007-01-17  H.J. Lu  <hongjiu.lu@intel.com>
-
-	* config/mips/mips-protos.h (mips_output_external): Make it
-	return void.
-	* config/mips/iris.h (TARGET_ASM_EXTERNAL_LIBCALL): Removed.
-	* config/mips/mips.c (irix_output_external_libcall): Likewise.
-	(extern_list): Likewise.
-	(extern_head): Likewise.
-	(TARGET_ASM_FILE_END): Likewise.
-	(mips_file_end): Likewise.
-	(mips_output_external): Rewritten.
-
-2007-01-18  Ben Elliston  <bje@au.ibm.com>
-
-	* genpreds.c (write_insn_preds_c): Only write out the function
-	body for regclass_for_constraint if we have register constraints.
-
-2007-01-17  Tom Tromey  <tromey@redhat.com>
-
-	* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
-	* doc/install.texi (Testing): Use sourceware.org.
-	(Binaries): Likewise.
-	(Specific): Likewise.
-	* doc/contrib.texi (Contributors): Use sourceware.org.
-
-2007-01-17  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr.h (AVR_HAVE_LPMX): New macro.
-	(AVR_ENHANCED): Rename to ...
-	(AVR_HAVE_MUL): ... new.
-	(avr_enhanced_p): Rename to ...
-	(avr_have_mul_p): ... new.
-	(TARGET_CPU_CPP_BUILTINS): Use 'avr_have_mul_p' instead of
-	'avr_enhanced_p' for "__AVR_ENHANCED__". Define "__AVR_HAVE_MUL__".
-	* config/avr/avr.c (avr_enhanced_p): Rename to ...
-	(avr_have_mul_p): ... new.
-	(base_arch_s): Rename 'enhanced' to 'have_mul'.
-	(avr_override_options): Use 'avr_have_mul_p' and 'have_mul' instead of
-	'avr_enhanced_p' and 'enhanced'.
-	(ashlhi3_out, ashrhi3_out, lshrhi3_out, avr_rtx_costs): Use
-	AVR_HAVE_MUL instead of AVR_ENHANCED.
-	* avr.md (*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED.
-	(mulqi3, *mulqi3_enh, *mulqi3_call, mulqihi3, umulqihi3, mulhi3,
-	*mulhi3_enh, *mulhi3_call, mulsi3, *mulsi3_call): Use AVR_HAVE_MUL
-	instead of AVR_ENHANCED.
-	(*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED.
-	* libgcc.S: Use __AVR_HAVE_MUL__ instead of __AVR_ENHANCED__.
-	(__tablejump__): Use __AVR_HAVE_LPMX__ instead of __AVR_ENHANCED__.
-
-2007-01-17  Ian Lance Taylor  <iant@google.com>
-
-	* vec.h (VEC_reserve_exact): Define.
-	(vec_gc_p_reserve_exact): Declare.
-	(vec_gc_o_reserve_exact): Declare.
-	(vec_heap_p_reserve_exact): Declare.
-	(vec_heap_o_reserve_exact): Declare.
-	(VEC_OP (T,A,reserve_exact)): New static inline function, three
-	versions.
-	(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
-	negative parameter.
-	(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
-	(VEC_OP (T,A,copy)) [all versions]: Likewise.
-	(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
-	* vec.c (calculate_allocation): Add exact parameter.  Change all
-	callers.
-	(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
-	(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
-	(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
-	(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
-	(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
-	(vec_heap_p_reserve_exact): New function.
-	(vec_heap_o_reserve_exact): New function.
-
-2007-01-17  Jan Hubicka  <jh@suse.cz>
-
-	* ipa-type-escape.c (look_for_casts): Revamp using handled_component_p.
-
-2007-01-17  Eric Christopher  <echristo@apple.com>
-
-	* config.gcc: Support core2 processor.
-
-2007-01-16  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssanames.c (release_dead_ssa_names): Instead of ggc_freeing
-	the names, just unlink the chain so we don't crash on dangling
-	pointers
-	to dead SSA names.
-
-2007-01-16  Jan Hubicka  <jh@suse.cz>
-
-	* cgraph.h (cgraph_decide_inlining_incrementally): Kill.
-	* tree-pass.h: Reorder to make IPA passes appear toegher.
-	(pass_early_inline, pass_inline_parameters, pass_apply_inline):
-	Declare.
-	* cgraphunit.c (cgraph_finalize_function): Do not compute inling
-	parameters, do not call early inliner.
-	* ipa-inline.c: Update comments.  Include tree-flow.h
-	(cgraph_decide_inlining): Do not compute inlining parameters.
-	(cgraph_decide_inlining_incrementally): Return TODOs; assume to
-	be called with function context set up.
-	(pass_ipa_inline): Remove unreachable functions before pass.
-	(cgraph_early_inlining): Simplify assuming to be called from the
-	PM as local pass.
-	(pass_early_inline): New pass.
-	(cgraph_gate_ipa_early_inlining): New gate.
-	(pass_ipa_early_inline): Turn into simple wrapper.
-	(compute_inline_parameters): New function.
-	(gate_inline_passes): New gate.
-	(pass_inline_parameters): New pass.
-	(apply_inline): Move here from tree-optimize.c
-	(pass_apply_inline): New pass.
-	* ipa.c (cgraph_remove_unreachable_nodes): Verify cgraph after
-	transforming.
-	* tree-inline.c (optimize_inline_calls): Return TODOs rather than
-	doing them by hand.
-	(tree_function_versioning): Do not allocate dummy struct function.
-	* tree-inline.h (optimize_inline_calls): Update prototype.
-	* tree-optimize.c (execute_fixup_cfg): Export.
-	(pass_fixup_cfg): Remove
-	(tree_rest_of_compilation): Do not apply inlines.
-	* tree-flow.h (execute_fixup_cfg): Declare.
-	* Makefile.in (gt-passes.c): New.
-	* passes.c: Include gt-passes.h
-	(init_optimization_passes): New passes.
-	(nnodes, order): New static vars.
-	(do_per_function_toporder): New function.
-	(execute_one_pass): Dump current pass here.
-	(execute_ipa_pass_list): Don't dump current pass here.
-
-2007-01-16  Janis Johnson  <janis187@us.ibm.com>
-
-	* config/dfp-bit.c (dfp_compare_op): Return separate value for NaN.
-	(DFP_NE, DFP_LE, DFP_GE): Return false for NaN.
-
-2007-01-16  David Edelsohn  <edelsohn@gnu.org>
-
-	* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
-	(strong_alias): Define.
-	(__gcc_qmul): Provide non-FMA for soft-float.
-	(__gcc_qdiv): Same.
-	(__gcc_qneg): New.
-	(__gcc_qeq): New.
-	(__gcc_qle): New.
-	(__gcc_qge): New.
-	(__gcc_qunord): New.
-	(__gcc_stoq): New.
-	(__gcc_dtoq): New.
-	(__gcc_qtos): New.
-	(__gcc_qtod): New.
-	(__gcc_qtoi): New.
-	(__gcc_qtou): New.
-	(__gcc_itoq): New.
-	(__gcc_utoq): New.
-	(fmsub): New.
-	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
-	soft-float functions.
-	* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
-	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
-	about long double soft float.
-
-2007-01-16  Dorit Nuzman  <dorit@il.ibm.com>
-	    Tehila Meyzels  <tehila@il.ibm.com>
-
-	* tree-vectorizer.h (is_pattern_stmt_p): New.
-	* tree-vect-analyze.c (vect_determine_vectorization_factor): Fix
-	formatting (tabs instead of spaces). Cleanup and clarify setting
-	of STMT_VINFO_VECTYPE. Call is_pattern_stmt_p.
-	* tree-vect-transform.c (vect_get_vec_def_for_operand): Fix typo.
-	(vectorizable_type_demotion): Check that types are integral.
-	(vectorizable_type_promotion): Likewise.
-	(vectorizable_store): Fix typo.  Eliminate new-line at end of
-	comments.
-
-2007-01-16  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssanames.c (release_dead_ssa_names): Remove invalidated
-	cgraph edges too.
-
-2007-01-15  Eric Christopher  <echristo@apple.com>
-
-	* ifcvt.c: Include vec.h, vecprim.h.
-	(check_cond_move_block): New argument regs.
-	Reorganize. Add registers used to regs.
-	(cond_move_process_if_block): Use regs set above as
-	loop bounds.
-
-2007-01-15  Eric Christopher  <echristo@apple.com>
-
-	* config/darwin.h: Update copyright.
-	(TARGET_OPTION_TRANSLATE_TABLE): Add umbrella.
-	(LINK_COMMAND_SPEC): Add -u.
-	(LINK_SPEC): Fix umbrella for above.
-
-2007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
-
-	* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
-	glibc CVS.
-
-2007-01-15  Tom Tromey  <tromey@redhat.com>
-
-	* doc/sourcebuild.texi (libgcj Tests): Don't mention jacks.
-	* doc/install.texi (Testing): Don't mention jacks.
-	(Configuration): Document --enable-java-maintainer-mode.  Move
-	--with-java-home to libgcj-specific section.  Document
-	--with-ecj-jar.
-	(Prerequisites): Mention --enable-java-maintainer-mode, ecj1.
-
-2007-01-15  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-dce.c (DCE_TODOs): New.
-	(propagate_necessity): Return if something changed.
-	(eliminate_unnecessary_stmts): Likewise.
-	(perform_tree_ssa_dce): Return TODO flags when needed.
-	(pass_dce, pass_dce_loop, pass_cd_dce): Remove TODO flags.
-
-2007-01-15  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (fyl2xxf3_i387): Rename from fyl2x_xf3.
-	(fyl2x_extend<mode>xf3_i387): New insn pattern.
-	(log<mode>2): Rename from logsf2 and logdf2 and macroize insn
-	patterns using X87MODEF12 mode macro.  Extend operand 1
-	to XFmode. Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
-	(log10<mode>2): Ditto.
-	(log2<mode>2): Ditto.
-	(log1p<mode>2): Ditto.
-	(logb<mode>2): Ditto.
-	(fyl2xp1xf3_i387): Rename from fyl2xp1_xf3.
-	(fyl2xp1_extend<mode>xf3_i387): New insn pattern.
-	(*fxtractxf3_i387): Rename from *fxtractxf3.
-	(fxtract_extend<mode>xf3_i387): New insn pattern.
-	(ilogbsi2): Use match_dup 3, not match_operand:XF 3.
-	* config/i386/i386.c (ix86_emit_i387_log1p): Use gen_fyl2xp1xf3_i387()
-	and gen_fyl2xxf3_i387().
-
-2007-01-14  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* loop-unswitch.c (unswitch_loop): Do not call fix_loop_placement.
-	* cfgloopmanip.c (fix_loop_placement): Made static.  Use
-	get_loop_exit_edges.  Changed return type to bool.
-	* cfgloop.h (fix_loop_placement): Declaration removed.
-
-2007-01-14  Dorit Nuzman  <dorit@il.ibm.com>
-
-	* param.h (MIN_VECT_LOOP_BOUND): New.
-	* params.def (MIN_VECT_LOOP_BOUND): New.
-	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another
-	argument - minimum threshold for number of iterations.
-	* tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another
-	argument to declaration.
-	* tree-vect-analyze.c (vect_analyze_operations): Check value of
-	MIN_VECT_LOOP_BOUND.
-	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call
-	slpeel_tree_peel_loop_to_edge with additional argument.
-	(vect_do_peeling_for_alignment): Likewise.
-	* doc/invoke.texi (min-vect-loop-bound): Document new param option.
-
-2007-01-14  Uros Bizjak  <ubizjak@gmail.com>
-
-	PR target/30413
-	* config/i386/i386.c (print_operand) ['z']: Output 'b' for
-	operands of size 1.
-
-2007-01-14  Jan Hubicka  <jh@suse.cz>
-
-	* tree-dfa.c (remove_referenced_var): New function.
-	* tree-ssa-live.c (remove_unused_locals): Walk referenced vars and
-	prune referenced vars list too.
-	* tree-flow.h (remove_referenced_var): Declare.
-
-2007-01-14  Jan Hubicka  <jh@suse.cz>
-
-	* tree-eh.c (add_stmt_to_eh_region_fn): Do not add call_exprs
-	separately.
-	(remove_stmt_from_eh_region_fn): Do not remove call_exprs.
-	(verify_eh_throw_stmt_node, verify_eh_throw_table_statements): Kill.
-	* except.h (verify_eh_throw_table_statements): Kill prototype.
-	* cfgexpand.c (expand_gimple_basic_block): Propagate Eh regions
-	into call exrepssions.
-	* tree-optimize.c (execute_free_cfg_annotatiosn): Do not call
-	eh trhow verifier.
-	* tree-cfg.c: Include pointer-set.h.
-	(verify_node_sharing): Work on pointer set.
-	(verify_eh_throw_stmt_node): New.
-	(verify_stmts): Use pointers sets, verify throw_stmt.
-
-2007-01-13  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* ipa-reference.c (analyze_function): Consider also addresses taken
-	in phi nodes.
-
-2007-01-12  Roger Sayle  <roger@eyesopen.com>
-
-	* c-typeck.c (null_pointer_constant_p): Replace use of
-	TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
-	(build_c_cast): Likewise.
-
-2007-01-12  Roger Sayle  <roger@eyesopen.com>
-
-	* tree.h (force_fit_type_double): Remove unused final argument.
-	* c-common.c (constant_expression_warning): Replace use of
-	TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
-	(convert_and_check): Likewise.
-	(shorten_compare): Update call to force_fit_type_double.
-	(c_common_truthvalue_conversion) <INTEGER_CST>: Use integer_zerop.
-	* convert.c (convert_to_pointer): Update call to
-	force_fit_type_double.
-	* fold-const.c (force_fit_type_double): Remove overflowed_const
-	argument.
-	(int_const_binop, fold_convert_const_int_from_int,
-	fold_convert_const_int_from_real, fold_div_compare,
-	fold_sign_changed_comparison, fold_unary, fold_negate_const,
-	fold_abs_const, fold_not_const): Remove the final argument from
-	calls to force_fit_type_double.
-
-2007-01-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	* configure.ac: Set insn to "nop" for spu-*-* also.
-	* configure: Regenerate.
-
-2007-01-12  Olga Golovanevsky  <olga@il.ibm.com>
-
-	* builtins.def : Add BUILT_IN_FREE.
-
-2007-01-12  Jan Hubicka  <jh@suse.cz>
-
-	PR tree-optimization/30443
-	* tree-inline.c (tree_function_versioning): Do not optimize when
-	cloning for inlining.
-
-2007-01-12  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* doc/loop.texi: Document recording of loop exits.
-	* cfgloopmanip.c (loopify, duplicate_loop): Use alloc_loop.
-	(update_single_exits_after_duplication,
-	update_single_exit_for_duplicated_loop,
-	update_single_exit_for_duplicated_loops): Removed.
-	(duplicate_loop_to_header_edge): Do not call
-	update_single_exits_after_duplication and
-	update_single_exit_for_duplicated_loops.
-	(loop_version): Do not update single_exit information.
-	(fix_loop_structure): Use record_loop_exits instead of
-	mark_single_exit_loops.
-	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update
-	the lists of loop exits.
-	* cfghooks.c (redirect_edge_and_branch, redirect_edge_and_branch_force,
-	split_edge, merge_blocks): Update the lists of loop exits.
-	* modulo-sched.c (sms_schedule): Pass LOOPS_HAVE_RECORDED_EXITS to
-	loop_optimizer_init.
-	* loop-init.c (loop_optimizer_init): Call record_loop_exits instead
-	of mark_single_exit_loops.
-	(loop_optimizer_finalize): Call release_recorded_exits.
-	* tree-ssa-loop.c (tree_loop_optimizer_init): Pass
-	LOOPS_HAVE_RECORDED_EXITS to loop_optimizer_init.
-	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): Do not
-	update single exit information.
-	* lambda-code.c (perfect_nestify): Ditto.
-	* cfgloop.c (flow_loop_free): Destroy the list of exits of the loop.
-	(mark_single_exit_loops): Removed.
-	(alloc_loop, loop_exit_hash, loop_exit_eq, loop_exit_free,
-	get_exit_descriptions, rescan_loop_exit, record_loop_exits,
-	dump_recorded_exit, dump_recorded_exits, release_recorded_exits): New
-	functions.
-	(get_loop_exit_edges, single_exit): Use recorded exit lists.
-	(add_bb_to_loop, remove_bb_from_loops): Update the lists of loop exits.
-	(verify_loop_structure): Verify consistency of the exit lists.
-	(flow_loops_find): Use alloc_loop.  Initialize exits hash.
-	(set_single_exit): Removed.
-	* cfgloop.h (struct loop_exit): New function.
-	(struct loop): single_exit_ field replaced by exits field.
-	(LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by
-	LOOPS_HAVE_RECORDED_EXITS.
-	(struct loops): Added exits hash.
-	(mark_single_exit_loops, set_single_exit): Declaration removed.
-	(release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Avoid use of @headitem.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* cse.c (cse_insn): Move HAVE_CC0 code after declarations.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/install.texi: Fix m68k-*-* anchor and add m68k-*-* to the
-	list of targets.
-
-2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Document -mno-bitfield, -mno-rtd and -mno-short.
-	* config/m68k/m68k.opt: Resort options.
-	(mbitfield, mrtd, mshort): Remove RejectNegative properties.
-
-2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* doc/invoke.texi: Document the macros that are defined by
-	m68k's -mtune and -mhard-float options.
-	* config/m68k/m68k-protos.h (m68k_cpp_cpu_ident) Declare.
-	(m68k_cpp_cpu_family): Likewise.
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add a full set
-	of __ucfv*__ macros.  Define __mcffpu__ if generating code for
-	ColdFire FPUs.  Define __mcf_cpu_* and __mcf_family_* macros.
-	* config/m68k/m68k.c (m68k_cpp_cpu_ident): New function.
-	(m68k_cpp_cpu_family): Likewise.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Treat all mc68*
-	macros besides mc68000 as tuning macros.  Use a switch statement
-	to set them and mcpu32.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-
-	* config/m68k/m68k.h: Use TARGET_68040 instead of TARGET_68040_ONLY.
-	(TARGET_68040_ONLY): Rename to...
-	(TARGET_68040): ...this.
-	* config/m68k/m68k.c: Use TARGET_68040 instead of TARGET_68040_ONLY.
-	* config/m68k/m68k.md: Likewise.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-	    Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (m680[012]0-*-*, m68k*-*-*): Set m68k_cpu_ident to
-	the -mcpu= argument associated with the --with-cpu setting.
-	Define M68K_DEFAULT_TUNE to the default -mtune= option,
-	if different from the one implied by the -mcpu setting.
-	Accept --with-cpu=FOO if FOO is listed in m68k-devices.def,
-	using mcpu=FOO as the default CPU option.  Set target_cpu_default2.
-	* doc/invoke.texi: Mention ColdFire in the introduction to the
-	m68k options.  Document the new -march, -mcpu, -mtune, -mdiv,
-	-mno-div and -mhard-float options.  Make -m68881 a synonym for
-	-mhard-float.  Document the previously-undocumented -m5206e,
-	-m528x, -m5307 and -m5407 options.  Tweak the existing option
-	documentation for consistency.
-	* doc/install.texi: Mention new --with-cpu arguments.
-	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Only use the
-	default CPU if neither -mcpu nor -march are specified.
-	(ASM_CPU_SPEC): Pass down -mcpu and -march options.
-	(TARGET_CPU_CPP_BUILTINS): Set __mcfisa*__ macros from
-	TARGET_ISA*.  Set the legacy __mcf*__ cpu macros in the same way,
-	using m68k_tune to decide between families that implement the
-	same ISA.  Use m68k_tune to set __mcfv4e__.
-	(FL_BITFIELD, FL_68881, FL_COLDFIRE, FL_CF_HWDIV, FL_CF_MAC)
-	(FL_CF_EMAC, FL_CF_EMAC_B, FL_CF_USP, FL_CF_FPU, FL_ISA_68000)
-	(FL_ISA_68010, FL_ISA_68020, FL_ISA_68040, FL_ISA_A, FL_ISA_B)
-	(FL_ISA_C, FL_ISA_MMU): New macros.
-	(MASK_COLDFIRE): Delete.
-	(TARGET_68010, TARGET_68020, TARGET_68040_ONLY, TARGET_COLDFIRE)
-	(TARGET_ISAB): Redefine in terms of m68k_cpu_flags.
-	(TARGET_68881, TARGET_COLDFIRE_FPU): Redefine in terms of m68k_fpu.
-	(TARGET_HARD_FLOAT): Do not define here.
-	(TARGET_ISAAPLUS, TARGET_ISAC): New macros.
-	(TUNE_68000): New macro.
-	(TUNE_68000_10): Redefine in terms of TUNE_68000 and TUNE_68010.
-	(TUNE_68010, TUNE_68030, TUNE_68040, TUNE_68060, TUNE_CPU32)
-	(TUNE_CFV2): Redefine in terms of m68k_tune.
-	(uarch_type, target_device, fpu_type): New enums.
-	(m68k_cpu, m68k_tune, m68k_fpu, m68k_cpu_flags): Declare.
-	* config/m68k/m68k.c (TARGET_DEFAULT): Remove MASK_68881.
-	(FL_FOR_isa_00, FL_FOR_isa_10, FL_FOR_isa_20, FL_FOR_isa_40)
-	(FL_FOR_isa_cpu32, FL_FOR_isa_a, FL_FOR_isa_aplus, FL_FOR_isa_b)
-	(FL_FOR_isa_c): New macros.
-	(m68k_isa): New enum.
-	(m68k_target_selection): New structure.
-	(all_devices, all_isas, all_microarchs): New tables.
-	(m68k_cpu_entry, m68k_arch_entry, m68k_tune_entry, m68k_cpu)
-	(m68k_tune, m68k_fpu, m68k_cpu_flags): New variables.
-	(MASK_ALL_CPU_BITS): Delete.
-	(m68k_find_selection): New function.
-	(m68k_handle_option): Handle -mcpu=, -march= and -mtune=.
-	Map the legacy target options to a combination of the new ones.
-	(override_options): Set m68k_cpu, m68k_tune, m68k_fpu and
-	m68k_cpu_flags.  Handle M68K_DEFAULT_TUNE.  Use m68k_cpu_flags
-	to derive default MASK_BITFIELD, MASK_CF_HWDIV and MASK_HARD_FLOAT
-	settings.
-	* config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407, mcfv4e)
-	(m68010, m68020, m68020-40, m68020-60, m68030, m68040): Remove Mask
-	properties.
-	(m68881, msoft-float): Change mask from 68881 to HARD_FLOAT.
-	(march=, mcpu=, mdiv, mhard-float, mtune=): New options.
-	* config/m68k/m68k-devices.def: New file.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-	    Nathan Sidwell  <nathan@codesourcery.com>
-
-	* config/m68k/m68k.h (ASM_CPU_SPEC, ASM_SPEC, EXTRA_SPECS)
-	(SUBTARGET_EXTRA_SPECS): New macros.
-	* config/m68k/linux.h (ASM_SPEC): Remove CPU flags;
-	use %(asm_cpu_spec) instead.
-	* config/m68k/m68k-none.h (ASM_SPEC): Likewise.
-	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
-	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
-	(EXTRA_SPECS): Rename to...
-	(SUBTARGET_EXTRA_SPECS): ...this.
-
-2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-	    Julian Brown  <julian@codesourcery.com>
-
-	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
-	(m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu
-	to the configuration's default CPU.
-	(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise.
-	Remove default masks.
-	(m680[012]0-*-*): Set the default with_cpu to the first part of
-	the target name.
-	(m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu.
-	(m68k*-*-linux): Extend the --with-cpu handling to...
-	(m680[012]0-*-*, m68k*-*-*): ...these configurations.  Allow m68000
-	and m68010.  Don't set target_cpu_default2.
-	* doc/install.texi: Document --with-cpu for m68k.
-	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define.
-	* config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k)
-	(M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030)
-	(M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT)
-	(ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete.
-	(ASM_SPEC): Remove use of %(asm_cpu_default).
-	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete.
-	* config/m68k/linux.h (TARGET_DEFAULT): Delete.
-	(CPP_SPEC): Merge definitions.  Do not handle __HAVE_68881__ here.
-	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
-	__HAVE_FPU__ if TARGET_HARD_FLOAT.
-	(TARGET_DEFAULT): Delete.
-	(EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec,
-	cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec.
-	(CPP_CPU_SPEC): Delete.
-	(TARGET_VERSION): Merge definitions, using TARGET_68010 to pick
-	the appropriate string.
-	(CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete.
-	(CPP_SPEC): Define to NETBSD_CPP_SPEC.
-	(ASM_SPEC): Don't use %(asm_default_spec).
-	* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
-	TARGET_DEFAULT and add MASK_68881.
-	* config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* config.gcc (m68010-*-netbsdelf*): Add MASK_68010.
-	(m68k*-*-netbsdelf*, m68k*-*-openbsd*, m68k*-linux*): Add
-	MASK_68010 alongside MASK_68020.
-	* doc/invoke.texi: Document -m68010.
-	* config/m68k/m68k.opt (m68010): New.
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define mc68010
-	if TUNE_68010.
-	(TUNE_68010): New macro.
-	* config/m68k/m68k-none.h (M68K_CPU_m68k, M68K_CPU_m68010)
-	(M68K_CPU_m68020, M68K_CPU_m68030, M68K_CPU_m68040)
-	(M68K_CPU_m68332): Add MASK_68010.
-	* config/m68k/linux.h (TARGET_DEFAULT): Add MASK_68010 to
-	fallback definition.
-	* config/m68k/netbsd-elf.h (CPP_CPU_SPEC): Remove now-redundant
-	defines.
-	* config/m68k/m68k.c (MASK_ALL_CPU_BITS): Add MASK_68010.
-	(m68k_handle_option): Handle OPT_m68010.  Add MASK_68010
-	to all entries that use MASK_68020.
-	(output_move_simode_const, output_move_himode, output_move_qimode)
-	(output_move_stricthi, output_move_strictqi): Use TARGET_68010
-	instead of TARGET_68020 to select clr behavior.  Remove comment
-	about there being no TARGET_68010.
-	* config/m68k/m68k.md: Likewise throughout.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-
-	* config/m68k/m68k.h (TARGET_ISAB): New macro.
-	* config/m68k/m68k.c: Use TARGET_ISAB rather than TARGET_CFV4.
-	* config/m68k/m68k.md: Likewise.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-
-	* config/m68k/m68k.h (LEGITIMATE_INDEX_P, LEGITIMIZE_ADDRESS): Use
-	TARGET_COLDFIRE_FPU instead of TARGET_CFV4E.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-
-	* config/m68k/m68k.h (TUNE_68040_60): New macro.
-	* config/m68k/m68k.c (standard_68881_constant_p): Use it.
-	* config/m68k/m68k.md: Likewise.
-
-2007-01-12  Julian Brown  <julian@codesourcery.com>
-	    Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
-	instead of TARGET_68030, TUNE_68040 instead of TARGET_68040,
-	TUNE_68060 instead of TARGET_68060 and TUNE_CPU32 instead of
-	TARGET_CPU32.
-	(TARGET_CPU32): Rename to...
-	(TUNE_CPU32): ...this.
-	(TUNE_68000_10, TUNE_68030, TUNE_68040, TUNE_68060)
-	(TUNE_CFV2): New macros.
-	* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Simplify;
-	remove conditions that are implied by TARGET_68020.
-	* config/m68k/m68k.c (m68k_output_function_prologue): Use TUNE_68040
-	instead of TARGET_68040 and TUNE_CPU32 instead of TARGET_CPU32.
-	(m68k_output_function_epilogue): Likewise.
-	(m68k_rtx_costs): Likewise.  Use TUNE_68060 instead of TARGET_68060
-	and TUNE_CFV2 instead of TARGET_5200.  Use TUNE_68000_10 instead of
-	"!TARGET_68020 && !TARGET_COLDFIRE" to choose between 68000 and
-	non-68000 timings.  Refactor multiplication and division costs.
-	(output_addsi3): Use TUNE_68040 instead of TARGET_68040 and
-	TUNE_CPU32 instead of TARGET_CPU32.
-	(standard_68881_constant_p): Use TUNE_68040 instead of TARGET_68040
-	and TUNE_68060 instead of TARGET_68060.
-	* config/m68k/m68k.md: Use TUNE_68040 instead of TARGET_68040,
-	TUNE_68060 instead of TARGET_68060, and TUNE_CPU32 instead of
-	TARGET_CPU32.
-	(movsi_const0): Use TUNE_68000_10 rather than "!TARGET_68020
-	&& !TARGET_COLDFIRE" to choose between moveq and clr.
-	Likewise in the unnamed movsf pattern.
-	(ashlsi_17_24, lshrsi_17_24): Guard with TUNE_68000_10 rather than
-	"!TARGET_68020 && !TARGET_COLDFIRE".  Likewise the unnamed
-	ashiftrt pattern.
-
-2007-01-12  Richard Sandiford  <richard@codesourcery.com>
-
-	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Increase amount
-	of tabbing before backslashes.
-
-2007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
-
-	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
-	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
-	(ASM_OUTPUT_INTERNAL_LABEL): Define.
-
-2007-01-11  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-ssa-loop-ivopts.c (extract_cond_operands): Split from
-	find_interesting_uses_cond.
-	(find_interesting_uses_cond): Use extract_cond_operands.
-	(rewrite_use_compare): Use extract_cond_operands and
-	force_gimple_operand_bsi.  Do not call update_stmt.
-	(determine_use_iv_cost_condition): Use extract_cond_operands.
-	Return cheaper of using original bound and changing the exit bound.
-
-2007-01-11  Zdenek Dvorak <dvorakz@suse.cz>
-
-	PR tree-optimization/29516
-	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
-	most_expensive_mult_to_index, addr_to_parts,
-	create_mem_ref, maybe_fold_tmr): Make the type of
-	fields of TARGET_MEM_REF sizetype.
-	(move_fixed_address_to_symbol, move_pointer_to_base):
-	New functions.
-	* tree.def (TARGET_MEM_REF): Add comment on types of
-	the operands.
-
-2007-01-11  Joseph Myers  <joseph@codesourcery.com>
-
-	* c-common.c (vector_types_convertible_p): Treat opaque types as
-	always convertible if they have the same size, but not otherwise.
-
-2007-01-11  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* ifcvt.c (struct noce_if_info): Add comments to the fields.
-	Remove the b_unconditional field.
-	(noce_try_sign_mask): Do not look at b_unconditional.
-	(noce_process_if_block): Do not use merge_if_blocks.  Update
-	the CFG here.  Do not set b_unconditional.
-	(cond_move_process_if_block): Likewise.
-	(find_cond_trap): Likewise.
-	(check_cond_move_block): Require simple jump insns at the end
-	of the basic block.
-
-2007-01-11  Jan Hubicka  <jh@suse.cz>
-
-	PR tree-optimization/1046
-	* tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE
-	when alias info is not ready.
-	(pass_tail_recursion): Do not require aliasing.
-	* tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise.
-	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise.
-	* tree-ssa-copy.c (pass_copy_prop): Likewise.
-	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
-	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise.
-	* passes.c (init_optimization_passes): Execute rename_ssa_copies,
-	ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion
-	before inlining.
-	* tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand):
-	When aliasing is not build, mark statement as volatile.
-
-2007-01-11  Tom Tromey  <tromey@redhat.com>
-
-	PR preprocessor/15185
-	PR preprocessor/20989
-	* doc/cppopts.texi <-MT>: Update description of algorithm for
-	computing default target.
-	<-M, -MD>: Reword "basename" text.
-
-2007-01-11  Roger Sayle  <roger@eyesopen.com>
-
-	* builtins.c (expand_builtin_pow, expand_builtin_powi,
-	fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_trunc,
-	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
-	fold_builtin_int_int_roundingfn, fold_builtin_bitop,
-	fold_builtin_bswap, real_constp, fold_builtin_pow,
-	fold_builtin_powi, fold_builtin_signbit, fold_builtin_copysign,
-	do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Replace
-	uses of the macro TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
-	* convert.c (convert_to_pointer): Likewise.
-	* expr.c (highest_pow2_factor, expand_expr_real_1): Likewise.
-	* fold-const.c (force_fit_type, fold_negate_expr, int_const_binop,
-	const_binop, fold_convert_const_int_from_int,
-	fold_convert_const_int_from_real,
-	fold_convert_const_real_from_real, sign_bit_p,
-	optimize_minmax_comparison, extract_muldiv_1, fold_div_compare,
-	fold_sign_changed_comparison, fold_unary, fold_comparison,
-	fold_binary, multiple_of_p, tree_Expr_non_zero_p,
-	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
-	* print-tree.c (print_node_brief, print_node): Likewise.
-	* stor-layout.c (place_field, layout_type): Likewise.
-	* tree-chrec.c (keep_cast): Likewise.
-	* tree.c (build_vector, build_real, build_real_from_int_cst,
-	build_complex): Likewise.
-
-2007-01-11  Roger Sayle  <roger@eyesopen.com>
-
-	* tree.h (TREE_CONSTANT_OVERFLOW): Obsolete.  For the time being,
-	treat TREE_CONSTANT_OVERFLOW as a synonym of TREE_OVERFLOW.
-
-2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
-
-	* configure.ac (strict1_warn): Rename to strict_warn.
-	(WERROR, --enable-werror, symlink hacks, stage1_cflags,
-	cc_set_by_configure, quoted_cc_set_by_configure,
-	stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
-	all_boot_languages, all_stagestuff): Remove.
-	(target_list): Remove bootstrap targets.
-	* Makefile.in (quickstrap): Unconditionally make a synonym of all.
-	(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
-	REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
-	SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
-	VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
-	STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
-	stage1_copy, stage2_build, stage2_copy, stageprofile_build,
-	stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
-	stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
-	bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
-	bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
-	unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
-	restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
-	cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
-	*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
-	stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
-	stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
-	risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
-	(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
-	(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
-	(mostlyclean): Adjust.
-	(clean, distclean): Don't mention bootstrap stuff.
-	* configure: Regenerate.
-	* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
-	java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
-	treelang/config-lang.in (stagestuff): Remove.
-	* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
-	stageprofile, stagefeedback, stagestuff): Remove mention.
-
-2007-01-11  Nick Clifton  <nickc@redhat.com>
-
-	* config/mcore/predicates.md (mcore_general_movesrc_operand):
-	Accept CONSTs.
-	(mcore_general_movdst_operand): Do not accept CONST_INTs.
-	(mcore_arith_K_S_operand): Run the test for the S constraint not
-	the test for the M constraint.
-	(mcore_addsub_operand): Do not accept integer values that are
-	larger than 32 bits.
-	* config/mcore/mcore.md: Remove unused constraints from split.
-	(andsi3): Use HOST_WIDE_INT instead of int to hold an INTVAL.
-	(addsi3): Likewise.
-	(allocate_stack): Likewise.
-	* config/mcore/mcore.c (mcore_print_operand): Restrict output of P
-	operands to 32 bits.
-	(mcore_const_costs): Use HOST_WIDE_INT instead of int to hold an
-	INTVAL.
-	(mcore_and_cost, mcore_modify_comparison, const_ok_for_mcore,
-	mcore_const_ok_for_inline, mcore_const_trick_uses_not,
-	try_constant_tricks, mcore_num_ones, mcore_num_zeros,
-	mcore_output_bclri, mcore_output_andn, output_inline_const,
-	mcore_output_move, mcore_output_movedouble): Likewise.
-	(mcore_output_cmov): Use CONST_OK_FOR_M and CONST_OK_FOR_N.
-	(output_inline_const): Likewise.
-	(output_inline_const): Fix format strings used in sprintf
-	statements.
-	* config/mcore/mcore-protos.h: Update prototypes for changed
-	functions in mcore.c.
-	* config/mcore/mcore.h (CONST_OK_FOR_I): Cast values to
-	HOST_WIDE_INT and not int.
-	(CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M,
-	CONST_OK_FOR_N): Likewise.
-	(LEGITIMATE_CONSTANT_P): Also check CONSTANT_P.
-	(GO_IF_LEGITIMATE_INDEX): Use HOST_WIDE_INT instead of int to hold
-	an INTVAL.
-
-2007-01-10  Jan Hubicka  <jh@suse.cz>
-
-	* tree-vrp.c (remove_range_assertions): Release defs.
-	* tree-ssa-loop-ivopts.c (rmeove_statement): Likewise.
-	* tree-ssa-dom.c (remove_stmt_or_phi): Likewise.
-
-2007-01-10  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/arm.c (arm_rtx_costs_1): Handle mutiply-subtract.
-	* config/arm/arm.md (mulsi3subsi): New insn.
-
-2007-01-10  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* tree-ssa-loop-manip.c (tree_unroll_loop): Make it a wrapper over ...
-	(tree_transform_and_unroll_loop): New.
-	* tree-flow.h (transform_callback, tree_transform_and_unroll_loop):
-	Declare.
-
-2007-01-10  Robert Kennedy <jimbob@google.com>
-
-	* fold-const.c (fold_comparison): Fold comparisons like (x *
-	1000 < 0) to (x < 0).
-
-2007-01-10  Ian Lance Taylor  <iant@google.com>
-
-	* tree-pretty-print.c (dump_generic_node): Print parentheses when
-	operands have the same priority.
-
-2007-01-10  Tom Tromey  <tromey@redhat.com>
-
-	* fold-const.c (fold_truthop): Don't check can_use_bit_fields_p.
-	(fold_binary): Likewise.
-	* langhooks.c (lhd_can_use_bit_fields_p): Removed.
-	* langhooks-def.h (lhd_can_use_bit_fields_p): Removed.
-	(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
-	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P.
-	* langhooks.h (struct lang_hooks): Removed field
-	'can_use_bit_fields_p'.
-
-2007-01-10  Ralf Corsépius <ralf.corsepius@rtems.org>
-
-	* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
-
-2007-01-10  Razya Ladelsky  <razya@il.ibm.com>
-
-	* function.c (get_last_funcdef_no): New function.
-	* function.h (get_last_funcdef_no): Declare.
-	* tree-inline.c (initialize_cfun): Add initialization.
-	(tree_function_versioning): Cleanup.
-
-2007-01-10  Jan Hubicka  <jh@suse.cz>
-
-	* tree-inline.c (setup_one_parameter): Do not propagate into abnormal
-	PHIs.
-
-2007-01-10  Sa Liu  <saliu@de.ibm.com>
-	    Ben Elliston  <bje@au.ibm.com>
-
-	* spu.h (STACK_SAVE_AREA): Use VOIDmode for SAVE_FUNCTION, SImode
-	for SAVE_NONLOCAL and Pmode for any other save level.
-	* spu-protos.h (spu_restore_stack_block): Declare.
-	* spu.md (save_stack_block): Remove.
-	(restore_stack_block): Call spu_restore_stack_block.
-	* spu.c (spu_restore_stack_block): New function.
-	(spu_expand_epilogue): Remove old comment.
-
-2007-01-09  Zdenek Dvorak <dvorakz@suse.cz>
-
-	PR tree-optimization/30322
-	* tree-ssa-loop-ivopts.c (fold_affine_expr, iv_value): Removed.
-	(cand_value_at): Return the value as aff_tree.
-	(may_eliminate_iv): Convert the bound from aff_tree to tree.
-	* tree-affine.c (aff_combination_add_cst, aff_combination_add_product,
-	aff_combination_mult): New functions.
-	(aff_combination_add): Use aff_combination_add_cst.
-	(aff_combination_convert): Allow conversions to a wider type.
-	(tree_to_aff_combination): Handle BIT_NOT_EXPR.
-	* tree-affine.h (aff_combination_mult): Declare.
-
-2007-01-09  Carlos O'Donell  <carlos@codesourcery.com>
-
-	* doc/tm.texi: Update documentation to reflect reality of exec
-	and start file search behaviours. Update copyright year.
-	* doc/invoke.texi: Explain how GCC_EXEC_PREFIX is used to find
-	header file directories.
-
-2007-01-09  Uros Bizjak  <ubizjak@gmail.com>
-
-	* config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387.
-	(*cosxf2): Rename to cosxf2_i387.
-	(*sindf2, *sinsf2): Extend operand 1 to XFmode.  Macroize patterns
-	using X87MODEF12 mode macro. Rename patterns to
-	*sin_extend<mode>xf2_i387.  Use SSE_FLOAT_MODE_P to disable patterns
-	for SSE math.
-	(*cosdf2, *cossf2): Ditto.
-	(sincosdf3, sincossf3): Ditto.  Rewrite corresponding splitters
-	to match extended input operands.
-	(sincos<mode>3): New expander.
-	(*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove
-	insn patterns and corresponding splitters.
-
-2007-01-09  Kaz Kojima  <kkojima@gcc.gnu.org>
-
-	* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
-	(SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise.
-
-2007-01-09  Nicolas Pitre  <nico@cam.org>
-
-	PR target/30173
-	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
-
-2007-01-08  Geoffrey Keating  <geoffk@apple.com>
-
-	* target.h (struct gcc_target): New field library_rtti_comdat.
-	* target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New.
-	(TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT.
-	* doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT.
-	* config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define.
-
-2007-01-08  Geoffrey Keating  <geoffk@apple.com>
-
-	* doc/invoke.texi (Optimize Options): Correct description of -O0.
-
-2007-01-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree.h (force_fit_type_double): Export.
-	(force_fit_type): Remove.
-	* fold-const.c (force_fit_type_double): New function.
-	(force_fit_type): Remove.
-	(int_const_binop): Use it.
-	(fold_convert_const_int_from_int): Likewise.
-	(fold_convert_const_int_from_real): Likewise.
-	(fold_div_compare): Likewise.
-	(fold_sign_changed_comparison): Likewise.
-	(fold_unary): Likewise.
-	(fold_negate_const): Likewise.
-	(fold_abs_const): Likewise.
-	(fold_not_const): Likewise.
-	* c-common.c (shorten_compare): Use force_fit_type_double.
-	* convert.c (convert_to_pointer): Likewise.
-
-2007-01-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree.h (build_int_cst_wide_type): Export.
-	* tree.c (build_int_cst_wide_type): New function.
-	(build_int_cst_wide): Fix comment.
-	* builtins.c (fold_builtin_object_size): Use build_int_cst
-	to build -1 or 0 of the correct type.  Use fit_double_type
-	to check for overflow.
-	* fold-const.c (optimize_bit_field_compare): Use build_int_cst_type
-	to build the mask.
-	(decode_field_reference): Likewise.
-	(all_ones_mask_p): Likewise.
-	(native_interpret_int): Use build_int_cst_wide_type.
-	(fold_binary): Use build_int_cst_type to build an all-ones
-	value.
-	* stor-layout.c (set_sizetype): Use build_int_cst_wide_type.
-
-2007-01-08  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config/pa/t-pa64 (libgcc_stub.a): Use $(T).
-
-2007-01-09  Ben Elliston  <bje@au.ibm.com>
-
-	* genautomata.c (STATS_OPTION): New option.
-	(stats_flag): New flag.
-	(gen_automata_option): Handle it.
-	(initiate_automaton_gen): Ditto.
-	(write_automata): Output statistics only if stats_flag is
-	set. Likewise, output time statistics only if time_flag is set.
-	* doc/md.texi (Processor pipeline description): Document new flag.
-
-2007-01-08  Richard Guenther  <rguenther@suse.de>
-
-	* builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
-	* tree.c (build_int_cst_type): Likewise.
-	(size_in_bytes): Don't call force_fit_type on the result.
-	(int_fits_type_p): Use fit_double_type.
-	* fold-const.c (fit_double_type): New function.
-	(force_fit_type): Use it.
-	* tree.h (fit_double_type): Export.
-
-2007-01-08  Jan Hubicka  <jh@suse.cz>
-
-	* tree-vectorizer.c (gate_increase_alignment): Fix return type.
-	* ipa.c (function_and_variable_visibility): Fix return type.
-
-2007-01-08  Richard Guenther  <rguenther@suse.de>
-
-	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
-	of offset to build the index.
-	* tree-pretty-print.c (dump_generic_node): Don't build negated
-	const just for printing.
-	* c-pretty-print.c (pp_c_integer_constant): Likewise.
-	* builtins.c (fold_builtin_int_roundingfn): Check if result
-	fits the type by using force_fit_type and comparing the result.
-	* predict.c (predict_loops): Use compare_tree_int for comparison.
-	* tree.c (build_int_cst): Fall back to integer_type_node for
-	NULL_TREE type.
-	(build_int_cst_wide): Assert type is non-null.
-
-2007-01-08  Roberto Costa  <roberto.costa@st.com>
-
-	* tree-vrp.c (extract_range_from_cond_expr): New.
-	(extract_range_from_expr): Handle COND_EXPR nodes used as expressions.
-	* tree-ssa-ccp.c (get_maxval_strlen): Handle COND_EXPR nodes used
-	as expressions.
-	(fold_stmt): Bug fix, avoid infinite recursion when folding COND_EXPRs.
-	* tree-ssa-forwprop.c (simplify_cond, forward_propagate_into_cond,
-	tree_ssa_forward_propagate_single_use_vars): Handle COND_EXPR nodes
-	used as expressions.
-	* tree-object-size.c (cond_expr_object_size): New.
-	(collect_object_sizes_for): Handle COND_EXPR nodes used as expressions.
-
-2007-01-08  Jan Hubicka  <jh@suse.cz>
-
-	* tree-ssa-forwprop.c (forward_propagate_into_cond,
-	tree_ssa_forward_propagate_single_use_va): Release defs of propagated
-	statement.
-
-2007-01-08  Richard Guenther  <rguenther@suse.de>
-
-	PR tree-optimization/23603
-	* tree-vrp.c (set_value_range_to_truthvalue): New function.
-	(extract_range_from_binary): Fall back to truthvalue instead of
-	varying for TRUTH_*_EXPR.
-	(extract_range_from_comparison): Fall back to truthvalue instead of
-	varying.
-	(vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF
-	if all visited PHI values were constant.
-
-2007-01-08  Jan Hubicka  <jh@suse.cz>
-
-	* cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
-	(cgraph_analyze_function): break out from ...
-	(cgraph_finalize_compilation_unit): ... here.
-	(cgraph_expand_function): Remove forgoten commented out line.
-	(cgraph_optimize): Analyze functions.
-
-2007-01-08  Jan Hubicka  <jh@suse.cz>
-
-	* tree-pas.h (TODO_remove_function): New flag.
-	(TODO_update*): Renumber.
-	(pass_ipa_increase_alignment,
-	pass_ipa_function_and_variable_visibility): New passes.
-	* cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
-	(cgraph_function_and_variable_visibility): Move to ipa.c
-	(cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
-	cgraph_increase_alignment.
-	* ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
-	(cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
-	calling tree-inline.
-	(cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
-	(pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
-	* tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
-	(gate_increase_alignment): New function.
-	(pass_ipa_increase_alignment): New pass.
-	* ipa.c: Inline tree-pass.h and timevar.h
-	(function_and_variable_visibility): Move here from cgraphunit.c
-	* tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
-	* passes.c (init_optimization_passes): Add the two new passes.
-	(execute_todo): Handle cgraph_remove_functions.
-
-2007-01-08  Nick Clifton  <nickc@redhat.com>
-
-	* config/frv/predicates.md (reg_or_0_operand): Accept
-	CONST_DOUBLEs.
-
-2007-01-08  Ralf Corsépius <ralf.corsepius@rtems.org>
-
-	* config/bfin/rtems.h, config/bfin/t-rtems: New.
-	* config.gcc: Add bfin*-rtems*.
-
-2007-01-08  Mark Shinwell  <shinwell@codesourcery.com>
-
-	* c.opt: Add -flax-vector-conversions.
-	* c-typeck.c (convert_for_assignment): Pass flag to
-	vector_types_convertible_p to allow emission of note.
-	(digest_init): Likewise.
-	* c-opts.c: Handle -flax-vector-conversions.
-	* c-common.c (flag_lax_vector_conversions): New.
-	(vector_types_convertible_p): Unless -flax-vector conversions
-	has been passed, disallow conversions between vectors with
-	differing numbers of subparts and/or element types.  If such
-	a conversion is disallowed, possibly emit a note on the first
-	occasion only to inform the user of -flax-vector-conversions.
-	The new last argument specifies this.
-	* c-common.h (flag_lax_vector_conversions): New.
-	(vector_types_convertible_p): Add extra argument.
-	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
-	char_type_node for V*QI type vectors.
-	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
-	Update to satisfy new typechecking rules.
-	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both
-	C and C++ variants.
-	* doc/invoke.texi (C Dialect Options): Document
-	-flax-vector-conversions.
-
-2007-01-08  Mark Shinwell  <shinwell@codesourcery.com>
-
-	PR tree-optimization/29877
-	* tree-ssa-ter.c (is_replaceable_p): Deem assignments with
-	a register variable on the RHS to not be replaceable.
-
-2007-01-08  Chen Liqin  <liqin@sunnorth.com.cn>
-	* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
-	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
-	const_simm15, const_pow2, const_npow2): Added.
-	* config/score/misc.md (insv, extv, extzv, movmemsi,
-	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
-	* config/score/score.c (score_address_cost, score_select_cc_mode):
-	Added.
-	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
-	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
-	Update score_print_operand.
-	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
-	Adjust register allocate order and update some macro define.
-	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
-	mdx_block_move_straight, mdx_block_move_loop_head,
-	mdx_block_move_loop_body, mdx_block_move_loop_foot,
-	mdx_block_move_loop, mdx_block_move): Added.
-	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
-	mdp_limm): Updated and fix some bug and typo.
-	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
-	(movsf, movdf, doloop_end): Added.
-
-2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
-	config/arm/thumb2.md: Fix comment typos.
-	* doc/extend.texi: Fix a typo.
-
-2007-01-07  Eric Christopher  <echristo@apple.com>
-
-	* configure.ac: Check for __stack_chk_fail for darwin.
-	* configure: Regenerate.
-
-2007-01-07  Richard Guenther  <rguenther@suse.de>
-
-	* tree-vrp.c (extract_range_from_assert): CSE calls to
-	compare_values where possible.
-	(extract_range_from_unary_expr): Likewise.
-
-2007-01-07  Anatoly Sokolov <aesok@post.ru>
-
-	* config/avr/avr-protos.h (call_insn_operand): Delete prototype.
-	* config/avr/avr.c (call_insn_operand): Delete function.
-	* config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
-	instead of register number. Use predicates.
-	* config/avr/predicates.md (const0_operand, reg_or_0_operand,
-	call_insn_operand): Add.
-
-2007-01-06  Jan Hubicka  <jh@suse.cz>
-
-	* tree-pass.h (pass_build_cgraph_edges): Declare.
-	* cgraphunit.c (record_refernece): Move to cgraphbuild.c
-	(visited_nodes): Remove.
-	(cgraph_create_edges): Move to cgraphbuild.c; rename to
-	build_cgrpah_edges; make visited_nodes local.
-	(cgraph_process_new_functions): DO not call initialize_inline_failed.
-	(record_references_in_initializer): Move to cgraphbuild.c
-	(initialize_inline_failed, rebuild_cgraph_edges,
-	pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
-	(verify_cgraph_node): Make visited_nodes local.
-	(cgraph_analyze_function): Do not call cgraph_create_edges and
-	initialize_inline_failed.
-	(cgraph_expand_function): Do not call cgraph_lower_function;
-	assert that function is already lowered.
-	* Makefile.in (cgraphbuild.o): New.
-	* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
-	at the end of lowering passes.
-
-2007-01-06  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* ifcvt.c (cond_move_convert_if_block): New function, code
-	factored out from...
-	(cond_move_process_if_block): ...here.  Call the new function
-	on the THEN and ELSE blocks.
-	(merge_if_block): Do not copy global_live_at_end, merge_blocks
-	already takes care of this.
-
-2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR c/19978
-	* tree.h (TREE_OVERFLOW_P): New.
-	* c-typeck.c (parser_build_unary_op): Warn only if result
-	overflowed and operands did not.
-	(parser_build_binary_op): Likewise.
-	(convert_for_assignment): Remove redundant overflow_warning.
-	* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
-
-2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	* c-typeck.c (store_init_value): Split over two lines to follow
-	the GNU coding style.
-
-2007-01-05  Benjamin Kosnik  <bkoz@redhat.com>
-
-	* c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
-	__GXX_EXPERIMENTAL_CXX0X__.
-	* doc/cpp.texi: Same.
-
-2007-01-05  Richard Guenther  <rguenther@suse.de>
-
-	PR middle-end/27826
-	* tree.c (get_narrower): Do not construct COMPONENT_REFs
-	with mismatched types.  Instead explicitly build a
-	conversion NOP_EXPR.
-
-2007-01-05  Ian Lance Taylor  <iant@google.com>
-
-	* c-common.c (decl_with_nonnull_addr_p): New function.
-	(c_common_truthvalue_conversion): Call it.
-	* c-typeck.c (build_binary_op): Likewise.
-	* c-common.h (decl_with_nonnull_addr_p): Declare.
-
-2007-01-05  Jakub Jelinek  <jakub@redhat.com>
-
-	PR c/30360
-	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
-	denom against 0.0.
-
-2007-01-05  Joel Brobecker  <brobecker@adacore.com>
-
-	* doc/install.texi (Final install): Document the fact that
-	the GNAT runtime should not be stripped.
-
-2007-01-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-inline.c (fold_marked_statements): Update operand caches
-	and EH after folding
-
-2007-01-04  Ian Lance Taylor  <iant@google.com>
-
-	* c-common.c (check_function_nonnull): Whitespace fix.
-
-2007-01-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
-	comitted older version of patch.
-	(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
-	function, celanup cfg and collect garbage.
-
-2007-01-04  Mike Stump  <mrs@apple.com>
-
-	* Makefile.in (mostlyclean): Don't remove libgcc anymore.
-	(clean): Likewise.
-
-2007-01-04  Eric Christopher  <echristo@apple.com>
-
-	* libgcc2.c (__bswapsi2): Use SItype.
-	(__bswapdi2): Use DItype.
-	* libgcc2.h: Update for above.
-
-2007-01-04  Paul Brook  <paul@codesourcery.com>
-
-	* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
-	mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
-	mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
-	umulsidi3, umulsidi3adddi, smulsi3_highpart,
-	umulsi3_highpart): Make conditional on !arm_arch6.
-	(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
-	mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
-	mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
-	umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
-	umulsi3_highpart_v6): New insns.
-
-2007-01-04  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (fold_convert): When casting an expression to void,
-	fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
-	have a type.  Instead of attempting to build a NOP_EXPR, return
-	these "special" trees directly.
-
-2007-01-04  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
-	MULT inside MINUS as either argument.  Use rs6000_cost->dmul -
-	rs6000_cost->fp not 0 as adjustment for outer NEG.
-
-2007-01-04  Jan Hubicka  <jh@suse.cz>
-
-	* cgraph.c (cgraph_release_function_body): New function.
-	(cgraph_remove_node): Use it.
-	* cgraph.h (cgraph_release_function_body): Declare.
-	* cgraphunit.c (cgraph_expand_function): Use it.
-	* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
-	* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
-	is initialized and while compilation of other function is running.
-	* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
-	statement CFG annotations from here to ...
-	* tree-cfg.c (delete_tree_cfg_annotations): ... here.
-
-2007-01-04  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* cfgloop.h (enum li_flags): Make the constants powers of two.
-
-2007-01-04  Jan Hubicka  <jh@suse.cz>
-
-	* tree-inline.c (copy_bb): Insert new statements to statements_to_fold
-	set.
-	(fold_marked_statements): New function.
-	(optimize_inline_calls, tree_function_versioning): Fold new statements.
-	* tree-inline.h (copy_body_data): Add statements_to_fold.
-
-2007-01-03  Daniel Jacobowitz  <dan@codesourcery.com>
-
-	* config.gcc: Mention libgcc/config.host.
-	* Makefile.in: Update comments mentioning libgcc.
-	(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
-	(all.cross, start.encap, rest.encap, rest.cross): Update
-	dependencies for libgcc move.
-	(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
-	(clean-target, clean-target-libgcc): Delete.
-	(srcdirify, GCC_EXTRA_PARTS): New macros.
-	(libgcc-support, libgcc.mvars): New rules.
-	(distclean): Remove mention of mklibgcc.
-	(install): Don't reference INSTALL_LIBGCC.
-	(install-common): Don't reference EXTRA_PARTS.
-	(install-libgcc, install-multilib): Delete rules.
-	* mklibgcc.in: Delete file.
-	* doc/configfiles.texi: Don't mention mklibgcc.
-
-	* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
-	* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
-	* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
-	* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
-	(mklibgcc, ldblspecs): Likewise.
-
-	* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
-	(posixpre.def): Use $(T).
-	(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
-	(SHLIB_SRC, SHLIB_INSTALL): Delete.
-	(SHLIB_LINK): Make dummy.
-	* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
-
-	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
-
-	* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
-	* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
-	config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
-	config/rs6000/t-newas, config/sparc/t-elf: Likewise.
-
-	* configure.ac (all_outputs): Remove mklibgcc.
-	* configure: Regenerated.
-
-2007-01-03  Josh Conner  <jconner@apple.com>
-
-	PR middle-end/29683
-	* calls.c (compute_argument_addresses): Set stack and stack_slot
-	for partial args, too.
-	(store_one_arg): Use locate.size.constant for the size when
-	generating a save_area.
-
-2007-01-03  Robert Kennedy <jimbob@google.com>
-
-	* tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
-	whose definitions are deleted due to basic block merging.
-
-2007-01-03  Paul Brook  <paul@codesourcery.com>
-
-	PR target/16634
-	* config/arm/arm.c (output_return_instruction): Pop PC in interrupt
-	functions.
-	(use_return_insn): Return 0 for Thumb interrupt functions.
-	(print_multi_reg): Add rfe argument for IRQ returns.
-	(arm_output_epilogue): Pop interrupt return address directly into PC.
-	(arm_expand_prologue): Only adjust IRQ return address in Arm mode.
-
-2007-01-03  Paul Brook  <paul@codesourcery.com>
-
-	Merge from sourcerygxx-4_1.
-	* config/arm/thumb2.md: New file.
-	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for
-	Thumb-2.
-	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto.
-	* config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
-	(ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables.
-	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump
-	tables.
-	(ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
-	* config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm
-	comptibility.
-	* config/arm/ieee754-sf.S: Ditto.
-	* config/arm/arm.c (thumb_base_register_rtx_p): Rename...
-	(thumb1_base_register_rtx_p): ... to this.
-	(thumb_index_register_rtx_p): Rename...
-	(thumb1_index_register_rtx_p): ... to this.
-	(thumb_output_function_prologue): Rename...
-	(thumb1_output_function_prologue): ... to this.
-	(thumb_legitimate_address_p): Rename...
-	(thumb1_legitimate_address_p): ... to this.
-	(thumb_rtx_costs): Rename...
-	(thumb1_rtx_costs): ... to this.
-	(thumb_compute_save_reg_mask): Rename...
-	(thumb1_compute_save_reg_mask): ... to this.
-	(thumb_final_prescan_insn): Rename...
-	(thumb1_final_prescan_insn): ... to this.
-	(thumb_expand_epilogue): Rename...
-	(thumb1_expand_epilogue): ... to this.
-	(arm_unwind_emit_stm): Rename...
-	(arm_unwind_emit_sequence): ... to this.
-	(thumb2_legitimate_index_p, thumb2_legitimate_address_p,
-	thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec,
-	thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem,
-	arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition,
-	thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift,
-	thumb2_output_casesi): New functions.
-	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define.
-	(FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7,
-	FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME,
-	THUMB2_WORK_REGS): Define.
-	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count,
-	arm_condexec_mask, arm_condexec_masklen)): New variables.
-	(all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m.
-	(arm_override_options): Check new CPU capabilities.
-	Set new architecture flag variables.
-	(arm_isr_value): Handle v7m interrupt functions.
-	(user_return_insn): Return 0 for v7m interrupt functions.  Handle
-	Thumb-2.
-	(const_ok_for_arm): Handle Thumb-2 constants.
-	(arm_gen_constant): Ditto.  Use movw when available.
-	(arm_function_ok_for_sibcall): Return false for v7m interrupt
-	functions.
-	(legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2.
-	(thumb_find_work_register, arm_load_pic_register,
-	legitimize_tls_address, arm_address_cost, load_multiple_sequence,
-	emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size,
-	print_multi_reg, output_mov_long_double_fpa_from_arm,
-	output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm,
-	output_mov_double_fpa_from_arm, output_move_double,
-	arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask,
-	output_return_instruction, arm_output_function_prologue,
-	arm_output_epilogue, arm_get_frame_offsets, arm_regno_class,
-	arm_output_mi_thunk, thumb_set_return_address): Ditto.
-	(arm_expand_prologue): Handle Thumb-2.  Use arm_save_coproc_regs.
-	(arm_coproc_mem_operand): Allow POST_INC/PRE_DEC.
-	(arithmetic_instr, shift_op): Use arm_shift_nmem.
-	(arm_print_operand): Use arm_print_condition.  Handle '(', ')', '.',
-	'!' and 'L'.
-	(arm_final_prescan_insn): Use extract_constrain_insn_cached.
-	(thumb_expand_prologue): Use thumb_set_frame_pointer.
-	(arm_file_start): Output directive for unified syntax.
-	(arm_unwind_emit_set): Handle stack alignment instruction.
-	* config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__.
-	Add v6t2, v7, v7a, v7r and v7m.
-	(RETLDM): Add Thumb-2 code.
-	(do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros.
-	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__.
-	(TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY,
-	TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN,
-	THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS,
-	ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS,
-	THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE,
-	CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END,
-	ADJUST_INSN_LENGTH): Define.
-	(TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE,
-	STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS,
-	BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES,
-	PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS,
-	SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
-	TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT,
-	HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP,
-	HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG,
-	REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P,
-	REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
-	LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS,
-	GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST,
-	ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME,
-	FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P,
-	PRINT_OPERAND_ADDRESS): Adjust for Thumb-2.
-	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations.
-	* config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and
-	cortex-m3.
-	* config/arm/arm-tune.md: Regenerate.
-	* config/arm/arm-protos.h: Update prototypes.
-	* config/arm/vfp.md: Enable patterns for Thumb-2.
-	(arm_movsi_vfp): Add movw alternative.  Use output_move_vfp.
-	(arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp.
-	(thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp,
-	thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New.
-	* config/arm/libunwind.S: Add Thumb-2 code.
-	* config/arm/constraints.md: Update include Thumb-2.
-	* config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support.
-	* config/arm/ieee754-df.S: Ditto.
-	* config/arm/bpabi.S: Ditto.
-	* config/arm/t-arm (MD_INCLUDES): Add thumb2.md.
-	* config/arm/predicates.md (low_register_operand,
-	low_reg_or_int_operand, thumb_16bit_operator): New.
-	(thumb_cmp_operand, thumb_cmpneg_operand): Rename...
-	(thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this.
-	* config/arm/t-arm-elf: Add armv7 multilib.
-	* config/arm/arm.md: Update patterns for Thumb-2 and Unified asm.
-	Include thumb2.md.
-	(UNSPEC_STACK_ALIGN, ce_count): New.
-	(arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3,
-	arm_zero_extendsidi2, arm_zero_extendqidi2): New
-	insns/expanders.
-	* config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm.
-	(thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa,
-	thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns.
-	* config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm.
-	(cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn,
-	thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New
-	insns.
-	* doc/extend.texi: Document ARMv7-M interrupt functions.
-	* doc/invoke.texi: Document Thumb-2 new cores+architectures.
-
-2007-01-03  Jakub Jelinek  <jakub@redhat.com>
-
-	* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
-	(struct _Unwind_Context): Rename args_size to flags, remove
-	signal_frame field, add a new args_size field and version field.
-	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
-	_Unwind_IsExtendedContext): New inline functions.
-	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
-	Assume by_value array is only present if _Unwind_IsExtendedContext.
-	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
-	_Unwind_IsSignalFrame.
-	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
-	(uw_update_context_1): Use _Unwind_SetSignalFrame.
-	(uw_init_context_1): Initialize context->flags to
-	EXTENDED_CONTEXT_BIT.
-	* config/rs6000/linux-unwind.h (frob_update_context): Use
-	_Unwind_SetSignalFrame.
-
-2007-01-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
-
-	PR middle-end/30353
-	* gimplify.c (gimplify_modify_expr_complex_part): Move below
-	tree_to_gimple_tuple.  Call tree_to_gimple_tuple when we need
-	the value.
-
-2007-01-03  Kazu Hirata  <kazu@codesourcery.com>
-
-	* config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P,
-	REGNO_OK_FOR_DIREG_P, REWRITE_ADDRESS, ASM_OPERAND_LETTER,
-	RET, AT_SP): Remove.
-	* config/i386/i386.md (*sse_prologue_save_insn): Use return
-	instead of RET.
-
-	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
-	* cfgbuild.c (find_basic_blocks): Likewise.
-	* cfgrtl.c (rtl_create_basic_block): Likewise.
-	* function.c (temp_slots_at_level): Likewise.
-	* reg-stack.c (stack_regs_mentioned): Likewise.
-	* regclass.c (allocate_reg_info): Likewise.
-	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
-	set_bb_for_stmt, move_block_to_fn): Likewise.
-	* tree-complex.c (tree_lower_complex): Likewise.
-	* vec.h (VEC_safe_grow_cleared): New.
-
-	* cgraphunit.c, tree-ssa-alias.c: Fix comment typos.
-
-2007-01-03  Zdenek Dvorak <dvorakz@suse.cz>
-
-	* loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
-	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass probabilities
-	to loop_version.
-	* cfgloopmanip.c (scale_loop_frequencies): Export.
-	(loopify): Scale the frequencies by prescribed coefficients.
-	(set_zero_probability): New function.
-	(duplicate_loop_to_header_edge): Improve updating of frequencies.
-	(lv_adjust_loop_entry_edge, loop_version): Set probabilities
-	and frequencies according to arguments.
-	* tree-ssa-loop-manip.c (tree_unroll_loop): Set probabilities
-	correctly.
-	* cfg.c (scale_bbs_frequencies_int): Allow scaling the frequencies up.
-	* modulo-sched.c (sms_schedule): Set probabilities for entering
-	versioned loop correctly.
-	* tree-vect-transform.c (vect_transform_loop): Ditto.
-	* cfgloop.h (loopify, loop_version): Declaration changed.
-	(scale_loop_frequencies): Declared.
-
-2007-01-02  Jan Hubicka  <jh@suse.cz>
-
-	* cgraph.c: Include tree-flow.h
-	(cgraph_add_new-function): Handle IPA_SSA mode; execute
-	early_local_passes.
-	* cgraph.h (enum cgraph_state): Add CGRAPH_STATE_IPA_SSA.
-	* tree-pass.h (pass_all_early_optimizations): Declare.
-	* cgraphunit.c (cgraph_process_new_functions): Add IPA_SSA; execute
-	early_local_passes.
-	(cgraph_analyze_function): Do early_local_passes.
-	* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
-	Do not add referenced vars.
-	* tree-optimize.c (gate_all_optimizations): Do not execute when not in
-	SSA form.
-	(gate_all_early_local_passes): New gate.
-	(pass_early_local_passes): Use new gate.
-	(execute_early_local_optimizations): New functions.
-	(gate_all_early_optimizations): New gate.
-	(pass_all_early_optimizations): New pass.
-	(execute_free_datastructures): Free SSA only when initialized.
-	(gate_init_datastructures): Init only when optimizing.
-	(tree_lowering_passes): Do early local passes when called late.
-	* tree-profile.c (do_tree_profiling): Don't profile functions added
-	late.
-	(do_early_tree_profiling, pass_early_tree_profile): Kill.
-	* tree-cfg.c (update_modified_stmts): Do not update when operands are
-	not active.
-	* passes.c (init_optimizations_passes): Reorder so we go into SSA
-	during early_local_passes.
-	* Makefile.in (cgraph.o): Add dependency on tree-flow.h.
-
-
-2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>
-
-	* Makefile.in: Update copyright year.
-
-2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>
-
-	* Makefile.in: Export GCC_EXEC_PREFIX before calling $(RUNTEST)
-	in $(lang_checks) and check-consistency targets.
-
-2007-01-02  Jan Hubicka  <jh@suse.cz>
-
-	* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
-	Do not add referenced vars.
-	* tree-cfg.c (update_modified_stmts): Do not update when SSA operands
-	are not active.
-	* passes.c (init_optimization_passes): Put mudflap_2 after
-	free_datastructures.
-
-2007-01-02  Jan Hubicka  <jh@suse.cz>
-
-	* tree-optimize (execute_fixup_cfg): Set after_inlining flag.
-	Set NOTHROW flag on call statements proved to be nothrow.
-	Update statement of local calls so new pure/const functions are
-	updated. Update_ssa when in ssa form. Mark PHI nodes of nonlocal
-	goto receivers.
-	(tree_rest_of_compilation): Register hooks and initialize bitmap
-	early. Do not set after_inlining flag.
-
-2007-01-02  Steve Ellcey  <sje@cup.hp.com>
-
-	* sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to
-	HOST_BITS_PER_LONGLONG
-
-2007-01-02  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-
-	PR c/19977
-	* c-typeck.c (store_init_value): Don't emit pedantic overflow
-	warning for non-static initializers.
-
-2007-01-02  Steven Bosscher  <steven@gcc.gnu.org>
-
-	* config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md,
-	m32r/m32r.c, m32r/m32r.c, mn10300/mn10300.md, pa/pa.c,
-	rs6000/rs6000.c, s390/s390.md, sh/sh.md, sparc/sparc.c:
-	Always use set_unique_reg_note to add REG_EQUAL notes.
-
-2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
-
-	Revert:
-	2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
-
-	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
-	* cfgbuild.c (find_basic_blocks): Likewise.
-	* cfgrtl.c (rtl_create_basic_block): Likewise.
-	* function.c (temp_slots_at_level): Likewise.
-	* reg-stack.c (stack_regs_mentioned): Likewise.
-	* regclass.c (allocate_reg_info): Likewise.
-	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
-	set_bb_for_stmt, move_block_to_fn): Likewise.
-	* tree-complex.c (tree_lower_complex): Likewise.
-	* vec.h (VEC_safe_grow_cleared): New.
-
-2007-01-02  Ian Lance Taylor  <iant@google.com>
-
-	* c-common.c (c_common_truthvalue_conversion): When warning about
-	using an assignment as a truth value, set TREE_NO_WARNING.
-
-2007-01-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
-
-	PR middle-end/7651
-	* c.opt (Wold-style-declaration): New.
-	* doc/invoke.texi (C-only Warning Options): New.
-	(Wold-style-declaration): Document it.
-	(Wextra): Enabled by -Wextra.
-	* c-opts.c (c_common_post_options): Enabled by -Wextra.
-	* c-decl.c (declspecs_add_scspec): Replace -Wextra with
-	-Wold-style-declaration.
-
-2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
-
-	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
-	* cfgbuild.c (find_basic_blocks): Likewise.
-	* cfgrtl.c (rtl_create_basic_block): Likewise.
-	* function.c (temp_slots_at_level): Likewise.
-	* reg-stack.c (stack_regs_mentioned): Likewise.
-	* regclass.c (allocate_reg_info): Likewise.
-	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
-	set_bb_for_stmt, move_block_to_fn): Likewise.
-	* tree-complex.c (tree_lower_complex): Likewise.
-	* vec.h (VEC_safe_grow_cleared): New.
-
-2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>
-
-	* c-common.c (c_common_nodes_and_builtins): Since variants of
-	void_type_node get built before it is given a name, we need to
-	give those variants the name, too.
-	(complete_array_type): We need to work with the canonical main
-	type of the array, from which we will build the qualified version.
-	* params.def (PARAM_VERIFY_CANONICAL_TYPES): New.
-	* print-tree.c (print_node): Display canonical type information
-	for each type.
-	* stor-layout.c (layout_type): When we don't know the
-	alignment of a type for which we're building an array, we end up
-	guessing wrong, so make the type require structural equality.
-	* tree.c (make_node_stat): When we build a new type, it is its
-	own canonical type.
-	(build_type_attribute_qual_variant): When building an attribute
-	variant, its canonical type is the non-attribute variant. However,
-	if the attributes are target-dependent and they differ, we need to
-	use structural equality checks for this type.
-	(build_qualified_type): A qualified type is not equivalent to its
-	unqualified variant; set the canonical type appropriately.
-	(build_distinct_type_copy): When building a distinct type from
-	another type, the new type is its own canonical type.
-	(build_variant_type_copy): When building a new type variant, we
-	assume that it is equivalent to the original type.
-	(build_pointer_type_for_mode): When building a pointer type, also
-	build a canonical type pointer.
-	(build_reference_type_for_mode): When building a reference type,
-	also build a canonical type reference.
-	(build_index_type): When we can't hash an index type (e.g.,
-	because its maximum value is negative), the index type requires
-	structural equality tests.
-	(build_array_type): Build the canonical form of an array type.
-	(build_function_type): Function types require structural equality,
-	because they contain default arguments, attributes, etc.
-	(build_method_type_directly): Ditto for method types.
-	(build_offset_type): Build the canonical offset type.
-	(build_complex_type): Build the canonical vector type.
-	(make_vector_type): Build the canonical vector type.
-	* tree.h (TYPE_CANONICAL): New.
-	(TYPE_STRUCTURAL_EQUALITY_P): New.
-	(SET_TYPE_STRUCTURAL_EQUALITY): New.
-	(struct tree_type): Added "canonical" field.
-	* params.h (VERIFY_CANONICAL_TYPES): New.
-	* doc/c-tree.texi (TYPE_CANONICAL): Document.
-	(TYPE_STRUCTURAL_EQUALITY_P): Document.
-	(SET_TYPE_STRUCTURAL_EQUALITY): Document.
-	* doc/invoke.texi (verify-canonical-types): Document --param
-	parameter for verifying canonical types.
-
-2007-01-02  Joseph Myers  <joseph@codesourcery.com>
-
-	* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
-	powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*,
-	powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae,
-	powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to
-	tm_file.
-	* config/rs6000/e500.h: New.
-	* config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500,
-	TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE):
-	Remove.
-	* config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE,
-	TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE,
-	TARGET_E500_DOUBLE): Remove.
-	* config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE,
-	TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove.
-	* config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define.
-	* config/rs6000/rs6000.c (rs6000_override_options): Use
-	CHECK_E500_OPTIONS.
-
-2007-01-02  Joseph Myers  <joseph@codesourcery.com>
-
-	* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
-	TARGET_E500_DOUBLE), not TARGET_E500, for %y.
-	(rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch,
-	rs6000_emit_cmove): Don't check TARGET_E500.
-	* config/rs6000/rs6000.md (bunordered, bordered, sunordered,
-	sordered): Don't check TARGET_E500.
-
-2007-01-01  Eric Christopher  <echristo@apple.com>
-
-	* config/mips/mips.c (mips_regno_mode_ok_for_base_p): Use
-	HARD_REGISTER_NUM_P.
-
-2007-01-01  Roger Sayle  <roger@eyesopen.com>
-
-	* fold-const.c (fold_binary) <EQ_EXPR>: Fold "(X^C1) eq/ne C2" into
-	"X eq/ne (C1^C2)".  Fold "(X^Z) eq/ne (Y^Z)" as "X eq/ne Y" when Z
-	has no side-effects.  Fold "(X^C1) eq/ne (Y^C2)" as "(X^(C1^C2))
-	eq/ne Y".
-
-2007-01-01  Mike Stump  <mrs@apple.com>
-
-	* configure.ac: Remove support for building with Apple's gcc-3.1.
-
-2007-01-02  Joseph Myers  <joseph@codesourcery.com>
-
-	PR middle-end/30311
-	* caller-save.c (add_stored_regs): Only handle SUBREGs if inner
-	REG is a hard register.  Do not modify REG before calling
-	subreg_nregs.
-	* rtlanal.c (subreg_get_info): Don't assert size of XMODE is a
-	multiple of the size of YMODE for certain lowpart cases.
-
-2007-01-01  Andrew Pinski  <pinskia@gmail.com>
-
-	PR middle-end/30253
-	* gimplify (voidify_wrapper_expr): Update for
-	GIMPLE_MODIFY_STMT.
-
-2007-01-01  Andreas Schwab  <schwab@suse.de>
-
-	PR target/29166
-	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
-	save of BR0 in extra_spill_size instead of spill_size.
-	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
-	area.
-	(ia64_expand_epilogue): Restore BR0 from its new location.
-
-2007-01-01  Andrew Pinski  <pinskia@gmail.com>
-
-	* gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>):
-	Use a temporary variable if the left hand side is not a gimple
-	register.
-
-2007-01-01  Andrew Pinski  <pinskia@gmail.com>
-
-	* gimplify.c (gimplify_return_expr): Make the temporary variable
-	for the return expression, a gimple register variable.
-
-2007-01-01  Jan Hubicka  <jh@suse.cz>
-
-	* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for
-	INSN_LIST.
-
-2007-01-01  Mike Stump  <mrs@apple.com>
-
-	* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
-	.literal16.
-	* config/darwin.c (machopic_select_rtx_section): Use
-	HAVE_GAS_LITERAL16.
-	(darwin_mergeable_constant_section): Likewise.
-	* configure: Regenerate.
-	* config.in: Regenerate.
-
-2007-01-01  Jan Hubicka  <jh@suse.cz>
-	    Andrew Pinski  <pinskia@gmail.com>
-
-	* cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions
-	before starting IPA passes.
diff --git a/gcc/ChangeLog-2007 b/gcc/ChangeLog-2007
new file mode 100644
index 0000000000000000000000000000000000000000..27f28128b7633f0a9b49f0af9f6777c202463270
--- /dev/null
+++ b/gcc/ChangeLog-2007
@@ -0,0 +1,34170 @@
+2007-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR driver/33772
+	* collect2.c (SHLIB_SUFFIX): Define if not defined.
+	(write_c_file_stat): Use SHLIB_SUFFIX.
+	* som.h (SHLIB_SUFFIX): Define.
+	* doc/tm.texi (SHLIB_SUFFIX): Document.
+
+2007-12-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md ("*divv4sf3"): Rename to "sse_divv4sf3".
+	("*sse_rsqrtv4sf2"): Export.
+	("*sse_sqrtv4sf2"): Ditto.
+	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_RSQRTPS_NR,
+	IX86_BUILTIN_SQRTPS_NR]: New constants.
+	(struct builtin_description) [IX86_BUILTIN_DIVPS]: Use
+	CODE_FOR_sse_divv4sf3.
+	[IX86_BUILTIN_SQRTPS]: Use CODE_FOR_sse_sqrtv4sf2.
+	[IX86_BUILTIN_SQRTPS_NR]: New.
+	[IX86_BUILTIN_RSQRTPS_NR]: Ditto.
+	(ix86_init_mmx_sse_builtins): Initialize __builtin_ia32_rsqrtps_nr and
+	__builtin_ia32_sqrtps_nr.
+	(ix86_builtin_vectorized_function): Convert BUILT_IN_SQRTF to
+	IX86_BUILTIN_SQRTPS_NR.
+	(ix86_builtin_reciprocal): Convert IX86_BUILTIN_SQRTPS_NR to
+	IX86_BUILTIN_RSQRTPS_NR.
+
+2007-12-27  Brian Dessent  <brian@dessent.net>
+
+	* doc/invoke.texi (Optimize Options): Add missing opindex for
+	-fno-toplevel-reorder.
+
+2007-12-27  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/34591
+	* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip
+	stmts (including reduction stmts) that are not live.
+
+2007-12-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/34281
+	* config/arm/arm.c (arm_setup_incoming_varargs): If last named
+	argument needs double word alignment and cum->nregs is odd, account
+	for the inserted padding.
+
+	PR debug/34535
+	* tree-mudflap.c (mf_make_builtin): Make decl artificial
+	and don't emit debug info for it.
+
+2007-12-26  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82 
+	and AT90USB162 devices from 'avr5' to 'avr35' architecture.
+	(ASM_SPEC): Add 'avr35' architecture.
+	* config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162 
+	devices from 'avr5' to 'avr35' architecture.
+	(avr_arch_types): Add "avr23" entries.
+	(avr_arch): Add 'ARCH_AVR35'.
+	* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
+	(MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
+	to 'avr35' architecture.
+
+2007-12-22  David Daney  <ddaney@avtrex.com>
+
+	* doc/install.texi (disable-libgcj-bc): Document new option.
+
+2007-12-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* config/pa/pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in
+	mask selection.
+
+	PR target/34525
+	* pa.c (legitimize_pic_address): Emit insn to load function label
+	forced to memory.
+
+2007-12-21  Andrew Pinski  <pinskia@gmail.com>
+	Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/8835
+	* config/mcore/mcore.c (mcore_function_value): Call promote_mode
+	instead of PROMOTE_MODE.
+
+2007-12-21  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix typo.
+
+2007-12-21  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* tree-data-ref.c (signed_type_for_types): New.
+	(affine_fn_op): Use signed_type_for_types and signed_type_for instead
+	of long_integer_type_node.
+	(analyze_ziv_subscript): Same.
+	(analyze_siv_subscript_cst_affine): Same.
+	(analyze_miv_subscript): Same.
+	(omega_setup_subscript): Same.
+
+2007-12-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_emit_loadgp): Replace gen_* calls with
+	separate gen_*_si and gen_*_di calls.  Pass pic_offset_table_rtx
+	as the first argument.
+	* config/mips/mips.md (loadgp_newabi, loadgp_absolute)
+	(loadgp_rtp): Rename to...
+	(loadgp_newabi_<mode>, loadgp_absolute<mode>, loadgp_rtp<mode>):
+	...these.  Add modes to all operands.  Add the target register
+	as an operand.  Combine loadgp_rtp<mode> with its splitter.
+
+2007-12-20  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.md (fix_return_addr): Remove.
+	* config/xtensa/xtensa-protos.h (xtensa_initialize_trampoline): New.
+	(xtensa_trampoline_template): New.
+	* config/xtensa/xtensa.c (MIN_FRAME_SIZE): Moved here from xtensa.h.
+	(xtensa_return_addr): Expand to standard Xtensa insns instead of
+	fix_return_addr.  Get high bits from a local label.
+	(xtensa_trampoline_template): New function with code moved from
+	TRAMPOLINE_TEMPLATE in xtensa.h.  Use L32R instead of CALL0 except
+	when using CONST16 or absolute-mode literals.
+	(xtensa_initialize_trampoline): New function with code moved from
+	INITIALIZE_TRAMPOLINE in xtensa.h.  Use different offsets depending
+	on which trampoline version is used.
+	* config/xtensa/lib2funcs.S (TRAMPOLINE_SIZE): Add comment.
+	* config/xtensa/xtensa.h (TARGET_ABSOLUTE_LITERALS): Define.
+	(MIN_FRAME_SIZE): Moved to xtensa.c.
+	(TRAMPOLINE_TEMPLATE): Use xtensa_trampoline_template.
+	(TRAMPOLINE_SIZE): Two versions of the trampoline have different sizes.
+	(INITIALIZE_TRAMPOLINE): Use xtensa_initialize_trampoline.
+	* config/xtensa/ieee754-df.S (XCHAL_NO_MUL): Define.
+	(__muldf3): Use CALL12 instead of CALL0 to invoke .Lmul_mulsi3
+	helper when not using the CALL0 ABI.  Change .Lmul_mulsi3 to match.
+	* config/xtensa/lib1funcs.asm (__umulsidi3): Likewise.
+	* config/xtensa/ieee754-sf.S (__mulsf3): Likewise.
+	
+2007-12-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/34459
+	* tree-ssa-dse.c (dse_optimize_stmt): Don't eliminate store if
+	USE_STMT not only stores into the same object as STMT, but might
+	read it too.
+
+2007-12-19  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/34413
+	* tree-data-ref.c (affine_fn_op, analyze_ziv_subscript,
+	analyze_siv_subscript_cst_affine, analyze_miv_subscript,
+	omega_setup_subscript): Use long_integer_type_node instead of
+	integer_type_node.
+
+2007-12-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/34525
+	* pa.c (legitimize_pic_address): Force function labels into memory.
+
+2007-12-19  Zdenek Dvorak  <ook@ucw.cz>
+
+	* omp-low.c (build_omp_regions_1): Recognition of combined parallels
+	moved ...
+	(expand_omp): ... here.
+
+2007-12-19  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/34355
+	* tree-parloops.c (take_address_of): Handle expresions
+	instead of just variables.
+	(eliminate_local_variables_1): Force whole invariant
+	address to ssa name.
+
+2007-12-19  Alexander Monakov  <amonakov@ispras.ru>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (generate_reg_moves): Insert the reg-moves
+	right before the notes which precedes the insn, if they exists.
+	(loop_canon_p): Add dump info.
+	(sms_schedule): Likewise.
+
+2007-12-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* tree.h (set_decl_incoming_rtl): Add a by_reference_p parameter.
+	* emit-rtl.c (set_decl_incoming_rtl): Likewise.  Don't set the
+	rtl's register attributes when the parameter is true.
+	* function.c (assign_parms_unsplit_complex, assign_parms)
+	(expand_function_start): Update calls to set_decl_incoming_rtl.
+
+2007-12-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* rtl.def (SUBREG): Update comments.
+	* rtl.h (reg_attrs): Be explicit about the type of offset used.
+	(set_reg_attrs_from_mem): Rename to...
+	(set_reg_attrs_from_value): ...this.
+	(adjust_reg_mode, byte_lowpart_offset): Declare.
+	* emit-rtl.c (byte_lowpart_offset): New function.
+	(update_reg_offset): Remove special offset handling for big-endian
+	targets.
+	(gen_rtx_REG_offset, gen_reg_rtx_offset): Explicitly say that the
+	offset parameter is added to REG_OFFSET.
+	(adjust_reg_mode): New function.
+	(set_reg_attrs_for_mem): Rename to...
+	(set_reg_attrs_for_value): ...this and generalize to all values.
+	If the register is a lowpart of the value, adjust the offset
+	accordingly.
+	(set_reg_attrs_for_parm): Update after the above renaming.
+	(set_reg_attrs_for_decl_rtl): New function, split out from
+	set_decl_incoming_rtl.  Set the offset of plain REGs to the
+	offset of the REG's mode from the decl's.  Assert that all
+	subregs are lowparts and handle their inner registers in the
+	same way as plain REGs.
+	(set_decl_rtl, set_incoming_decl_rtl): Use reg_attrs_for_decl_rtl.
+	(subreg_lowpart_offset): Explicitly say that the returned offset
+	is a SUBREG_BYTE.
+	* combine.c (do_SUBST_MODE, try_combine, undo_all): Use adjust_reg_mode
+	instead of PUT_MODE.
+	* final.c (alter_subreg): Fix/update argument to gen_rtx_REG_offset.
+	* config/ia64/ia64.c (ia64_expand_load_address): Likewise.
+	* regclass.c (reg_scan_mark_refs): Use set_reg_attrs_from_value.
+	* reload.c (find_reloads_subreg_address): Call set_mem_offset
+	when offseting a MEM.
+	* var-tracking.c (offset_valid_for_tracked_p): Delete.
+	(mode_for_reg_attrs): Replace with...
+	(track_loc_p): ...this new function.  Return the mode and offset
+	to the caller, checking that the latter is valid.  If the rtx is
+	a paradoxical lowpart of the decl, use the decl's mode instead.
+	Do the same when storing to a register that contains the entire decl.
+	(var_lowpart): Use byte_lowpart_offset rather than
+	subreg_lowpart_offset when adjusting the offset attribute.
+	(count_uses, add_uses, add_stores): Use track_reg_p instead of
+	REG_EXPR, MEM_EXPR, REG_OFFSET, INT_MEM_OFFSET, track_expr_p,
+	offset_valid_for_tracked_p and mode_for_reg_attrs.  Generate
+	lowparts for MEMs as well as REGs.
+	(vt_add_function_parameters): When obtaining the information from
+	the decl_rtl, adjust the offset to match incoming.  Use track_loc_p
+	and var_lowpart.
+
+2007-12-18  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/34123
+	* lambda-code.c (can_duplicate_iv): New.
+	(cannot_convert_modify_to_perfect_nest): New.
+	(cannot_convert_bb_to_perfect_nest): New.
+	(can_convert_to_perfect_nest): Split up.
+
+2007-12-18  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.md (clear_hazard): Use PRINT_OPERAND punctuation
+	instead of .set push and .set pop.
+
+2007-12-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/33474
+	* config/bfin/bfin.c (bfin_adjust_cost): Dig into PARALLELs to find
+	the SET.
+
+2007-12-18  Razya Ladelsky <razya@il.ibm.com>
+
+	* tree-parloops.c (reduiction_info): Change documentation of
+	reduction_initial field.
+	(initialize_reductions): Remove creation of reduction_initial variable.
+	(create_loads_for_reductions): don't join reduction_initial to
+	the loaded value.
+
+2007-12-18  Kaz Kylheku  <kaz@zeugmasystems.com>
+
+	PR rtl-optimization/34456
+	* resource.c (mark_set_resources): Use regs_invalidated_by_call
+	rather than call_used_regs and global_regs.
+
+2007-12-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/34490
+	* simplify-rtx.c (simplify_const_relational_operation): If !sign,
+	don't reduce mmin/mmax using num_sign_bit_copies.
+
+2007-12-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* doc/install.texi: Change recommended MPFR from 2.2.1 -> 2.3.0.
+
+2007-12-17  Andreas Schwab  <schwab@suse.de>
+
+	* doc/invoke.texi (Warning Options): Use @itemx.
+
+2007-12-17  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vectorizer.h (verbosity_levels): Add new verbosity level
+	REPORT_COST.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Change
+	verbosity level to REPORT_COST.
+	(vect_model_reduction_cost): Likewise.
+	(vect_model_induction_cost): Likewise.
+	(vect_model_simple_cost): likewise.
+	(vect_model_store_cost): likewise.
+	(vect_model_load_cost): likewise.
+	(conservative_cost_threshold): Likewise. Remove print.
+
+2007-12-17  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* doc/tm.texi (TARGET_SECONDARY_RELOAD): Fix typos.
+
+2007-12-17  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/34506
+	* c-parser.c (c_parser_omp_all_clauses): Accept optional comma
+	in between clauses.
+
+2007-12-17  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/34445
+	* tree-vect-trasnform.c (vect_estimate_min_profitable_iters): Skip 
+	stmts (including live stmts) that are not relevant.
+
+2007-12-17  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+	PR target/34025
+	* config/i386/t-crtpc: Add $(MULTILIB_CFLAGS).
+	* config/i386/t-crtfm: Likewise.
+
+2007-12-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (WIDEST_HARDWARE_FP_SIZE): Define.
+
+2007-12-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* tree-vect-transform.c (conservative_cost_threshold): Add missing
+	space to "not vectorized" message.
+
+2007-12-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR rtl-optimization/34415
+	* df.h (DF_LR_IN, DF_LR_OUT): Update comments.
+	* resource.c (mark_target_live_regs): Use DF_LR_IN rather than
+	df_get_live_in.  Don't handle pseudos.
+
+2007-12-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/34003
+	* c-decl.c (merge_decls): Copy RTL from olddecl to newdecl.
+	* config/pa/pa.c (pa_encode_section_info): If !first, preserve
+	SYMBOL_FLAG_REFERENCED flag.
+
+2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree.c (type_hash_add): Fix whitespace.
+
+2007-12-15  Hans-Peter Nilsson  <hp@axis.com>
+
+	Add CRIS v32 support.  Fix -mcc-init.
+	* config.gcc: Make crisv32-* have cpu_type cris.  Handle
+	crisv32-*-elf and crisv32-*-none like cris-*-elf and cris-*-none
+	but without multilibs and with target_cpu_default=32.
+	(crisv32-*-linux*): Handle as cris-*-linux*.  Set
+	target_cpu_default to 32 and 10 accordingly.
+	* config/cris/cris.c (ASSERT_PLT_UNSPEC): Remove unused macro.
+	(cris_movem_load_rest_p, cris_store_multiple_op_p): Remove FIXME.
+	Change regno_dir and regno only if !TARGET_V32.
+	(cris_conditional_register_usage): If TARGET_V32, set
+	reg_alloc_order as per REG_ALLOC_ORDER_V32 and make
+	CRIS_ACR_REGNUM non-fixed.
+	(cris_print_base): Add gcc_assert for post_inc on CRIS_ACR_REGNUM.
+	(cris_print_operand) <case 'Z', case 'u'>: New cases.
+	<case REG of case 'H'>: Allow for CRIS_SRP_REGNUM.
+	(cris_reload_address_legitimized): Always return false for TARGET_V32.
+	(cris_register_move_cost): New function, guts from
+	REGISTER_MOVE_COST adjusted for CRIS v32.
+	(cris_normal_notice_update_cc): New function split out from...
+	(cris_notice_update_cc): Set cc_status.flags CC_REVERSED for
+	TARGET_CCINIT.  Call cris_normal_notice_update_cc for CC_REV,
+	CC_NOOV32 and CC_NORMAL, but set cc_status.flags CC_NO_OVERFLOW
+	for CC_NOOV32 and TARGET_V32.
+	(cris_simple_epilogue): Always return false for TARGET_V32 if
+	cris_return_address_on_stack yields true.
+	(cris_cc0_user_requires_cmp): New function.
+	(cris_valid_pic_const): Add argument ANY_OPERAND.  All callers
+	changed.  Handle CRIS_UNSPEC_PLT_PCREL and CRIS_UNSPEC_PCREL.
+	(cris_asm_output_case_end): New function, guts from
+	ASM_OUTPUT_CASE_END adjusted for CRIS v32.
+	(cris_override_options): Adjust for CRIS v32.  Mask out
+	TARGET_SIDE_EFFECT_PREFIXES and TARGET_MUL_BUG if v32.
+	(cris_asm_output_mi_thunk, cris_expand_epilogue)
+	(cris_gen_movem_load, cris_emit_movem_store)
+	(cris_expand_pic_call_address, cris_asm_output_symbol_ref)
+	(cris_asm_output_label_ref, cris_output_addr_const_extra): Adjust
+	for CRIS v32.
+	(cris_split_movdx): Copy re-used MEM.
+	* config/cris/t-elfmulti: Add multilib v32 for -march=v32.
+	* config/cris/predicates.md
+	("cris_general_operand_or_pic_source"): New predicate.
+	("cris_general_operand_or_plt_symbol"): Replace by...
+	("cris_nonmemory_operand_or_callable_symbol"): New predicate.
+	* config/cris/linux.h: Sanity-check TARGET_CPU_DEFAULT for
+	presence and contents.
+	(CRIS_SUBTARGET_DEFAULT_ARCH): New macro, MASK_AVOID_GOTPLT for
+	v32, 0 otherwise.
+	(CRIS_CPP_SUBTARGET_SPEC, CRIS_CC1_SUBTARGET_SPEC,
+	CRIS_ASM_SUBTARGET_SPEC): Adjust for different TARGET_CPU_DEFAULT.
+	(CRIS_SUBTARGET_DEFAULT): Add CRIS_SUBTARGET_DEFAULT_ARCH.
+	* config/cris/cris.h: Sanity-check TARGET_CPU_DEFAULT for contents.
+	(CRIS_DEFAULT_TUNE, CRIS_ARCH_CPP_DEFAULT)
+	(CRIS_DEFAULT_ASM_ARCH_OPTION): New macros.
+	(CRIS_CC1_SUBTARGET_SPEC): Change default tuning to use
+	CRIS_DEFAULT_TUNE. 
+	(CRIS_CPP_SUBTARGET_SPEC): Ditto.  Add CRIS_ARCH_CPP_DEFAULT.
+	(ASM_SPEC): Add sanity-check erroring out when both -march= and
+	-mcpu= are specified.  Pass on either as --march=v32.
+	(CRIS_ASM_SUBTARGET_SPEC): When neither -march= or -mcpu= are
+	specified, pass on CRIS_DEFAULT_ASM_ARCH_OPTION.
+	(CRIS_CPU_V32): New macro.
+	[!TARGET_CPU_DEFAULT]: Default-define as CRIS_CPU_BASE.
+	[!TARGET_DEFAULT, TARGET_CPU_DEFAULT == 32]: Move default
+	TARGET_DEFAULT definition after new TARGET_CPU_DEFAULT definition.
+	Define v32-adjusted TARGET_DEFAULT.
+	(CRIS_DEFAULT_CPU_VERSION): Change to TARGET_CPU_DEFAULT from
+	CRIS_CPU_BASE.
+	(TARGET_V32): New macro.
+	(REG_ALLOC_ORDER_V32): New macro.
+	(HARD_REGNO_MODE_OK): Do not allow larger-than-register-size modes
+	into CRIS_ACR_REGNUM.
+	(enum reg_class): New classes ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS
+	and SPEC_GENNONACR_REGS.
+	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Adjust for new classes.
+	(REGNO_REG_CLASS): Give ACR_REGS for CRIS_ACR_REGNUM.
+	(MODE_CODE_BASE_REG_CLASS): Define, give for OCODE POST_INC
+	GENNONACR_REGS, BASE_REG_CLASS otherwise.
+	(REG_CLASS_FROM_LETTER): 'a' is for ACR_REGS.
+	(REGNO_MODE_CODE_OK_FOR_BASE_P): Define, refusing OCODE POST_INC
+	for CRIS_ACR_REGNUM.
+	(PREFERRED_RELOAD_CLASS): Keep ACR_REGS as preferred.
+	(HARD_REGNO_RENAME_OK): Refuse CRIS_ACR_REGNUM as TO.
+	(EXTRA_CONSTRAINT): New constraint 'U'.
+	(TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE)
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Adjust for CRIS v32.
+	(BASE_OR_AUTOINCR_P): Refuse POST_INC for CRIS_ACR_REGNUM.
+	(SIMPLE_ADDRESS_P): Remove.
+	(GO_IF_LEGITIMATE_ADDRESS): Use BASE_OR_AUTOINCR_P, not redundant
+	SIMPLE_ADDRESS_P.  Make one chained if-else, finishing as
+	non-match after BASE_OR_AUTOINCR_P for TARGET_V32.
+	(REGISTER_MOVE_COST): Just call the new function
+	cris_register_move_cost.
+	(enum cris_pic_symbol_type): Rename cris_gotrel_symbol to
+	cris_rel_symbol.  All users changed.
+	(REGISTER_NAMES): Replace "pc" with "acr".
+	(ADDITIONAL_REGISTER_NAMES): Add "pc" for 15.
+	(ASM_OUTPUT_REG_PUSH): Change to v32-compatible sequence.
+	(ASM_OUTPUT_REG_POP): Change to v32-compatible syntax.
+	(ASM_OUTPUT_CASE_END): Just call the new function
+	cris_asm_output_case_end.
+	* gcc/config/cris/cris.md: Group related constants together, with
+	comments local.
+	(CRIS_UNSPEC_PLT_GOTREL, CRIS_UNSPEC_PLT_PCREL, CRIS_UNSPEC_PCREL)
+	(CRIS_UNSPEC_CASESI): New constants.
+	(CRIS_UNSPEC_PLT): Remove constant.
+	(CRIS_ACR_REGNUM): New constant.
+	("slottable"): New attr alternatives "has_return_slot" and
+	"has_call_slot".
+	("cc"): New attr alternatives "noov32" and "rev".
+	((eq_attr "slottable" "has_call_slot"))
+	((eq_attr "slottable" "has_return_slot")): New define_delays.
+	("movdi", "movsi"): Adjust operands for CRIS v32.
+	("tstdi", "cmpdi", "adddi3", "subdi3", "uminsi3")
+	("indirect_jump"): Ditto.  Make define_expand.
+	("*tstdi_non_v32", "*tstdi_v32", "*tst<mode>_cmp")
+	("*tst<mode>_non_cmp", "*cmpdi_non_v32", "*cmpdi_v32")
+	("*movdi_v32", "*adddi3_non_v32", "*adddi3_v32")
+	("*addsi3_non_v32", "*addsi3_v32", "*addhi3_non_v32")
+	("*addhi3_v32", "*addqi3_non_v32", "*addqi3_v32")
+	("*subdi3_non_v32", "*subdi3_v32", "*subsi3_non_v32")
+	("*subsi3_v32", "*sub<mode>3_nonv32", "*sub<mode>3_v32")
+	("*andqi3_non_v32", "*andqi3_v32", "*iorsi3_non_v32")
+	("*iorsi3_v32", "*iorhi3_non_v32", "*iorhi3_v32")
+	("*iorqi3_non_v32", "*iorqi3_v32", "*uminsi3_non_v32")
+	("*uminsi3_v32", "*indirect_jump_non_v32", "*indirect_jump_v32")
+	("*expanded_call_v32", "*expanded_call_value_v32"): New patterns,
+	for the corresponding standard name.
+	("tst<mode>"): Limit to BW and make define_expand.
+	("tstsi"): Make separate insn, adjusting for CRIS v32.
+	("*cmp_swapext<mode>"): Adjust for v32.  Specify "rev" for attr "cc".
+	("cmpsi", "cmp<mode>"): Remove special cases for zero.  Specify
+	attr "cc".
+	("*btst"): Don't match for TARGET_CCINIT.  Replace test of
+	register with compatible "cmpq 0".  Specify attr "cc".
+	("*movdi_insn_non_v32"): New pattern, replacing "*movdi_insn" and
+	define_split.
+	(define_split for DI move): Match CRIS v32 only.
+	("*movsi_got_load", "*movsi_internal", "*addi"): Adjust for CRIS v32.
+	("load_multiple", "store_multiple", "*addsbw_v32", "*addubw_v32")
+	("*adds<mode>_v32", "*addu<mode>_v32", "*bound<mode>_v32")
+	("*casesi_jump_v32", "*expanded_andsi_v32", "*expanded_andhi_v32")
+	("*extop<mode>si_v32", "*extopqihi_v32", "*andhi_lowpart_v32")
+	("*andqi_lowpart_v32", "cris_casesi_v32"): New patterns. 
+	("add<mode>3"): Make addsi3, addhi3 and addqi3 define_expand.
+	("sub<mode>3"): Ditto subsi3, subhi3 and subqi3.
+	("ior<mode>3"): Ditto iorsi3, iorhi3 and iorqi3.
+	("*extopqihi_non_v32"): Replace "*extopqihi".
+	("*extop<mode>si_non_v32"): Replace "*extop<mode>si".
+	("*addxqihi_swap_non_v32"): Rename from "*extopqihi_swap", make
+	non-v32 only.
+	("*extop<mode>si_swap_non_v32"): Ditto "*extop<mode>si_swap".
+	("*expanded_andsi_non_v32"): Ditto "*expanded_andsi".
+	("*expanded_andhi_non_v32"): Ditto "*expanded_andhi".
+	("*andhi_lowpart_non_v32"): Ditto "*andhi_lowpart".
+	("*andqi_lowpart_non_v32"): Ditto "*andqi_lowpart".
+	("*expanded_call_non_v32"): Ditto "*expanded_call".  Change from
+	"cris_general_operand_or_plt_symbol" to "general_operand".
+	("*expanded_call_value_non_v32") Ditto "*expanded_call_value".
+	("*casesi_adds_w", "mstep_shift", "mstep_mul")
+	("*expanded_call_side", "*expanded_call_value_side")
+	(op-extend-split, op-extend-split-rx=rz, op-extend-split-swapped)
+	(op-extend-split-swapped-rx=rz, op-extend, op-split-rx=rz)
+	(op-split-swapped, op-split-swapped-rx=rz): Make non-v32 only.
+	("dstep_mul", "xorsi3", "one_cmplsi2", "<shlr>si3")
+	("*expanded_<shlr><mode>", "*<shlr><mode>_lowpart", "ashl<mode>3")
+	("*ashl<mode>_lowpart", "abssi2", "clzsi2", "bswapsi2")
+	("cris_swap_bits"): Specify "noov32" for attr "cc".
+	("<su>mulsi3_highpart"): Ditto.  Correct operand 0 to register_operand.
+	("andqi3"): Make define_expand.
+	("*return_expanded"): For attr "slottable", change from "has_slot"
+	to "has_return_slot".
+	("cris_casesi_non_v32"): New pattern, old contents of "casesi".
+	("casesi"): Divert into "cris_casesi_v32" and "cris_casesi_non_v32".
+	(moversideqi, movemsideqi, mover2side): Require
+	TARGET_SIDE_EFFECT_PREFIXES.
+	(gotplt-to-plt, gotplt-to-plt-side): Change from CRIS_UNSPEC_PLT
+	to CRIS_UNSPEC_PLT_GOTREL.
+	* config/cris/cris-protos.h (cris_register_move_cost)
+	(cris_cc0_user_requires_cmp, cris_asm_output_case_end): Declare.
+
+2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/7081
+	* dwarf2out.c (dwarf_tag_name): Synchronize with dwarf2.h.
+	(is_type_die): Cover interface types.
+	(class_or_namespace_scope_p): Cover interface and class types.
+	(record_type_tag): New.
+	(gen_inlined_structure_type_die): Use it.
+	(gen_struct_or_union_type_die): Likewise.
+	(prune_unused_types_walk): Cover interface types.
+	* langhooks.h (classify_record): New enum.
+	(classify_record): New member in struct langhooks_for_types.
+	* langhooks-def.h (LANG_HOOKS_CLASSIFY_RECORD): New.
+	(LANGHOOKS_FOR_TYPES_INITIALIZER): Adjust.
+
+2007-12-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2out.c (reference_to_unused): Don't emit strings in
+	initializers just because of debug information.
+	* tree.h (TREE_ASM_WRITTEN): Document use for STRING_CSTs.
+
+2007-12-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* tree-scalar-evolution.c (number_of_iterations_for_all_loops): Replace
+	print_loop_ir with print_loops.
+	* tree-flow.h (dot_cfg, debug_loops, debug_loop, debug_loop_num,
+	print_loops, print_loops_bb): Declare.
+	* tree-cfg.c (print_loops_bb): New.
+	(print_loop): Print header, latch, bounds, estimation of iterations.
+	(print_loop_and_siblings): New.
+	(print_loop_ir): Renamed print_loops.
+	(debug_loop_ir): Renamed debug_loops.
+	(debug_loop, debug_loop_num): New.
+
+2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	* tree-flow-inline.h.c (next_readonly_imm_use): Fix typo in comment.
+
+2007-12-15  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	* toplev.c (process_options): Fix typo in warning.
+
+2007-12-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/29978
+	* config/i386/i386.c (ix86_expand_branch): Optimize LE/LEU/GT/GTU
+	DImode comparisons against constant with all 1's in the lower word.
+
+2007-12-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (sse4_2_pcmpestr): Use reg_not_xmm0_operand
+	constraint for operand 2.  Use nonimm_not_xmm0_operand constraint
+	for operand 4.  Update arguments in the call to
+	gen_sse4_2_pcmpestr_cconly.
+	(sse_4_2_pcmpestr_cconly): Renumber insn operands and update insn
+	template accordingly.
+	(sse4_2_pcmpistr): Use reg_not_xmm0_operand constraint for operand2.
+	Use nonimm_not_xmm0_operand constraint for operand 3.  Update
+	arguments in the call to gen_sse4_2_pcmpistr_cconly.
+	(sse_4_2_pcmpistr_cconly): Renumber insn operands and update insn
+	template accordingly.
+
+2007-12-14  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34462
+	* tree-ssa-operands.h (create_ssa_artificial_load_stmt): Add
+	parameter to say whether to unlink immediate uses.
+	* tree-ssa-operands.c (create_ssa_artificial_load_stmt): Do not
+	mark the artificial stmt as modified.  Unlink immediate uses
+	only if requested.
+	* tree-ssa-dom.c (record_equivalences_from_stmt): Update caller.
+	* tree-ssa-pre.c (insert_fake_stores): Likewise.
+
+2007-12-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR middle-end/33088
+	* gimplify.c (gimplify_modify_expr_complex_part): Add note to comment.
+	* tree-complex.c (init_dont_simulate_again): Return true if there are
+	uninitialized loads generated by gimplify_modify_expr_complex_part.
+	* tree-gimple.c (is_gimple_reg_type): Return false for complex types
+	if not optimizing.
+	* tree-ssa.c (ssa_undefined_value_p): New predicate extracted from...
+	(warn_uninit): ...here.  Use ssa_undefined_value_p.
+	* tree-ssa-pre.c (is_undefined_value): Delete.
+	(phi_translate_1): Use ssa_undefined_value_p.
+	(add_to_exp_gen): Likewise.
+	(make_values_for_stmt): Likewise.
+	* tree-flow.h (ssa_undefined_value_p): Declare.
+
+2007-12-13  Andrew Pinski  <pinskia@gmail.com>
+	    David Daney  <ddaney@avtrex.com>
+
+	PR bootstrap/34144
+	* system.h: Make -Wuninitialized non-fatal if ASSERT_CHECKING
+	is disabled.
+
+2007-12-13  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/32636
+	* df-scan.c (df_get_entry_block_def_set): Set struct_value_rtx
+	regno in entry_block_defs even if HAVE_prologue && epilogue_completed.
+
+2007-12-13  Uros Bizjak  <ubizjak@gmail.com>
+	    Richard Guenther  <rguenther@suse.de>
+
+	PR target/34435
+	* config/i386/emmintrin.h (_mm_shuffle_pd, _mm_extract_epi16,
+	_mm_insert_epi16, _mm_shufflehi_epi16, _mm_shufflelo_epi16,
+	_mm_shuffle_epi32): Cast non-constant input values to either __m64,
+	__m128, __m128i or __m128d in a macro version of the intrinsic.
+	Cast constant input values to int.
+	* config/i386/ammintrin.h (_mm_extracti_si64, _mm_inserti_si64): Ditto.
+	* config/i386/bmmintrin.h (_mm_roti_epi8, _mm_roti_epi16,
+	_mm_roti_epi32, _mm_roti_epi64): Ditto.
+	* config/i386/smmintrin.h (_mm_blend_epi16, _mm_blend_ps, _mm_blend_pd,
+	_mm_dp_ps, _mm_dp_pd, _mm_insert_ps, _mm_extract_ps, _mm_insert_epi8,
+	_mm_insert_epi32, _mm_insert_epi64, _mm_extract_epi8, mm_extract_epi32,
+	_mm_extract_epi64, _mm_mpsadbw_epu8, _mm_cmpistrm, _mm_cmpistri,
+	_mm_cmpestrm, _mm_cmpestri, _mm_cmpistra, _mm_cmpistrc, _mm_cmpistro,
+	_mm_cmpistrs, _mm_cmpistrz, _mm_cmpestra, _mm_cmpestrc, _mm_cmpestro,
+	_mm_cmpestrs, _mm_cmpestrz): Ditto.
+	* config/i386/tmmintrin.h (_mm_alignr_epi8, _mm_alignr_pi8): Ditto.
+	* config/i386/xmmintrin.h (_mm_shuffle_ps, _mm_extract_pi16, _m_pextrw,
+	_mm_insert_pi16, _m_pinsrw, _mm_shuffle_pi16, _m_pshufw): Ditto.
+	* config/i386/mmintrin-common.h (_mm_round_pd, _mm_round_sd,
+	_mm_round_ps, _mm_round_ss): Ditto.
+
+2007-12-13  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34450
+	* params.def (PARAM_SCCVN_MAX_SCC_SIZE): New param.
+	* invoke.texi (sccvn-max-scc-size): Document.
+	* Makefile.in (tree-ssa-sccvn.o): Add $(PARAMS_H) dependency.
+	* tree-ssa-sccvn.h (run_scc_vn): Return true on success, false
+	on error.
+	* tree-ssa-sccvn.c (params.h): Include.
+	(DFS): Return true if all went well, return false as soon as
+	a SCC exceeds the size of PARAM_SCCVN_MAX_SCC_SIZE.
+	(run_scc_vn): Return true if all went well, return false if
+	we aborted during DFS.
+	* tree-ssa-pre.c (execute_pre): Check if SCCVN finished
+	successfully, otherwise bail out.
+
+2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+	* ipa-struct-reorg.c (is_candidate): Print information to dump 
+	file when the type is initialized.
+	(get_stmt_accesses):  Likewise when a structure has bitfields
+	or field access is too complicate.
+	(safe_cond_expr_check): Likewise for unsafe condition expressions.
+	(exclude_cold_structs): Likewise for cold structures.
+	(collect_structures): Suppress redundant print when there are 
+	no structures to transform.
+	(do_reorg): Print to dump file a number of structures that 
+	will be transformed.
+	(dump_new_types): Print a number of new types to replace 
+	an original structure type.
+	
+2007-12-13  Olga Golovanevsky  <olga@il.ibm.com>
+
+	* doc/invoke.texi (Optimiza Options): Document new -fipa-struct-reorg
+	option and struct-reorg-cold-struct-ratio parameter.
+	
+2007-12-13  Torbjorn Granlund  <tege@swox.com>
+
+	* config/i386/i386.c (ix86_rtx_costs) [MULT]: Check op0 for
+	ZERO_EXTEND when computing costs for widening multiplication.
+
+2007-12-13  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/30192
+	* config/arm/ieee754-df.S (floatundidf): Fix for wrong sp value on
+	exit when using hard FPA.
+	* config/arm/ieee754-df.S (floatdidf): Likewise.
+
+2007-12-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR bootstrap/30589
+	* doc/install.texi: Document that for MinGW only runtime 3.12 and
+	later is supported.
+
+2007-12-12  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (is_mem_ref): Ignore STACK_TIE.
+
+2007-12-12  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR tree-optimization/32901
+	* gimplify.c (gimplify_modify_expr_rhs): Handle the case when we
+	are assigning from a constant constructor.
+	Fix wrapping in function comment.
+
+2007-12-12  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (s390_O_constraint_str): Limit the range
+	for 'On' to -4G+1..-1.
+	* config/s390/constraints.md: Adjust comment accordingly.
+
+2007-12-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Use frame_reg_rtx
+	for SPE saves.
+
+2007-12-11  Kai Tietz  <kai.tietz@onevision.com>
+
+	* config/i386/cygming.h (DWARF2_UNWIND_INFO): Handle 64-bit
+	target same as 32-bit.
+
+2007-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/34371
+	* tree-vectorizer.h (struct _loop_vec_info): Add num_iters_unchanged
+	field.
+	(LOOP_VINFO_NITERS_UNCHANGED): Define to num_iters_unchanged field.
+	* tree-vectorizer.c (set_prologue_iterations,
+	slpeel_tree_peel_loop_to_edge): Call unshare_expr on
+	LOOP_VINFO_NITERS_UNCHANGED before using it.
+
+2007-12-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR target/34403
+	* config/i386/i386.c (ix86_expand_movmem): Punt if the count is large.
+	(ix86_expand_setmem): Likewise.
+
+2007-12-10  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR rtl-optimization/34302
+	* auto-inc-dec.c (attempt_change): Change place where move is
+	inserted.
+
+2007-12-10  Jakub Jelinek  <jakub@redhat.com>
+
+	* dwarf2out.c (gen_array_type_die, gen_descr_array_type_die): For
+	Fortran multi-dimensional arrays use DW_AT_ordering
+	DW_ORD_col_major.
+
+2007-12-10  Paolo Bonzini  <bonzini@gnu.org>
+
+	PR target/32086
+	* config/i386/i386.c (override_options): Enable -fvect-cost-model.
+
+2007-12-10 Uros Bizjak <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_function_regparm): Do not check global_regs
+	array, registers that are members of global_regs are also members of
+	fixed_regs array.  Use REGPARM_MAX to check that no regparm hard
+	register is taken by a fixed register variable.  Check up to and
+	including DI_REG when adjusting regparm value due to fixed regs usage.
+	(rep_prefix_usable): Check fixed_regs array, not global_regs array for
+	available hard registers.
+	(ix86_expand_strlen): Ditto.
+	* config/i386/i386.md (strmov): Ditto.
+	(cmpstrnsi): Ditto.
+
+2007-12-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* genopinit.c: Include tm_p.h in generated file.
+
+	* config/arm/neon.md (vec_set<mode>_internal): Use INTVAL
+	to extract the integer from operands[2].
+	(vec_setv2di_internal): Likewise.
+
+	* config/arm/arm.c (arm_size_return_regs): Make return type unsigned.
+	(arm_init_neon_builtins): Move code after declarations.
+
+2007-12-10  Hans-Peter Nilsson  <hp@axis.com>
+
+	* reload.c (find_reloads_address_1): To properly mark as an
+	autoincdec, pass X for non-NULL OUT in call to push_reload for
+	autoincdec which can't be trivially used as an address.
+
+2007-12-10  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
+	    Hans-Peter Nilsson  <hp@axis.com>
+
+	* caller-save.c (insert_one_insn): If inserting before a call_insn
+	then the registers containing the arguments of the call are
+	live_throughout in the new insn.
+
+2007-12-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/32889
+	PR target/34091
+	* pa.md: Consolidate HImode and QImode move patterns into one pattern
+	each, eliminating floating-point alternatives.
+	* pa-protos.h (pa_cannot_change_mode_class, pa_modes_tieable_p):
+	Declare functions.
+	* pa-64.h (SECONDARY_MEMORY_NEEDED): Define here.
+	* pa.c (pa_secondary_reload): Use an intermediate general register
+	for copies to/from floating-point register classes.  Simplify code
+	SHIFT_REGS class.  Provide additional comments.
+	(pa_cannot_change_mode_class, pa_modes_tieable_p): New functions.
+	* pa.h (MODES_TIEABLE_P): Use pa_modes_tieable_p.
+	(SECONDARY_MEMORY_NEEDED): Delete define.
+	(INT14_OK_STRICT): Define.
+	(MODE_OK_FOR_SCALED_INDEXING_P): Allow SFmode and DFmode when using
+	soft float.
+	(MODE_OK_FOR_UNSCALED_INDEXING_P): Likewise.
+	(GO_IF_LEGITIMATE_ADDRESS): Use INT14_OK_STRICT in REG+D case for
+	SFmode and DFmode.
+	(LEGITIMIZE_RELOAD_ADDRESS): Use INT14_OK_STRICT in mask selection.
+	Align DImode offsets when generating 64-bit code.
+	* pa32-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+	(CANNOT_CHANGE_MODE_CLASS): Define.
+	* pa64-regs.h (VALID_FP_MODE_P): Remove QImode and HImode.
+	(CANNOT_CHANGE_MODE_CLASS): Define using pa_cannot_change_mode_class.
+
+2007-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/22244
+	* langhooks-def.h (LANG_HOOKS_GET_ARRAY_DESCR_INFO): Define.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
+	* langhooks.h (struct array_descr_info): Forward declaration.
+	(struct lang_hooks_for_types): Add get_array_descr_info field.
+	* dwarf2.h (DW_AT_bit_stride, DW_AT_byte_stride): New.
+	(DW_AT_stride_size, DW_AT_stride): Keep around for Dwarf2
+	compatibility.
+	* dwarf2out.h (struct array_descr_info): New type.
+	* dwarf2out.c (dwarf_attr_name): Rename DW_AT_stride to
+	DW_AT_byte_stride and DW_AT_stride_size to DW_AT_bit_size.
+	(descr_info_loc, add_descr_info_field, gen_descr_array_type_die):
+	New functions.
+	(gen_type_die_with_usage): Call lang_hooks.types.get_array_descr_info
+	and gen_descr_array_type_die.
+
+2007-12-08  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34391
+	* tree-vect-transform.c (vect_setup_realignment): Mark new
+	symbols for renaming.
+
+2007-12-07  Bob Wilson  <bob.wilson@acm.org>
+	
+	* config/xtensa/xtensa.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+	(ASM_OUTPUT_DWARF_PCREL): Define.
+	
+2007-12-07  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34382
+	* opts.c (common_handle_option): Handle OPT_fforce_addr.
+
+2007-12-07  Aldy Hernandez  <aldyh@redhat.com>
+
+	* m32c.h (LEGITIMIZE_ADDRESS): Use WIN instead of win.
+	(LEGITIMIZE_RELOAD_ADDRESS): Same.
+
+2007-12-07  Samuel Tardieu  <sam@rfc1149.net>
+
+	PR ada/29157
+	* doc/install.texi: Explain how to check for a clean environment when
+	building GNAT.
+
+2007-12-07  Richard Guenther  <rguenther@suse.de>
+
+	* tree-profile.c (gcov_type_tmp_var): New global variable.
+	(tree_gen_edge_profiler): Use a single shared variable decl per
+	function for edge counter incrementing.
+	(tree_profiling): Re-set the shared variable.
+
+2007-12-06  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_va_start): Add prototype.
+
+2007-12-06  Tom Tromey  <tromey@redhat.com>
+
+	PR c/29172
+	* c-opts.c (c_common_parse_file): Call cpp_clear_file_cache.
+
+2007-12-06  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_function_ok_for_sibcall): Check
+	targetm.binds_local_p as well as DECL_EXTERNAL.
+
+2007-12-06  Harsha Jagasia <harsha.jagasia@amd.com>
+
+	* tree-vectorizer.c (slpeel_add_loop_guard): Gimplify the condition.
+	(set_prologue_iterations): New. Set the prologue iterations to total
+	number of scalar iterations if the cost model check indicates that
+	scalar code should be generated.
+	(slpeel_tree_peel_loop_to_edge): Add a new parameter and code for 
+	generating the cost condition for epilog. Call
+	set_prologue_iterations to generate cost condition for prolog.
+	(new_loop_vec_info): Initialize LOOP_VINFO_NITERS_UNCHANGED.
+	* tree-vectorizer.h (LOOP_VINFO_NITERS_UNCHANGED): New.
+	(slpeel_tree_peel_loop_to_edge): Update declaration.
+	(set_prologue_iterations): New declaration.
+	* tree-vect-analyze.c (vect_analyze_loop_form): Update 
+	LOOP_VINFO_NITERS_UNCHANGED.
+	* tree-vect-transform.c
+	(vect_estimate_min_profitable_iters): Add new parameter and
+	code to  check if run time cost model test is needed.
+	Remove code that adds builtin vectorization cost to scalar
+	outside cost for the run time cost model test. If run time
+	cost model test is needed add the appropriate guard cost to
+	the scalar outside cost. The guard cost depends on whether
+	the guard is generated at versioning or at prolog generation
+	or at epilog generation. Change cost model equation to include
+	scalar outside cost.
+	(conservative_cost_threshold): New. Return the less conservative
+	profitability threshold between the cost model threshold and the
+	user defined vectorization threshold.
+	(vect_do_peeling_for_loop_bound): Call conservative_cost_threshold.
+	(vect_do_peeling_for_alignment): Same.
+	(vect_loop_versioning): Same.
+	(vect_create_cond_for_align_checks): ANDs the cost model condition
+	with the alignment condition.
+	(vect_transform_loop): Call loop versioning only when there is a
+	misalignment or an aliasing problem.
+
+2007-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/20983
+	* tree-ssa-ccp.c (optimize_stdarg_builtin): New function.
+	(execute_fold_all_builtins): Call it for BUILT_IN_VA_START,
+	BUILT_IN_VA_COPY and BUILT_IN_VA_END.
+
+	* target.h (struct ggc_target): Add expand_builtin_va_start hook.
+	* target-def.h (TARGET_EXPAND_BUILTIN_VA_START): Define.
+	(TARGET_INITIALIZER): Add it.
+	* builtins.c (expand_builtin_va_start): Use
+	targetm.expand_builtin_va_start hook instead of
+	EXPAND_BUILTIN_VA_START macro.
+	* alpha/alpha.c (alpha_va_start): Made static.
+	(override_options): Clear targetm.expand_builtin_va_start if
+	TARGET_UNICOSMK.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* alpha/unicosmk.h (EXPAND_BUILTIN_VA_START): Remove.
+	* alpha/alpha.h (EXPAND_BUILTIN_VA_START): Remove.
+	* alpha/alpha-protos.h (alpha_va_start): Remove prototype.
+	* xtensa/xtensa.h (EXPAND_BUILTIN_VA_START): Remove.
+	* xtensa/xtensa.c (TARGET_EXPAND_BUILTIN_VA_START): Define.
+	(xtensa_va_start): Made static.
+	* xtensa/xtensa-protos.h (xtensa_va_start): Remove prototype.
+	* pa/pa-protos.h (hppa_va_start): Remove prototype.
+	* pa/pa.h (EXPAND_BUILTIN_VA_START): Remove.
+	* pa/pa.c (hppa_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* frv/frv.c (frv_expand_builtin_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* frv/frv-protos.h (frv_expand_builtin_va_start): Remove prototype.
+	* frv/frv.h (EXPAND_BUILTIN_VA_START): Remove.
+	* i386/i386.c (override_options): Clear
+	targetm.expand_builtin_va_start if -m32 or 64-bit MS ABI.
+	(ix86_va_start): Made static.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* i386/i386.h (EXPAND_BUILTIN_VA_START): Remove.
+	* i386/i386-protos.h (ix86_va_start, ix86_va_arg): Remove prototypes.
+	* iq2000/iq2000-protos.h (iq2000_va_start): Remove prototype.
+	* iq2000/iq2000.h (EXPAND_BUILTIN_VA_START): Remove.
+	* iq2000/iq2000.c (iq2000_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* rs6000/rs6000-protos.h (rs6000_va_start): Remove prototype.
+	* rs6000/rs6000.c (rs6000_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	(rs6000_override_options): Clear targetm.expand_builtin_va_start if
+	DEFAULT_ABI != ABI_V4.
+	* rs6000/rs6000.h (EXPAND_BUILTIN_VA_START): Remove.
+	* spu/spu.c (spu_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* spu/spu.h (EXPAND_BUILTIN_VA_START): Remove.
+	* spu/spu-protos.h spu_va_start): Remove prototype.
+	* stormy16/stormy16.h (EXPAND_BUILTIN_VA_START): Remove.
+	* stormy16/stormy16-protos.h (xstormy16_expand_builtin_va_start):
+	Remove prototype.
+	* stormy16/stormy16.c (xstormy16_expand_builtin_va_start): Made static.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* s390/s390-protos.h (s390_va_start): Remove prototype.
+	* s390/s390.c (s390_va_start): Made static.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* s390/s390.h (EXPAND_BUILTIN_VA_START): Remove.
+	* mn10300/mn10300.h (EXPAND_BUILTIN_VA_START): Remove.
+	* mn10300/mn10300-protos.h (mn10300_va_start): Remove prototype.
+	* mn10300/mn10300.c (mn10300_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* arc/arc.c (arc_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* arc/arc.h (EXPAND_BUILTIN_VA_START): Remove.
+	* arc/arc-protos.h (arc_va_start): Remove prototype.
+	* mt/mt-protos.h (mt_va_start): Remove prototype.
+	* sparc/sparc.c (sparc_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* sparc/sparc-protos.h (sparc_va_start): Remove prototype.
+	* sparc/sparc.h (EXPAND_BUILTIN_VA_START): Remove.
+	* sh/sh.c (sh_va_start): Made static, add prototype.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+	* sh/sh-protos.h (sh_va_start): Remove prototype.
+	* sh/sh.h (EXPAND_BUILTIN_VA_START): Remove.
+	* mips/mips-protos.h (mips_va_start): Remove prototype.
+	* mips/mips.h (EXPAND_BUILTIN_VA_START): Remove.
+	* mips/mips.c (mips_va_start): Made static.
+	(TARGET_EXPAND_BUILTIN_VA_START): Define.
+
+2007-12-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* tree-ssa-loop.c (gate_tree_parallelize_loops): Return true when
+	"flag_tree_parallelize_loops > 1".
+	
+2007-12-06  Zdenek Dvorak  <ook@ucw.cz>
+	    Dorit Nuzman  <dorit@il.ibm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/34005
+	* tree-gimple.c (is_gimple_formal_tmp_rhs): Add a case for COND_EXPR.
+	* gimplify.c (gimplify_ctx): Add a new member allow_rhs_cond_expr.
+	(gimplify_pure_cond_expr): New function.
+	(generic_expr_could_trap_p): New function.
+	(gimplify_cond_expr): Call gimplify_pure_cond_expr.
+	(force_gimple_operand): Initialize new field allow_rhs_cond_expr.
+
+2007-12-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (s390_emit_stack_tie): New function.
+	(s390_emit_prologue): Emit a stack tie when writing to the
+	f8-f15 stack slots.
+	* config/s390/s390.md ("stack_tie"): New insn definition.
+
+2007-12-06  Ben Elliston  <bje@au.ibm.com>
+
+	* SERVICE: Remove.
+	* doc/sourcebuild.texi (Miscellaneous Docs): Remove SERVICE item.
+
+2007-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/34337
+	* fold-const.c (fold_binary) <case BIT_IOR_EXPR>: Don't minimize
+	number of bits set in C1 if a mode mask for some mode can be used
+	instead.
+
+2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	* varasm.c (merge_weak, weak_finish, assemble_alias): Commentary typo
+	fixes.
+
+2007-12-05  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34138
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+	Do not forward propagate addresses if that changes volatileness of
+	the pointed-to type.
+
+2007-12-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/34312
+	* config/i386/i386.c (ix86_function_regparm): Also check for fixed
+	registers when checking that regparm registers are available.
+	Lower regparm value due to fixed registers usage in addition to
+	global regs usage.
+
+2007-12-05  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	* sparseset.c: Include config.h and system.h before sparseset.h.
+	* sparseset.h: Remove inclusion of system.h.
+
+2007-12-05  Jakub Jelinek  <jakub@redhat.com>
+	    Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* optabs.c (init_insn_codes): New function.
+	(new_optab): Delete.
+	(init_optab, init_optabv): Don't call new_optab.
+	(init_convert_optab): Don't clear the insn codes.
+	(init_optabs): Call init_insn_codes.
+
+2007-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (optimize_omp_library_calls): New function.
+	(expand_omp_parallel): Call it if optimizing.
+
+	PR middle-end/34134
+	* stmt.c (expand_stack_restore): Call expand_normal on var to get
+	rtx for it instead of assuming it will be a VAR_DECL.
+
+2007-12-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* c-parser (c_parser_statement_after_labels): Move error from here...
+	(c_parser_label): ... to here. Check that the declaration is not
+	actually just another label.
+
+2007-12-04  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34334
+	PR middle-end/34222
+	* tree-ssa-operands.c (get_addr_dereference_operands): If we
+	fall back to using the SMTs aliases, make sure to add virtual
+	operands for the SMT itself.
+	(create_ssa_artificial_load_stmt): Fix typo.  Make sure to also
+	clear the loaded and stored symbols bitmaps.
+
+2007-12-04  Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/spu.h (ASM_FORMAT_PRIVATE_NAME): Remove; use default.
+
+2007-12-04  Ben Elliston  <bje@au.ibm.com>
+
+	* doc/tm.texi (Exception Handling): Mention unwind-dw2-xtensa.c.
+
+2007-12-03  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+	PR middle-end/33713
+	* doc/invoke.texi: Remove -fforce-addr documentation.
+	* expr.c (emit_move_insn): Remove use of flag_force_addr.
+	(expand_expr_real_1): Same.
+	(do_tablejump): Same.
+	Call memory_address instead of memory_address_noforce.
+	* expr.h (memory_address_noforce): Remove prototype.
+	* explow.c (memory_address): Remove support for flag_force_addr.
+	(validize_mem): Same.
+	(memory_address_noforce): Remove.
+	* common.opt: Add dummy documentation for -fforce-addr.
+	* combine.c (can_combine_p): Remove -fforce-addr comment.
+	* config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove set of
+	flag_force_addr.
+	* config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Remove comment
+	relating to memory_address_noforce.
+	* testsuite/gcc.c-torture/compile/20050802-1.c: Remove.
+	* testsuite/gcc.c-torture/compile/20011113-1.c: Remove.
+	
+2007-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp-low.c (lookup_decl_in_outer_ctx): Allow calling this
+	with !ctx->is_nested.
+	(maybe_lookup_decl_in_outer_ctx): Look up in outer contexts
+	even if !ctx->is_nested.
+	(lower_copyprivate_clauses, lower_send_clauses,
+	lower_send_shared_vars): Call lookup_decl_in_outer_ctx
+	unconditionally.
+
+	PR middle-end/29749
+	* fold-const.c (fold_binary) <case BIT_AND_EXPR>: Optimize
+	(X << C1) & C2 into (X << C1) & (C2 | ((1 << C1) - 1))
+	and (X >> C1) & C2 into (X >> C1) & (C2 | ~((type) -1 >> C1)).
+	(fold_binary) <case LSHIFT_EXPR, case RSHIFT_EXPR>: Optimize
+	(X & C2) << C1 into (X << C1) & (C2 << C1) and
+	(X & C2) >> C1 into (X >> C1) & (C2 >> C1) if that allows further
+	optimizations.
+
+	PR tree-optimization/33453
+	* tree-data-ref.c (split_constant_offset): Use POINTER_PLUS_EXPR
+	for pointer addition.
+	* tree-parloops.c (canonicalize_loop_ivs): Likewise.
+	(separate_decls_in_loop_name): Copy DECL_GIMPLE_REG_P from var to
+	var_copy.
+
+2007-12-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define __FDPIC__ as
+	necessary.
+
+2007-12-03  Razya Ladelsky <razya@il.ibm.com>
+
+	* doc/invoke.texi (fipa-cp, fipa-matrix-reorg): Add documentation.
+
+2007-12-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/34317
+	* opts.c (common_handle_option): Handle OPT_ftree_store_copy_prop.
+	* common.opt (ftree-store-copy-prop): Use the same help text as for
+	other nop switches.
+
+2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (calculate_must_precede_follow,
+	try_scheduling_node_in_cycle): New functions.
+	(sms_schedule_by_order): Call the new functions.
+	(ps_insn_find_column): Use must_follow and must_precede only if
+	they are not NULL.
+	(ps_insn_advance_column): Likewise.
+
+2007-12-02  Ayal Zaks  <zaks@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (get_sched_window): Fix the direction of the
+	scheduling window and add dump info.
+
+2007-12-02  Samuel Tardieu  <sam@rfc1149.net>
+
+	* config/sh/sh.md (cmpgeusi_t): Fix condition.
+
+2007-11-30  Jan Hubicka  <jh@suse.cz>
+
+	* ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect flag.
+
+2007-11-30  Seongbae Park <seongbae.park@gmail.com>
+
+	PR rtl-optimization/34171
+	* cfgrtl.c (update_bb_for_insn_chain): New function,
+	refactored from update_bb_for_insn.
+	(update_bb_for_insn): Call update_bb_for_insn.
+	(rtl_merge_blocks, try_redirect_by_replacing_jump):
+	Replace a loop with update_bb_for_insn_chain call.
+	(cfg_layout_merge_blocks): Add a call to
+	update_bb_for_insn_chain. Replace the for loop
+	with a call to update_bb_for_insn_chain.
+
+2007-11-30  Ben Elliston  <bje@au.ibm.com>
+
+	* config/vax/vax.h (ASM_FORMAT_PRIVATE_NAME): Remove. Use default.
+
+2007-11-29  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/34244
+	* tree-vrp.c (adjust_range_with_scev): Clear scev cache.
+	(record_numbers_of_iterations): New function.
+	(execute_vrp): Cache the numbers of iterations of loops.
+	* tree-scalar-evolution.c (scev_reset_except_niters): New function.
+	(scev_reset): Use scev_reset_except_niters.
+	* tree-scalar-evolution.h (scev_reset_except_niters): Declare.
+
+2007-11-29  Jan Hubicka  <jh@suse.cz>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33434
+	* tree-inline.c (setup_one_parameter): If the value passed to
+	a parameter is never used, don't set it up.
+
+2007-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/32130
+	* config/rs6000/eabi-cn.asm (__DTOR_END__): Make it weak.
+	* config/rs6000/sol-cn.asm (__DTOR_END__): Likewise.
+
+2007-11-29  Andris Pavenis <andris.pavenis@iki.fi>
+
+	* Makefile.in: Use separate vpath lines for each path.
+
+2007-11-29  Ben Elliston  <bje@au.ibm.com>
+
+	* SERVICE: Update URL.
+
+2007-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/34140
+	* tree-if-conv.c (if_convertible_phi_p): Fail if BB other than
+	loop->header has virtual phi nodes.
+
+2007-11-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/32406
+	* builtins.c (expand_builtin_nonlocal_goto): Also emit a use
+	of GP register, if valid and fixed.
+
+	Revert:
+	2007-06-21  David Daney  <ddaney@avtrex.com>
+
+	PR target/32406
+	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
+	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
+	(exception_receiver): Renamed to ...
+	(nonlocal_goto_receiver): ... this.
+
+2007-11-27  H.J. Lu  <hongjiu.lu@intel.com>
+	    Joey Ye <joey.ye@intel.com>
+
+	PR target/34001
+	* config/i386/i386.c (function_arg_32): Don't pass aggregate
+	arguments in ECX/EDX for fastcall.
+
+2007-11-28  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* config/i386/linux.h (CRT_GET_RFIB_DATA): Add Intel syntax inline
+	asm to macro.
+	* config/i386/sco5.h (CRT_GET_RFIB_DATA): Likewise.
+	* config/i386/sysv4.h (CRT_GET_RFIB_DATA): Likewise.
+
+2007-11-28  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/aix64.opt (maix64): Add Negative(maix32).
+	(maix32): Add Negative(maix64).
+
+2007-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/34016
+	* tree-ssa-loop.c (pass_linear_transform): Add
+	TODO_update_ssa_only_virtuals to todo_flags_finish.
+
+2007-11-27  Eric B. Weddington  <eric.weddington@atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add atmega32hvb.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+	
+2007-11-27  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/34225
+	* config/rs6000/rs6000.c (adjacent_mem_locations): Don't assume
+	MEM_SIZE is set on all MEMs.
+
+2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.opt (mhard-float): Add the option to be
+	overridden.  That was missing in my last patch.
+
+2007-11-27  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34241
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Make sure
+	to only delete real conversion chains.
+
+2007-11-27  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.opt (m31, m64, mesa, mzarch, msoft-float,
+	mhard-float, mlong-double-64, mlong-double-128): Add the
+	option to be overridden.
+
+2007-11-27  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (fold_builtin_1): Verify the argument types
+	of BUILT_IN_ISNORMAL.
+	(fold_builtin_n): Verify the number of arguments to variadic
+	built-in functions.
+
+2007-11-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/elf.h (SUBTARGET_DRIVER_SELF_SPECS): New macro.
+	* doc/invoke.texi (Blackfin Options): Document the effects.
+
+2007-11-27  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/sysv4.opt (m32): Add Negative(m64).
+	(m64): Add Negative(m32).
+	* config/rs6000/darwin.opt (m32): Add Negative(m64).
+	(m64): Add Negative(m32).
+
+2007-11-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-propagate.c (set_rhs) <GIMPLE_MODIFY_STMT>: Fix typo.
+
+2007-11-26  Michael Meissner  <michael.meissner@amd.com>
+
+	PR target/34077
+	* config/i386/i386.c (ix86_expand_movmem): If the copy size is a
+	constant, avoid calling emit_cmp_and_jump_insns.  Use counter_mode
+	to get the mode for loading a pseudo register with a count rather
+	than duplicating code.
+
+2007-11-25  Eric B. Weddington  <eric.weddington@atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add atmega1284p.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+	
+	* c-common.c (conversion_warning): Use get_unwidened instead of
+	get_narrower.
+	
+2007-11-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/23722
+	* c-parser.c (struct c_parser): New bit in_if_block.
+	(c_parser_compound_statement_nostart): Handle unexpected 'else'
+	keyword.
+	(c_parser_statement_after_labels): Set in_if_block to false while
+	parsing.
+	(c_parser_if_body): Don't call c_parser_statement_after_labels if
+	a semicolon is found, just consume it. Don't call
+	c_parser_statement_after_labels if an open brace is found, call
+	c_parser_compound_statement instead.
+	(c_parser_else_body): New.
+	(c_parser_if_statement): Set in_if_block to true when parsing the
+	body of the 'if' statement. Use c_parser_else_body.
+
+2007-11-26  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	PR c++/34081
+	* c-decl.c (store_parm_decls): Pass 'false' for the new
+	allocate_struct_function parameter.
+	* cgraphunit.c (cgraph_build_static_cdtor): Likewise.
+	* tree-parloops.c (create_loop_fn): Likewise.
+	* function.c (push_function_context_to, push_struct_function,
+	init_function_start): Likewise.
+	(allocate_struct_function): Add boolean parameter.
+	* tree.h (allocate_struct_function): Add boolean parameter.
+	* function.h (struct function): Move returns_struct and
+	returns_pcc_struct to the end of the structure definiton.
+
+2007-11-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/34215
+	* config/i386/i386.md (truncdfsf2): Select SLOT_TEMP stack slot if
+	virtual registers are already instantiated.
+	(truncxf<mode>2): Ditto.
+	(floatsi<mode>2): Ditto.
+	(floatdisf2): Ditto.
+	(floatdidf2): Ditto.
+
+2007-11-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/34174
+	* config/fr30/fr30.c (fr30_move_double): Sanitize mem->reg case. Copy
+	the address before it is clobbered.
+
+2007-11-26  Nick Clifton  <nickc@redhat.com>
+
+	* config/mn10300/mn10300.md: (call_internal): Remove mode on
+	operand 0 in order to match UNPSEC'ed calls generated in PIC mode.
+	(call_value_internal): Remove mode on operands 0 and 1 in order to
+	match UNPSEC'ed calls generated in PIC mode.
+	(GOTaddr2picreg): Use copy_rtx to prevent sharing an rtx between
+	two insns.
+
+2007-11-26  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34233
+	* builtins.c (expand_builtin_pow): Use expand_expr to expand
+	the result of build_call_expr.
+
+2007-11-26  Steven Bosscher  <stevenb.gcc@gmail.com> 
+	    Revital Eres  <eres@il.ibm.com> 
+
+	PR middle-end/34085
+	* bb-reorder.c (insert_section_boundary_note): Clear
+	BLOCK_FOR_INSN in NOTE_INSN_SWITCH_TEXT_SECTIONS.
+
+2007-11-26  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add missing comma.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2asm.c (splay_tree_compare_strings): New function.
+	(dw2_force_const_mem): Use it.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree.c (type_hash_add): Don't violate strict aliasing rules.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR c/27898
+	* c-typeck.c (tagged_types_tu_compatible_p): Enable exact
+	matches between anonymous union fields.
+
+2007-11-26  Alexandre Oliva  <aoliva@redhat.com>, Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-live.c (remove_unused_scope_block_p): Drop
+	declarations and blocks only after inlining.  Check that
+	non-empty blocks are not dropped.
+	* tree-inline.c (expand_call_inline): Check that functions are
+	not inlined too late.
+
+2007-11-26  Ben Elliston  <bje@au.ibm.com>
+
+	* unwind-dw2-fde.c: Fix comment typo.
+	* unwind-generic.h: Likewise, fix comment typos.
+	
+2007-11-25  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* tree-sra.c (scalarize_use): Adjust the vpos argument to
+	sra_explode_bitfield_assignment in cases where the type is
+	wider than the bitfield.
+
+2007-11-25  Richard Guenther  <rguenther@suse.de>
+
+	* tree.h (struct tree_block): Move locus member next to flags.
+	* c-decl.c (SCOPE_LIST_APPEND): Use BLOCK_CHAIN.
+	(SCOPE_LIST_CONCAT): Likewise.
+	(pop_scope): Likewise.
+	* function.c (instantiate_decls_1): Likewise.
+	(setjmp_vars_warning): Likewise.
+	* emit-rtl.c (set_used_decls): Likewise.
+	* tree-inline.c (add_lexical_block): Likewise.
+
+2007-11-24  Hans-Peter Nilsson  <hp@axis.com>
+
+	* rtlanal.c (label_is_jump_target_p): Return true for a matching
+	REG_LABEL_TARGET.
+	* reorg.c (fill_slots_from_thread): Correct last change to use
+	NULL_RTX, not NULL.  Outside of REG_NOTES loop, increase and
+	decrease LABEL_NUSES for JUMP_LABEL (trial), not XEXP (note, 0).
+	* jump.c (mark_jump_label_1): Add comment for last change
+	regarding JUMP_LABEL setting.
+	* gcse.c (add_label_notes): Remove conditional that the label is
+	mentioned in insn before adding regnote.
+	* sched-rgn.c (is_cfg_nonregular): Don't return 1 for a
+	single_set insn only feeding a label to a jump through a
+	register that dies there.
+
+2007-11-23  Dirk Mueller  <dmueller@suse.de>
+	    Richard Guenther <rguenther@suse.de>
+
+	PR middle-end/34197
+	* tree-vrp.c (check_array_ref): Move check for valid location..
+	(check_array_bounds) here. Use EXPR_HAS_LOCATION().
+
+2007-11-23  Hans-Peter Nilsson  <hp@axis.com>
+
+	* reload.c (find_reloads_address_1) <autoincdec cases>:
+	Call REG_OK_FOR_CONTEXT with the autoincdec code, not outer_code.
+
+2007-11-23  Richard Guenther  <rguenther@suse.de>
+	    Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/34176
+	* alloc-pool.h (empty_alloc_pool): Declare.
+	* alloc-pool.c (empty_alloc_pool): New function.
+	* tree-ssa-sccvn.c (vn_reference_lookup): Also lookup from the
+	valid table if a lookup from the optimistic table failed.
+	(vn_unary_op_lookup): Likewise.
+	(vn_binary_op_lookup): Likewise.
+	(vn_phi_lookup): Likewise.
+	(process_scc): Clear optimistic tables before every iteration.
+
+2007-11-23  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-copy.c (may_propagate_copy): Remove redundant checks.
+	(merge_alias_info): Do verification only if checking is
+	enabled.  Merge flow-sensitive alias information in simple cases.
+	* tree-ssa-operands.c (get_addr_dereference_operands): Also
+	complain about missing NMTs.
+
+2007-11-23  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/34198
+	* c-common.c (conversion_warning): For INTEGER_TYPE to
+	INTEGER_TYPE conversions call get_narrower on expr to avoid
+	spurious warnings from binop shortening or when the implicit
+	conversion can't change the value.
+
+2007-11-22  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/14050
+	* c-decl.c (set_array_declarator_inner): Don't give error for
+	static or type qualifiers in abstract declarator.  Remove
+	abstract_p parameter.
+	* c-tree.h (set_array_declarator_inner): Update prototype.
+	* c-parser.c (c_parser_direct_declarator_inner): Update call to
+	set_array_declarator_inner.
+	* doc/standards.texi: Update for C99 TC3.
+
+2007-11-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* config/mmix/mmix.c (mmix_encode_section_info): Remove duplicate
+	line in my edit of the last change.
+
+2007-11-22  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/33947
+	* config/arm/arm.c (arm_init_tls_builtins): Set TREE_NOTHROW
+	and TREE_READONLY on the fn decl rather than passing a chain
+	of attributes.
+
+2007-11-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.md (divsi_inv_m3): Handle zero dividend specially.
+
+2007-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Change checking
+	of ix86_arch and ix86_tune into a switch statement.
+	(enum processor_type): Default PROCESSOR_I386 to 0.
+	* config/i386/i386.c (ix86_decompose_address): Use TARGET_K6 instead
+	of "ix86_tune == PROCESSOR_K6".
+	(ia32_multipass_dfa_lookahead): Change checking of ix86_tune into
+	a switch statement.
+
+2007-11-22  Tom Tromey  <tromey@redhat.com>
+
+	* config/mmix/mmix.c (mmix_encode_section_info): Use alloca to
+	avoid writing into string allocated by ggc_alloc_string.
+
+2007-11-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/34155
+	* config/sh/sh.md (binary_sf_op): Remove.
+	(binary_sf_op0, binary_sf_op1): New define_insn_and_split.
+	* config/sh/sh.c (sh_expand_binop_v2sf): Use gen_binary_sf_op0
+	and gen_binary_sf_op1.
+
+2007-11-21  Hans-Peter Nilsson  <hp@axis.com>
+
+	* regclass.c (init_reg_autoinc): Fix typo preventing test of
+	secondary output reload when setting forbidden_inc_dec_class.
+
+2007-11-21  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34148
+	* tree-ssa-structalias.c (create_variable_info_for): Do not use
+	field-sensitive PTA for single-element structures.
+	* tree-ssa-alias.c (create_overlap_variables_for): Do not create
+	SFTs for single-element structures.
+
+2007-11-20  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34154
+	* gimplify.c (gimplify_switch_expr): Use tree_int_cst_lt instead
+	of the signed INT_CST_LT.
+	* stmt.c (expand_case): Likewise.
+	(estimate_case_costs): Likewise.
+
+2007-11-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* read-rtl.c (fatal_expected_char): Print EOF as text rather that
+	its binary representation.
+
+2007-11-20  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_virtual_operand): Consistently prune
+	accesses.
+
+2007-11-20  Thiemo Seufer  <ths@mips.com>
+
+	* config/mips/mips.c (mips_file_start): Add support for
+	flagging 32-bit code with -mfp64 floating-point.
+
+2007-11-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/34146
+	* c-gimplify.c (optimize_compound_literals_in_ctor): New function.
+	(c_gimplify_expr): Use it.
+
+2007-11-20  Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/spu_mfcio.h: Fix typo.
+
+2007-11-20  Ben Elliston  <bje@au.ibm.com>
+
+	* unwind.inc: Comment that unwind-sjlj.c includes this file.
+
+2007-11-20  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+	    Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/mfc_tag_release.c: New file.
+	* config/spu/mfc_multi_tag_release.c: Likewise.
+	* config/spu/mfc_multi_tag_reserve.c: Likewise.
+	* config/spu/mfc_tag_release.c: Likewise.
+	* config/spu/mfc_tag_reserve.c: Likewise.
+	* config/spu/mfc_tag_table.c: Likewise.
+	* config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Compile them.
+	(TARGET_LIBGCC2_CFLAGS): Define __IN_LIBGCC2.
+	* config/spu/spu_mfcio.h: Avoid <stdint.h>.
+	(uint64_t): Typedef if __IN_LIBGCC2 is defined.
+	(MFC_TAG_INVALID, MFC_TAG_VALID): New macros.
+	(mfc_tag_reserve, mfc_tag_release, mfc_multi_tag_reserve,
+	mfc_multi_tag_release): Likewise.
+	(__mfc_tag_reserve, __mfc_tag_release, __mfc_multi_tag_reserve,
+	__mfc_multi_tag_release): Declare.
+
+2007-11-19  Jason Merrill  <jason@redhat.com>
+
+	PR debug/28834, debug/29436, c/32326
+	* tree.c (build_type_attribute_qual_variant): Refuse to make
+	a distinct copy of a struct/enum type.  Use build_distinct_type_copy.
+	* doc/extend.texi (Type Attributes): Don't encourage people to add
+	attributes to struct/enum types in a typedef.  Fix
+	transparent_union example.
+
+	* tree-inline.c (remap_type_1): Remove code that's redundant with
+	remap_type.
+	(build_duplicate_type): Set id.copy_decl.
+	* c-common.c (handle_transparent_union_attribute): Simplify logic.
+
+2007-11-19  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (invalid_e500_subreg,
+	rs6000_legitimate_offset_address_p, legitimate_lo_sum_address_p,
+	rs6000_legitimize_address, rs6000_legitimize_reload_address,
+	rs6000_legitimate_address, function_arg_advance,
+	spe_build_register_parallel, rs6000_spe_function_arg,
+	rs6000_split_multireg_move, spe_func_has_64bit_regs_p,
+	emit_frame_save, gen_frame_mem_offset, rs6000_function_value,
+	rs6000_libcall_value, rs6000_dwarf_register_span): Handle DDmode and
+	TDmode similarly to DFmode and TFmode.
+	* config/rs6000/rs6000.h (LOCAL_ALIGNMENT, MEMBER_TYPE_FORCES_BLK,
+	DATA_ALIGNMENT, CLASS_MAX_NREGS, CANNOT_CHANGE_MODE_CLASS): Likewise.
+
+2007-11-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* stor-layout.c (lang_adjust_rli): Delete.
+	(set_lang_adjust_rli): Likewise.
+	(layout_type): Do not call lang_adjust_rli hook.
+	* tree.h (set_lang_adjust_rli): Delete.
+
+2007-11-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+	
+	* config/bfin/bfin.c (must_save_p): New function, mostly broken out of
+	n_dregs_to_save and n_pregs_to_save.
+	(n_pregs_to_save, n_dregs_to_save): Use it.  New argument CONSECUTIVE;
+	all callers changed.
+	(expand_prologue_reg_save, expand_epilogue_reg_restore): Enhance to be
+	able to save single D/P registers that aren't saved by the push/pop
+	multiple insns.
+
+2007-11-19  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34099
+	* tree-ssa-ccp.c (likely_value): Exclude all but PLUS_EXPR,
+	MINUS_EXPR and POINTER_PLUS_EXPR from handling as UNDEFINED
+	if only one operand is undefined.
+
+2007-11-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR tree-optimization/34036
+	* opts.c (set_fast_math_flags): Do not set flags in common
+	with set_unsafe_math_optimizations_flags, invoke it directly.
+	(set_unsafe_math_optimizations_flags): Unset flag_trapping_math
+	and flag_signed_zeros.
+	* toplev.c (process_options): Force flag_associative_math to 0 and
+	warn, if it is set and either flag_trapping_math or flag_signed_zeros
+	is set too.
+	* doc/invoke.texi (Optimize Options): Document the new behavior
+	of -funsafe-math-optimizations, that -fassociative-math requires
+	both -fno-signed-zeros and -fno-trapping-math and make it clear
+	that -fno-trapping-math requires -fno-signaling-nans.  Refactor
+	documentation of -ffast-math.
+
+2007-11-18  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/34132
+	* gcse.c (try_replace_reg): Avoid rtx sharing between REG_EQUAL note
+	and insn.
+
+	PR middle-end/33335
+	* optabs.h (optab_table): Change type to struct optab from optab.
+	(convert_optab_table): Similarly.
+	Adjust all _optab macros to expand to addresses of optab_table
+	resp. convert_optab_table elements rather than the values of the
+	elements.
+	* optabs.c (optab_table): Change typype to struct optab from optab.
+	If compiled by recent GCC, initialize all the insn_code fields in
+	the array using designated range initializers.
+	(convert_optab_table): Similarly.
+	(convert_optab_libfunc, optab_libfunc, set_optab_libfunc,
+	set_conv_libfunc): Into libfunc_entry's optab field store index within
+	optab_table resp. convert_optab_table array instead of difference
+	between two separately malloced addresses.
+	(new_optab): Add op argument, don't return anything.  Initialize
+	just the insn_code field in handlers array and only when needed.
+	(init_optab, init_optabv): Add op argument, don't return anything.
+	Adjust new_optab caller.
+	(new_convert_optab): Removed.
+	(init_convert_optab): Add op argument, don't return anything, don't
+	call new_convert_optab.  If needed, initialize insn_code field in
+	handlers array.
+	(init_optabs): Adjust init_optab, init_optabv and init_convert_optab
+	callers.
+	(debug_optab_libfuncs): Adjust uses of optab_table and
+	convert_optab_table arrays.
+
+2007-11-18  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34127
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+	Make code match up the comments, require compatibility of the
+	pointed-to types.
+
+2007-11-17  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34130
+	* fold-const.c (extract_muldiv_1): Do not move negative
+	constants inside ABS_EXPR.
+
+2007-11-16  Ian Lance Taylor  <iant@google.com>
+
+	* collect2.c (dump_file): If a demangled symbol is followed by a
+	space, make sure we output at least one space.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34030
+	* fold-const.c (fold_binary): Use correct types for folding
+	1 << X & Y to Y >> X & 1.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33870
+	* tree.h (struct tree_memory_tag): Add base_for_components flag.
+	(struct tree_struct_field_tag): Remove nesting_level field.
+	(SFT_NESTING_LEVEL): Remove.
+	(SFT_BASE_FOR_COMPONENTS_P): Add.
+	* tree-flow.h (struct fieldoff): Remove nesting_level field.  Add
+	base_for_components flag.
+	(push_fields_onto_fieldstack): Remove nesting_level parameter.
+	* tree-ssa-alias.c (create_sft): Likewise.  Add base_for_components
+	parameter.
+	(create_overlap_variables_for): Deal with it.
+	* tree-dfa.c (dump_subvars_for): Likewise.
+	(dump_variable): Likewise.
+	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Likewise.
+	Set base_for_components for first elements of sub-structures.
+	(create_variable_info_for): Handle base_for_components.
+	(set_uids_in_ptset): Always set SFT_UNPARTITIONABLE_P for
+	pointed-to SFTs if SFT_BASE_FOR_COMPONENTS_P is set.
+	* tree-ssa-operands.c (ref_nesting_level): Remove.
+	(add_vars_for_offset): Remove full_ref parameter, always add
+	the offset of the pointed-to SFT.
+	(add_virtual_operand): Adjust for changed signature of
+	add_vars_for_offset.
+
+2007-11-16  Sa Liu  <saliu@de.ibm.com>
+
+	* config/spu/spu.md (floatunssidf2, floatunsdidf2): Inlined 
+	floatunssidf2 and floatunsdidf2.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34113
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+	Use correct conversion direction for checking type compatibility.
+
+2007-11-16  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/34099
+	* tree-ssa-ccp.c (likely_value): Use a whitelist for operators
+	that produce UNDEFINED result if at least one of its operands
+	is UNDEFINED.  By default the result is only UNDEFINED if all
+	operands are UNDEFINED.
+
+2007-11-16  Jakub Jelinek  <jakub@redhat.com>
+
+	PR driver/30460
+	* gcc.c (init_spec): Don't initialize asm_debug here...
+	(main): ... but here.
+
+2007-11-07  Tom Tromey  <tromey@redhat.com>
+
+	* tree-ssa-structalias.c (ipa_pta_execute): Rename 'cfun' to 'func'. 
+	* tree-parloops.c (create_loop_fn): Use set_cfun.
+	* gengtype.c (open_base_files): Emit #undef cfun.
+	* ipa-struct-reorg.c (do_reorg_1): Use set_cfun.
+	* function.h (cfun): New define.
+	* function.c: Undefine cfun.
+
+2007-11-07  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add attiny88.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/23848
+	* tree-ssa-ccp.c (optimize_stack_restore): New function.
+	(execute_fold_all_builtins): Call optimize_stack_restore for
+	BUILT_IN_STACK_RESTORE.
+
+2007-11-15  Paolo Bonzini  <bonzini@gnu.org>
+
+	* fwprop.c (try_fwprop_subst): Skip profitability check for forward
+	propagation into an address; that's done in should_replace_address.
+		
+2007-11-15  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	* config/spu/spu-protos.h (legitimate_const): Remove prototype.
+	* config/spu/spu.c (legitimate_const): Remove.
+	(classify_immediate): Inline call to legitimate_const.
+	(spu_legitimate_address): Likewise.  Allow SYMBOL_REF + CONST_INT
+	for any constant, not just -512 .. 511.
+
+2007-11-15  Sa Liu  <saliu@de.ibm.com>
+
+	* config/spu/spu.c (spu_emit_branch_or_set): Remove PROCESSOR_CELL
+	condition from HONOR_NANS test.
+	* config/spu/spu.md (ceq_df): Always generate comparison code
+	inline, including checks for NaNs and infinities.
+	(cgt_df): Likewise.
+	(cgt_v2df): Likewise.
+	(cmpdf): Make this expander unconditional.
+
+2007-11-15  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (create_overlap_variables_for): Make sure
+	to only create SFTs if we also create variable infos for PTA.
+	* tree-ssa-structalias.c (set_uids_in_ptset): Add all overlapping SFTs.
+
+2007-11-15  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (set_uids_in_ptset): Use the pointed-to
+	type for TBAA pruning.
+	(find_what_p_points_to): Call set_uids_in_ptset with the original
+	pointer, not the decl of the solution we collapsed to.
+
+2007-11-14  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use CFA
+	to find sigcontext.
+
+2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR target/33923
+	* config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Forbid mode changes
+	for registers in BR_REGS class.
+
+2007-11-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/34088
+	* tree-ssa.c (delete_tree_ssa): Don't call fini_ssa_operands if
+	init_ssa_operands has not been called for cfun.
+
+2007-11-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR tree-optimization/34046
+	* cfg.c (update_bb_profile_for_threading): Avoid the division for the
+	scaling if the old probability is greater than the new base.
+
+2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
+	unused edges after loop duplication.
+
+2007-11-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
+	(enum target_cpu_default): ... this enum.
+	(TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
+	* config/i386/i386.c (override_options): ... here.
+	* config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
+	TARGET_CPU_DEFAULT_i486.
+
+2007-11-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* global.c (rest_of_handle_global_alloc): Fix comment typos.
+	* config/sh/sh.c (sh_rtx_costs): Likewise.
+	* ChangeLog: Likewise.
+
+2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* tree-chrec.h (build_polynomial_chrec): RHS of a chrec
+	should not be of pointer type.
+
+2007-11-13  Michael Meissner  <michael.meissner@amd.com>
+
+	* config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate line.
+
+2007-11-13  Sterling Augustine  <sterling@tensilica.com>
+	    Bob Wilson  <bob.wilson@acm.org>
+	
+	* config/xtensa/unwind-dw2-xtensa.c: New.
+	* config/xtensa/unwind-dw2-xtensa.h: New.
+	* config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
+	(DWARF2_UNWIND_INFO): Remove.
+	(DWARF_FRAME_REGISTERS): Define.
+	(EH_RETURN_DATA_REGNO): Define.
+	* config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
+	(eh_return): New.
+	* config/xtensa/t-xtensa (LIB2ADDEH): Define.
+	
+2007-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+	* doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
+	-fsched-stalled-insns.
+
+	PR tree-optimization/34063
+	* tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
+	as first chrec_fold_plus operand rather than second.
+
+2007-11-13  Diego Novillo  <dnovillo@google.com>
+
+	PR tree-optimization/33870
+	* tree.h (strcut tree_memory_tag): Add field unpartitionable.
+	Remove field in_nested_struct.
+	(struct tree_struct_field_tag): Add field nesting_level.
+	(sft_in_nested_struct): Remove.
+	(sft_nesting_level): Define.
+	(sft_unpartitionable_p): Define.
+	* tree-ssa-alias.c (mem_sym_score): If mp->var is not
+	partitionable, return long_max.
+	(compute_memory_partitions): Do not partition sfts marked
+	unpartitionable.
+	(create_sft): Add argument nesting_level.  Set
+	sft_nesting_level with it.  Update all users.
+	(create_overlap_variables_for): Show nesting level.
+	* tree-dfa.c (dump_subvars_for): Likewise.
+	(dump_variable): Likewise. Show whether the sft is
+	partitionable or not.
+	* tree-flow.h (struct fieldoff): Remove field in_nested_struct.
+	Add field nesting_level.
+	* tree-ssa-structalias.c (struct variable_info): Remove
+	field in_nested_struct.
+	(push_fields_onto_fieldstack): Add argument nesting_level.
+	Update all users.  Update documentation. Update pair->nesting_level
+	with nesting_level.  Make recursive calls with nesting_level + 1.
+	(set_uids_in_ptset): If an sft is added to the points-to set,
+	mark it as unpartitionable.
+	* tree-ssa-operands.c (ref_nesting_level): New.
+	(add_vars_for_offset): Call it.  Add argument full_ref. Update
+	callers.  If var is inside a nested structure and the nesting level
+	of full_ref is lower than the nesting level of var,
+	adjust offset by the offset of var.
+
+2007-11-13  Victor Kaplansky  <victork@il.ibm.com>
+
+	PR tree-optimization/32582
+	* Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize
+
+2007-11-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* doc/extend.texi (dllimport): Document that pointers to dllimport'd
+	functions can be used as constant.
+
+2007-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/34035
+	* cse.c (cse_cfg_altered): New global variable.
+	(cse_jumps_altered): Make boolean.
+	(recorded_label_ref): Likewise.
+	(cse_insn): Adjust for above changes.
+	(cse_extended_basic_block): Likewise.  Set cse_cfg_altered
+	if dead edges have been purged.
+	(cse_main): Change return value specification and adjust code.
+	(rest_of_handle_cse): Adjust for above change.
+	(rest_of_handle_cse2): Likewise.
+	* gcse.c (rest_of_handle_gcse): Likewise.
+
+2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+	    Michael Meissner  <michael.meissner@amd.com>
+
+	* config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to
+	get the appropriate suffix for the coms* instruction.
+	(sse5_pcmov_<mode>): Restrict operands of pcmov
+	for scalar case to be only xmm registers and not memory.
+
+	* config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
+	constraints to follow the mnemonics for the pcmov instruction	
+
+2007-11-12  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/34042
+	* config/mips/mips.c (mips_return_fpr_single): New function.
+	(mips_function_value): Use it when returning single-field
+	aggregates in FPRs.
+	(mips_expand_call): Handle the PARALLELs created by
+	mips_return_fpr_single.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34070
+	* fold-const.c (fold_binary): If testing for non-negative
+	operands with tree_expr_nonnegative_warnv_p make sure to
+	use op0 which has all (sign) conversions retained.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/34027
+	* fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
+	(fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
+
+2007-11-12  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/33953
+	* tree-vect-transform.c (vectorizable_operation): In case of SLP,
+	allocate vec_oprnds1 according to the number of created vector
+	statements. In case of shift with scalar argument, store scalar
+	operand for every vector statement to be created for the SLP node.
+	Fix a comment.
+
+2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+	* gcse.c (CUID_INSN): Remove.
+	(cuid_insn): Ditto.
+	(alloc_gcse_mem): Don't allocate cuid_insn.
+	(free_gcse_mem): Don't free cuid_insn.
+
+2007-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+	PR fortran/34020
+	* gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
+	nops.
+
+	PR middle-end/34018
+	* tree-inline.h (copy_body_data): Add regimplify field.
+	* tree-inline.c (copy_body_r): Set id->regimplify to true
+	if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
+	substitutions.
+	(copy_bb): Clear id->regimplify before walk_tree, if it is
+	set afterwards, regimplify the whole statement.
+
+	PR tree-optimization/33680
+	* tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
+	if the added cast involves variable length types.
+
+2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
+	    Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
+	instead of TRUE_BARRIER for jumps.  Add register dependencies
+	even when reg_pending_barrier is set.
+
+2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
+
+	* haifa-sched.c (haifa_classify_insn): Rename to ...
+	(haifa_classify_rtx): ...  this.  Improve handling of COND_EXECs,
+	handle PARALLELs by recursing.  Use it ...  
+	(haifa_classify_insn): ...  here.  Reimplement.
+
+2007-11-09  Richard Guenther  <rguenther@suse.de>
+
+	* bitmap.h (bitmap_single_bit_set_p): Declare.
+	* bitmap.c (bitmap_single_bit_set_p): New function.
+	* tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
+	(maybe_create_global_var): Use bitmap_empty_p.
+
+2007-11-09  Paolo Bonzini  <bonzini@gnu.org>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/34012
+	* fwprop.c (try_fwprop_subst): Do not replace if the new
+	SET_SRC has a higher cost than the old one.
+
+2007-11-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/33732
+	* reload.c (push_reload): Check that the REG_DEAD note was referring
+	to a hardreg or to a pseudo that has been assigned exactly one hardreg
+	before considering it in order to select the reload register.
+	(combine_reloads): Likewise.
+	(find_dummy_reload): Likewise.
+
+2007-11-09  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (struct ptr_info_def): Make escape_mask a ENUM_BITFIELD.
+	(struct ptr_info_def): Likewise.
+	(enum escape_type): Also use bit zero.
+
+2007-11-09  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33604
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_vars):
+	Disregard changes in CV qualifiers of pointed to types for
+	forward propagating ADDR_EXPRs.
+	* tree-ssa-ccp.c (fold_stmt_r): Preserve volatileness of the original
+	expression.
+
+2007-11-09  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* dse.c (find_shift_sequence): Always choose an integer mode for
+	new_mode.
+	(replace_read): Require both the read and store mode to be
+	integer ones.  Remove a then-redundant FLOAT_P check.
+
+2007-11-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree-dfa.c (remove_referenced_var): If removing a
+	variable which has subvars, also remove those from
+	the referenced vars.  Do not create a variable annotation.
+
+2007-11-08  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_expand_prologue): Remove first
+	argument for gen_entry calls.
+	* config/xtensa/xtensa.md: Add new "entry" value to "type" attribute.
+	(entry): Use the new attribute value.  Remove unused first operand.
+
+2007-11-08  Tom Tromey  <tromey@redhat.com>
+
+	* c-parser.c (c_parser_translation_unit): Use location in error.
+	(c_parser_external_declaration): Likewise.
+	(c_parser_declaration_or_fndef): Likewise.
+	(c_parser_enum_specifier): Likewise.
+	(c_parser_struct_or_union_specifier): Likewise.
+	(c_parser_struct_declaration): Likewise.
+	(c_parser_typeof_specifier): Likewise.
+	(c_parser_parms_list_declarator): Likewise.
+	(c_parser_asm_string_literal): Likewise.
+	(c_parser_braced_init): Likewise.
+	(c_parser_initelt): Likewise.
+	(c_parser_compound_statement_nostart): Likewise.
+	(c_parser_statement_after_labels): Likewise.
+	(c_parser_do_statement): Likewise.
+	(c_parser_asm_statement): Likewise.
+	(c_parser_conditional_expression): Likewise.
+	(c_parser_unary_expression): Likewise.
+	(c_parser_sizeof_expression): Likewise.
+	(c_parser_postfix_expression): Likewise.
+	(c_parser_postfix_expression_after_paren_type): Likewise.
+	(c_parser_objc_class_instance_variables): Likewise.
+	(c_parser_objc_method_definition): Likewise.
+	(c_parser_objc_methodprotolist): Likewise.
+	(c_parser_pragma): Likewise.
+	(c_parser_omp_clause_num_threads): Likewise.
+	(c_parser_omp_clause_schedule): Likewise.
+	(c_parser_omp_all_clauses): Likewise.
+	(c_parser_omp_sections_scope): Likewise.
+	(c_parser_label): Use location of label, not colon.
+
+2007-11-08  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/33774
+	* config/i386/cygming.h (BIGGEST_FIELD_ALIGNMENT): Define only if
+	IN_TARGET_LIBS.
+
+2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/33826
+	* ipa-pure-const.c (static_execute): Added code to keep recursive
+	functions from being marked as pure or const.
+	* ipa-utils.c (searchc): Fixed comment.
+		
+2007-11-08  Tom Tromey  <tromey@redhat.com>
+
+	* common.opt (fshow-column): Default to 0.
+	* configure: Rebuilt.
+	* configure.ac (--enable-mapped-location): Default to 'yes'.
+
+2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* common.opt: Add pointer to doc/options.texi.
+	* doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
+	-fipa-reference): Add or correct doc.  Sorted options list for -Os
+	-O, -O2.
+
+2007-11-07  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	PR target/16350
+	* config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
+	* config/arm/linux-elf.h (TARGET_ENDIAN_DEFAULT): Define based on
+	TARGET_BIG_ENDIAN_DEFAULT.  Use for MULTILIB_DEFAULTS.
+	(TARGET_DEFAULT): Set according to TARGET_ENDIAN_DEFAULT.
+	(LINUX_TARGET_LINK_SPEC): Pass -mlittle-endian on to the assembler.
+	* config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according
+	to TARGET_BIG_ENDIAN_DEFAULT.
+	(SUBTARGET_EXTRA_LINK_SPEC): Likewise.
+	* config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according
+	to TARGET_BIG_ENDIAN_DEFAULT.
+
+2007-11-07  Diego Novillo  <dnovillo@google.com>
+
+	* tree.h (struct tree_struct_field_tag): Move field
+	in_nested_struct ...
+	(struct tree_memory_tag): ... here.
+
+2007-11-07  Diego Novillo  <dnovillo@google.com>
+
+	PR 33870
+	* tree.h (struct tree_struct_field_tag): Add field in_nested_struct.
+	(SFT_IN_NESTED_STRUCT): Define.
+	* tree-dfa.c (dump_subvars_for): Show offset of each sub-var.
+	* tree-flow.h (struct fieldoff): Add field in_nested_struct.
+	* tree-ssa-structalias.c (struct variable_info): Likewise.
+	(push_fields_onto_fieldstack): If OFFSET is positive,
+	set in_nested_struct.
+	(create_variable_info_for): Copy setting of
+	in_nested_struct from the field offset object.
+	(set_uids_in_ptset): Set SFT_IN_NESTED_STRUCT from the
+	variable info object.
+	* tree-ssa-operands.c (add_vars_for_offset): If VAR
+	belongs to a nested structure, adjust OFFSET by SFT_OFFSET(VAR).
+
+2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/33737
+	* cfgcleanup.c (try_crossjump_to_edge): Add count and frequency of
+	target block after computing the probabilities of outgoing edges.
+	Cap the frequency to BB_FREQ_MAX.
+	* tree-ssa-threadupdate.c (redirect_edges): Also adjust count and
+	frequency of the basic block if it has been reused.
+
+2007-11-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/33822
+	* rtl.h (REG_OFFSET): Fix comment.
+	* var-tracking.c (INT_MEM_OFFSET): New macro.
+	(var_mem_set): Use it.
+	(var_mem_delete_and_set): Likewise.
+	(var_mem_delete): Likewise.
+	(same_variable_part_p): Likewise.
+	(vt_get_decl_and_offset): Likewise.
+	(offset_valid_for_tracked_p): New predicate.
+	(count_uses): Do not track locations with invalid offsets.
+	(add_uses): Likewise.
+	(add_stores): Likewise.
+
+2007-11-07  Tom Tromey  <tromey@redhat.com>
+
+	* Makefile.in (tree-ssa-structalias.o): Depend on $(FUNCTION_H)
+	(BASIC_BLOCK_H): Add vec.h, $(FUNCTION_H).
+
+2007-11-07  Dmitry Zhurikhin  <zhur@ispras.ru>
+	    Andrey Belevantsev  <abel@ispras.ru>
+
+	* modulo-sched.c (sms_order_nodes, permute_partial_schedule,
+	generate_prolog_epilog, duplicate_insns_of_cycles): Fix prototypes.
+	(calculate_order_params, sms_order_nodes): New parameter pmax_asap.
+	Save calculated max_asap in it. 	
+	(sms_schedule): Calculate maxii using max_asap.
+
+2007-11-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* doc/invoke.texi: Replace rs6000 dfp switches -mdfp/-mno-dfp
+	with -mhard-dfp/-mno-hard-dfp.
+
+2007-11-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/33670
+	* haifa-sched.c (check_sched_flags): Remove.
+	(sched_init): Don't call it.
+
+2007-11-06  Diego Novillo  <dnovillo@google.com>
+
+	* tree-flow.h (struct fieldoff): Reformat comment. Document fields.
+	* tree-ssa-operands.c: Tidy top-level comments.
+	(add_vop): Likewise.
+	(add_vars_for_offset): Tidy parameter formatting..
+	(get_addr_dereference_operands): Likewise.
+	(get_indirect_ref_operands): Likewise.
+	(get_expr_operands) <OMP_ATOMIC_LOAD>: Reformat.
+	<OMP_ATOMIC_STORE>: Likewise.
+
+2007-11-06  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32787
+	* config/i386/driver-i386.c: Test for __GNUC__ instead of
+	GCC_VERSION which is always defined.
+
+2007-11-06  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	PR target/30961
+	* reload1.c (find_reloads): Also check in_reg when handling a
+	simple move with an input reload and a destination of a hard register.
+
+2007-11-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* config/m68k/m68k.c (sched-int.h, insn-codes.h): New includes.
+	(TARGET_SCHED_ADJUST_COST, TARGET_SCHED_VARIABLE_ISSUE,
+	TARGET_SCHED_INIT_GLOBAL, TARGET_SCHED_FINISH_GLOBAL,
+	TARGET_SCHED_INIT, TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
+	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Redefine.
+	(m68k_sched_attr_type2): New function.
+	(sched_adjust_cost_state): New static variable.
+	(m68k_sched_adjust_cost): New static function implementing
+	scheduler hook.
+	(sched_ib_size, sched_ib_filled, sched_ib_insn, sched_mem_unit_code):
+	New static variables.
+	(m68k_sched_variable_issue): New static function implementing
+	scheduler hook.
+	(sched_dump_class_def, sched_dump_class_func_t): New typedefs.
+	(sched_dump_split_class): New static function.
+	(sched_dump_dfa_guess_unit_code, sched_dump_dfa_state): New static
+	variables.
+	(sched_dump_dfa_class, m68k_sched_dump): New static function.
+	(m68k_sched_md_init_global, m68k_sched_md_finish_global,
+	m68k_sched_md_init, m68k_sched_dfa_pre_advance_cycle,
+	m68k_sched_dfa_post_advance_cycle): New static functions implementing
+	scheduler hooks.
+
+	* config/m68k/m68k.h (m68k_sched_attr_type2): Declare.
+	(CPU_UNITS_QUERY): Define.
+
+	* config/m68k/cf.md: New file.
+	* config/m68k/m68.md (cf.md): New include.
+
+2007-11-06  Tom Tromey  <tromey@redhat.com>
+
+	PR c++/32256
+	PR c++/32368
+	* function.c (saved_in_system_header): New global.
+	(push_cfun): Save in_system_header.
+	(pop_cfun): Restore in_system_header.
+	(push_struct_function): Save in_system_header.
+
+2007-11-06  Douglas Gregor  <doug.gregor@gmail.com>
+
+	PR c++/33977
+	PR c++/33886
+	* c-common.c (c_build_qualified_type): Moved to c-typeck.c.
+	(complete_array_type): Set canonical type appropriately.
+	* c-typeck.c (c_build_qualified_type): Moved from c-common.c. The
+	C and C++ front ends now have different versions of this function,
+	because the C++ version needs to maintain canonical types here.
+
+2007-11-04  Razya Ladelsky  <razya@il.ibm.com>
+	
+	* tree-parloops.c (reduction_info): Remove reduction_init field.
+	(initialize_reductions): Remove creation of the reduction_init variable.
+	(struct data_arg): Remove.
+	(add_field_for_reduction, create_stores_for_reduction): New functions.
+	(add_field_for_name): Remove reduction handling.
+	(separate_decls_in_loop): Call add_field_for_reduction,
+	create_stores_for_reduction.
+
+2007-11-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33458
+	* tree-inline.c (copy_phis_for_bb): If PHI arg substitution creates
+	!is_gimple_val PHI argument, gimplify it and insert it on edge.
+
+	PR tree-optimization/33993
+	* tree-vect-transform.c (vect_get_constant_vectors): Use build_vector
+	rather than build_constructor_from_list if all list values are
+	constants.
+	(get_initial_def_for_induction): Use build_vector instead of
+	build_constructor_from_list.
+
+2007-11-05  Mark Mitchell  <mark@codesourcery.com>
+
+	PR target/33579
+	* tree.h (DECL_INIT_PRIORITY): Do not require DECL_HAS_INIT_PRIORITY_P.
+	(DECL_FINI_PRIORITY): Likewise.
+	* tree.c (decl_init_priority_lookup): Remove assert.
+	(decl_fini_priority_insert): Likewise.
+	* cgraphunit.c (static_ctors): Make it a VEC.
+	(static_dtors): Likewise.
+	(record_cdtor_fn): Adjust accordingly.
+	(build_cdtor): Generate multiple functions for each initialization
+	priority.
+	(compare_ctor): New function.
+	(compare_dtor): Likewise.
+	(cgraph_build_cdtor_fns): Sort the functions by priority before
+	calling build_cdtor.
+	(cgraph_build_static_cdtor): Put the priority in the function's name.
+
+2007-11-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR driver/32632
+	* common.opt: Add shared and pie.
+
+2007-11-05  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Do not
+	replace references to virtual_stack_vars_rtx in goto_handler.
+
+2007-11-05  Paul Brook  <paul@codesourcery.com>
+
+	* config.gcc (arm*-*-*): Set c_target_objs and cxx_target_objs.
+	* config/arm/arm.c (arm_lang_output_object_attributes_hook): New.
+	(arm_file_start): Don't set Tag_ABI_PCS_wchar_t.  Call
+	arm_lang_output_object_attributes_hook.
+	* config/arm/arm.h (arm_lang_output_object_attributes_hook): Declare.
+	(REGISTER_TARGET_PRAGMAS): Call arm_lang_object_attributes_init.
+	* config/arm/arm-protos.h (arm_lang_object_attributes_init): Add
+	prototype.
+	* config/arm/t-arm.c (arm.o): New rule.
+	* config/arm/arm-c.c: New file.
+
+2007-11-05  Nick Clifton  <nickc@redhat.com>
+	    Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/32540
+	PR tree-optimization/33922
+	* doc/invoke.texi: Document PARAM_MAX_PARTIAL_ANTIC_LENGTH.
+	* tree-ssa-pre.c: Include params.h.
+	(compute_partial_antic_aux): Use PARAM_MAX_PARTIAL_ANTIC_LENGTH
+	to limit the maximum length of the PA set for a given block.
+	* Makefile.in: Add a dependency upon params.h for tree-ssa-pre.c
+	* params.def (PARAM_MAX_PARTIAL_ANTIC_LENGTH): New parameter.
+
+2007-11-05  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* libgcc2.c (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
+	__fixunssfDI): Make return type unsigned.
+	* libgcc2.h (__fixunstfDI, __fixunsxfDI, __fixunsdfDI,
+	__fixunssfDI): Make return type unsigned.
+
+2007-11-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33856
+	* tree-data-ref.c (get_references_in_stmt): Don't add
+	REFERENCE_CLASS_P trees to references vector if get_base_address
+	returns NULL on them.
+
+2007-11-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	* cfg.c (dump_cfg_bb_info): Update bb_bitnames to match enum.
+
+2007-11-04  Andrew Pinski  <pinskia@gmail.com>
+
+	PR middle-end/32931
+	* fold-const.c (fold_binary <case EQ_EXPR>): Convert the inner type
+	for TRUTH_NOT_EXPR to type.
+
+2007-11-04  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/contrib.texi (Contributors): Add Manuel Lopez-Ibanez.
+
+2007-11-04  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR fortran/10220
+	* dwarf2out.c (add_calling_convention_attribute): Change
+	second argument. Set calling convention to DW_CC_program for
+	Fortran main program.
+	(gen_subprogram_die): Adjust to new prototype for
+	add_calling_convention_attribute.
+
+2007-11-03  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33987
+	* tree-vect-transform.c (get_initial_def_for_reduction): Fix assert.
+	Fix indentation.
+	(vectorizable_reduction): Add type check.
+
+2007-11-03  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/29062
+	* c-parser.c (c_parser_statement_after_labels): Error if a
+	declaration is parsed after a label.
+	
+2007-11-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	PR debug/33921
+	* reorg.c (emit_delay_sequence): Do not clear the locator on
+	the jump instruction.
+
+2007-11-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/33670
+	* haifa-sched.c (ok_for_early_queue_removal): Don't walk out of the
+	current sched region.
+
+2007-11-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/ia64/ia64.c (struct reg_write_state): Change into
+	unsigned short bitfields rather than unsigned int, decrease
+	first_pred to just 10 bits.
+	(rws_insn): Change into a bitmap or if not ENABLE_CHECKING
+	into two char array.
+	(rws_insn_set, rws_insn_test): New functions.
+	(in_safe_group_barrier): New variable.
+	(rws_update): Remove first argument, always set rws_sum array.
+	(rws_access_regno): Use rws_insn_set macro.  Only call rws_update
+	or update rws_sum if !in_safe_group_barrier, adjust rws_update args.
+	(rtx_needs_barrier): Use rws_insn_test macro.
+	(safe_group_barrier_needed): Don't save/restore rws_sum array,
+	instead set/clear in_safe_group_barrier flag.
+
+2007-11-02  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_expand_prologue): Put a
+	REG_FRAME_RELATED_EXPR note on the last insn that sets up the stack
+	pointer or frame pointer.
+	* config/xtensa/xtensa.h (DWARF_UNWIND_INFO): Delete.
+	(MUST_USE_SJLJ_EXCEPTIONS): Define.
+	(DWARF2_UNWIND_INFO): Define.
+	(INCOMING_RETURN_ADDR_RTX): Define.
+	(DWARF_FRAME_RETURN_COLUMN): Define.
+
+2007-11-02  Tom Tromey  <tromey@redhat.com>
+
+	* varpool.c (dump_varpool): Use 'next', not 'next_needed' when
+	traversing pool.
+
+2007-11-02  Diego Novillo  <dnovillo@google.com>
+
+	* langhooks.h (struct lang_hooks_for_callgraph): Remove third
+	argument from function pointer ANALYZE_EXPR.  Update all users.
+	* cgraph.c (debug_cgraph_node): New.
+	(debug_cgraph): New.
+
+2007-11-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR rtl-optimization/33648
+	* cfgrtl.c (cfg_layout_split_edge): Initialize BB_PARTITION of
+	the newly created basic block.
+
+2007-11-01  Richard Guenther  <rguenther@suse.de>
+
+	* ggc-page.c (extra_order_size_tab): Add bitmap_head size.
+
+2007-11-01  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+	PR rtl-optimization/33828
+	* gcse.c (compute_code_hoist_vbeinout): Fix order of computation
+	of VBEIN and VBEOUT.
+
+2007-11-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* optabs.c (prepare_cmp_insn): Merge a couple of conditional blocks.
+	* sched-rgn.c (compute_trg_info): Zero 'el' local variable.
+	* tree-if-conv.c (process_phi_nodes): Zero 'cond' local variable.
+
+2007-11-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* gcc.c (getenv_spec_function): Escape the environment variable's
+	value.
+
+2007-11-01  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/invoke.texi (Optimize Options): Under -fcse-follow-jumps,
+	show that CSE means common subexpression elimination.  Change wording
+	for -fsee and define LCM.  Remove capitalization of optimizations
+	for -ftree-reassoc, -ftree-pre, and -ftree-fre.
+
+2007-11-01  Janis Johnson  <janis187@us.ibm.com>
+
+	PR testsuite/25352
+	* doc/sourcebuild.texi (Test Directives): Document that xfail
+	has no effect for dg-do except when dg-do-what is "run".
+
+2007-11-01  Tom Tromey  <tromey@redhat.com>
+
+	* c-decl.c (grokdeclarator): Set decl source locations.
+	* c-parser.c (c_parser_enum_specifier): Set location.
+	(c_parser_struct_or_union_specifier): Likewise.
+
+2007-11-01  Tom Tromey  <tromey@redhat.com>
+
+	* print-tree.c (print_node): Print column number.
+
+2007-11-01  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/33537
+	* dwarf2out.c (gen_formal_parameter_die, gen_variable_die,
+	gen_decl_die): Use TREE_TYPE (TREE_TYPE (decl)) as type
+	rather than TREE_TYPE (decl) if DECL_BY_REFERENCE (decl).
+
+	PR rtl-optimization/33673
+	* gcse.c (cprop_jump): If a conditional jump has been optimized
+	into unconditional jump, make the remaining normal edge fallthru
+	and delete the jump insn.
+
+2007-11-01  Ben Elliston  <bje@au.ibm.com>
+
+	* emit-rtl.c (set_reg_attrs_from_mem): Clarify function comment.
+	(set_mem_attrs_from_reg): Likewise.
+
+2007-11-01  Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/33961
+	* tree-ssa-phiopt.c (struct name_to_bb.store): New member.
+	(name_to_bb_hash, name_to_bb_eq): Consider and check it.
+	(add_or_mark_expr): New argument 'store', using it to search
+	the hash table.
+	(nt_init_block): Adjust calls to add_or_mark_expr.
+
+2007-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/31507
+	* config/i386/i386.md (pushsf_rex64): Use X instead of < constraints
+	for the first push_operand.
+
+2007-10-31  Revital Eres  <eres@il.ibm.com>
+
+	* config/rs6000/paired.md (sminv2sf3, smaxv2sf3, reduc_smax_v2sf,
+	reduc_smin_v2sf vec_interleave_highv2sf, vec_interleave_lowv2sf,
+	vec_extract_evenv2sf, vec_extract_oddv2sf, reduc_splus_v2sf,
+	movmisalignv2sf, vcondv2sf): New.
+	(UNSPEC_INTERHI_V2SF, UNSPEC_INTERLO_V2SF, UNSPEC_EXTEVEN_V2SF,
+	UNSPEC_EXTODD_V2SF): Define new constants.
+	* config/rs6000/rs6000-protos.h (paired_expand_vector_move,
+	paired_emit_vector_cond_expr): New.
+	* config/rs6000/rs6000-c.c (__PAIRED__): Add new builtin_define.
+	* config/rs6000/rs6000.c (paired_expand_vector_move,
+	paired_emit_vector_cond_expr, paired_emit_vector_compare):
+	New functions.
+	* config/rs6000/750cl.h (ASM_CPU_SPEC): Pass down -m750cl option.
+
+2007-10-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/32377
+	* tree-data-ref.c (compute_overlap_steps_for_affine_univar): Make it
+	work also for unknown number of iterations.
+	(analyze_subscript_affine_affine): Clean up.  Don't fail when the 
+	number of iterations is not known.
+
+2007-10-31  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33779
+	* fold-const.c (extract_muldiv_1): Make sure to not introduce
+	new undefined integer overflow.
+	(fold_binary): Avoid useless conversion.
+
+2007-10-31  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/33948
+	* config/mips/mips.c (mips_fpr_return_fields): Fix SCALAR_TYPE_P check.
+
+2007-10-31  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/rs6000/rs6000.opt: Rename -mdfp option to -mhard-dfp.
+
+	* config/s390/s390.c: (override_options): Replace
+	-mhard-dfp/-msoft-dfp with -mhard-dfp/-mno-hard-dfp.
+	* config/s390/s390.opt: Likewise.
+	* config/s390/s390.h: Add MASK_HARD_DFP to the TARGET_DEFAULT
+	definition.
+
+2007-10-30  Janis Johnson  <janis187@us.ibm.com>
+
+	* tree-ssa.c (execute_update_addresses_taken): Initialize update_vops.
+
+2007-10-30  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/invoke.texi (Option Summary): Add -fdce and -fdse to list of
+	optimization options.
+	(Optimize Options): Add -fdce and -fdse to the list of optimizations
+	enabled by -O.  Document -fdce and -fdse.
+
+2007-10-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/33709
+	* fold-const.c (fold_binary): If one argument is COMPOUND_EXPR,
+	convert second operand of COMPOUND_EXPR to the original type of
+	that argument.
+
+2007-10-30  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_vars_for_offset): Fix exit test
+	of loop adding SFTs as virtual operands.
+
+2007-10-30  Richard Guenther  <rguenther@suse.de>
+
+	* Makefile.in (dse.o): Add $(OPTABS_H) and $(RECOG_H) dependencies.
+
+2007-10-29  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/32893
+	* tree-vectorize.c (vect_can_force_dr_alignment_p): Check
+	STACK_BOUNDARY instead of PREFERRED_STACK_BOUNDARY.
+
+2007-10-29  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* longlong.h (add_ssaaaa): Support Intel asm syntax in i386 and
+	x86_64 versions.
+	(sub_ddmmss): Likewise.
+	(umul_ppmm): Likewise.
+	(udiv_qrnnd): Likewise.
+
+2007-10-29  Janis Johnson  <janis187@us.ibm.com>
+
+	PR testsuite/24841
+	* doc/sourcebuild.texi (Test Directives): Document that dg-require
+	directives must come before dg-additional-sources.
+
+2007-10-29  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33723
+	* c-gimplify.c (c_gimplify_expr): Optimize INIT_EXPR or
+	MODIFY_EXPR with non-addressable COMPOUND_LITERAL_EXPR as source.
+
+2007-10-29  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR tree-optimization/33614
+	* gimplify.c (gimplify_init_constructor): Gimplify vector constructors
+	if they can't be reduced to VECTOR_CSTs and aren't legitimate
+	initializer constants.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33870
+	* tree-ssa-operands.c (add_vars_for_offset): Remove mpt_vars parameter.
+	(add_virtual_operand): Do not recurse into MPTs looking for pointed-to
+	SFTs.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+	* passes.c (init_optimization_passes): Exchange store_copy_prop
+	with copy_prop.
+	* tree-pass.h (pass_store_copy_prop): Remove.
+	* tree-ssa-copy.c (do_store_copy_prop): Remove.
+	(stmt_may_generate-copy): Do not handle store_copy_prop.
+	(get_copy_of_val): Likewise.
+	(set_copy_of_val): Likewise.
+	(copy_prop_visit_assignment): Likewise.
+	(copy_prop_visit_stmt): Likewise.
+	(copy_prop_visit_phi_node): Likewise.
+	(init_copy_prop): Likewise.
+	(execute_copy_prop): Likewise.
+	(do_copy_prop): Remove.
+	(gate_store_copy_prop): Likewise.
+	(store_copy_prop): Likewise.
+	(pass_store_copy_prop): Likewise.
+	(pass_copy_prop): Call execute_copy_prop.
+	* opts.c (decode_options): Do not set flag_tree_store_copy_prop.
+	* common.opt (ftree-store-copy-prop): Mark obsolete.
+	* doc/invoke.texi (ftree-store-copy-prop): Remove documentation.
+
+2007-10-29  Ian Lance Taylor  <iant@google.com>
+
+	* ifcvt.c (noce_can_store_speculate_p): New static function.
+	(noce_process_if_block): Call it.
+	(if_convert): Remove recompute_dominance parameter.  Change all
+	callers.
+
+2007-10-29  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow-inline.h (get_subvar_at): Use binary search.
+	(get_first_overlapping_subvar): New function to binary search
+	for the first overlapping subvar.
+	* tree-ssa-operands.c (add_vars_for_offset): Strip down to
+	just handle adding subvars for a pointed-to subvar.  Optimize
+	and use get_first_overlapping_subvar.
+	(add_vars_for_bitmap): Fold into single caller.
+	(add_virtual_operand): Streamline, inherit add_vars_for_bitmap
+	and non pointed-to bits of add_vars_for_offset.
+
+2007-10-29  Revital Eres  <eres@il.ibm.com> 
+
+	* modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
+
+2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
+	    Zdenek Dvorak  <ook@ucw.cz>
+
+	OMP_ATOMIC Changes,
+	reduction support for automatic parallelization.
+
+	* expr.c (expand_expr_real_1): Add cases for OMP_ATOMIC_LOAD,
+	OMP_ATOMIC_STORE.
+	* Makefile.in: Add dependencies to expr.o, tree-parloops.o, omp-low.o
+	* tree-pretty-print.c (dump_generic_node): Add OMP_ATOMIC_LOAD
+	and OMP_ATOMIC_STORE.
+	* tree.h (OMP_DIRECTIVE_P): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+	* gimple-low.c (lower_stmt): Same.
+	* gimplify.c (gimplify_expr): Same.
+	(gimplify_omp_atomic_fetch_op, gimplify_omp_atomic_pipeline,
+	gimplify_omp_atomic_mutex): Remove.
+	(gimplify_omp_atomic): Change it to simply gimplify the
+	statement instead of expanding it.
+	* omp-low.c: Add includes to optabs.h, cfgloop.h.
+	(expand_omp_atomic, expand_omp_atomic_pipeline,
+	goa_stabilize_expr, expand_omp_atomic_mutex,
+	expand_omp_atomic_fetch_op): New functions to implement
+	expansion of OMP_ATOMIC.
+	(expand_omp, build_omp_regions_1): Add support for
+	OMP_ATOMIC_LOAD/OMP_ATOMIC_STORE.
+	* tree-cfg.c (make_edges): add case for OMP_ATOMIC_LOAD,
+	OMP_ATOMIC_STORE.
+	* tree-gimple.c (is_gimple_stmt): Add OMP_ATOMIC_LOAD,
+	OMP_ATOMIC_STORE.
+	* tree-parloops.c: add include to tree-vectorizer.h.
+	(reduction_info): New structure for reduction.
+	(reduction_list): New list to represent list of reductions per loop.
+	(struct data_arg): New helper structure for reduction.
+	(reduction_info_hash, reduction_info_eq, reduction_phi,
+	initialize_reductions, create_call_for_reduction,
+	create_phi_for_local_result, create_call_for_reduction_1,
+	create_loads_for_reductions, create_final_loads_for_reduction):
+	New functions.
+	(loop_parallel_p): Identify reductions, add reduction_list parameter.
+	(separate_decls_in_loop_name): Support reduction variables.
+	(separate_decls_in_loop): Add reduction_list and ld_st_data arguments,
+	call create_loads_for_reduction for each reduction.
+	(canonicalize_loop_ivs): Identify reductions, add reduction_list
+	parameter.
+	(transform_to_exit_first_loop): Add reduction support, add
+	reduction_list parameter.
+	(gen_parallel_loop): Add reduction_list parameter.  Add call
+	separate_decls_in_loop with
+	the new argument.  Traverse reductions and call
+	initialize_reductions, create_call_for_reduction.
+	(parallelize_loops): Create and delete the reduction list.
+	(add_field_for_name): Change use of data parameter.  Add fields for
+	reductions.
+	* tree-vectorizer.h (vect_analyze_loop_form): Add declaration.
+	* tree-vect-analyze.c (vect_analyze_loop_form): export it.
+	* tree.def: Add definitions for OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+	* tree-inline.c (estimate_num_insns_1): add cases for
+	OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+	* tree-cfg.c (make_edges): Add OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+	* tree-ssa-operands.c (get_addr_dereference_operands):
+	New function.  Subroutine of get_indirect_ref_operands.
+	(get_indirect_ref_operands): Call get_addr_dereference_operands.
+	(get_expr_operands): Support OMP_ATOMIC_LOAD, OMP_ATOMIC_STORE.
+
+
+2007-10-29  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.c: Include df.h.
+	(cris_address_cost): Add gcc_assert for canonicalization
+	assumptions.  For PLUS with MULT or register, correct
+	test for register in other arm.  Tweak comments.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_vars_for_offset): Add parameter
+	telling if the var is to be treated as points-to location.
+	(add_vars_for_bitmap): Pass true to add_vars_for_offset.
+	(add_virtual_operand): Only recurse into MPTs if aliases
+	is from a NMT.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_vars_for_offset): Clean and speed up.
+	(add_vars_for_bitmap): Do not recurse further.  Only add vars
+	for pointed-to SFTs.
+	(add_virtual_operand): Re-instantiate loop to add operands for
+	aliases.  Recurse into MPTs.
+	(get_indirect_ref_operands): If we fall back to use a pointers
+	SMT, make sure to not prune based on the access offset and size.
+
+2007-10-28  Andrew Pinski  <pinskia@gmail.com>
+
+	PR tree-opt/33589
+	* tree-outof-ssa.c (rewrite_trees): If the statement changed, cleanup
+	the eh information on the statement.
+
+2007-10-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (subvar_t): Make it a VEC.
+	(struct subvar): Remove.
+	(struct var_ann_d): Use VEC(tree,gc) to store subvars.
+	* tree-flow-inline.h (get_subvar_at): Adjust iterators over
+	variable subvars.
+	* tree-into-ssa.c (mark_sym_for_renaming): Likewise.
+	* tree-nrv.c (dest_safe_for_nrv_p): Likewise.
+	* tree-ssa-alias.c (mark_aliases_call_clobbered): Likewise.
+	(set_initial_properties): Likewise.
+	(setup_pointers_and_addressables): Likewise.
+	(new_type_alias): Likewise.
+	(create_overlap_variables_for): Likewise.
+	* tree-dfa.c (dump_subvars_for): Likewise.
+	* tree-ssa-operands.c (add_vars_for_offset): Likewise.
+	(get_expr_operands): Likewise.
+	(add_to_addressable_set): Likewise.
+	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
+
+2007-10-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/33920
+	* tree-if-conv.c (tree_if_conversion): Force predicate of single
+	successor bb to true when predecessor bb has NULL predicate.
+	(find_phi_replacement_condition): Assert that tmp_cond is non-null.
+
+2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.md: Add combiner patterns for DImode extensions
+	of HImode and QImode truncations.  Reformat HImode <- QImode pattern
+	for consistency.
+
+2007-10-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/33895
+	* config/mips/mips.c (mips_output_dwarf_dtprel): Add ATTRIBUTE_UNUSED.
+
+2007-10-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* dce.c (delete_unmarked_insns): Just delete the RETVAL and
+	LIBCALL notes if they are about to be moved to the same insn.
+
+2007-10-27  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33870
+	* tree-ssa-operands.c (add_vars_for_offset): Reduce code
+	duplication.  Remove redundant call to access_can_touch_variable.
+	(add_vars_for_bitmap): New helper for recursing over MPT contents.
+	(add_virtual_operand): Use it.
+
+2007-10-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR fortran/31608
+	* pa.h (ASM_PN_FORMAT): Delete define.
+
+2007-10-26  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/invoke.texi (Option Summary, optimizations): Remove
+	-fbounds-check.  Add -fassociative-math, -freciprocal-math,
+	-ftree-vrp and -funit-at-a-time.  Change -fno-split-wide-types to
+	-fsplit-wide-types to match later entry.  Break up a long line.
+	(Option Summary, code gen options)  Add -fno-stack-limit.  Add
+	missing @gol to the end of a line.
+	(Optimization Options): Remove -fbounds-check, which is also
+	documented under Code Generation Options.  Remove =n from
+	index entry for -ftree-parallelize-loops.  Change -fno-cprop-registers
+	to -fcprop-registers to match other options, and say when it is
+	enabled rather than disabled.  Remove extra index entry for
+	-fno-cx-limited-range.  Add index entries for -fstack-protector
+	and -fstack-protector-all.
+	(Code Gen Options): Add index entry for -ftls-model.
+
+2007-10-26  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_OS_task_function_p): Add new function.
+	(avr_regs_to_save): Handle functions with 'OS_task' attribute.
+	(avr_simple_epilogue, expand_prologue, avr_asm_function_end_prologue,
+	expand_epilogue, output_movhi): Don't handle 'main' function.
+	(avr_attribute_table): Add 'OS_task' function attribute.
+	* config/avr/avr.h (machine_function): Remove 'is_main' field, add
+	'is_OS_task' field.
+	* config/avr/avr.md (return_from_main_epilogue): Remove insn.
+	(return_from_epilogue, return_from_interrupt_epilogue): Don't handle
+	'main' function.
+	* config/avr/avr.opt (minit-stack): Remove.
+
+2007-10-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-nested.c (get_trampoline_type): Fix thinko.
+
+2007-10-26  Douglas Gregor  <doug.gregor@gmail.com>
+
+	PR c++/33601
+	* tree.c (build_offset_type): Build canonical type based on the
+	TYPE_MAIN_VARIANT of the base type.
+
+2007-10-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* reorg.c (emit_delay_sequence): Move insn locator from the
+	first insn to the sequence.
+
+2007-10-26  Samuel Tardieu  <sam@rfc1149.net>
+
+	* ipa-pure-const.c (check_decl): Return immediately when
+	pure_const_state has been set to IPA_NEITHER.
+
+2007-10-25  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/33833
+	* tree-vect-analyze.c (vect_analyze_data_refs): Use POINTER_PLUS_EXPR
+	and convert init to sizetype in inner_base construction.
+
+2007-10-25  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (mem_sym_stats): Remove.
+	(dump_mem_sym_stats_for_var): Declare.
+	* tree-dfa.c (dump_variable): Call dump_mem_sym_stats_for_var.
+	(mem_sym_stats): Move ...
+	* tree-ssa-alias.c (mem_sym_stats): ... here and make it static.
+	(mem_sym_score): Rename from ...
+	(pscore): ... this.  Remove.
+	(dump_mem_sym_stats_for_var): New function.  Dump the score, but
+	not the frequencies.
+	(compare_mp_info_entries): Make sort stable by disambiguating
+	on DECL_UID.
+
+2007-10-25  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/33866
+	* tree-vect-transform.c (vectorizable_store): Check operands of all
+	the stmts in the group of strided accesses. Get def stmt type for each
+	store in the group and pass it to vect_get_vec_def_for_stmt_copy ().
+
+2007-10-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/constraints.md (Y0): Rename register constraint to Yz.
+	(Yt): Rename register constraint to Y2.
+	* config/i386/sse.md: Use renamed register constraints.
+	* config/i386/mmx.md: Ditto.
+	* config/i386/i386.md: Ditto.
+
+2007-10-25  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* config/i386/i386.md (*dummy_extendsfdf2): Fix operand 1 constraint.
+
+2007-10-24  Chao-ying Fu  <fu@mips.com>
+
+	* dwarf2out.c (base_type_die): Use DW_ATE_unsigned_fixed or
+	DW_ATE_signed_fixed to describe FIXED_POINT_TYPE.
+
+2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
+	    Olga Golovanevsky <olga@il.ibm.com>
+	
+	* ipa-struct-reorg.c (replace_field_acc): Make it clear to
+	the compiler that wr.wrap and wr.domain are initialized in
+	any case.
+
+2007-10-24  Samuel Tardieu  <sam@rfc1149.net>
+
+	* ipa-struct-reorg.c (sum_counts): Use HOST_WIDEST_PRINT_DEC
+	to print gcov_type values.
+
+2007-10-24  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.h: Do not include progmem_section definition when
+	building with IN_TARGET_LIBS.
+
+2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/33755
+	* config/mips/mips.c (mips_lo_sum_offset): New structure.
+	(mips_hash_base, mips_lo_sum_offset_hash, mips_lo_sum_offset_eq)
+	(mips_lo_sum_offset_lookup, mips_record_lo_sum)
+	(mips_orphaned_high_part_p: New functions.
+	(mips_avoid_hazard): Don't check INSN_P here.
+	(mips_avoid_hazards): Rename to...
+	(mips_reorg_process_insns): ...this.  Cope with
+	!TARGET_EXPLICIT_RELOCS.  Delete orphaned high-part relocations,
+	or turn them into nops.
+	(mips_reorg): Remove TARGET_EXPLICIT_RELOCS check from calls to
+	dbr_schedule and mips_avoid_hazards/mips_reorg_process_insns.
+	(mips_set_mips16_mode): Don't set flag_delayed_branch here.
+	(mips_override_options): Set flag_delayed_branch to 0.
+
+2007-10-24  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (MOVE_MAX): Use UNITS_PER_WORD and describe
+	MIPS-specific implementation details.
+	(MIPS_MAX_MOVE_BYTES_PER_LOOP_ITER): New macro.
+	(MIPS_MAX_MOVE_BYTES_STRAIGHT): Likewise.
+	(MOVE_RATIO): Define to MIPS_MAX_MOVE_BYTES_STRAIGHT / UNITS_PER_WORD
+	for targets with movmemsi.
+	(MOVE_BY_PIECES_P): Define.
+	* config/mips/mips.c (MAX_MOVE_REGS, MAX_MOVE_BYTES): Delete.
+	(mips_block_move_loop): Add a bytes_per_iter argument.
+	(mips_expand_block_move): Use MIPS_MAX_MOVE_BYTES_STRAIGHT.
+	Update call to mips_block_move_loop.
+
+2007-10-24  Michael Matz  <matz@suse.de>
+
+	PR debug/33868
+	* var-tracking.c (variable_union): Don't break after one loop
+	iteration but only when a difference is found.
+	(dump_variable): Also print DECL_UID.
+
+2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
+
+	* ipa-type-escape.h: Expose function
+	is_array_access_through_pointer_and_index.
+	* ipa-type-escape.c
+	(is_array_access_through_pointer_and_index):
+	Add three new parameters. Add support of
+	POINTER_PLUS_EXPR tree code.
+
+2007-10-24  Olga Golovanevsky  <olga@il.ibm.com>
+
+	* ipa-struct-reorg.c, ipa-struct-reorg.h: New files.
+	* tree-pass.h: Add pass_ipa_struct_reorg.
+	* common.opt: Add ipa-struct-reorg flag.
+	* Makefile.in: Add ipa-strcut-reorg.o compilation.
+	* passes.c: Add pass pass_ipa_struct_reorg.
+	* params.h:  Add STRUCT_REORG_COLD_STRUCT_RATIO.
+	* params.def: Add PARAM_STRUCT_REORG_COLD_STRUCT_RATIO.
+
+2007-10-24  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/33804
+	* tree-vect-transform.c (vectorizable_operation): Remove the
+	checks that the vectorization is worthwhile from the transformation
+	phase.
+
+2007-10-24  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vect-analyze.c (vect_build_slp_tree): Return false if
+	vectype cannot be determined for the scalar type.
+	(vect_analyze_slp_instance): Likewise.
+	* tree-vect-transform.c (vect_model_reduction_cost): Change the
+	return type to bool. Return false if vectype cannot be determined 
+	for the scalar type.
+	(vect_get_constant_vectors): Return false if vectype cannot be
+	determined for the scalar type.
+	(get_initial_def_for_induction, vect_get_vec_def_for_operand,
+	get_initial_def_for_reduction, vect_create_epilog_for_reduction,
+	vectorizable_reduction): Likewise.	
+
+2007-10-23  Craig Rodrigues  <rodrigc@gcc.gnu.org>
+
+	* config.gcc: For a FreeBSD target, parse the value of ${target}
+	to determine the value of FBSD_MAJOR, instead of adding an
+	explicit check for every possible FreeBSD major version.
+
+2007-10-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/33846
+	* combine.c (simplify_shift_const_1) [NOT]: Skip vector modes.
+
+2007-10-23  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33860
+	* tree-vect-transform.c (vect_analyze_data_ref_access): Don't allow
+	interleaved accesses in case the dr is inside the inner-loop during
+	outer-loop vectorization.
+
+2007-10-23  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* doc/rtl.texi (Flags): Fix MEM_SCALAR_P entry.
+	Document MEM_POINTER.  Replace mentions of "integrated"
+	field with "return_val".  Delete outdated stuff.
+
+2007-10-23  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_override_options): Set
+	rs6000_altivec_abi on AIX.
+	(conditional_register_usage): Set VR20:31 fixed on AIX.
+
+2007-10-23  Richard Guenther  <rguenther@suse.de>
+
+	* alias.c (get_alias_set): For INDIRECT_REFs, deal with
+	SSA_NAME pointers.
+
+2007-10-22  Seongbae Park <seongbae.park@gmail.com>
+	    David S. Miller  <davem@davemloft.net>
+
+	* df-scan.c (df_get_call_refs): Mark global registers as both a
+	DF_REF_REG_USE and a non-clobber DF_REF_REG_DEF.
+
+2007-10-22  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33834
+	PR tree-optimization/33835
+	* tree-vect-analyze.c (vect_analyze_operations): RELEVANT and LIVE
+	stmts need to be checked for success seperately.
+	* tree-vect-transform.c (vectorizable_call, vectorizable_conversion):
+	Remove the check that stmt is not LIVE.
+	(vectorizable_assignment, vectorizable_induction): Likewise.
+	(vectorizable_operation, vectorizable_type_demotion): Likewise.
+	(vectorizable_type_promotion, vectorizable_load, vectorizable_store):
+	Likewise.
+	(vectorizable_live_operation): Check that op is not NULL. 
+
+2007-10-22  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/invoke.texi (Optimization Options): In the summary, show
+	that the value for options -falign-jumps, -falign-labels,
+	-falign-loops, -falign-functions, -fsched-stalled-insns, and
+	-fsched-stalled-insns-dep is optional.  In the summary, show that
+	-fsched-stalled-insns takes an optional argument and that
+	-fparallelize-loops takes an argument.  Add opindex for several
+	optimization options, and fix typos in the opindex commands for
+	several others.  In the descriptions for -fsched-stalled-insns
+	and -fsched-stalled-insns-dep, show the options with and without
+	values.
+
+2007-10-22  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Remove ATmega603 which was never
+	produced.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-22  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/33644
+	* cfgcleanup.c: Do not include dce.h.
+	* cfgrtl.c (delete_insn_chain_and_edges): Resurrect.
+	* combine.c (distribute_notes): Delete REG_LIBCALL_ID case.
+	* dce.c (something_changed): Delete.
+	(libcall_dead_p): New predicate.
+	(delete_unmarked_insns): Use it to delete dead libcalls.
+	Deal with REG_LIBCALL and REG_RETVAL notes.
+	(prescan_libcall_for_dce): New function.
+	(prescan_insns_for_dce): Use it to deal with libcalls.
+	(mark_reg_dependencies): Do nothing special for libcalls.
+	(dce_process_block): Likewise.
+	(fast_dce): Delete unused local variable.
+	(run_fast_dce): Do not return a value.
+	* dce.h (struct df): Delete.
+	(run_fast_dce): Adjust prototype.
+	* optabs.c (libcall_id): Delete.
+	(maybe_encapsulate_block): Do not emit REG_LIBCALL_ID notes.
+	(emit_no_conflict_block): Do not look for REG_LIBCALL_ID notes.
+	* reload1.c (reload): Delete REG_LIBCALL_ID case.
+	* rtl.h (delete_insn_chain_and_edges): Resurrect prototype.
+	* see.c (see_update_relevancy): Look for REG_LIBCALL and REG_RETVAL
+	notes instead of REG_LIBCALL_ID notes.
+	* reg-notes.def (LIBCALL_ID): Delete.
+	* Makefile.in (see.o): Add dce.h dependency.
+	(cfgcleanup.o): Remove dce.h dependency.
+
+2007-10-22  Michael Matz  <matz@suse.de>
+
+	PR tree-optimization/33855
+	* tree-ssa-phiopt.c (cond_store_replacement): Handle COMPLEX_TYPE
+	and VECTOR_TYPE.
+
+2007-10-22  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/33854
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
+	FLOAT_EXPR to the list of promotion operations.	
+
+2007-10-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/29473
+	PR target/29493
+	* config/i386/i386.c (output_pic_addr_const): Support Intel asm syntax.
+	(print_reg): Print register prefix only with AT&T asm syntax. 
+	Support pc_rtx for RIP register.
+	(print_operand_address): Use print_reg()'s pc_rtx support for RIP
+	relative addressing.  Always print segment register prefix with AT&T
+	asm syntax and never with Intel asm syntax.
+	(print_operand): Suppress 'XXX PTR' prefix for BLKmode operands. 
+	Fix prefix for 16-byte XFmode operands.
+	(output_addr_const_extra): Support Intel asm syntax.
+	(x86_file_start): Don't use register prefix with Intel asm syntax.
+	* config/i386/i386.md ("*zero_extendqihi2_movzbl"): Fix typo.
+	("return_internal_long"): Fix Intel asm syntax output.
+	("set_got_rex64"): Support Intel asm syntax.
+	("set_rip_rex64"): Likewise.
+	("set_got_offset_rex64"): Likewise.
+	("*sibcall_1_rex64_v"): Print register prefix only with AT&T asm
+	syntax.
+	("*tls_global_dynamic_64"): Likewise.
+	("*tls_local_dynamic_base_64"): Likewise.
+	("*load_tp_si")("*load_tp_di"): Likewise.
+	("*add_tp_si")("*add_tp_di"): Likewise.
+	("*tls_dynamic_lea_64"): Likewise.
+	("*sibcall_value_1_rex64_v"): Likewise.
+	("stack_tls_protect_set_si"): Likewise.
+	("stack_tls_protect_set_di"): Likewise.
+	("stack_tls_protect_test_si"): Likewise.
+	("stack_tls_protect_test_di"): Likewise.
+	* config/i386/mmx.md ("*mov<mode>_internal_rex64"): Fix Intel asm
+	syntax output.
+	("*movv2sf_internal_rex64"): Likewise.
+	* config/i386/cpuid.h (__cpuid): Support Intel asm syntax.
+	(__get_cpuid_max): Likewise.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips-protos.h (mips_regno_mode_ok_for_base_p): Give
+	the STRICT_P argument type "bool" rather than "int".
+	(mips_legitimate_address_p): Likewise.
+	(fp_register_operand, lo_operand): Delete.
+	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
+	(mips_emit_scc): Rename to...
+	(mips_expand_scc): ...this.
+	(gen_conditional_branch): Rename to...
+	(mips_expand_conditional_branch): ...this.
+	(gen_conditional_move): Rename to...
+	(mips_expand_conditional_move): ...this.
+	(mips_gen_conditional_trap): Rename to...
+	(mips_expand_conditional_trap): ...this and take an rtx code instead
+	of an operands array.
+	(mips_expand_call): Give the SIBCALL_P argument type "bool"
+	rather than "int".
+	(mips_emit_fcc_reload): Rename to...
+	(mips_expand_fcc_reload): ...this.
+	(init_cumulative_args): Rename to...
+	(mips_init_cumulative_args): ...this and remove the libname argument.
+	(function_arg_advance): Rename to...
+	(mips_function_arg_advance): ...this.
+	(function_arg): Rename to...
+	(mips_function_arg): ...this and use "rtx" instead of
+	"struct rtx_def *".
+	(function_arg_boundary): Rename to...
+	(mips_function_arg_boundary): ...this.
+	(mips_expand_unaligned_load): Rename to...
+	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
+	and BITPOS arguments type "HOST_WIDE_INT".
+	(mips_expand_unaligned_store): Rename to...
+	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
+	and BITPOS arguments type "HOST_WIDE_INT".
+	(override_options): Rename to...
+	(mips_override_options): ...this.
+	(print_operand): Rename to...
+	(mips_print_operand): ...this.
+	(print_operand_address): Rename to...
+	(mips_print_operand_address): ...this.
+	(mips_output_ascii): Remove the PREFIX argument.
+	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
+	rather than "int".
+	(mips_can_use_return_insn): Return a "bool" rather than an "int".
+	(mips_function_value): Remove the FUNC argument.  Use "rtx" instead
+	of "struct rtx_def *".
+	(mips_secondary_reload_class): Give the IN_P argument type "bool"
+	rather than "int".
+	(build_mips16_call_stub): Delete.
+	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
+	(mips_use_ins_ext_p): Give the second and third arguments type
+	"HOST_WIDE_INT" rather than "rtx".
+	* config/mips/mips.h: Update after the above changes.  Tweak comments
+	and formatting.
+	(SECONDARY_INPUT_RELOAD_CLASS): Pass a boolean IN_P argument.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.
+	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
+	element type from "char" to "bool".
+	(mips_section_threshold, sym_lineno, set_noat, mips_branch_likely)
+	(mips_cpu_info_table): Delete.
+	* config/mips/mips.md: Update after the above changes.  Tweak some
+	formatting.
+	* config/mips/mips-ps-3d.md: Likewise.
+	* config/mips/mips.c: Tweak comments and formatting.
+	Use NULL-like macros rather than 0 in various places.
+	(mips_section_threshold): Rename to...
+	(mips_small_data_threshold): ...this and give it an unsigned type.
+	(num_source_filenames): Remove explicit initialization.
+	(sdb_label_count): Likewise.
+	(sym_lineno): Delete.
+	(set_noat): Make static.
+	(mips_branch_likely): Likewise, and give it type "bool".
+	(mips_isa_info): Rename to...
+	(mips_isa_option_info): ...this.
+	(mips_flag_delayed_branch): Rename to...
+	(mips_base_delayed_branch): ...this.
+	(mips_split_addresses): Delete.
+	(mips_print_operand_punct, mips_hard_regno_mode_ok): Change the
+	element type from "char" to "bool".
+	(mips_regno_to_class): Add an explicit array size.
+	(mips16_flipper): Change from type "int" to type "bool".
+	(mips_comp_type_attributes): Remove redundant FUNCTION_TYPE check.
+	(mips_tls_operand_p): Rename to...
+	(mips_tls_symbol_p): ...this.
+	(mips_global_symbol_p): Remove redundant "const".
+	(mips_offset_within_alignment_p): Simplify.
+	(mips_regno_mode_ok_for_base_p): Change the name of the last argument
+	to STRICT_P and give it type bool.
+	(mips_valid_base_register_p): Likewise.
+	(mips_classify_address): Likewise.
+	(mips_legitimate_address_p): Likewise.
+	(mips16_unextended_reference_p): Take the offset as an
+	"unsigned HOST_WIDE_INT" rather than an "rtx".  Simplify.
+	(mips_const_insns): Use IN_RANGE.
+	(mips_force_temporary): Remove an unnecessary copy_rtx.
+	(mips16_gp_pseudo_reg): Simplify.
+	(mips_split_symbol): Remove an unnecessary copy_rtx.
+	(mips_legitimize_tls_address): Only create registers if we need them.
+	(mips_legitimize_address): Use mips_split_plus.
+	(mips_move_integer): Swap DEST and TEMP arguments.  Rename local
+	variable COST to NUM_OPS.
+	(mips_legitimize_move): Use gen_lowpart.
+	(mips_rewrite_small_data): Rename the OP parameter to PATTERN.
+	(m16_check_op): Use IN_RANGE.
+	(mips_subword): Give the HIGH_P argument type "bool" rather than "int".
+	(mips_split_doubleword_move): Pass booleans to mips_subword.
+	(mips_output_move): Store the mode in a local variable.
+	Explicitly assert that this function does not deal with
+	MFLO and MFHI.  Use SMALL_OPERAND_UNSIGNED.  Make order of
+	cases more consistent.
+	(mips_relational_operand_ok_p): Rename to...
+	(mips_int_order_operand_ok_p): ...this.
+	(mips_canonicalize_comparison): Rename to...
+	(mips_canonicalize_int_order_test): ...this.
+	(mips_emit_int_relational): Rename to...
+	(mips_emit_int_order_test): ...this.  Store the mode in a local
+	variable.
+	(mips_reverse_fp_cond_p): Rename to...
+	(mips_reversed_fp_cond): ...this.
+	(mips_emit_compare): Make the order of the statements more consistent.
+	(mips_emit_scc): Rename to...
+	(mips_expand_scc): ...this.
+	(gen_conditional_branch): Rename to...
+	(mips_expand_conditional_branch): ...this.
+	(gen_conditional_move): Rename to...
+	(mips_expand_conditional_move): ...this.  Build the condition
+	separately from the main pattern.
+	(mips_gen_conditional_trap): Rename to...
+	(mips_expand_conditional_trap): ...this and take an rtx code instead
+	of an operands array.  Simplify.
+	(init_cumulative_args): Rename to...
+	(mips_init_cumulative_args): ...this.  Use memset rather than a
+	copy from a zeroed static.  Use prototype_p and stdarg_p.
+	(mips_arg_info): Rename to...
+	(mips_get_arg_info): ...this and put the INFO argument first.
+	(function_arg): Rename to...
+	(mips_function_arg): ...this and use "rtx" instead of
+	"struct rtx_def *".  Only split structures into chunks if 
+	TARGET_HARD_FLOAT, rather than checking !TARGET_SOFT_FLOAT on
+	a chunk-by-chunk basis.  Use SCALAR_FLOAT_TYPE_P instead of a
+	comparison with REAL_TYPE.  Rename local variable REG to REGNO
+	and make it unsigned.
+	(function_arg_advance): Rename to...
+	(mips_function_arg_advance): ...this.
+	(function_arg_boundary): Rename to...
+	(mips_function_arg_boundary): ...this.
+	(mips_pad_arg_upward): Use SCALAR_INT_MODE_P instead of a comparison
+	with MODE_INT.
+	(mips_fpr_return_fields): Use SCALAR_FLOAT_TYPE_P instead of a
+	comparison with REAL_TYPE.
+	(mips_function_value): Remove the FUNC argument.  Rename local
+	variable UNSIGNEDP to UNSIGNED_P.
+	(mips_return_in_memory): Use IN_RANGE.
+	(mips_setup_incoming_varargs): Pass a boolean rather than an int
+	to FUNCTION_ARG_ADVANCE.
+	(mips_gimplify_va_arg_expr): Rename local variable INDIRECT
+	to INDIRECT_P.  Remove a redundant mips_abi check.  Only calculate
+	SIZE and RSIZE if needed.
+	(mips16_stub): Rename FPRET to FP_RET_P and give it type "bool"
+	rather than "int".
+	(build_mips16_function_stub): Rename to...
+	(mips16_build_function_stub): ...this.
+	(build_mips16_call_stub): Rename to...
+	(mips16_build_call_stub): ...this.  Make static, and return a
+	"bool" rather than an "int".  Rename the ARG_SIZE argument to
+	ARGS_SIZE.  Rename the local variable FPRET to FP_RET_P and give
+	it type "bool".  Use "jr" rather than "j".  Use XNEW.  Simplify.
+	(mips_load_call_address): Give the SIBCALL_P argument type "bool"
+	rather than "int".
+	(mips_expand_call): Likewise.  Assert that MIPS16 calls via stubs
+	are not sibling ones.
+	(mips_emit_fcc_reload): Rename to...
+	(mips_expand_fcc_reload): ...this.
+	(mips_get_unaligned_mem): Give the WIDTH and BITPOS arguments type
+	"HOST_WIDE_INT".
+	(mips_expand_unaligned_load): Rename to...
+	(mips_expand_ext_as_unaligned_load): ...this and give the WIDTH
+	and BITPOS arguments type "HOST_WIDE_INT".  Remove redundant
+	SUBREG_BYTE check.
+	(mips_expand_unaligned_store): Rename to...
+	(mips_expand_ins_as_unaligned_store): ...this and give the WIDTH
+	and BITPOS arguments type "HOST_WIDE_INT".
+	(mips_use_ins_ext_p): Rename second and third arguments to WIDTH
+	and BITPOS and give them type "HOST_WIDE_INT" rather than "rtx".
+	Use IN_RANGE.
+	(mips_init_split_addresses): Replace with...
+	(mips_split_addresses_p): ...this new function.
+	(mips_init_relocs): Check mips_split_addresses_p () rather than
+	mips_split_addresses.  Always initialize mips_split_p with booleans.
+	(print_operand_reloc): Rename to...
+	(mips_print_operand_reloc): ...this.  Use a gcc_assert rather than
+	a fatal_error.
+	(print_operand): Rename to...
+	(mips_print_operand): ...this.
+	(print_operand_address): Rename to...
+	(mips_print_operand_address): ...this.  Use GP_REG_FIRST.
+	(mips_in_small_data_p): Simplify.
+	(mips_output_ascii): Remove the PREFIX argument and "register"
+	keywords.  Use the STRING parameter directly and cast to
+	"unsigned char".
+	(mips16e_collect_argument_save_p): Use IN_RANGE.
+	(mips_function_has_gp_insn): Simplify.
+	(mips_set_return_address): Use BITSET_P.
+	(mips_restore_gp): Use a separate statement to pick the base
+	register.
+	(mips_output_function_prologue): Use a local FRAME variable.
+	(mips_save_reg): Pass booleans to mips_subword.
+	(mips_expand_prologue): Use a local FRAME variable.  Use
+	cprestore_size to detect when .cprestore is needed.
+	(mips_restore_reg): Use GP_REG_FIRST.
+	(mips_expand_epilogue): Give the SIBCALL_P argument type "bool"
+	rather than "int".  Use local FRAME and REGNO variables.
+	(mips_can_use_return_insn): Return a "bool" rather than an "int".
+	(mips_secondary_reload_class): Give the IN_P argument type "bool"
+	rather than "int".
+	(mips_linked_madd_p): Rename arguments to OUT_INSN and IN_INSN.
+	(mips_store_data_bypass_p): Return a "bool" rather than an "int".
+	(vr4130_swap_insns_p): Rename local variables to DEP1_P and DEP2_P.
+	(mips_74k_agen_init): Assume INSN satisfies USEFUL_INSN_P.
+	(mips_variable_issue): Do nothing unless INSN satisfies USEFUL_INSN_P.
+	(builtin_description): Rename to...
+	(mips_builtin_description): ...this.
+	(mips_bdesc): Rename to...
+	(mips_ps_bdesc): ...this.
+	(sb1_bdesc): Rename to...
+	(mips_sb1_bdesc): ...this.
+	(dsp_bdesc): Rename to...
+	(mips_dsp_bdesc): ...this.
+	(dsp_32only_bdesc): Rename to...
+	(mips_dsp_32only_bdesc): ...this.
+	(bdesc_map): Rename to...
+	(mips_bdesc_map): ...this.
+	(bdesc_arrays): Rename to...
+	(mips_bdesc_arrays): ...this.
+	(mips_prepare_builtin_arg): Rename OP to OPNO and ARGNUM to ARGNO.
+	Tweak error message.
+	(mips_expand_builtin_direct): Rename HAS_TARGET to HAS_TARGET_P.
+	Rename local variables I and J to OPNO and ARGNO respectively.
+	Assert that the number of arguments is no more than the number of
+	input operands.
+	(mips_expand_builtin_compare): Use an array of arguments rather
+	than an array of operands.  Assert that the number of operands is
+	as expected.
+	(add_constant): Rename to...
+	(mips16_add_constant): ...this.  Use XNEW.
+	(dump_constants_1): Rename to...
+	(mips16_emit_constants_1): ...this.  Use ALL_SCALAR_FIXED_POINT_MODE_P.
+	(dump_constants): Rename to...
+	(mips16_emit_constants): ...this.
+	(mips_sim_wait_reg, mips_sim_record_set): Use END_REGNO.
+	(mips_set_mips16_mode): Don't call mips_init_split_addresses.
+	Assign mips16_p to was_mips16_p.
+	(mips_parse_cpu): Tweak warning message.
+	(override_options): Rename to...
+	(mips_override_options): ...this.  Move the mips_cost initialization
+	out of the "shared with GAS" block.  Quote option names in error
+	messages.
+	(mips_conditional_register_usage): Make local variable REGNO unsigned.
+	(mips_order_regs_for_local_alloc): Remove register keyword.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* system.h (IN_RANGE): Cast each argument individually.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_set_mips16_mode) Say sorry for hard-float
+	MIPS16 code unless using o32 or o64.  
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_cannot_change_mode_class): Don't check
+	for modes smaller than 4 bytes.
+	* config/mips/mips.md (*movhi_internal, *movqi_internal): Remove
+	FPR alternatives.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips-protos.h (mips_output_aligned_bss): Delete.
+	* config/mips/linux.h (BSS_SECTION_ASM_OP): Delete.
+	(ASM_OUTPUT_ALIGNED_BSS): Delete.
+	* config/mips/mips.c (mips_output_aligned_bss): Delete.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_function_ok_for_sibcall): Only forbid
+	sibling calls to "mips16" functions if the function satisfies
+	const_call_insn_operand.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_va_start): Fix types in calls
+	to build_int_cst.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_rtx_costs): Only recognize reciprocals
+	if ISA_HAS_FP4.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (ISA_HAS_LDC1_SDC1): New macro.
+	* config/mips/mips.c (mips_split_64bit_move_p): Use ISA_HAS_LDC1_SDC1
+	instead of checking mips_isa.
+
+2007-10-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* doc/invoke.texi (-mpaired-single): Don't say that the option
+	requires 64-bit code.
+	* config/mips/mips-protos.h (mips_modes_tieable_p): Declare.
+	* config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): New macro.
+	(ISA_HAS_NMADD_NMSUB): Add a mode argument.  Return true for
+	V2SF if ISA_MIPS32R2.
+	(MODES_TIEABLE_P): Use mips_modes_tieable_p.
+	* config/mips/mips.c (mips_rtx_costs): Pass a mode argument
+	to ISA_HAS_NMADD_NMSUB.
+	(mips_split_doubleword_move): Handle V2SF.
+	(mips_modes_tieable_p): New function.
+	(override_options): Report a warning rather than an error when
+	-mpaired-single is used on ISAs that don't support it; use
+	ISA_HAS_PAIRED_SINGLE to check that case.
+	* config/mips/mips.md (MOVE64): New mode iterator.  Replace DI
+	and DF move splitters with a single MOVE64 splitter, thereby adding
+	a V2SF splitter too.
+	(SPLITF): Add TARGET_DOUBLE_FLOAT conditions to DI and DF.
+	Add a TARGET_FLOAT64 condition to TF.  Add V2SF to the iterator.
+	(HALFMODE): Add V2SF.
+	(*nmadd<mode>, *nmadd<mode>_fastmath, *nmsub<mode>)
+	(*nmsub<mode>_fastmath): Add a mode argument to ISA_HAS_NMADD_NMSUB.
+	(movv2sf_hardfloat_64bit): Tweak ordering of conditions.
+	(movv2sf_hardfloat_32bit): New pattern.
+	(load_low<mode>, load_high<mode>, store_word<mode>): Remove
+	TARGET_DOUBLE_FLOAT conditions.
+
+2007-10-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Point
+	saved CR2 offset to low 32 bits of regs->ccr rather than the whole
+	64-bit register in 64-bit libgcc.
+
+2007-10-20  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add at90pwm2b, at90pwm3b.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Warning Options): Move -w, -Werror, -Werror=
+	and -Wfatal-errors together.
+	
+2007-10-20  Alan Modra  <amodra@bigpond.net.au>
+
+	PR target/33812
+	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Revert 2007-05-16
+	change for vrsave, ie restore after frame pop.
+
+2007-10-19  David S. Miller  <davem@davemloft.net>
+
+	* config/sparc/niagara2.md: Fix copyright notice.
+
+2007-10-19  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/23820
+	PR tree-optimization/24309
+	PR tree-optimization/33766
+	* testsuite/gcc.dg/tree-ssa/pr23820.c: New.
+	* testsuite/gcc.dg/tree-ssa/pr24309.c: New.
+	* testsuite/gcc.dg/tree-ssa/pr33766.c: New.
+	* testsuite/gcc.dg/tree-ssa/ltrans-3.c: XFAILed.
+	* tree-loop-linear.c (perfect_loop_nest_depth): New.
+	(linear_transform_loops): Use perfect_loop_nest_depth.
+	* lambda-code.c (perfect_nest_p): Outer loops in perfect nests 
+	should have a single condition: their exit.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33816
+	PR middle-end/32921
+	* stor-layout.c (layout_type): Assert that aggregates do not
+	have their alias sets set.
+	* alias.c (get_alias_set): Return alias set zero for incomplete
+	types, return the alias set of the element for incomplete array
+	types, but do not remember these.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+	Revert
+	2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32921
+	* tree.c (build_array_type): Do not re-layout unbound array
+	types.
+
+2007-10-19  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32921
+	* tree.c (build_array_type): Do not re-layout unbound array types.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_canonicalize_comparison):  Check
+	mips_relational_operand_ok_p before trying to rewrite the test.
+	Only calculate PLUS_ONE if needed.
+	(mips_emit_int_relational): Don't call mips_relational_operand_ok_p
+	here.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips16e_build_save_restore): Fix *OFFSET_PTR
+	calculation.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_call_tls_get_addr): Don't claim that
+	the call uses the incoming value of $2.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_call_tls_get_addr): Use gen_const_mem
+	rather then gen_rtx_MEM.
+	(mips_setup_incoming_varargs): Use gen_frame_mem rather than
+	gen_rtx_MEM.
+	(mips_set_return_address): Likewise.
+	(mips_restore_gp): Likewise.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (gpr_mode): Delete.
+	(mips16e_build_save_restore): Use word_mode and UNITS_PER_WORD
+	instead of gpr_mode.
+	(mips_for_each_saved_reg): Likewise.
+	(mips_expand_prologue, mips_expand_epilogue): Likewise.
+	(override_options): Don't initialize gpr_mode.
+	* config/mips/mips.md (eh_return): Use word_mode instead of gpr_mode.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_hard_regno_nregs): Put the UNITS_PER_WORD
+	case last.
+	(mips_class_max_nregs): Calculate the smallest consituent register
+	size and use that to determine an upper bound on the number of
+	registers.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips16_copy_fpr_return_value): New function,
+	split out from...
+	(mips_expand_epilogue): ...here.
+	(mips_mdebug_abi_name): New function, split out from...
+	(mips_file_start): ...here.
+	(mips_hard_regno_mode_ok_p): New function, split out from...
+	(override_options): ...here.
+	(mips_expand_builtin_1): New function, split out from...
+	(mips_expand_buitin): ...here.  Abort if we don't recognize
+	the function.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (build_mips16_function_stub): Load the
+	target address into $1 before transfering the arguments.
+	Don't use ".set noreorder".
+	(build_mips16_call_stub): Likewise.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_output_32bit_xfer): New function.
+	(mips_output_64bit_xfer): Likewise.
+	(mips16_fp_args): Rename to...
+	(mips_output_args_xfer): ...this and replace the FROM_FP_P argument
+	with a DIRECTION argument.  Use mips_output_32bit_xfer and
+	mips_output_64bit_xfer.
+	(build_mips16_function_stub): Update accordingly.
+	(mips16_fpret_double): Delete.
+	(build_mips16_call_stub): Update after above changes.
+	Use mips_output_32bit_xfer.  Use mips_output_64bit_xfer instead
+	of mips16_fpret_double.  Use GP_REG_RETURN.
+
+2007-10-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips16_fp_args): Remove the FILE argument and
+	use asm_out_file instead.
+	(build_mips16_function_stub): Likewise.
+	(build_mips16_call_stub, mips_output_function_prologue): Update
+	accordingly.
+
+2007-10-18  David S. Miller  <davem@davemloft.net>
+
+	Add Niagara-2 support.
+	* doc/invoke.texi: Document -m{cpu,tune}=niagara2.
+	* config.gcc: Add niagara2 to cpu and tune lists for sparc.
+	* config/sparc/sparc.md (sparc_cpu_attr): Add niagara2.
+	(include): Add inclusion of niagara2.md
+	* config/sparc/sparc.c (niagara2_costs): New.
+	(sparc_override_options): Add niagara2 entry to cpu_default[]
+	and cpu_table[].  Set align_functions to 32 on Niagara2.  Use
+	niagara2_costs when PROCESSOR_NIAGARA2.  Handle Niagara2 for
+	PARAM_SIMULTANEOUS_PREFETCHES and PARAM_L1_CACHE_LINE_SIZE.
+	(sparc_initialize_trampoline): Handle niagara2 like niagara.
+	(sparc64_initialize_trampoline): Likewise.
+	(sparc_use_sched_lookahead): Likewise.
+	(sparc_issue_rate): Likewise.
+	* config/sparc/sol2-bi.h: Handle TARGET_CPU_niagara2 and
+	mcpu=niagara2
+	* config/sparc/sparc.h (TARGET_CPU_niagara2): Define.
+	({CPP,ASM}_CPU64_DEFAULT_SPEC): Set appropriately for
+	TARGET_CPU_niagara2.
+	(PROCESSOR_NIAGARA2): New.
+	(REGISTER_MOVE_COST): Handle PROCESSOR_NIAGARA2.
+	(BRANCH_COST): Likewise.
+	* config/sparc/linux64.h: Handle TARGET_CPU_niagara2.
+	* config/sparc/sol2.h: Likewise.
+	* config/sparc/niagara2.md: New file.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_frame_info): Remove gp_reg_size and
+	and fp_reg_size.
+	(mips_compute_frame_info): Remove associated code.
+	(mips16e_build_save_restore): Check num_fp instead of fp_reg_size.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips-protos.h (compute_frame_size): Delete.
+	* config/mips/mips.h: Update comments.
+	* config/mips/mips.c (mips_frame_info): Remove initialized.
+	(compute_frame_size): Rename to...
+	(mips_compute_frame_info): ...this and make static.  Remove the
+	SIZE argument and return no value.  Remove the setting of initialized.
+	Update rest of file accordingly.
+	(mips_set_return_address): Don't call compute_frame_size.
+	(mips_can_use_return_insn): Don't check df_regs_ever_live_p (31).
+	Don't call compute_frame_size.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips-protos.h (mips_frame_pointer_required): Declare.
+	* config/mips/mips.h (FRAME_POINTER_REQUIRED): Use
+	mips_hard_frame_pointer_required.
+	(CAN_ELIMINATE): Rely on FRAME_POINTER_REQUIRED to check for
+	large MIPS16 frames.
+	* config/mips/mips.c (mips_frame_pointer_required): New function.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_frame_info): Add arg_pointer_offset
+	and hard_frame_pointer_offset.
+	(mips_debugger_offset): Use hard_frame_pointer_offset.
+	(mips16e_collect_argument_save_p): Likewise.
+	(compute_frame_size): Initialize arg_pointer_offset and
+	hard_frame_pointer_offset.
+	(mips_initial_elimination_offset): Use them.
+	(mips_output_function_prologue): Use hard_frame_pointer_offset.
+	(mips_expand_prologue, mips_expand_epilogue): Likewise.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (STARTING_FRAME_OFFSET): Remove rtl
+	profiling code.
+	* config/mips/mips.c (mips_frame_info): Give num_gp and num_fp type
+	"unsigned int" rather than "int" and put them with the other
+	register-related fields.  Put expanded comments above fields
+	rather than to their right.
+	(mips16e_mask_registers): Replace the GP_REG_SIZE_PTR argument
+	with a NUM_REGS_PTR argument.
+	(mips16e_save_restore_pattern_p): Update accordingly.
+	(compute_frame_size): Clarify frame diagram.  Rewrite.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips-ftypes.def: New file.
+	* config/mips/mips.c (MIPS_FTYPE_NAME1, MIPS_FTYPE_NAME2)
+	(MIPS_FTYPE_NAME3, MIPS_FTYPE_NAME4): New macros.
+	(mips_function_type): Redefine using mips-ftypes.def.
+	(dsp_bdesc): Use POINTER rather than PTR in the MIPS_*_FTYPE_* names.
+	(mips_builtin_vector_type): New function.
+	(MIPS_ATYPE_VOID, MIPS_ATYPE_INT, MIPS_ATYPE_POINTER, MIPS_ATYPE_SI)
+	(MIPS_ATYPE_USI, MIPS_ATYPE_DI, MIPS_ATYPE_SF, MIPS_ATYPE_DF)
+	(MIPS_ATYPE_V2SF, MIPS_ATYPE_V2HI, MIPS_ATYPE_V4QI, MIPS_FTYPE_ATYPES1)
+	(MIPS_FTYPE_ATYPES2, MIPS_FTYPE_ATYPES3, MIPS_FTYPE_ATYPES4): New
+	macros.
+	(mips_build_function_type): New function.
+	(mips_init_builtins): Use it to create types lazily.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (set_volatile): Delete.
+	* config/mips/mips.c (set_volatile): Delete.
+	(mips_print_operand_punctuation): New function, split out from
+	print_operand.  Remove '%{', '%}', '%~', '%&' and '%!'.
+	Use the same character ordering in the code and the comments.
+	Use a recursive call to handle '*'.  Abort on unknown characters.
+	(mips_init_print_operand_punct): New function, split out from
+	override_options.
+	(mips_print_int_branch_condition): New function, split out from
+	print_operand.  Use GET_RTX_NAME.  Use output_operand_lossage
+	to report unexpected codes.
+	(mips_print_float_branch_condition): New function, split out from
+	print_operand.  Use output_operand_lossage to report unexpected codes.
+	(print_operand): Rework to use a case statement.  Use the
+	same letter ordering in the code and the comments.  Use
+	output_operand_lossage to report unexpected codes and
+	reverse_condition to handle inverted branch conditions.
+	(override_options): Use mips_init_print_operand_punct.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h: Move variable declarations to end of file and
+	enclose them all in #ifndef USED_FOR_TARGET.
+	* config/mips/mips.c: Reorder functions into more logical groups,
+	and so that callees appear before callers.  Put the targetm
+	initializer at the end of the file.  Remove forward static
+	declarations where possible.
+	(mips_init_builtins): Add "static" to definition.
+	(mips_expand_builtin, mips_mode_rep_extended): Likewise.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (TARGET_MIN_ANCHOR_OFFSET): Delete.
+	(TARGET_MAX_ANCHOR_OFFSET): Delete.
+	(mips_cannot_force_const_mem): Don't check TARGET_HAVE_TLS.
+	(mips_set_mips16_mode): Initialize min_anchor_offset and
+	max_anchor_offset directly to constants.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c: Delete trailing whitespace.
+
+2007-10-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_expand_call): Use FAKE_CALL_REGNO.
+	(mips_avoid_hazard): Allow multiple sets for HAZARD_DELAY,
+	and pick the first.
+	* config/mips/mips.md (load_call<mode>): Don't make the unspec
+	depend on FAKE_CALL_REGNO.  Set FAKE_CALL_REGNO.
+
+2007-10-18  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/linux-unwind.h (mips_fallback_frame_state): Use new
+	reg_offset variable to calculate register locations.
+
+2007-10-18  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa.c (uid_ssaname_map_eq): New function.
+	(uid_ssaname_map_has): Likewise.
+	(init_tree_ssa): Allocate default_defs as uid_ssaname map.
+	* tree-flow.h (struct gimple_df): Make default_defs a
+	uid_ssaname map.
+	* tree-dfa.c (gimple_default_def): Deal with it.
+	(set_default_def): Likewise.
+
+2007-10-18  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (struct gimple_df): Make referenced_vars
+	a uid_decl_map.
+	(uid_decl_map_eq): Declare.
+	(uid_decl_map_hash): Likewise.
+	* tree-ssa.c (uid_decl_map_eq): New function.
+	(uid_decl_map_hash): Likewise.
+	(init_tree_ssa): Make referenced_vars a uid_decl_map.
+	* tree-flow-inline.h (first_referenced_var): Deal with
+	the referenced_vars representation change.
+	(next_referenced_var): Likewise.
+	* tree-dfa.c (referenced_var_lookup): Likewise.
+	(referenced_var_check_and_insert): Likewise.
+	(remove_referenced_var): Likewise.
+
+2007-10-18  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/mips/mips.c (mips_dwarf_register_span): New.
+	(TARGET_DWARF_REGISTER_SPAN): Define.
+
+2007-10-18  Chen Liqin  <liqin@sunnorth.com.cn>
+
+	* config.gcc : update score-*-elf(extra_objs).
+	* config/score/mac.md : Remove.
+	* config/score/misc.md : Remove.
+	* config/score/score7.md : Remove.
+	* config/score/score-mdaux.h : Remove.
+	* config/score/score-mdaux.c : Remove.
+	* config/score/score-version.h : Remove.
+	* config/score/score-generic.md : New.
+	* config/score/score3.h : New.
+	* config/score/score3.c : New.
+	* config/score/score7.h : New.
+	* config/score/score7.c : New.
+	* config/score/mul-div.S : add flush_cache score3 support.
+	* config/score/elf.h : Fix some typos.
+	* config/score/score.md : merge score3 and score7 pattern.
+	* config/score/score.c : use to seperate which target it used.
+	* config/score/score.h : use to seperate the target macro.
+	* config/score/score.opt : remove -mmac option , add -mscore3,
+	-mscore3d and -march OPTION support.
+ 
+2007-10-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* cfgexpand.c (expand_stack_vars): Add checking to make sure
+	that the offset of a variable is not greater than the size
+	of the paritition.
+
+2007-10-17  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_mcu_types): Add support for atmega48p, 
+	atmega88p, atmega168p and atmega328p devices.
+	* config/avr/avr.h (LINK_SPEC): (Ditto.).
+	(CRT_BINUTILS_SPECS): (Ditto.).
+	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
+2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* sched-ebb.c: Surround code with '#ifdef INSN_SCHEDULING'.
+	* ddg.c: Ditto.
+	* sched-deps.c: Ditto.  Remove nested #ifdef's INSN_SCHEDULING.
+	* sched-int.h: Surround declarations with '#ifdef INSN_SCHEDULING'.
+	(print_insn): Move declaration to ...
+	* rtl.h (print_insn): ... here.
+
+2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* config/m68k/m68k.h (m68k_sched_cpu, m68k_sched_attr_opx_type,
+	m68k_sched_attr_opy_type, m68k_sched_attr_size, m68k_sched_attr_op_mem,
+	m68k_sched_branch_type): Move declarations to ...
+	* config/m68/m68k-protos.h: ... here.
+
+2007-10-17  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* genattrtab.c (main): Rearrange output of insn-attrtab.c headers.
+
+2007-10-17  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add attiny48.
+	* config/avr/avr.h (LINK_SPEC): Likewise.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-17  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add attiny43u.
+	* config/avr/avr.h (CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/33794
+	* reg-stack.c (move_for_stack_reg): Swap input argument of
+	UNSPEC_TAN insn to the top of the stack.
+
+2007-10-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32961
+	* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLLWI128,
+	IX86_BUILTIN_PSLLDI128, BUILTIN_PSLLQI128, IX86_BUILTIN_PSRAWI128,
+	IX86_BUILTIN_PSRADI128, IX86_BUILTIN_PSRLWI128,
+	IX86_BUILTIN_PSRLDI128, IX86_BUILTIN_PSRLQI128]: Do not require
+	immediate shift value.
+	* config/i386/emmintrin.h (_mm_slli_epi16, _mm_slli_epi32,
+	_mm_slli_epi64, _mm_srai_epi16, _mm_srai_epi32, _mm_srli_epi16,
+	_mm_srli_epi32, _mm_srli_epi64): Remove 'const' from count argument.
+	Remove macros for !__OPTIMIZE__ case.
+
+2007-10-17  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-structalias.c (rewrite_constraints): Don't test for
+	directness anymore.
+	(perform_var_substitution): Only DFS from real nodes. Don't test
+	for directness.
+	(unite_pointer_equivalences): Fix broken test.
+
+2007-10-17  Alan Modra  <amodra@bigpond.net.au>
+
+	* config/rs6000/rs6000.c (rs6000_emit_epilogue): Correct
+	altivec sp_offset.  Rearrange sp_offset assignments to
+	correspond to stack adjustments.  Use frame_reg_rtx for
+	SPE register restores.  Correct SPE stack adjustment.
+
+2007-10-17  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* builtins.c (gimplify_va_arg_expr): Use inform for help message.
+	* toplev.c (check_global_declaration_1): Use appropriate warning
+	option instead of unnamed warning.
+	* stor-layout.c (layout_decl): Likewise.
+	* c-typeck.c (build_conditional_expr): Likewise.
+	(build_compound_expr): Fix wrong comment.
+	(build_binary_op): Use appropriate warning option instead of
+	unnamed warning.
+	* cfgexpand.c (tree_expand_cfg): Likewise.
+	* tree-optimize.c (tree_rest_of_compilation): Likewise.
+	* tree-cfg.c (remove_useless_stmts_warn_notreached): Likewise.
+	(execute_warn_function_return): Likewise.
+	* stmt.c (warn_if_unused_value): Likewise.
+
+2007-10-16  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/avr.c (avr_mcu_types): Add at90pwm216, at90pwm316.
+	* config/avr/avr.h (LINK_SPEC): Likewise and remove regex for
+	similar devices.
+	(CRT_BINUTILS_SPECS): Likewsie.
+	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-16  Amruth Laxman  <amruth.laxman@nsn.com>
+
+	PR target/33594
+	* config/sparc/sparc.h (LOCAL_ALIGNMENT): Define.
+
+2007-10-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* dce.c (init_dce): Only initialize the obstacks for the fast pass.
+	(fini_dce): Only release them for the fast pass.
+	(end_ud_dce): Delete.
+	(rest_of_handle_ud_dce): Do not modify df_in_progress.
+	Call fini_dce instead of end_ud_dce.
+	(rest_of_handle_fast_dce): Do not modify df_in_progress.
+	(run_fast_df_dce): Reset df_in_progress to false on exit.
+
+2007-10-16  Paolo Bonzini  <bonzini@gnu.org>
+	    Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* target.h (unspec_may_trap_p): New target hook.
+	* target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro.
+	* targhooks.c (default_unspec_may_trap_p): Default implementation of
+	the hook.
+	* targhooks.h (default_unspec_may_trap_p): Declare it.
+	* doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook.
+	* rtlanal.c (may_trap_p_1): Use new hook.  Make global.
+	* rtl.h (may_trap_p_1): Declare.
+	
+	* config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to
+	override default hook implementation.
+	(TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the
+	hook.
+
+2007-10-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Wextra): Move it just after Wall, list the
+	options enabled by Wextra and mention Wuninitialized.
+	
+2007-10-15  Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips.h (LOCAL_ALIGNMENT): Define.
+
+2007-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33136
+	* opts.c (decode_options): Don't enable flag_ipa_type_escape.
+
+2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR tree-optimization/33735
+	PR tree-optimization/33572
+	* tree-inline.c (update_ssa_across_abnormal_edges): Revert
+	2007-10-09's change.
+	* except.c (duplicate_eh_regions): Don't look for prev_try
+	beyond ERT_ALLOWED_EXCEPTIONS with an empty list.
+
+2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/33706
+	* tree-inline.c (copy_bb): Use bsi_replace to replace a
+	__builtin_va_arg_pack-containing call stmt.
+
+2007-10-15  Razya Ladelsky  <razya@il.ibm.com>
+
+	* matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
+	program flag.
+
+2007-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33619
+	* tree-ssa-ter.c (is_replaceable_p): Return false for all
+	calls.
+
+2007-10-15  David Edelsohn  <edelsohn@gnu.org>
+
+	* config.gcc (powerpc-ibm-aix5*): Install altivec.h.
+
+2007-10-15  Richard Guenther  <rguenther@suse.de>
+
+	* fold-const.c (extract_array_ref): Remove.
+	(fold_comparison): Handle POINTER_PLUS_EXPR with the
+	generic address expression comparison folding.  Remove
+	the folding that used extract_array_ref.
+
+2007-10-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	PR target/33133
+	* haifa-sched.c (process_insn_forw_deps_be_in_spec): Check if
+	speculation type of insn can be changed before trying to do that.
+
+2007-10-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* dse.c (struct insn_info): Add 'frame_read' field.
+	(scan_insn): For the call to a const function, set frame_read if
+	reload has been run.
+	If the insn reads the frame, kill the frame related stores.
+	(scan_reads_nospill): Likewise.
+
+2007-10-14  Jason Merrill  <jason@redhat.com>
+
+	* tree-eh.c (optimize_double_finally): Don't assume that the
+	cleanup we're duplicating is only one statement.
+
+2007-10-14  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/fixed-bit.c, config/i386/cpuid.h, config/i386/i386.c,
+	config/i386/i386.md, config/i386/sse.md, function.c, jump.c,
+	modulo-sched.c, ra-conflict.c, toplev.c, tree-eh.c, tree-sra.c,
+	tree-ssa-dse.c, tree-vect-analyze.c, tree-vect-patterns.c,
+	tree-vect-transform.c: Fix comment typos.
+	* doc/extend.texi: Fix a typo.
+
+	* c-common.h: Remove the prototype for c_expand_body.
+	* c-tree.h: Remove the prototype for c_disregard_inline_limits.
+	* tree.h: Remove the prototype for fold_build_call_expr.
+
+	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
+	Remove.
+	* c-tree.h: Remove the prototype for c_cannot_inline_tree_fn.
+
+2007-10-13  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/aix53.h: New file.
+	* config/rs6000/aix{41,43,51,52}.h (TARGET_ALTIVEC): Define to 0.
+	(TARGET_ALTIVEC_ABI): Same.
+	* config/rs6000/aix.h (TARGET_ALTIVEC): Delete.
+	(TARGET_ALTIVEC_ABI): Delete.
+	* config.gcc (powerpc-ibm-aix5*): Rename to aix5.2.  Add new
+	stanza defaulting to aix5.3.
+
+2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/i386/i386.md (SI_REG, DI_REG): New constants.
+	(strmov): Use defined constants.
+	(cmpstrnsi): Likewise.
+	* config/i386/i386.c (decide_alg): Use defined constants.
+	(ix86_expand_strlen): Likewise.
+
+2007-10-12  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* dse.c (find_shift_sequence): Reinstate "<= UNITS_PER_WORD" condition.
+	* var-tracking.c (micro_operation_def): Update comment on u.loc.
+	(mode_for_reg_attrs, var_lowpart): New functions.
+	(add_uses): Consider recording a lowpart of LOC for MO_USE.
+	(add_stores): Likewise MO_SET and MO_COPY.  If the source of a set
+	or copy is known, set LOC to the SET that performs the set, instead
+	of the destination.
+	(find_src_status, find_src_set_src): Remove LOC parameter.
+	Replace INSN with the source value.
+	(compute_bb_dataflow, emit_notes_in_bb): Check for a SET u.loc when
+	handling MO_SET and MO_COPY.  Update the calls to find_src_status
+	and find_src_set_src.
+
+2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+	PR 11001
+	* config/i386/i386.md (strmov): Check for esi and edi usage.
+	* config/i386/i386.c (decide_alg): Check whether we can use a
+	rep prefix and adjust algorithm choice accordingly.
+	(ix86_expand_strlen): Check for eax, ecx, and edi usage.
+
+2007-10-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* config/c4x/c4x.md (mulqi3, mulhi3): Use optab_libfunc.
+
+2007-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* global.c (build_insn_chain): Formatting fixes.
+
+2007-10-12  Richard Guenther <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (forward_propagate_into_cond): For
+	combining both operands require either both have single uses
+	or combining to a constant.
+
+2007-10-12  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/26198
+	* tree-ssa-forwprop.c (can_propagate_from): Do not propagate from
+	a rhs with side-effects or which is a load.
+	(forward_propagate_into_cond): Also try combining both operands.
+
+2007-10-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/33742
+	* tree-vect-transform.c (vectorizable_operation): Return false
+	if get_vectype_for_scalar_type for scalar_dest can't be determined.
+	(vectorizable_call): Same for rhs_type and lhs_type.
+
+2007-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/33645
+	* tree-ssa-live.c (mark_all_vars_used): Add data argument,
+	pass it to walk_tree.
+	(mark_all_vars_used_1): Pass data through to mark_all_vars_used.
+	When calling set_is_used on a VAR_DECL, if data is not NULL and
+	its DECL_UID is in the bitmap, call mark_all_vars_used on its
+	DECL_INITIAL after clearing the bit in bitmap.
+	(remove_unused_locals): Adjust mark_all_vars_used callers.
+	Instead of removing unused global vars from unexpanded_var_list
+	immediately record them in bitmap, call mark_all_vars_used on
+	all used global vars from unexpanded_var_list and only purge
+	global vars that weren't found used even during that step.
+ 
+2007-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* gthr-posix.h (__gthread_active_init): Create detached instead of
+	joinable thread when testing whether threads are active on hppa-hpux.
+	* gthr-posix95.h (__gthread_active_init): Likewise.
+
+2007-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/33676
+	* global.c (build_insn_chain): Include insn that occur between
+	basic blocks.
+	
+2007-10-11  Tom Tromey  <tromey@redhat.com>
+
+	* gengtype-yacc.y: Delete.
+
+2007-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (AX_REG, DX_REG, CX_REG): New constants.
+	* config/i386/i386.c (ix86_function_arg_regno_p, function_arg_32,
+	function_value_32, function_value_64, function_value_ms_64,
+	setup_incoming_varargs_64, ix86_expand_prologue, ix86_expand_call,
+	legitimize_tls_address, x86_this_parameter, x86_output_mi_thunk):
+	Use new constants.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+	* gcse.c (hash_scan_set): If the next nonnote insn is in
+	a different basic block insert the set.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33724
+	* tree-cfg.c (one_pointer_to_useless_type_conversion_p): New function.
+	(verify_gimple_expr): Use it to verify pointer-to types for
+	ADDR_EXPRs.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+	PR c/33726
+	* c-typeck.c (build_array_ref): Do not strip qualifiers from
+	the array element type.
+
+2007-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/33638
+	* dse.c (struct insn_info): Remove 'stack_read' field,
+	add 'stack_pointer_based' field.
+	(record_store): For a store with non-constant base, record
+	whether it is stack pointer based.
+	(scan_insn): For the call to a const function, remove stack
+	pointer based stores from the list of local active stores.
+	(scan_reads_nospill): Delete code dealing with const functions.
+
+2007-10-10  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
+	to HOST_WIDE_INT.
+	(conflict_p, set_conflict, set_conflicts): Likewise.
+	* global.c (global_alloc): Likewise.
+	* ra.h: Update prototypes.
+
+2007-10-10  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+	* opth-gen.awk: Fixed generation of comment stating the origin
+	  of options.h
+
+2007-10-10  Kazu Hirata  <kazu@codesourcery.com>
+
+	Revert:
+	2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+	* longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+	and '%}', respectively.
+
+	Revert:
+	2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+	* config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+	and '}'.
+	* config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+	meant to be output.
+
+	Revert:
+	2007-10-07  Kazu Hirata  <kazu@codesourcery.com>
+	* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
+	syntax for ASSEMBLER_DIALECT.
+	* config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
+
+2007-10-10  Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (check_nodes_order): Dump the final order of
+	the nodes.
+	(get_sched_window): Add dump info.
+	(calculate_order_params): Dump order params of the nodes.
+
+2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/33669
+	* ra-conflict.c (record_one_conflict_between_regnos, 
+	set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
+	(global_conflicts): Enhanced incorrect check.
+	
+2007-10-09  Geoffrey Keating  <geoffk@apple.com>
+
+	* dwarf2out.c (output_call_frame_info): FDEs are always emitted
+	if flag_exceptions is not set.
+	* config/darwin.c (darwin_emit_unwind_label): Rewrite to use
+	assemble_name rather than incorrectly emulating it.
+
+	* doc/extend.texi (Deprecated Features): Mention that <? and >? and
+	friends are removed from G++.
+
+2007-10-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* c-opts.c (c_common_handle_option): -Wnontemplate-friend,
+	-Wwrite-strings and -Wmultichar are enabled by default, so Wall
+	enabling them is redundant. Don't check two times for
+	c_dialect_cxx.
+	
+2007-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ra-conflict.c (record_one_conflict_between_regnos): Revert
+	the last change.
+	(set_conflicts_for_earlyclobber): Likewise.
+	(global_conflicts): Likewise.
+
+2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+
+	* longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+	and '%}', respectively.
+
+2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+	* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+	and '}'.
+	* config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+	meant to be output.
+
+2007-10-09  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33692
+	* gimplify.c (canonicalize_component_ref): Honor qualifiers
+	of referenced structure and component.
+
+2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/33669
+	* ra-conflict.c (record_one_conflict_between_regnos,
+	set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
+	(global_conflicts): Removed incorrect check.
+
+2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR tree-optimization/33615
+	* tree-ssa-pre.c (compute_avail): Don't call make_values_for_stmt
+	if the statement might throw.  Fix formatting.
+
+2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR tree-optimization/33615
+	* tree-ssa-loop-im.c (movement_possibility): Return MOVE_IMPOSSIBLE
+	if the rhs might throw.
+
+2007-10-09  Jan Hubicka  <jh@suse.cz>
+
+	* invoke.texi (align-threshold, align-loop-iterations): Document.
+	* final.c: Include cfgloop.h, params.h
+	(compute_alignments): Dump decisions and compare them with loop
+	structure; honor given parameters.
+	(pass_compute_alignments): New dump file.
+	* params.def (PARAM_ALIGN_THRESHOLD, PARAM_ALIGN_LOOP_ITERATIONS): New.
+	* Makefile.in (final.o): Add dependency on cfgloop.h and params.h
+
+2007-10-09  James E. Wilson  <wilson@specifix.com>
+
+	PR tree-optimization/33655
+	PR middle-end/22156
+	* tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
+	convert it to bitsizetype before size_binop call.
+
+2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR tree-optimization/33572
+	* tree-inline.c (update_ssa_across_abnormal_edges): Tolerate
+	the absence of a corresponding edge from the exit block.
+
+2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/22156
+	* tree-sra.c (instantiate_element): Use BYTES_BIG_ENDIAN for
+	bit-field layout.
+	(sra_build_assignment): Likewise.  Set up mask depending on
+	precision, not type.
+	(sra_build_bf_assignment): Use BYTES_BIG_ENDIAN.  Don't overflow
+	computing bit masks.
+	(sra_build_elt_assignment): Don't view-convert from signed to
+	unsigned.
+	(sra_explode_bitfield_assignment): Use bit-field type if
+	possible.  Use BYTES_BIG_ENDIAN.
+
+2007-10-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/22156
+	* tree-sra.c (scalarize_lsdt): Fix thinko in testing whether
+	the original stmt can throw.
+	(sra_build_bf_assignment): Fix type mismatch when applying negated
+	mask.
+
+2007-10-08  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (DARWIN_REGISTER_TARGET_PRAGMAS): Register
+	'#pragma mark' to be executed at preprocessing time.
+
+2007-10-08  Ollie Wild  <aaw@google.com>
+
+	* varasm.c (compare_constant): Removed call to
+	lang_hooks.expand_constant.
+	(copy_constants): Removed call to lang_hooks.expand_constant.
+	(compute_reloc_for_constant): Removed call to
+	lang_hooks.expand_constant.
+	(output_addressed_constants): Removed call to
+	lang_hooks.expand_constant.
+	(constructor_static_from_elts_p): Removed call to
+	lang_hooks.expand_constant.
+	(output_constant): Removed calls to lang_hooks.expand_constant.
+	* langhooks.h (struct lang_hooks): Removed field expand_constant.
+	* langhooks-def.h (lhd_return_tree): Removed.
+	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
+	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
+	* langhooks.c (lhd_return_tree): Removed.
+
+2007-10-08  Mark Shinwell  <shinwell@codesourcery.com>
+
+	* combine.c (setup_incoming_promotions): Ensure that
+	arguments that have not undergone mode promotions do not
+	incorrectly get marked as being sign- or zero-extended.
+
+2007-10-08  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33693
+	PR middle-end/33695
+	PR middle-end/33697
+	* fold-const.c (fold_binary): Use correct types in folding
+	of a * (1 << b) to (a << b).  Likewise for ~A & ~B to ~(A | B)
+	and building of RROTATE_EXPR.
+
+2007-10-08  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33691
+	PR middle-end/33694
+	PR middle-end/33696
+	* fold-const.c (fold_binary): Use the correct types when
+	folding (A | CST1) & CST2 to (A & CST2) | (CST1 & CST2).
+	(fold_binary): Use the correct types when folding
+	(-A) - B to (-B) - A.
+	(fold_unary): Use the correct types when folding ~(X).
+
+2007-10-08  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Wall): fix formatting issues.
+	
+2007-10-07  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Canonicalize
+	truncated shift counts.
+
+2007-10-07  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
+	syntax for ASSEMBLER_DIALECT.
+	* config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
+
+2007-10-06  Eric Botcazou  <ebotcazou@adacore.com>
+	    Nathan Froyd  <froydnj@codesourcery.com>
+
+	* dwarf2out.c (dwarf2out_frame_init): Check for DWARF2_FRAME_INFO
+	when determining whether to record INCOMING_RETURN_ADDR_RTX.
+
+2007-10-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	Revert:
+	2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
+	* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
+	the function, temporarily point the debug interface to the null one.
+
+2007-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR tree-optimization/33655
+	PR middle-end/22156
+	* tree-sra.c (bitfield_overlaps_p): Handle array and complex elements.
+
+2007-10-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR tree-optimization/33572
+	* tree-cfg.c (verify_stmts): Check for missing PHI defs.
+	* tree-inline.c (update_ssa_across_eh_edges): Renamed to...
+	(update_ssa_across_abnormal_edges): ... this.  Set slots in the
+	return PHI node.
+	(copy_edges_for_bb): Handle nonlocal label edges.
+	(make_nonlocal_label_edges): Deleted.
+	(optimize_inline_calls): Don't call it.
+
+2007-10-05  Hans-Peter Nilsson  <hp@axis.com>
+
+	* gthr-single.h: Revert last change.
+
+2007-10-05  Michael Matz  <matz@suse.de>
+
+	PR middle-end/33667
+	* lower-subreg.c (decompose_multiword_subregs): Use
+	validate_unshare_change().
+
+2007-10-05  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* ra-conflict.c: Include "sparseset.h".
+	(conflicts): Change to HOST_WIDEST_FAST_INT.
+	(allocnos_live): Redefine variable as a sparseset.
+	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE, GET_ALLOCNO_LIVE):
+	Delete macros.
+	(allocno_row_words): Removed global variable.
+	(partial_bitnum, max_bitnum, adjacency_pool, adjacency): New variables.
+	(CONFLICT_BITNUM, CONFLICT_BITNUM_FAST): New defines.
+	(conflict_p, set_conflict_p, set_conflicts_p): New functions.
+	(record_one_conflict_between_regnos): Cache allocno values and reuse.
+	Use set_conflict_p.
+	(record_one_conflict): Update uses of allocnos_live to use
+	the sparseset routines.  Use set_conflicts_p.
+	(mark_reg_store): Likewise.
+	(set_reg_in_live): Likewise.
+	(global_conflicts): Update uses of allocnos_live.
+	Use the new adjacency list to visit an allocno's neighbors
+	rather than iterating over all possible allocnos.
+	Call set_conflicts_p to setup conflicts rather than adding
+	them manually.
+	* global.c: Comments updated.  
+	(CONFLICTP): Delete define.
+	(regno_compare): New function.  Add prototype.
+	(global_alloc): Sort the allocno to regno mapping according to
+	which basic blocks the regnos are referenced in.  Modify the
+	conflict bit matrix to a compressed triangular bitmatrix.
+	Only allocate the conflict bit matrix and adjacency lists if
+	we are actually going to allocate something.
+	(expand_preferences): Use conflict_p.  Update uses of allocnos_live.
+	(prune_preferences): Use the FOR_EACH_CONFLICT macro to visit an
+	allocno's neighbors rather than iterating over all possible allocnos.
+	(mirror_conflicts): Removed function.
+	(dump_conflicts): Iterate over regnos rather than allocnos so
+	that all dump output will be sorted by regno number.
+	Use the FOR_EACH_CONFLICT macro.
+	* ra.h: Comments updated.
+	(conflicts): Update prototype to HOST_WIDEST_FAST_INT.
+	(partial_bitnum, max_bitnum, adjacency, adjacency_pool):
+	Add prototypes.
+	(ADJACENCY_VEC_LENGTH, FOR_EACH_CONFLICT): New defines.
+	(adjacency_list_d, adjacency_iterator_d): New types.
+	(add_neighbor, adjacency_iter_init, adjacency_iter_done,
+	adjacency_iter_next, regno_basic_block): New static inline functions.
+	(EXECUTE_IF_SET_IN_ALLOCNO_SET): Removed define.
+	(conflict_p): Add function prototype.
+	* sparseset.h, sparseset.c: New files.
+	* Makefile.in (OBJS-common): Add sparseset.o.
+	(sparseset.o): New rule.
+
+2007-10-05  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33666
+	* fold-const.c (fold_unary): Do not fold (long long)(int)ptr
+	to (long long)ptr.
+
+2007-10-05  Michael Matz  <matz@suse.de>
+
+	PR inline-asm/33600
+	* function.c (match_asm_constraints_1): Check for input
+	being used in the outputs.
+
+2007-10-05  Richard Guenther  <rguenther@suse.de>
+
+	* tree-cfg.c (verify_gimple_expr): Accept OBJ_TYPE_REF.
+
+2007-10-05  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/33635
+	* config/mips/mips.c (mips_register_move_cost): Rewrite to use
+	subset checks.  Make the cost of FPR -> FPR moves depend on
+	mips_mode_ok_for_mov_fmt_p.
+
+2007-10-04  Doug Kwan  <dougkwan@google.com>
+
+	* gthr-posix.h (__gthread_cond_broadcast, __gthread_cond_wait,
+	__gthread_cond_wait_recursive): Add to extend interface for POSIX
+	conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
+	support of conditional variables.
+	* gthr-posix95.h (__gthread_cond_broadcast, __gthread_cond_wait,
+	__gthread_cond_wait_recursive): Add to extend interface for POSIX
+	conditional variables. (__GTHREAD_HAS_COND): Macro defined to signify
+	support of conditional variables.
+	* gthr-single.h (__gthread_cond_broadcast, __gthread_cond_wait,
+	__gthread_cond_wait_recursive): Add to extend interface for POSIX
+	conditional variables.
+	* gthr.h: Update comments to document new interface.
+
+2007-10-04  Geoffrey Keating  <geoffk@apple.com>
+
+	* cgraphunit.c (cgraph_build_static_cdtor): Don't set DECL_IGNORED_P.
+
+2007-10-04  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (expand_epilogue): Don't set RTX_FRAME_RELATED_P.
+
+2007-10-04  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33641
+	* tree-cfg.c (verify_gimple_expr): Operand one of POINTER_PLUS_EXPR
+	does not need to be of INTEGER_TYPE.
+	(verify_gimple_2): New function split out from ...
+	(verify_gimple_1): ... here.  ICE if there was an error during
+	verification.
+
+2007-10-04  Michael Matz  <matz@suse.de>
+
+	PR rtl-optimization/33653
+	* dce.c (deletable_insn_p_1): Use volatile_refs_p().
+	* dse.c (scan_insn): Same.
+
+2007-10-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config.gcc: Remove USE_GAS for m68k targets.
+
+2007-10-04  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33627
+	* tree-gimple.h (canonicalize_cond_expr_cond): Declare.
+	* tree-gimple.c (canonicalize_cond_expr_cond): New function,
+	split out from ...
+	* tree-ssa-forwprop.c (combine_cond_expr_cond): ... here.
+	* tree-ssa-ifcombine.c (ifcombine_iforif): Use it.
+
+2007-10-04  Anatoly Sokolov <aesok@post.ru>
+
+ 	* config/avr/avr.c (commands_in_file, commands_in_prologues, 
+	commands_in_epilogues): Remove variables.
+	(avr_file_start): Remove unneded initializations of commands_in_file,
+	commands_in_prologues and commands_in_epilogues variables.
+	(avr_file_end): Remove dead code.
+
+2007-10-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_output_movem): Use the MOTOROLA if
+	MOTOROLA is to true.
+
+2007-10-03  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR target/33635
+	* config/mips/mips-protos.h (mips_split_64bit_move): Rename to...
+	(mips_split_doubleword_move): ...this.
+	* config/mips/mips.c (mips_subword): Extend to handle 64-bit words;
+	use natural endianness for multi-format FPR values.
+	(mips_split_64bit_move): Rename to...
+	(mips_split_doubleword_move): ...this and extend to 64-bit words.
+	Use move_doubleword_fpr* patterns for moves involving FPRs.
+	(mips_save_reg): Update the call to mips_split_64bit_move.
+	(mips_secondary_reload_class): Return NO_REGS for any reload of a
+	nonzero constant into an FPR if the constant can be forced to memory.
+	* config/mips/mips.md: Update the splitter calls to
+	mips_split_64bit_move.
+	(UNSPEC_LOAD_DF_LOW): Rename to...
+	(UNSPEC_LOAD_LOW): ...this.
+	(UNSPEC_LOAD_DF_HIGH): Rename to...
+	(UNSPEC_LOAD_HIGH): ...this.
+	(UNSPEC_STORE_DF_HIGH): Rename to...
+	(UNSPEC_STORE_WORD): ...this.
+	(SPLITF): New mode iterator.
+	(HALFMODE): New mode attribute.
+	(movtf): New expander.
+	(*movtf_internal): New define_insn_and_split.
+	(move_doubleword_fpr<mode>): New expander.
+	(load_df_low, load_df_high, store_df_high, mthc1, mfhc1): Replace
+	with...
+	(load_low<mode>, load_high<mode>, store_word<mode>, mthc1<mode>)
+	(mfhc1<mode>): ...these more general patterns.
+
+2007-10-03  Alexandre Oliva  <aoliva@redhat.com>
+
+	* cfgrtl.c (rtl_block_ends_with_call_p): Skip notes at the end.
+
+2007-10-03  Alexandre Oliva  <aoliva@redhat.com>
+
+	* gcse.c (hash_scan_set): Insert set in insn before note at
+	the end of basic block.
+
+2007-10-03  Sebastian Pop  <sebastian.pop@amd.com>
+
+	PR tree-optimization/33576
+	* testsuite/gcc.dg/tree-ssa/pr33576.c: New.
+	* tree-loop-linear.c (linear_transform_loops): Call remove_iv.
+	* lambda.h (lambda_loopnest_to_gcc_loopnest): New parameter.
+	(remove_iv): Declared.
+	* lambda-code.c (remove_iv): Not static.
+	(lambda_loopnest_to_gcc_loopnest): New parameter remove_ivs.
+	Don't remove ivs there, save ivs in the buffer.
+
+2007-10-03  Jason Merrill  <jason@redhat.com>
+
+	PR c++/15764
+	* tree-eh.c (same_handler_p): New fn.
+	(optimize_double_finally): New fn.
+	(refactor_eh_r): New fn.
+	(refactor_eh): New fn.
+	(pass_refactor_eh): New pass.
+	* tree-pass.h: Declare it.
+	* passes.c (init_optimization_passes): Add it.
+
+2007-10-03  Doug Kwan  <dougkwan@google.com>
+	Richard Guenther  <rguenther@suse.de>
+
+	PR debug/31899
+	* dwarf2out.c (reference_to_unused): Disable sanity checking,
+	be conservative instead.
+
+2007-10-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR fortran/26682
+	* doc/invoke.texi (-fwhole-program): Document that Fortran
+	doesn't support this option.
+
+2007-10-02  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	PR middle-end/33617
+	* expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to expand_expr.
+
+2007-10-02  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.md (sync_compare_and_swap<mode>): Handle compare
+	against constant zero.
+	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP):  Handle constant zero
+	operand.
+
+2007-09-02  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* ra-conflict.c: New file.
+	* ra.h: New file.
+	* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
+	usage to DF_LIVE usage.
+	(reload): Remove reference to df_get_live_top.
+	* rtlanal.c (subreg_nregs_with_regno): New function.  
+	* df-scan.c (df_def_record_1, df_uses_record): Add code to set
+	DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.
+	(df_has_eh_preds): Removed.
+	(df_bb_refs_collect, df_bb_refs_collect, df_bb_refs_collect,
+	df_exit_block_uses_collect): Changed call from df_has_eh_preds to
+	bb_has_eh_pred.
+	* global.c (allocno, max_allocno, conflicts, allocno_row_words,
+	reg_allocno, EXECUTE_IF_SET_IN_ALLOCNO_SET): Moved to ra.h
+	(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Moved to ra-conflicts.c.
+	(regs_set, record_one_conflict, record_conflicts, mark_reg_store,
+	mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Deleted.
+	(global_alloc): Turn off rescanning insns after call to
+	global_conflicts and added call to set_preferences.
+	(global_conflicts): Moved to ra-alloc.c.
+	(set_preferences_1, set_preferences): New function.
+	(mirror_conflicts): Changed types for various variables.
+	(mark_elimination): Change DF_RA_LIVE
+	usage to DF_LIVE usage.
+	(build_insn_chain): Rewritten from scratch and made local.
+	(print_insn_chain, print_insn_chains): New functions.
+	(dump_conflicts): Do not print conflicts for fixed_regs.
+	(rest_of_handle_global_alloc): Turn off insn rescanning.
+	* hard-reg-set.h: Fixed comment.
+	* local-alloc.c (update_equiv_regs): Change DF_RA_LIVE
+	usage to DF_LIVE usage and delete refs to TOP sets.
+	(block_alloc): Mark regs as live if they are in the artificial
+	defs at top of block.
+	(find_stack_regs): New function.
+	(rest_of_handle_local_alloc): Changed urec problem to live
+	problem and do not turn off df rescanning.
+	* df.h (DF_UREC, DF_UREC_BB_INFO, DF_LIVE_TOP, DF_RA_LIVE_IN,
+	DF_RA_LIVE_TOP, DF_RA_LIVE_OUT, df_urec_bb_info, df_urec,
+	df_urec_add_problem, df_urec_get_bb_info, df_has_eh_preds): Removed.
+	(DF_CHAIN, DF_NOTE, DF_CHAIN): Renumbered.
+	(DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, DF_REF_SUBREG): New
+	fields in df_ref_flags.  The rest have been renumbered.  
+	* init-regs.c (initialize_uninitialized_regs): Enhanced debugging
+	at -O1.
+	* rtl.h (subreg_nregs_with_regno): New function.
+	* df-problems.c: (df_get_live_out, df_get_live_in,
+	df_get_live_top): Removed reference to DF_RA_LIVE.
+	(df_lr_reset, df_lr_transfer_function, df_live_free_bb_info,
+	df_live_alloc, df_live_reset, df_live_local_finalize,
+	df_live_free): Make top set only if different from in set.
+	(df_lr_top_dump, df_live_top_dump): Only print top set if
+	different from in set.
+	(df_lr_bb_local_compute): Removed unnecessary check.
+	(df_urec_problem_data, df_urec_set_bb_info, df_urec_free_bb_info, 
+	df_urec_alloc, df_urec_mark_reg_change, earlyclobber_regclass, 
+	df_urec_check_earlyclobber, df_urec_mark_reg_use_for_earlyclobber,
+	df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
+	df_urec_local_compute, df_urec_init, df_urec_local_finalize, 
+	df_urec_confluence_n, df_urec_transfer_function, df_urec_free, 
+	df_urec_top_dump, df_urec_bottom_dump, problem_UREC,
+	df_urec_add_problem): Removed.
+	(df_simulate_fixup_sets): Changed call from df_has_eh_preds to
+	bb_has_eh_pred. 
+	* Makefile.in (ra-conflict.o, ra.h): New dependencies.
+	* basic_block.h (bb_has_abnormal_pred): New function.
+	* reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE
+	usage to DF_LIVE usage.
+	
+2007-10-02  Revital Eres  <eres@il.ibm.com>
+
+	* config/rs6000/predicates.md (easy_vector_constant): Return false
+	for 750CL paired vectors.
+	* config/rs6000/paired.md (movv2sf_paired): Fix move of easy
+	vector constant.
+	(vec_initv2sf): Add new description.
+	(vconcatsf): Likewise.
+	* config/rs6000/rs6000-protos.h: Declare paired_expand_vector_init.
+	* config/rs6000/rs6000.c (paired_expand_vector_init): New function.
+
+2007-10-01  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-ssa-sink.c (sink_code_in_bb): Don't stop sinking after
+	sinking the last stmt in a BB.
+
+2007-10-01  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/22156
+	* tree-sra.c (struct sra_elt): Add in_bitfld_block.
+	(sra_hash_tree): Handle BIT_FIELD_REFs.
+	(sra_elt_hash): Don't hash bitfld blocks.
+	(sra_elt_eq): Skip them in parent compares as well.  Handle
+	BIT_FIELD_REFs.
+	(build_element_name_1): Handle BIT_FIELD_REFs.
+	(instantiate_element): Propagate nowarn from parents.  Create
+	BIT_FIELD_REF for variables that are widened by scalarization.
+	Gimple-zero-initialize all bit-field variables that are not
+	part of parameters that are going to be scalarized on entry.
+	(instantiate_missing_elements_1): Return the sra_elt.
+	(canon_type_for_field): New.
+	(try_instantiate_multiple_fields): New.  Infer widest possible
+	access mode from decl or member type, but clip it at word
+	size, and only widen it if a field crosses an alignment boundary.
+	(instantiate_missing_elements): Use them.
+	(generate_one_element_ref): Handle BIT_FIELD_REFs.
+	(scalar_bitfield_p): New.
+	(sra_build_assignment): Optimize assignments from scalarizable
+	BIT_FIELD_REFs.  Use BITS_BIG_ENDIAN to determine shift counts.
+	(REPLDUP): New.
+	(sra_build_bf_assignment): New.  Optimize assignments to
+	scalarizable BIT_FIELD_REFs.
+	(sra_build_elt_assignment): New.  Optimize BIT_FIELD_REF
+	assignments to full variables.
+	(generate_copy_inout): Use the new macros and functions.
+	(generate_element_copy): Likewise.  Handle bitfld differences.
+	(generate_element_zero): Don't recurse for blocks.  Use
+	sra_build_elt_assignment.
+	(generate_one_element_init): Take elt instead of var.  Use
+	sra_build_elt_assignment.
+	(generate_element_init_1): Adjust.
+	(bitfield_overlap_info): New struct.
+	(bitfield_overlaps_p): New.
+	(sra_explode_bitfield_assignment): New.  Adjust widened
+	variables to account for endianness.
+	(sra_sync_for_bitfield_assignment): New.
+	(scalarize_use): Re-expand assignment to/from scalarized
+	BIT_FIELD_REFs.  Explode or sync needed members for
+	BIT_FIELD_REFs accesses or assignments.  Use REPLDUP.
+	(scalarize_copy): Use REPLDUP.
+	(scalarize_ldst): Move assert before dereference.  Adjust EH handling.
+	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
+
+2007-10-01  Paolo Bonzini  <bonzini@gnu.org>
+
+	* simplify-rtx.c (comparison_result, simplify_relational_operation_1):
+	Rename CR_* constants to CMP_*.  Fix spacing.
+
+2007-10-01  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR other/33585
+	* Makefile.in (build_html_dir/gccinstall): gccinstall.texi needs
+	to be processed with the special script doc/install.texi2html.
+	
+2007-09-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Wall): List the options enabled by Wall.
+	(Wstrict-aliasing): Add missing @option.
+	
+2007-09-30  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_split_64bit_move): Use gen_rtx_REG_offset
+	rather than gen_lowpart to change a register from DImode to DFmode.
+	(mips_cannot_change_mode_class): Only allow FPRs to change mode if
+	both FROM and TO are integer modes that are no bigger than 4 bytes.
+	(mips_mode_ok_for_mov_fmt_p): New function.
+	(mips_preferred_reload_class): Use it instead of FLOAT_MODE_P.
+	(mips_secondary_reload_class): Tweak formatting and comments.
+	Use reg_class_subset_p instead of direct comparisons with
+	classes.  Only allow direct FPR<->FPR moves for modes that
+	satisfy mips_mode_ok_for_mov_fmt_p.  Only allow loads and stores
+	for 4- and 8-byte types.  Handle reloads in which X is an FPR.
+	* config/mips/mips.md (*movdi_gp32_fp64): Remove f<-f alternative.
+	(*movdi_64bit): Likewise.
+	(*movsi_internal): Likewise.
+	(*movhi_internal): Likewise.
+	(*movqi_internal): Likewise.
+
+2007-09-30  Diego Novillo  <dnovillo@google.com>
+
+	PR 33593
+	* tree-ssa-ter.c (is_replaceable_p): Return false if STMT may
+	throw an exception.
+
+2007-09-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/33597
+	* tree-vect-analyze.c (vect_build_slp_tree): Check if optab handler
+	for LSHIFT_EXPR and RSHIFT_EXPR is available for vec_mode.
+
+2007-09-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_move): Use can_create_pseudo_p ()
+	instead of variants of (!reload_in_progress && !reload_completed).
+	(x86_expand_vector_move): Ditto.
+
+2007-09-28  Ollie Wild  <aaw@google.com>
+
+	Revert
+	2007-09-27  Ollie Wild  <aaw@google.com>
+
+	* varasm.c (compare_constant): Removed call to
+	lang_hooks.expand_constant.
+	(copy_constants): Removed call to lang_hooks.expand_constant.
+	(compute_reloc_for_constant): Removed call to
+	lang_hooks.expand_constant.
+	(output_addressed_constants): Removed call to
+	lang_hooks.expand_constant.
+	(constructor_static_from_elts_p): Removed call to
+	lang_hooks.expand_constant.
+	(output_constant): Removed calls to lang_hooks.expand_constant.
+	* langhooks.h (struct lang_hooks): Removed field expand_constant.
+	* langhooks-def.h (lhd_return_tree): Removed.
+	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
+	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
+	* langhooks.c (lhd_return_tree): Removed.
+
+2007-09-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR target/33347
+	* config/spu/spu.c (spu_expand_insv): Call copy_rtx on the second
+	argument to gen_selb.
+
+2007-09-28  Chao-ying Fu  <fu@mips.com>
+
+	* libgcc-std.ver: Add fixed-point routines to GCC_4.3.0 section.
+	* doc/libgcc.texi (Fixed-point fractional library routines):
+	Fix typos for neg and cmp functions.
+
+2007-09-28  Michael Matz  <matz@suse.de>
+
+	PR rtl-optimization/33552
+	* function.c (match_asm_constraints_1): Check for overlap in
+	inputs and replace all occurences.
+
+2007-09-28  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (override_options): Fix comment typo.
+
+2007-09-28  Jie Zhang  <jie.zhang@analog.com>
+
+	* config.gcc (bfin*-linux-uclibc*): Set extra_parts
+	to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
+	* config/bfin/t-bfin-linux (crti.o): Don't build.
+	(crtn.o): Likewise.
+	(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
+	* config/bfin/t-bfin-uclinux (crti.o): Don't build.
+	(crtn.o): Likewise.
+	(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
+
+2007-09-27  Ollie Wild  <aaw@google.com>
+
+	* varasm.c (compare_constant): Removed call to
+	lang_hooks.expand_constant.
+	(copy_constants): Removed call to lang_hooks.expand_constant.
+	(compute_reloc_for_constant): Removed call to
+	lang_hooks.expand_constant.
+	(output_addressed_constants): Removed call to
+	lang_hooks.expand_constant.
+	(constructor_static_from_elts_p): Removed call to
+	lang_hooks.expand_constant.
+	(output_constant): Removed calls to lang_hooks.expand_constant.
+	* langhooks.h (struct lang_hooks): Removed field expand_constant.
+	* langhooks-def.h (lhd_return_tree): Removed.
+	(LANG_HOOKS_EXPAND_CONSTANT): Removed.
+	(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
+	* langhooks.c (lhd_return_tree): Removed.
+
+2007-09-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/33436
+	* expr.c (emit_group_load_1): Split constant double when destination
+	length is half source length.
+
+2007-09-27  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): New macro.
+	(mips_cpu_info): Add tune_flags.
+	(GENERATE_BRANCHLIKELY): Remove TARGET_SR71K check.
+	* config/mips/mips.c (mips_cpu_info_table): Add tune_flags fields.
+	Remove end marker.
+	(override_options): Remove deprecation code.  Use branch-likely
+	instructions for optimize_size or if the tuning flags do not
+	suggest otherwise.  Tweak warning.
+	(mips_matching_cpu_name_p, mips_parse_cpu): Use ARRAY_SIZE.
+
+2007-09-27  Matthias Klose  <doko@ubuntu.com>
+
+	* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
+	multilib osdirname if it exists.
+	* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
+
+2007-09-27  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/33565
+	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING on
+	assignments of comparisons.
+	* tree-ssa-sccvn.c (simplify_binary_expression): Add stmt
+	parameter.  Change caller.  Defer overflow warnings around call to
+	fold_binary.
+	* fold-const.c (fold_undefer_overflow_warnings): Don't warn if
+	TREE_NO_WARNING is set on the statement.
+	* tree-ssa-forwprop.c
+	(tree_ssa_forward_propagate_single_use_vars): Don't test
+	TREE_NO_WARNING when calling fold_undefer_overflow_warnings.
+	* tree-cfg.c (fold_cond_expr_cond): Likewise.
+
+2007-09-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
+	reduce offset by units of 0x10000 for SPE vector modes or modes
+	used with E500 double instructions.
+
+2007-09-04  Paolo Bonzini  <bonzini@gnu.org>
+
+	* simplify-rtx.c (comparison_result): New.
+	(simplify_const_relational_operation): Use it instead of the five
+	"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
+	Improve bounds-checking optimizations; remove subsumed POPCOUNT
+	optimizations.  Extract nonzero_address_p optimizations into a
+	separate "if" together with optimizations where op1 is const0_rtx.
+	Optimize comparing an IOR with zero.  Simplify op0 RELOP op0 for
+	floating-point arguments too when appropriate.  Hoist test for ABS
+	outside the final switch statement.
+	* cse.c (fold_rtx): Don't look for an IOR equivalent of
+	folded_arg0 if we found a constant equivalent.	Remove
+	transformations done in simplify-rtx.c for "op0 RELOP op0".
+
+2007-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtins.c (expand_builtin, expand_builtin_object_size,
+	expand_builtin_memory_chk, maybe_emit_chk_warning,
+	maybe_emit_sprintf_chk_warning): Use new %K format string specifier
+	for diagnostics.
+	* expr.c (expand_expr_real_1): Likewise.
+	* langhooks-def.h (struct diagnostic_info): Add forward decl.
+	(lhd_print_error_function): Add third argument.
+	* langhooks.h (struct diagnostic_info): Add forward decl.
+	(struct lang_hooks): Add third argument to print_error_function.
+	* diagnostic.h (diagnostic_info): Add abstract_origin field.
+	(diagnostic_last_function_changed, diagnostic_set_last_function): Add
+	second argument.
+	(diagnostic_report_current_function): Likewise.
+	* toplev.c (announce_function): Pass NULL as second argument to
+	diagnostic_set_last_function.
+	* diagnostic.c (diagnostic_report_current_function): Add second
+	argument, pass it as third argument to lang_hooks.print_error_function.
+	(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
+	to diagnostic_report_current_function.
+	(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
+	and message.abstract_origin.
+	(verbatim): Initialize abstract_origin.
+	* pretty-print.h (text_info): Add abstract_origin field.
+	* pretty-print.c (pp_base_format): Handle %K.
+	* langhooks.c (lhd_print_error_function): Add third argument.  If
+	diagnostic->abstract_origin, print virtual backtrace.
+	* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
+	gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
+	(init_dynamic_diag_info): Likewise.
+
+2007-09-26  David Daney  <ddaney@avtrex.com>
+
+	PR target/33479
+	* config/mips/mips.md (sync_compare_and_swap<mode>, sync_old_add<mode>,
+	sync_new_add<mode>, sync_old_<optab><mode>, sync_new_<optab><mode>,
+	sync_old_nand<mode>, sync_new_nand<mode>,
+	sync_lock_test_and_set<mode>): Fix '&' constraint modifiers.
+	Update length attributes.
+	(sync_add<mode>, sync_sub<mode>, sync_old_sub<mode>,
+	sync_new_sub<mode>, sync_<optab><mode>, sync_nand<mode>): Update
+	length attributes.
+	* config/mips/mips.h (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP,
+	MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND,
+	MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Add
+	post-loop sync.
+
+2007-09-26  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33563
+	* tree-ssa-dse.c (get_use_of_stmt_lhs): Rename to ...
+	(get_kill_of_stmt_lhs): ... this.  Re-structure.  Handle
+	aggregate stores.
+	(dse_optimize_stmt): Call get_kill_of_stmt_lhs instead of
+	get_use_of_stmt_lhs.
+
+2007-09-26  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/25309
+	* c-common.c (complete_array_type): Diagnose too-large arrays and
+	set type to error_mark_node.
+
+2007-09-26  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/30375
+	PR tree-optimization/33560
+	* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
+	with calls.
+
+	Revert
+	2006-05-22  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-ssa-dse.c (aggregate_vardecl_d): New.
+	(dse_global_data): Add aggregate_vardecl field.
+	(dse_possible_dead_store_p): New.
+	Add prev_defvar variable.
+	Allow immediate uses and previous immediate uses to differ
+	if they are setting different parts of the whole.
+	(get_aggregate_vardecl): New.
+	(dse_record_partial_aggregate_store): New.
+	(dse_whole_aggregate_clobbered_p): New.
+	(dse_partial_kill_p): New.
+	Call dse_maybe_record_aggregate_store().
+	When checking whether a STMT and its USE_STMT refer to the
+	same memory address, check also for partial kills that clobber
+	the whole.
+	Move some variable definitions to the block where they are used.
+	(aggregate_vardecl_hash): New.
+	(aggregate_vardecl_eq): New.
+	(aggregate_vardecl_free): New.
+	(aggregate_whole_store_p): New.
+	(tree_ssa_dse): Initialize and free aggregate_vardecl.
+	Mark which aggregate stores we care about.
+
+2007-09-25  DJ Delorie  <dj@redhat.com>
+
+	PR target/33551
+	* config/m32c/m32c.c (m32c_immd_dbl_mov): Use INTVAL instead of XINT.
+
+2007-09-25  Michael Meissner  <michael.meissner@amd.com>
+
+	PR target/33524
+	* config/i386/i386.c (ix86_expand_sse5_unpack): Change to call
+	gen_sse5_pperm_sign_v4si_v2di and gen_sse5_pperm_zero_v4si_v2di
+	for vector int32 -> int64 conversions.  Don't write beyond the end
+	of the allocated vector for int32 -> int64 conversions.
+
+2007-09-25  Revital Eres  <eres@il.ibm.com>
+
+	* config/rs6000/paired.h (paired_sel): New.
+	* config/rs6000/rs6000.c (bdesc_3arg): Add selv2sf4.
+	(rs6000_expand_ternop_builtin): Pass zero const_double operand
+	when expanding selv2sf.
+	* config/rs6000/rs6000.h (rs6000_builtins): Add
+	PAIRED_BUILTIN_SELV2SF4.
+
+2007-09-25  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/32295
+	* c-typeck.c (default_conversion): Call require_complete_type
+	before perform_integral_promotions.
+	(build_unary_op): Call require_complete_type except for ADDR_EXPR.
+	(build_c_cast): Call require_complete_type except for casts to
+	void types.
+	(convert_for_assignment): Call require_complete_type.
+
+2007-09-25  Revital Eres  <eres@il.ibm.com>
+
+	* config/spu/spu.md: Fix doloop pattern.
+
+2007-09-25  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (expand_prologue_reg_save,
+	expand_epilogue_reg_restore): Code to save and restore I/M/B/L regs
+	and ASTAT moved here...
+	(expand_interrupt_handler_prologue, expand_interrupt_handler_epilogue):
+	... from here.  New argument ALL; callers changed.
+	(n_regs_saved_by_prologue): Count ASTAT for plain saveall functions.
+	(bfin_expand_prologue, bfin_expand_epilogue): Deal with functions that
+	have the "saveall" attribute.
+
+2007-09-25  Hans-Peter Nilsson  <hp@bitrange.com>
+
+	* config/mmix/mmix.h (FUNCTION_INCOMING_ARG_REGNO_P): Don't define
+	bogus target macro.
+	(INCOMING_REGNO, OUTGOING_REGNO): Define.
+	* config/mmix/mmix.c (mmix_opposite_regno): New function.
+	* config/mmix/mmix-protos.h (mmix_opposite_regno): Prototype.
+
+	* config/mmix/mmix.md ("*cmpcc_folded"): In condition, gate
+	with REG_P tests before REGNO access.
+
+2007-09-24  DJ Delorie  <dj@redhat.com>
+
+	PR target/31482
+	* config/m32c/cond.md (stzx_reversed_<mode>): Add an output
+	constraint.
+	(movqicc_<code>_<mode>): Likewise.
+	(movhicc_<code>_<mode>): Likewise.
+
+2007-09-24  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/33184
+	* config/m32c/m32c.c (m32c_eh_return_data_regno): Leave an address
+	register for reload.
+
+2007-09-24  Danny Smith  <dannysmith@user.sourceforge.net>
+
+	PR c++/14688
+	* config/i386/i386.c (ix86_comp_type_attributes): Check
+	METHOD_TYPE too.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+	* config/m68k/m68k.h (ASM_OUTPUT_ALIGN_WITH_NOP): New, use
+	"move.l %a4,%a4" to produce nops.
+	* config/m68k/m68k.c (override_options): Reset align options,
+	if neccessary align macro isn't avaible.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+	config/m68k/linux.h (PREFERRED_STACK_BOUNDARY): New.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+	* config/m68k/m68k.c (strict_low_part_peephole_ok): Don't leave
+	the basic block.
+	* config/m68k/m68k.md (movsi_m68k): Allow certain constant when
+	reload is completed.
+	(peephole pattern): Convert most of them to RTL peephole pattern.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org> 
+
+	* config/m68k/m68k.c (notice_update_cc): Recognize fp compare
+	(moved from fp compare patterns).
+	* config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
+	Cleanup predicates to relieve reload.
+	(conditional_trap): Reject conditional trap with fp condition.
+	* config/m68k/predicates.md (fp_src_operand): New, reject
+	certain constants early.
+
+2007-09-24  Roman Zippel <zippel@linux-m68k.org>
+
+	* final.c (final_scan_insn): Remove accidentally duplicated code.
+
+2007-09-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* config.gcc (powerpc*-*-*): --with-cpu=cell is a 64bit CPU.
+	Allow --with-tune=cell and --with-cpu=cell.
+
+2007-09-24  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000-protos.h (rs6000_emit_swrsqrtsf): Declare.
+	* config/rs6000/rs6000.opt (swdiv): Change option to ...
+	(recip): this.
+	* config/rs6000/rs6000.c (rs6000_builtin_reciprocal): New
+	function.
+	(TARGET_BUILTIN_RECIPROCAL): Use it.
+	(rs6000_builtin_expand): Expand recip, recipf, and rsqrtf.
+	(rs6000_init_builtins): Initialize recip, recipf, and rsqrtf.
+	(rs6000_emit_swrsqrtsf): New.
+	* config/rs6000/rs6000.h (rs6000_builtins): Add recip, recipf, and
+	rsqrtf. 
+	* config/rs6000/rs6000.md (UNSPEC_RSQRT): Define.
+	(divsf3): Remove swdiv support.
+	(recipsf3): New.
+	(rsqrtsf2): New.
+	(rsqrt_internal1): New.
+	(divdf3): Remove swdiv support.
+	(reciptdf3): New.
+
+2007-09-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/33506
+	* langhooks.h (struct lang_hooks_for_types): Add type_hash_eq
+	field.
+	* langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ.
+	* tree.c (type_hash_eq): For FUNCTION_TYPE use
+	lang_hooks.type.type_hash_eq in addition to generic tests.
+
+2007-09-24  Pranav Bhandarkar  <pranav.bhandarkar@celunite.com>
+	Ramana Radhakrishnan  <ramana@hercules.pun.celunite.com>
+
+	* tree-inline.h (eni_weights): Add field target_builtin_cost to
+	reflect the cost per call to a target specific builtin.
+	* tree-inline.c (estimate_num_insns_1): If it is a CALL_EXPR for a
+	call to a target specific builtin, then use target_builtin_call_cost.
+	(init_inline_once): Initialize target_builtin_call_cost field.
+
+2007-09-24  Kai Tietz  <kai.tietz@onevision.com>
+
+	PR middle-end/33472
+	* config/i386/i386.c (return_in_memory_ms_64): Handle return types for
+	complex types.
+
+2007-09-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* configure.ac (ld_vers): Support GNU linker version xx.xx.*
+	* configure: Regenerated.
+
+2007-09-23  Ollie Wild  <aaw@google.com>
+
+	* fold-const.c (fold_binary): Fold BIT_AND_EXPR's with a pointer
+	operand.
+	(get_pointer_modulus_and_residue): New function.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (build_mips16_call_stub): On 64-bit targets,
+	combine an SC return value into a single register.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* opth-gen.awk (target_flags_explicit): Declare.
+	* toplev.h (target_flags_explicit): Delete declaration.
+	* toplev.c (target_flags): Likewise.
+	* config/mips/mips.h (mips_llsc_setting, mips_llsc): Delete.
+	(GENERATE_SYNC, GENERATE_LL_SC): Redefine using target_explicit_flags.
+	Never return true for TARGET_MIPS16.
+	* config/mips/mips.c (mips_llsc): Delete.
+	(mips_handle_option): Remove -mllsc handling.
+	(mips_strip_unspec_address): Tweak comment.
+	* config/mips/mips.opt (mllsc): Use a target mask.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* doc/tm.texi (POINTERS_EXTEND_UNSIGNED): Document extensions to
+	word_mode as well as Pmode.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* function.c (assign_parm_setup_block): Explicitly convert BLKmode
+	parameters from word_mode to the subword type if such a truncation
+	is not a no-op.
+
+2007-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* configure.ac (MAKEINFO): Handle makeinfo version 4.10 and above.
+	* configure: Regenerated.
+
+2007-09-23  Jan Hubicka  <jh@suse.cz>
+
+	* params.def (INLINE_CALL_COST): Set to 12.
+	* invoke.texi (inline-call-cost): Update default value.
+
+2007-09-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/alpha/alpha.md (movti): Use operand_subword for the split.
+
+2007-09-23  Ayal Zaks  <zaks@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (doloop_register_get): Rewrite the loop which
+	checks whether the count_reg is found outside the control part.
+
+2007-09-23  Jakub Jelinek  <jakub@redhat.com>
+
+	* expr.c (expand_expr_real_1) <case CALL_EXPR>: Use get_callee_fndecl
+	instead of checking CALL_EXPR_FN directly to test for builtins.
+	If error or warning attributes are present, print
+	error resp. warning.
+	* c-common.c (handle_error_attribute): New function.
+	(c_common_attribute_table): Add error and warning
+	attributes.
+	* doc/extend.texi: Document error and warning attributes.
+
+	* tree.h (block_nonartificial_location): New prototype.
+	* tree.c (block_nonartificial_location): New function.
+	* dwarf2out.c (gen_subprogram_die): Add DW_AT_artificial
+	if artificial attribute is present on abstract inline decl.
+	* c-common.c (handle_artificial_attribute): New function.
+	(c_common_attribute_table): Add artificial attribute.
+	* final.c (override_filename, override_linenum): New variables.
+	(final_scan_insn): For DBX_DEBUG or SDB_DEBUG, set override_filename
+	and override_linenum if inside of a block inlined from
+	__attribute__((__artificial__)) function.
+	(notice_source_line): Honor override_filename and override_linenum.
+	* doc/extend.texi: Document __attribute__((__artificial__)).
+	* config/i386/emmintrin.h: Add __artificial__ attribute to
+	all __always_inline__ functions.
+	* config/i386/mmintrin.h: Likewise.
+	* config/i386/tmmintrin.h: Likewise.
+	* config/i386/mm3dnow.h: Likewise.
+	* config/i386/pmmintrin.h: Likewise.
+	* config/i386/ammintrin.h: Likewise.
+	* config/i386/xmmintrin.h: Likewise.
+	* config/i386/smmintrin.h: Likewise.
+	* config/i386/bmmintrin.h: Likewise.
+	* config/i386/mmintrin-common.h: Likewise.
+
+	PR middle-end/28755
+	* expr.c (expand_constructor): New function.
+	(expand_expr_real_1) <case CONSTRUCTOR>: Call it.
+	(expand_expr_real_1) <case ARRAY_REF>: Call it if VALUE is
+	CONSTRUCTOR.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (dump_constants_1): Generalize to include
+	fractional and accumulator modes.
+
+2007-09-23  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (ISA_HAS_DSP, ISA_HAS_DSPR2): New macros.
+	* config/mips/mips.c (mips_set_mips16_mode): Don't clear the DSP
+	flags for MIPS16.
+	(override_options): Check TARGET_HARD_FLOAT_ABI instead of
+	TARGET_HARD_FLOAT when testing whether -mpaired-single is
+	supported.
+	(mips_conditional_register_usage): Check ISA_HAS_DSP instead of
+	TARGET_DSP.
+	* config/mips/constraints.md (ka): Check ISA_HAS_DSPR2 instead of
+	TARGET_DSPR2.
+	* config/mips/mips.md (ANYF): Require TARGET_HARD_FLOAT for V2SF.
+	(mulv2sf3, movv2sf, movv2sf_hardfloat_64bit): Require
+	TARGET_HARD_FLOAT.
+	(<u>mulsidi3_32bit_internal, <u>msubsidi4, <u>maddsidi4): Check
+	ISA_HAS_DSPR2 instead of TARGET_HAS_DSPR2.
+	* config/mips/mips-dsp.md: Use ISA_HAS_DSP instead of TARGET_HAS_DSP
+	throughout.
+	* config/mips/mips-dspr2.md: Likewise ISA_HAS_DSPR2 and
+	TARGET_HAS_DSPR2.
+	* config/mips/mips-fixed.md: Use ISA_HAS_DSP and ISA_HAS_DSPR2
+	instead of TARGET_HAS_DSP and TARGET_HAS_DSPR2.
+	* config/mips/mips-ps-3d.md: Add TARGET_HARD_FLOAT to V2SF patterns.
+
+2007-09-22  Jason Merrill  <jason@redhat.com>
+
+	PR c++/19407
+	* attribs.c (lookup_attribute_spec): Split out...
+	(decl_attributes): From here.
+	* tree.h: Declare it.
+
+2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* doc/sourcebuild.texi: Document dg-add-options mips16_attribute.
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-inline.c (remap_type_1): Correctly chain variants.
+
+2007-09-22  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33146
+	* fold-const.c (fold_binary): Use the original tree for negating.
+	* tree.h (STRIP_SIGN_NOPS): Converting from or to pointer
+	also changes "sign".
+
+2007-09-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR target/32325
+	* except.c (finish_eh_generation): Call commit_edge_insertions if
+	there are insns queued on the entry edge.
+	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns on
+	the entry edge.
+
+2007-09-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* doc/sourcebuild.texi (dg-add-c99-runtime-options): Document.
+
+2007-09-19  Michael Meissner  <michael.meissner@amd.com>
+
+	* config/i386/i386.c: Delete trailing whitespace.
+	* config/i386/i386.h: Ditto.
+	* config/i386/bmmintrin.h: Ditto.
+	* config/i386/sync.md: Ditto.
+	* config/i386/ppro.md: Ditto.
+	* config/i386/mmx.md: Ditto.
+	* config/i386/constraints.md: Ditto.
+	* config/i386/sse.md: Ditto.
+	* config/i386/athlon.md: Ditto.
+	* config/i386/i386.md: Ditto.
+
+2007-09-21  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33508
+	* tree-ssa-alias.c (mark_aliases_call_clobbered): Avoid
+	quadratic loop by keeping a bitmap of variables we have
+	to clobber all subvariables for.
+	(set_initial_properties): Likewise.
+
+2007-09-21  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Delete.
+
+2007-09-20  Nigel Stephens  <nigel@mips.com>
+	    Chao-ying Fu  <fu@mips.com>
+
+	* c-decl.c (finish_declspecs): When _Sat is used without
+	_Fract or _Accum, set the default type to cts_fract.
+	This avoids a warning of "type defaults to int".
+
+2007-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+	* c-decl.c (check_bitfield_type_and_width): Don't allow _Bool
+	bit-fields wider than one bit.
+
+2007-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/33316
+	* dwarf2out.c (modified_type_die): Handle TYPE_DECL with NULL
+	DECL_NAME.
+	* dbxout.c (dbxout_type): Likewise.
+
+	PR c/33238
+	PR c/27301
+	* gimplify.c (gimplify_vla_decl): New function.
+	(gimplify_decl_expr): Move VLA decl handling to gimplify_vla_decl.
+	Call it.
+	(gimplify_target_expr): Handle variable length TARGET_EXPRs.
+
+2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* doc/invoke.texi (-minterlink-mips16): Document.
+	* config/mips/mips.opt (minterlink-mips16): New option.
+	* config/mips/mips.c (mips_function_ok_for_sibcall): Handle
+	-minterlink-mips16
+
+2007-09-20  Joseph Myers  <joseph@codesourcery.com>
+
+	* doc/extend.texi (Attribute Syntax): Remove old speculative
+	future direction.
+
+2007-09-20  Mark Shinwell  <shinwell@codesourcery.com>
+
+	* combine.c: Include cgraph.h.
+	(setup_incoming_promotions): Rework to allow more aggressive
+	elimination of sign extensions when all call sites of the
+	current function are known to lie within the current unit.
+
+2007-09-20  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* dse.c (find_shift_sequence): No-op rework of control flow.
+
+2007-09-19  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (build_mips16_call_stub): Tidy.  Fix second
+	GPR for DCmode on 64-bit targets.  Remove redundant fallback.
+
+2007-09-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* cfgexpand.c (dump_stack_var_partition): Use the correct
+	index for the offset.
+
+2007-09-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/sde.h: Switch to GPLv3.
+
+2007-09-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-sra.c (decide_block_copy): Decide if there are groups.
+
+2007-09-19  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.c (output_move_himode): Remove jump table
+	recognition.
+	config/m68k/m68k.md (lea): Likewise.
+	* config/m68k/m68k.c (print_operand_address): Use simple pc
+	relative addressing.
+
+2007-09-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* doc/tm.texi (IS_ASM_LOGICAL_LINE_SEPARATOR): Document new argument.
+	* final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide two-argument
+	default definition.
+	(asm_insn_count): Pass template as second argument to it.
+	* config/avr/avr.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+	* config/pa/pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+	* config/stormy16/stormy16.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+	* config/cris/cris.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+	* config/sh/sh.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Likewise.
+	(sh_insn_length_adjustment): Pass template as second argument to it.
+	* config/bfin/bfin.h (IS_ASM_LOGICAL_LINE_SEPARATOR): New macro.
+
+	* config/bfin/bfin.md (define_asm_attributes): New.
+
+2007-09-19  Jie Zhang  <jie.zhang@analog.com>
+
+	* config.gcc (bfin*-linux-uclibc*): Add ./linux-sysroot-suffix.h
+	to tm_file.
+	* config/bfin/print-sysroot-suffix.sh: New.
+	* config/bfin/t-bfin-elf (EXTRA_PARTS): Remove.
+	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+	* config/bfin/t-bfin-uclinux (EXTRA_PARTS): Remove.
+	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+	* config/bfin/t-bfin-linux (EXTRA_PARTS): Remove.
+	(MULTILIB_OPTIONS, MULTILIB_DIRNAMES, MULTILIB_MATCHES,
+	MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+	(linux-sysroot-suffix.h): New target.
+	* config/bfin/bfin.opt (mcsync-anomaly): Use Var instead of Mask.
+	(mspecld-anomaly): Likewise.
+	* config/bfin/bfin-protos.h (enum bfin_cpu_type): Renamed from
+	(enum bfin_cpu): ... this. Add BFIN_CPU_BF522, BFIN_CPU_BF525,
+	BFIN_CPU_BF527, BFIN_CPU_BF538, BFIN_CPU_BF539, BFIN_CPU_BF542,
+	BFIN_CPU_BF544, BFIN_CPU_BF548, and BFIN_CPU_BF549.
+	(bfin_si_revision): Declare.
+	(bfin_workarounds): Declare.
+	(WA_SPECULATIVE_LOADS): Define.
+	(ENABLE_WA_SPECULATIVE_LOADS): Define.
+	(WA_SPECULATIVE_SYNCS): Define.
+	(ENABLE_WA_SPECULATIVE_SYNCS): Define.
+	* config/bfin/elf.h (STARTFILE_SPEC): Rename crt532.o to basiccrt.o.
+	(LIB_SPEC): Add %s to the linker scripts.
+	Use proper linker script for bf522, bf525, bf527,
+	bf538, bf539, bf542, bf544, bf548, and bf549.
+	* config/bfin/bfin.c (bfin_si_revision): Define.
+	(bfin_workarounds): Define.
+	(struct bfin_cpu): New.
+	(bfin_cpus): New.
+	(bfin_handle_option): Handle silicon revision part of -mcpu option.
+	(override_options): Set bfin_workarounds.
+	(length_for_loop): Replace TARGET_CSYNC_ANOMALY with
+	ENABLE_WA_SPECULATIVE_SYNCS, TARGET_SPECLD_ANOMALY with
+	ENABLE_WA_SPECULATIVE_LOADS.
+	(bfin_reorg): Likewise.
+	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+	macros for bf522, bf525, bf527, bf538, bf539,
+	bf542, bf544, bf548, and bf549.
+	Define __SILICON_REVISION__ and __WORKAROUND_* macros if needed.
+	Don't define __ID_SHARED_LIB__ when -msep-data.
+	(TARGET_DEFAULT): Define as 0.
+	(DRIVER_SELF_SPECS): Add -mcpu=bf532 if no -mcpu option.
+	* doc/invoke.texi (Blackfin Options): Document silicon
+	revision part of -mcpu option and it now accepts bf522, bf525,
+	bf527, bf538, bf539, bf542, bf544, bf548, and bf549.
+
+2007-09-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (memory_modified_1): Deconstify.
+	(memory_modified_in_insn_p): Don't use const_note_stores.
+	* rtl.h (const_note_stores): Delete.
+	* rtlanal.c (const_note_stores): Likewise.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* dse.c (find_shift_sequence): Temporarily revert to forbidding
+	word shifts.
+
+2007-09-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/33388
+	PR target/33397
+	* config/fr30/fr30.md (addsi3): Check REG_P() before calling REGNO().
+	(addsi_small_int): Likewise.
+	(addsi_big_int): Use rtx_equal_p() instead of REGNO() comparison.
+	(one_cmplsi2): Likewise.
+	(negsi2): Delete.
+	(enter_func): Expand insn using hard_frame_pointer_rtx and
+	stack_pointer_rtx.
+	(*enter_func): New.
+	* config/fr30/fr30.c (fr30_expand_prologue): Check for
+	hard_frame_pointer_rtx instead of using REGNO() check.
+	Properly sign extend GEN_INT() argument.
+
+2007-09-18  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.c (override_options): Remove USE_GAS,
+	use %. syntax.
+	(output_dbcc_and_branch, output_scc_di): Replace all jbcc
+	alternatives with just jcc.
+	* config/m68k/m68k.md (addsi_lshrsi_31, beq0_di, bne0_di,
+	bge0_di, blt0_di, bgtu, bltu, bgeu, bleu, bgtu_rev,
+	bltu_rev, bgeu_rev, bleu_rev, jump, dbne_hi, dbne_si,
+	dbge_hi, dbge_si): Likewise.
+
+2007-09-18  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.md (beq, bne, bgt, blt, bge, ble, bordered,
+	bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt, beq_rev,
+	bne_rev, bgt_rev, blt_rev, bge_rev, ble_rev, bordered_rev,
+	bunordered_rev, buneq_rev, bunge_rev, bungt_rev, bunle_rev,
+	bunlt_rev, bltgt_rev): Replace all fbcc with fjcc.
+
+2007-09-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* config/m68k/m68k-devices.def (51qe): New device.
+	* config/m68k/m68k.c (FL_FOR_isa_c): Remove division unit.  Add it
+	to all uses of FL_FOR_isa_c for compatibility.
+	(all_microarchs): Add cfv1 microarchitecture.
+	(m68k_handle_option): Handle m51qe option.
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Handle 51QE.
+	(TUNE_CFV1): New macro.
+	(enum uarch_type): Add ucfv1.
+	* doc/invoke.texi: Document 51qe device and cfv1 microarchitecture.
+	
+2007-09-18  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31863
+	* tree-ssa-structalias.c (create_variable_info_for): Always
+	free the fieldstack.
+
+2007-09-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* opts.c (decode_options): Enable vectorization under -O3.
+
+2007-09-18  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33340
+	* tree-ssa-sccvn.c (set_ssa_val_to): Do not set values to
+	SSA_NAMEs that occur in abnormal PHI nodes.
+
+2007-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* tree-cfg.c (is_ctrl_altering_stmt, tree_block_ends_with_call_p):
+	Don't use const_get_call_expr_in.
+	* tree-gimple.c (const_get_call_expr_in): Delete.
+	* tree-gimple.h (const_get_call_expr_in): Likewise.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* df-scan.c (df_notes_rescan): Do nothing if the instruction does
+	not yet have a basic block.
+	* dse.c (find_shift_sequence): Don't set DF_NO_INSN_RESCAN.
+
+2007-09-18  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_file_start): Add ".previous" directives
+	to both ".section"s.
+
+2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_output_mi_thunk): Use
+	mips_function_ok_for_sibcall and const_call_insn_operand
+	to determine if a direct sibcall is allowed.  Use
+	mips_classify_symbol to determine a global pointer is needed.
+
+2007-09-17  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.md (*clear_upper32): Use "W" as the memory operand.
+
+2007-09-17  Chao-ying Fu  <fu@mips.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/fixed-bit.h: New file.
+	* config/fixed-bit.c: New file.
+	* doc/libgcc.texi (Fixed-point fractional library routines): New node.
+
+2007-09-18  Jakub Jelinek  <jakub@redhat.com>
+
+	* c-format.h (format_kind_info): Add alloc_char field.
+	* c-format.c (scanf_flag_specs): Add 'm'.
+	(scanf_flag_pairs): Add 'a', 'm' pair.
+	(scan_char_table): Allow 'm' modifier for c, s, [, C and S.
+	(format_types_orig): Add alloc_char fields.
+	(check_format_info_main): Rename aflag to alloc_flag.
+	Handle fki->alloc_char. modifier after width and before length
+	modifiers.  Move FMT_FLAG_SCANF_A_KLUDGE handling before
+	length modifiers as well.
+	* config/sol2-c.c (solaris_format_types): Add alloc_char field.
+
+	PR middle-end/33423
+	* builtins.c (expand_builtin_memory_chk): Handle COMPOUND_EXPRs
+	returned by build_call_expr.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-sra.c (maybe_lookup_element_for_expr) <COMPONENT_REF>: Return
+	NULL for variable-sized records too.
+	(sra_walk_expr) <COMPONENT_REF>: Stop at variable-sized records too.
+
+2007-09-17  Tom Tromey  <tromey@redhat.com>
+
+	* c-decl.c (pushdecl): Don't set DECL_LANG_SPECIFIC.
+	(c_builtin_function): Likewise.
+	(grokdeclarator): Likewise.
+
+2007-09-17  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR rtl-optimization/26449
+	* loop-invariant.c (move_invariant_reg): Do not use force_operand.
+	(seq_insns_valid_p): Removed.
+
+2007-09-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-nomudflap.c (gate_mudflap): New static function.
+	(pass_mudflap_1): Use it as gate function.
+	(pass_mudflap_2): Likewise.
+
+2007-09-17  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/33348
+	PR target/33406
+	* loop-invariant.c (move_invariant_reg): Unshare sequence.
+
+2007-09-17  Victor Kaplansky  <victork@il.ibm.com>
+
+	PR tree-optimization/33319
+	* tree-vect-analyze.c (vect_same_range_drs): New.
+	(vect_vfa_range_equal): New.
+	(vect_is_duplicate_ddr): Removed.
+	(vect_mark_for_runtime_alias_test): Do not perform marking when
+	optimizing for size or max_param for alias checking is zero.
+	Move the function before vect_analyze_data_ref_dependence.
+	(vect_analyze_data_ref_dependence): Add call to
+	vect_mark_for_runtime_alias_test in two cases when dependence
+	is not clear.
+	(vect_analyze_data_ref_dependences): Do not call to
+	vect_mark_for_runtime_alias_test.
+	(vect_prune_runtime_alias_test_list): New.
+	(vect_analyze_loop): Add call to vect_prune_runtime_alias_test_list.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters):
+	Update vec_outside_cost.
+	(vect_vfa_segment_size): More compact code, use TYPE_SIZE_UNIT.
+	(vect_create_cond_for_alias_checks): Build the base address of data
+	reference from DR_GROUP_FIRST_DR.
+	(vect_loop_versioning): New.
+	(vect_transform_loop): Add a call to vect_loop_versioning.
+	Remove factored out code.
+
+2007-09-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/33273
+	* expr.c (store_expr): Call adjust_address to change mode of dest_mem
+	to BLKmode.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* dse.c (find_shift_sequence): Allow word as well as subword shifts.
+	Do the tentative shift expansion with the DF_NO_INSN_RESCAN flag set.
+	Fix the call to insn_rtx_cost.  Skip access sizes that require a
+	real truncation of the store register.  Use convert_move instead
+	of gen_lowpart when narrowing the result.
+	(replace_read): Use convert_move instead of gen_lowpart when
+	narrowing the store rhs.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.md (SHORT): Fix long line.
+	(SUBDI): New mode iterator.  Extend the shift-and-truncate insns
+	to QImode and HImode.
+
+2007-09-16  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.h (POINTERS_EXTEND_UNSIGNED): Define.
+
+2007-09-15  Zdenek Dvorak  <ook@ucw.cz>
+
+	* tree-parloops.c: New file.
+	* tree-ssa-operands.h (free_stmt_operands): Declare.
+	* tree-ssa-loop-manip.c (split_loop_exit_edge): Return the new basic
+	block.
+	* tree-pass.h (pass_parallelize_loops): Declare.
+	* omp-low.c (expand_omp_parallel, expand_omp_for): Update SSA form for
+	virtual operands.
+	(build_omp_regions_1): Allow analysing just a single OMP region and
+	its subregions.
+	( build_omp_regions_root, omp_expand_local): New functions.
+	(build_omp_regions): Add argument to build_omp_regions_1 call.
+	* builtins.def (DEF_GOMP_BUILTIN): Initialize OMP builtins when
+	autoparallelization is run.
+	* timevar.def (TV_TREE_PARALLELIZE_LOOPS): New.
+	* tree-ssa-loop.c (gate_tree_parallelize_loops, tree_parallelize_loops,
+	pass_parallelize_loops): New.
+	* common.opt (ftree-parallelize-loops): New.
+	* tree-flow.h (omp_expand_local, tree_duplicate_sese_tail,
+	parallelize_loops): Declare.
+	(add_phi_args_after_copy, split_loop_exit_edge): Declaration changed.
+	* Makefile.in (tree-parloops.o): Added.
+	* tree-cfg.c (add_phi_args_after_copy_edge, tree_duplicate_sese_tail):
+	New functions.
+	(add_phi_args_after_copy_bb): Use add_phi_args_after_copy_edge.
+	(add_phi_args_after_copy): Call add_phi_args_after_copy_edge for
+	one extra edge as well.
+	(tree_duplicate_sese_region): Add argument to add_phi_args_after_copy.
+	Use VEC_free to free doms vector.
+	(move_block_to_fn): Update loop info. Remove phi nodes for virtual
+	operands.  Recompute operand caches in the new function.
+	(move_sese_region_to_fn): Update loop info.
+	* passes.c (init_optimization_passes): Add pass_parallelize_loops.
+	* tree-ssa-operands.c (free_stmt_operands): New function.
+
+	* doc/passes.texi: Document autoparallelization.
+	* doc/invoke.texi (-ftree-parallelize-loops): New option.
+
+2007-09-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/33062
+	* pa.c (function_value): Use GET_MODE_BITSIZE instead of
+	TYPE_PRECISION.
+
+2007-09-15  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vect-transform.c (vect_get_vec_defs_for_stmt_copy): check if 
+	the VEC is not NULL.
+	(vectorizable_type_demotion, vectorizable_type_promotion): Check that 
+	get_vectype_for_scalar_type succeeded.
+	(vectorizable_conversion): Likewise.
+
+2007-09-14  Jan Hubicka  <jh@suse.cz>
+
+	* config/i386/i386.md (*floatdi<mode>2_i387): Guard against
+	TARGET_64BIT.
+
+2007-09-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/33438
+	* config/i386/i386.md (fmodxf3): Copy operands[2] to temporary
+	register when operands[2] equals operands[1].
+	(remainderxf3): Ditto.
+
+2007-09-14  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* doc/tm.texi (LIBGCC2_UNWIND_ATTRIBUTE): Document.
+	* unwind-generic.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
+	(_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE to declaration.
+	(_Unwind_ForcedUnwind): Likewise.
+	(_Unwind_Resume): Likewise.
+	(_Unwind_Resume_or_Rethrow): Likewise.
+	(_Unwind_Backtrace): Likewise.
+	(_Unwind_SjLj_RaiseException): Likewise.
+	(_Unwind_SjLj_ForcedUnwind): Likewise.
+	(_Unwind_SjLj_Resume): Likewise.
+	(_Unwind_SjLj_Resume_or_Rethrow): Likewise.
+	* unwind.inc (_Unwind_RaiseException): Add LIBGCC2_UNWIND_ATTRIBUTE
+	to definition.
+	(_Unwind_ForcedUnwind): Likewise.
+	(_Unwind_Resume): Likewise.
+	(_Unwind_Resume_or_Rethrow): Likewise.
+	(_Unwind_Backtrace): Likewise.
+	* unwind-compat.c (_Unwind_Backtrace): Likewise.
+	(_Unwind_ForcedUnwind): Likewise.
+	(_Unwind_RaiseException): Likewise.
+	(_Unwind_Resume): Likewise.
+	(_Unwind_Resume_or_Rethrow): Likewise.
+
+	* config/mips/mips.h (LIBGCC2_UNWIND_ATTRIBUTE): Define to force
+	nomips16 mode when IN_LIBGCC2 with hard float.
+
+2007-09-14  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/sdemtk.opt: Update to GPLv3.
+	* config/mips/sdemtk.h: Likewise.
+
+2007-09-14  Nigel Stephens  <nigel@mips.com>
+
+	* config.gcc (mips*-*-linux*): Recognise mipsisa32r2 and set
+	MIPS_ISA_DEFAULT appropriately.  Don't make soft-float the default
+	for mipsisa32-*-linux*.
+
+2007-09-14  Nigel Stephens  <nigel@mips.com>
+	    David Ung  <davidu@mips.com>
+	    Thiemo Seufer  <ths@mips.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (mips*-sde-elf*): Add support for the SDE C libraries.
+	* configure.ac: Add a mipssde threading type.
+	* configure: Regenerate.
+	* config/mips/sdemtk.h: New file.
+	* config/mips/t-sdemtk: Likewise.
+	* config/mips/sdemtk.opt: Likewise.
+	* gthr-mipssde.h: Likewise.
+	* config/mips/sde.h (FUNCTION_PROFILER): Move to config/mips/sdemtk.h.
+	* config/mips/mips.h (MIPS_SAVE_REG_FOR_PROFILING_P): New macro.
+	(MIPS_ICACHE_SYNC): New macro, split from ...
+	* config/mips/mips.md (clear_cache): ...here.
+	* config/mips/mips.c (mips_save_reg_p): Check
+	MIPS_SAVE_REG_FOR_PROFILING_P on profiled functions.
+	(build_mips16_function_stub): Use targetm.strip_name_encoding.
+	(build_mips16_call_stub): Likewise.
+
+2007-09-14  Richard Sandiford  <richard@codesourcery.com>
+
+	* Makefile.in (stmp-int-hdrs): Depend on fixinc_list.
+
+2007-09-14  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/32337
+	* config/ia64/ia64.c (find_gr_spill): Don't decrement
+	current_frame_info.n_local_regs.  Don't return emitted local regs.
+	(ia64_compute_frame_size): Improve unwind hack to put
+	RP, PFS, FP in that order by allowing some of the registers
+	been already emitted, as long as they are emitted to the
+	desired register.
+
+2007-09-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	* config/spu/vmx2spu.h (vec_extract, vec_insert, vec_lvlx,
+	vec_lvlxl, vec_lvrx, vec_lvrxl, vec_promote, vec_splats,
+	vec_stvlx, vec_stvlxl, vec_stvrx, vec_stvrxl): New intrinsics.
+
+2007-09-13  Eric Christopher  <echristo@apple.com>
+	    Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* dse.c (find_shift_sequence): New function.
+	(replace_read): Add case to remove read if it requires shift.
+	* config/i386/i386.c (ix86_expand_prologue): Fixed typo in comment.
+	
+2007-09-13  Tom Tromey  <tromey@redhat.com>
+
+	* c-common.c (fname_as_string): Update.
+	* c-parser.c (c_parser) <lex_untranslated_string>: New field.
+	(c_lex_one_token): Update.  Add 'parser' argument.
+	(c_parser_simple_asm_expr): Update.
+	(c_parser_attributes): Update.
+	(c_parser_asm_statement): Update.
+	(c_parser_asm_operands): Update.
+	(c_parser_peek_token): Update.
+	(c_parser_peek_2nd_token): Update.
+	* c-lex.c (c_lex_string_translate): Remove.
+	(c_lex_return_raw_strings): Likewise.
+	(c_lex_with_flags): Added 'lex_flags' argument.
+	(lex_string): Added 'translate' argument.
+	* c-pragma.h (c_lex_with_flags): Update.
+	(c_lex_string_translate, c_lex_return_raw_strings): Remove.
+	(C_LEX_STRING_NO_TRANSLATE): New define.
+	(C_LEX_RAW_STRINGS): Likewise.
+
+2007-09-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	From Jie Zhang:
+	* config/bfin/bfin.c (enum bfin_builtins): Add BFIN_BUILTIN_ONES,
+	BFIN_BUILTIN_CPLX_MUL_16_S40, BFIN_BUILTIN_CPLX_MAC_16_S40,
+	BFIN_BUILTIN_CPLX_MSU_16_S40, and BFIN_BUILTIN_CPLX_SQU.
+	(bfin_init_builtins): Initialize __builtin_bfin_ones,
+	__builtin_bfin_min_fr1x16, __builtin_bfin_max_fr1x16,
+	__builtin_bfin_min_fr1x32, __builtin_bfin_max_fr1x32,
+	__builtin_bfin_cmplx_add, __builtin_bfin_cmplx_sub,
+	__builtin_bfin_cmplx_mul_s40, __builtin_bfin_cmplx_mac_s40,
+	__builtin_bfin_cmplx_msu_s40 and __builtin_bfin_csqu_fr16.
+	(bdesc_1arg): Add __builtin_bfin_ones.
+	(bfin_expand_builtin): Expand __builtin_bfin_cmplx_mul_s40,
+	__builtin_bfin_cmplx_mac_s40, __builtin_bfin_cmplx_msu_s40,
+	and __builtin_bfin_csqu_fr16.
+	* config/bfin/bfin.md (UNSPEC_ONES): New constant.
+	(ones): New define_insn.
+	(ssaddhi3_parts): New define_insn.
+	(sssubhi3_parts): New define_insn.
+	(flag_mulhi_parts): New define_insn.
+
+2007-09-13  Seongbae Park <seongbae.park@gmail.com>
+
+	* common.opt (femit-class-debug-always): Turn off by default.
+
+2007-09-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (reload_outpdi, reload_inpdi): New patterns.
+	* config/bfin/bfin.c (bfin_secondary_reload): Make sure we use them.
+
+2007-09-13  James E. Wilson  <wilson@specifix.com>
+
+	PR tree-optimization/33389
+	* tree-ssa-operands.c (append_vuse): If ann->in_vdef_list true,
+	then set build_loads before returning.
+
+2007-09-13  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips.h (ASM_OUTPUT_REG_PUSH): Replace {d}subu with
+	{d}addiu and a negative	immediate such that it works with MIPS16
+	instructions.
+	
+2007-09-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR bootstrap/33418
+	* configure.ac (ld_vers): Support Linux linker.
+	* configure: Regenerated.
+
+2007-09-13  Richard Sandiford  <richard@codesourcery.com>
+	    Sandra Loosemore <sandra@codesourcery.com>
+
+	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Delete.
+	(SYMBOL_REF_MIPS16_FUNC_P): Delete.
+	* config/mips/mips.c (mips_attribute_table): Turn mips16 and
+	nomips16 into decl attributes.
+	(TARGET_INSERT_ATTRIBUTES): Override.
+	(TARGET_MERGE_DECL_ATTRIBUTES): Likewise.
+	(TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): Always return true.
+	(mips_mips16_type_p, mips_nomips16_type_p): Delete in favor of...
+	(mips_mips16_decl_p, mips_nomips16_decl_p): ...these new functions.
+	(mips_comp_type_attributes): Remove mips16 and nomips16 handling.
+	(mips_use_mips16_mode_p): Reimplement as a function that takes
+	a decl and considers only decl attributes.  If the decl is nested
+	function, use its parent attributes.
+	(mips_function_ok_for_sibcall): Use mips_use_mips16_mode_p
+	instead of SYMBOL_REF_MIPS16_FUNC_P.
+	(mips_set_mips16_mode): Move call to sorry here from old
+	mips_use_mips16_mode_p.
+	(mflip_mips16_entry): New structure.
+	(mflip_mips16_htab): New variable.
+	(mflip_mips16_htab_hash, mflip_mips16_htab_eq): New functions.
+	(mflip_mips16_use_mips16_p, mips_insert_attributes): Likewise.
+	(mips_merge_decl_attributes): New function.
+	(mips_set_current_function): Reinstate call to mips_set_mips16_mode.
+	Use mips_use_mips16_mode_p.
+	(mips_output_mi_thunk): Use mips_use_mips16_mode_p instead of
+	SYMBOL_REF_MIPS16_FUNC_P.
+	(mips_encode_section_info): Don't set SYMBOL_FLAG_MIPS16_FUNC.
+
+2007-09-13  Richard Sandiford  <richard@codesourcery.com>
+
+	* c-parser.c (c_parser_struct_declaration): Check for a null return.
+
+2007-09-13  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR driver/33309
+	* gcc.c (xputenv): Make argument const, and use CONST_CAST.
+
+2007-09-12  Michael Meissner  <michael.meissner@amd.com>
+	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+	    Tony Linthicum  <tony.linthicum@amd.com>
+
+	* tree.h (function_args_iterator): New type to iterate over
+	function arguments.
+	(FOREACH_FUNCTION_ARGS_PTR): Iterator macros for iterating over
+	function arguments providing a pointer to the argument.
+	(FOREACH_FUNCTION_ARGS): Iterator macros for iterating over
+	function arguments providing the argument.
+	(function_args_iter_init): Inline function to initialize
+	function_args_iterator.
+	(function_args_iter_cond_ptr): Inline function to return the next
+	pointer to hold the argument.
+	(function_args_iter_cond): Inline function to return the next
+	argument.
+	(function_args_iter_cond_next): Advance the function args iterator.
+	(stdarg_p): New function, return true if variable argument function.
+	(prototype_p): New function, return true if function is prototyped.
+	(function_args_count): New function, count the number of arguments
+	of a function.
+
+	* tree.c (stdarg_p): New function, return true if variable
+	argument function.
+	(prototype_p): New function, return true if function is prototyped.
+
+	* config/i386/i386.h (TARGET_SSE5): New macro for SSE5.
+	(TARGET_ROUND): New macro for the round/ptest instructions which
+	are shared between SSE4.1 and SSE5.
+	(OPTION_MASK_ISA_ROUND): Ditto.
+	(OPTION_ISA_ROUND): Ditto.
+	(TARGET_FUSED_MADD): New macro for -mfused-madd swtich.
+	(TARGET_CPU_CPP_BUILTINS): Add SSE5 support.
+
+	* config/i386/i386.opt (-msse5): New switch for SSE5 support.
+	(-mfused-madd): New switch to give users control over whether the
+	compiler optimizes to use the multiply/add SSE5 instructions.
+
+	* config/i386/i386.c (m_AMD_MULTIPLE): Rename from
+	m_ATHLON_K8_AMDFAM10, and change all uses.
+	(enum pta_flags): Add PTA_SSE5.
+	(ix86_handle_option): Turn off 3dnow if -msse5.
+	(override_options): Add SSE5 support.
+	(print_operand): %Y prints comparison codes for SSE5 com/pcom
+	instructions.
+	(ix86_expand_sse_movcc): Add SSE5 support.
+	(ix86_expand_sse5_unpack): New function to use pperm to unpack a
+	vector type to the next largest size.
+	(ix86_expand_sse5_pack): New function to use pperm to pack a
+	vector type to the next smallest size.
+	(IX86_BUILTIN_FMADDSS): New for SSE5 intrinsic.
+	(IX86_BUILTIN_FMADDSD): Ditto.
+	(IX86_BUILTIN_FMADDPS): Ditto.
+	(IX86_BUILTIN_FMADDPD): Ditto.
+	(IX86_BUILTIN_FMSUBSS): Ditto.
+	(IX86_BUILTIN_FMSUBSD): Ditto.
+	(IX86_BUILTIN_FMSUBPS): Ditto.
+	(IX86_BUILTIN_FMSUBPD): Ditto.
+	(IX86_BUILTIN_FNMADDSS): Ditto.
+	(IX86_BUILTIN_FNMADDSD): Ditto.
+	(IX86_BUILTIN_FNMADDPS): Ditto.
+	(IX86_BUILTIN_FNMADDPD): Ditto.
+	(IX86_BUILTIN_FNMSUBSS): Ditto.
+	(IX86_BUILTIN_FNMSUBSD): Ditto.
+	(IX86_BUILTIN_FNMSUBPS): Ditto.
+	(IX86_BUILTIN_FNMSUBPD): Ditto.
+	(IX86_BUILTIN_PCMOV_V2DI): Ditto.
+	(IX86_BUILTIN_PCMOV_V4SI): Ditto.
+	(IX86_BUILTIN_PCMOV_V8HI): Ditto.
+	(IX86_BUILTIN_PCMOV_V16QI): Ditto.
+	(IX86_BUILTIN_PCMOV_V4SF): Ditto.
+	(IX86_BUILTIN_PCMOV_V2DF): Ditto.
+	(IX86_BUILTIN_PPERM): Ditto.
+	(IX86_BUILTIN_PERMPS): Ditto.
+	(IX86_BUILTIN_PERMPD): Ditto.
+	(IX86_BUILTIN_PMACSSWW): Ditto.
+	(IX86_BUILTIN_PMACSWW): Ditto.
+	(IX86_BUILTIN_PMACSSWD): Ditto.
+	(IX86_BUILTIN_PMACSWD): Ditto.
+	(IX86_BUILTIN_PMACSSDD): Ditto.
+	(IX86_BUILTIN_PMACSDD): Ditto.
+	(IX86_BUILTIN_PMACSSDQL): Ditto.
+	(IX86_BUILTIN_PMACSSDQH): Ditto.
+	(IX86_BUILTIN_PMACSDQL): Ditto.
+	(IX86_BUILTIN_PMACSDQH): Ditto.
+	(IX86_BUILTIN_PMADCSSWD): Ditto.
+	(IX86_BUILTIN_PMADCSWD): Ditto.
+	(IX86_BUILTIN_PHADDBW): Ditto.
+	(IX86_BUILTIN_PHADDBD): Ditto.
+	(IX86_BUILTIN_PHADDBQ): Ditto.
+	(IX86_BUILTIN_PHADDWD): Ditto.
+	(IX86_BUILTIN_PHADDWQ): Ditto.
+	(IX86_BUILTIN_PHADDDQ): Ditto.
+	(IX86_BUILTIN_PHADDUBW): Ditto.
+	(IX86_BUILTIN_PHADDUBD): Ditto.
+	(IX86_BUILTIN_PHADDUBQ): Ditto.
+	(IX86_BUILTIN_PHADDUWD): Ditto.
+	(IX86_BUILTIN_PHADDUWQ): Ditto.
+	(IX86_BUILTIN_PHADDUDQ): Ditto.
+	(IX86_BUILTIN_PHSUBBW): Ditto.
+	(IX86_BUILTIN_PHSUBWD): Ditto.
+	(IX86_BUILTIN_PHSUBDQ): Ditto.
+	(IX86_BUILTIN_PROTB): Ditto.
+	(IX86_BUILTIN_PROTW): Ditto.
+	(IX86_BUILTIN_PROTD): Ditto.
+	(IX86_BUILTIN_PROTQ): Ditto.
+	(IX86_BUILTIN_PROTB_IMM): Ditto.
+	(IX86_BUILTIN_PROTW_IMM): Ditto.
+	(IX86_BUILTIN_PROTD_IMM): Ditto.
+	(IX86_BUILTIN_PROTQ_IMM): Ditto.
+	(IX86_BUILTIN_PSHLB): Ditto.
+	(IX86_BUILTIN_PSHLW): Ditto.
+	(IX86_BUILTIN_PSHLD): Ditto.
+	(IX86_BUILTIN_PSHLQ): Ditto.
+	(IX86_BUILTIN_PSHAB): Ditto.
+	(IX86_BUILTIN_PSHAW): Ditto.
+	(IX86_BUILTIN_PSHAD): Ditto.
+	(IX86_BUILTIN_PSHAQ): Ditto.
+	(IX86_BUILTIN_FRCZSS): Ditto.
+	(IX86_BUILTIN_FRCZSD): Ditto.
+	(IX86_BUILTIN_FRCZPS): Ditto.
+	(IX86_BUILTIN_FRCZPD): Ditto.
+	(IX86_BUILTIN_CVTPH2PS): Ditto.
+	(IX86_BUILTIN_CVTPS2PH): Ditto.
+	(IX86_BUILTIN_COMEQSS): Ditto.
+	(IX86_BUILTIN_COMNESS): Ditto.
+	(IX86_BUILTIN_COMLTSS): Ditto.
+	(IX86_BUILTIN_COMLESS): Ditto.
+	(IX86_BUILTIN_COMGTSS): Ditto.
+	(IX86_BUILTIN_COMGESS): Ditto.
+	(IX86_BUILTIN_COMUEQSS): Ditto.
+	(IX86_BUILTIN_COMUNESS): Ditto.
+	(IX86_BUILTIN_COMULTSS): Ditto.
+	(IX86_BUILTIN_COMULESS): Ditto.
+	(IX86_BUILTIN_COMUGTSS): Ditto.
+	(IX86_BUILTIN_COMUGESS): Ditto.
+	(IX86_BUILTIN_COMORDSS): Ditto.
+	(IX86_BUILTIN_COMUNORDSS): Ditto.
+	(IX86_BUILTIN_COMFALSESS): Ditto.
+	(IX86_BUILTIN_COMTRUESS): Ditto.
+	(IX86_BUILTIN_COMEQSD): Ditto.
+	(IX86_BUILTIN_COMNESD): Ditto.
+	(IX86_BUILTIN_COMLTSD): Ditto.
+	(IX86_BUILTIN_COMLESD): Ditto.
+	(IX86_BUILTIN_COMGTSD): Ditto.
+	(IX86_BUILTIN_COMGESD): Ditto.
+	(IX86_BUILTIN_COMUEQSD): Ditto.
+	(IX86_BUILTIN_COMUNESD): Ditto.
+	(IX86_BUILTIN_COMULTSD): Ditto.
+	(IX86_BUILTIN_COMULESD): Ditto.
+	(IX86_BUILTIN_COMUGTSD): Ditto.
+	(IX86_BUILTIN_COMUGESD): Ditto.
+	(IX86_BUILTIN_COMORDSD): Ditto.
+	(IX86_BUILTIN_COMUNORDSD): Ditto.
+	(IX86_BUILTIN_COMFALSESD): Ditto.
+	(IX86_BUILTIN_COMTRUESD): Ditto.
+	(IX86_BUILTIN_COMEQPS): Ditto.
+	(IX86_BUILTIN_COMNEPS): Ditto.
+	(IX86_BUILTIN_COMLTPS): Ditto.
+	(IX86_BUILTIN_COMLEPS): Ditto.
+	(IX86_BUILTIN_COMGTPS): Ditto.
+	(IX86_BUILTIN_COMGEPS): Ditto.
+	(IX86_BUILTIN_COMUEQPS): Ditto.
+	(IX86_BUILTIN_COMUNEPS): Ditto.
+	(IX86_BUILTIN_COMULTPS): Ditto.
+	(IX86_BUILTIN_COMULEPS): Ditto.
+	(IX86_BUILTIN_COMUGTPS): Ditto.
+	(IX86_BUILTIN_COMUGEPS): Ditto.
+	(IX86_BUILTIN_COMORDPS): Ditto.
+	(IX86_BUILTIN_COMUNORDPS): Ditto.
+	(IX86_BUILTIN_COMFALSEPS): Ditto.
+	(IX86_BUILTIN_COMTRUEPS): Ditto.
+	(IX86_BUILTIN_COMEQPD): Ditto.
+	(IX86_BUILTIN_COMNEPD): Ditto.
+	(IX86_BUILTIN_COMLTPD): Ditto.
+	(IX86_BUILTIN_COMLEPD): Ditto.
+	(IX86_BUILTIN_COMGTPD): Ditto.
+	(IX86_BUILTIN_COMGEPD): Ditto.
+	(IX86_BUILTIN_COMUEQPD): Ditto.
+	(IX86_BUILTIN_COMUNEPD): Ditto.
+	(IX86_BUILTIN_COMULTPD): Ditto.
+	(IX86_BUILTIN_COMULEPD): Ditto.
+	(IX86_BUILTIN_COMUGTPD): Ditto.
+	(IX86_BUILTIN_COMUGEPD): Ditto.
+	(IX86_BUILTIN_COMORDPD): Ditto.
+	(IX86_BUILTIN_COMUNORDPD): Ditto.
+	(IX86_BUILTIN_COMFALSEPD): Ditto.
+	(IX86_BUILTIN_COMTRUEPD): Ditto.
+	(IX86_BUILTIN_PCOMEQUB): Ditto.
+	(IX86_BUILTIN_PCOMNEUB): Ditto.
+	(IX86_BUILTIN_PCOMLTUB): Ditto.
+	(IX86_BUILTIN_PCOMLEUB): Ditto.
+	(IX86_BUILTIN_PCOMGTUB): Ditto.
+	(IX86_BUILTIN_PCOMGEUB): Ditto.
+	(IX86_BUILTIN_PCOMFALSEUB): Ditto.
+	(IX86_BUILTIN_PCOMTRUEUB): Ditto.
+	(IX86_BUILTIN_PCOMEQUW): Ditto.
+	(IX86_BUILTIN_PCOMNEUW): Ditto.
+	(IX86_BUILTIN_PCOMLTUW): Ditto.
+	(IX86_BUILTIN_PCOMLEUW): Ditto.
+	(IX86_BUILTIN_PCOMGTUW): Ditto.
+	(IX86_BUILTIN_PCOMGEUW): Ditto.
+	(IX86_BUILTIN_PCOMFALSEUW): Ditto.
+	(IX86_BUILTIN_PCOMTRUEUW): Ditto.
+	(IX86_BUILTIN_PCOMEQUD): Ditto.
+	(IX86_BUILTIN_PCOMNEUD): Ditto.
+	(IX86_BUILTIN_PCOMLTUD): Ditto.
+	(IX86_BUILTIN_PCOMLEUD): Ditto.
+	(IX86_BUILTIN_PCOMGTUD): Ditto.
+	(IX86_BUILTIN_PCOMGEUD): Ditto.
+	(IX86_BUILTIN_PCOMFALSEUD): Ditto.
+	(IX86_BUILTIN_PCOMTRUEUD): Ditto.
+	(IX86_BUILTIN_PCOMEQUQ): Ditto.
+	(IX86_BUILTIN_PCOMNEUQ): Ditto.
+	(IX86_BUILTIN_PCOMLTUQ): Ditto.
+	(IX86_BUILTIN_PCOMLEUQ): Ditto.
+	(IX86_BUILTIN_PCOMGTUQ): Ditto.
+	(IX86_BUILTIN_PCOMGEUQ): Ditto.
+	(IX86_BUILTIN_PCOMFALSEUQ): Ditto.
+	(IX86_BUILTIN_PCOMTRUEUQ): Ditto.
+	(IX86_BUILTIN_PCOMEQB): Ditto.
+	(IX86_BUILTIN_PCOMNEB): Ditto.
+	(IX86_BUILTIN_PCOMLTB): Ditto.
+	(IX86_BUILTIN_PCOMLEB): Ditto.
+	(IX86_BUILTIN_PCOMGTB): Ditto.
+	(IX86_BUILTIN_PCOMGEB): Ditto.
+	(IX86_BUILTIN_PCOMFALSEB): Ditto.
+	(IX86_BUILTIN_PCOMTRUEB): Ditto.
+	(IX86_BUILTIN_PCOMEQW): Ditto.
+	(IX86_BUILTIN_PCOMNEW): Ditto.
+	(IX86_BUILTIN_PCOMLTW): Ditto.
+	(IX86_BUILTIN_PCOMLEW): Ditto.
+	(IX86_BUILTIN_PCOMGTW): Ditto.
+	(IX86_BUILTIN_PCOMGEW): Ditto.
+	(IX86_BUILTIN_PCOMFALSEW): Ditto.
+	(IX86_BUILTIN_PCOMTRUEW): Ditto.
+	(IX86_BUILTIN_PCOMEQD): Ditto.
+	(IX86_BUILTIN_PCOMNED): Ditto.
+	(IX86_BUILTIN_PCOMLTD): Ditto.
+	(IX86_BUILTIN_PCOMLED): Ditto.
+	(IX86_BUILTIN_PCOMGTD): Ditto.
+	(IX86_BUILTIN_PCOMGED): Ditto.
+	(IX86_BUILTIN_PCOMFALSED): Ditto.
+	(IX86_BUILTIN_PCOMTRUED): Ditto.
+	(IX86_BUILTIN_PCOMEQQ): Ditto.
+	(IX86_BUILTIN_PCOMNEQ): Ditto.
+	(IX86_BUILTIN_PCOMLTQ): Ditto.
+	(IX86_BUILTIN_PCOMLEQ): Ditto.
+	(IX86_BUILTIN_PCOMGTQ): Ditto.
+	(IX86_BUILTIN_PCOMGEQ): Ditto.
+	(IX86_BUILTIN_PCOMFALSEQ): Ditto.
+	(IX86_BUILTIN_PCOMTRUEQ): Ditto.
+	(bdesc_ptest): Change OPTION_MASK_ISA_SSE4_1 to
+	OPTION_MASK_ISA_ROUND for instructions that are shared between
+	SSE4.1 and SSE5.
+	(bdesc_2arg): Ditto.
+	(bdesc_sse_3arg): Ditto.
+	(enum multi_arg_type): New enum for describing the various SSE5
+	intrinsic argument types.
+	(bdesc_multi_arg): New table for SSE5 intrinsics.
+	(ix86_init_mmx_sse_builtins): Add SSE5 intrinsic support.
+	(ix86_expand_multi_arg_builtin): New function for creating SSE5
+	intrinsics.
+	(ix86_expand_builtin): Add SSE5 intrinsic support.
+	(ix86_sse5_valid_op_p): New function to validate SSE5 3 and 4
+	operand instructions.
+	(ix86_expand_sse5_multiple_memory): New function to split the
+	second memory reference from SSE5 instructions.
+	(type_has_variadic_args_p): Delete in favor of stdarg_p.
+	(ix86_return_pops_args): Use stdarg_p to determine if the function
+	has variable arguments.
+	(ix86_setup_incoming_varargs): Ditto.
+	(x86_this_parameter): Ditto.
+
+	* config/i386/i386-protos.h (ix86_expand_sse5_unpack): Add
+	declaration.
+	(ix86_expand_sse5_pack): Ditto.
+	(ix86_sse5_valid_op_p): Ditto.
+	(ix86_expand_sse5_multiple_memory): Ditto.
+
+	* config/i386/i386.md (UNSPEC_SSE5_INTRINSIC): Add new UNSPEC
+	constant for SSE5 support.
+	(UNSPEC_SSE5_UNSIGNED_CMP): Ditto.
+	(UNSPEC_SSE5_TRUEFALSE): Ditto.
+	(UNSPEC_SSE5_PERMUTE): Ditto.
+	(UNSPEC_SSE5_ASHIFT): Ditto.
+	(UNSPEC_SSE5_LSHIFT): Ditto.
+	(UNSPEC_FRCZ): Ditto.
+	(UNSPEC_CVTPH2PS): Ditto.
+	(UNSPEC_CVTPS2PH): Ditto.
+	(PCOM_FALSE): Add new constant for true/false SSE5 comparisons.
+	(PCOM_TRUE): Ditto.
+	(COM_FALSE_S): Ditto.
+	(COM_FALSE_P): Ditto.
+	(COM_TRUE_S): Ditto.
+	(COM_TRUE_P): Ditto.
+	(type attribute): Add ssemuladd, sseiadd1, ssecvt1, sse4arg types.
+	(unit attribute): Add support for ssemuladd, ssecvt1, sseiadd1 sse4arg
+	types.
+	(memory attribute): Ditto.
+	(sse4_1_round<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
+	Use SSE4_1_ROUND_* constants instead of hard coded numbers.
+	(rint<mode>2): Use TARGET_ROUND instead of TARGET_SSE4_1.
+	(floor<mode>2): Ditto.
+	(ceil<mode>2): Ditto.
+	(btrunc<mode>2): Ditto.
+	(nearbyintdf2): Ditto.
+	(nearbyintsf2): Ditto.
+	(sse_setccsf): Disable if SSE5.
+	(sse_setccdf): Ditto.
+	(sse5_setcc<mode>): New support for SSE5 conditional move.
+	(sse5_pcmov_<mode>): Ditto.
+
+	* config/i386/sse.md (SSEMODE1248): New mode iterator for SSE5.
+	(SSEMODEF4): Ditto.
+	(SSEMODEF2P): Ditto.
+	(ssemodesuffixf4): New mode attribute for SSE5.
+	(ssemodesuffixf2s): Ditto.
+	(ssemodesuffixf2c): Ditto.
+	(sserotatemax): Ditto.
+	(ssescalarmode): Ditto.
+	(sse_maskcmpv4sf3): Disable if SSE5.
+	(sse_maskcmpv2df3): Ditto.
+	(sse_vmmaskcmpv4sf3): Ditto.
+	(sse5_fmadd<mode>4): Add SSE5 floating point multiply/add
+	instructions.
+	(sse5_vmfmadd<mode>4): Ditto.
+	(sse5_fmsub<mode>4): Ditto.
+	(sse5_vmfmsub<mode>4): Ditto.
+	(sse5_fnmadd<mode>4): Ditto.
+	(sse5_vmfnmadd<mode>4): Ditto.
+	(sse5_fnmsub<mode>4): Ditto.
+	(sse5_vmfnmsub<mode>4): Ditto.
+	(sse5i_fmadd<mode>4): Ditto.
+	(sse5i_fmsub<mode>4): Ditto.
+	(sse5i_fnmadd<mode>4): Ditto.
+	(sse5i_fnmsub<mode>4): Ditto.
+	(sse5i_vmfmadd<mode>4): Ditto.
+	(sse5i_vmfmsub<mode>4): Ditto.
+	(sse5i_vmfnmadd<mode>4): Ditto.
+	(sse5i_vmfnmsub<mode>4): Ditto.
+	(mulv16qi3): Add SSE5 support.
+	(mulv4si3): Ditto.
+	(sse5_mulv4si3): New insn for 32-bit multiply support on SSE5.
+	(sse2_mulv4si3): Disable if SSE5.
+	(sse4_1_roundpd): Use TARGET_ROUND instead of TARGET_SSE4_1.
+	(sse4_1_roundps): Ditto.
+	(sse4_1_roundsd): Ditto.
+	(sse4_1_roundss): Ditto.
+	(sse_maskcmpv4sf3): Disable if SSE5 so the SSE5 instruction will
+	be generated.
+	(sse_maskcmpsf3): Ditto.
+	(sse_vmmaskcmpv4sf3): Ditto.
+	(sse2_maskcmpv2df3): Ditto.
+	(sse2_maskcmpdf3): Ditto.
+	(sse2_vmmaskcmpv2df3): Ditto.
+	(sse2_eq<mode>3): Ditto.
+	(sse2_gt<mode>3): Ditto.
+	(sse5_pcmov_<mode>): Add SSE5 support.
+	(vec_unpacku_hi_v16qi): Ditto.
+	(vec_unpacks_hi_v16qi): Ditto.
+	(vec_unpacku_lo_v16qi): Ditto.
+	(vec_unpacks_lo_v16qi): Ditto.
+	(vec_unpacku_hi_v8hi): Ditto.
+	(vec_unpacks_hi_v8hi): Ditto.
+	(vec_unpacku_lo_v8hi): Ditto.
+	(vec_unpacks_lo_v8hi): Ditto.
+	(vec_unpacku_hi_v4si): Ditto.
+	(vec_unpacks_hi_v4si): Ditto.
+	(vec_unpacku_lo_v4si): Ditto.
+	(vec_unpacks_lo_v4si): Ditto.
+	(sse5_pmacsww): New SSE5 intrinsic insn.
+	(sse5_pmacssww): Ditto.
+	(sse5_pmacsdd): Ditto.
+	(sse5_pmacssdd): Ditto.
+	(sse5_pmacssdql): Ditto.
+	(sse5_pmacssdqh): Ditto.
+	(sse5_pmacsdqh): Ditto.
+	(sse5_pmacsswd): Ditto.
+	(sse5_pmacswd): Ditto.
+	(sse5_pmadcsswd): Ditto.
+	(sse5_pmadcswd): Ditto.
+	(sse5_pcmov_<move>): Conditional move support on SSE5.
+	(sse5_phaddbw): New SSE5 intrinsic insn.
+	(sse5_phaddbd): Ditto.
+	(sse5_phaddbq): Ditto.
+	(sse5_phaddwd): Ditto.
+	(sse5_phaddwq): Ditto.
+	(sse5_phadddq): Ditto.
+	(sse5_phaddubw): Ditto.
+	(sse5_phaddubd): Ditto.
+	(sse5_phaddubq): Ditto.
+	(sse5_phadduwd): Ditto.
+	(sse5_phadduwq): Ditto.
+	(sse5_phaddudq): Ditto.
+	(sse5_phsubbw): Ditto.
+	(sse5_phsubwd): Ditto.
+	(sse5_phsubdq): Ditto.
+	(sse5_pperm): Ditto.
+	(sse5_pperm_sign_v16qi_v8hi): New insns for pack/unpack with SSE5.
+	(sse5_pperm_zero_v16qi_v8hi): Ditto.
+	(sse5_pperm_sign_v8hi_v4si): Ditto.
+	(sse5_pperm_zero_v8hi_v4si): Ditto.
+	(sse5_pperm_sign_v4si_v2di): Ditto.
+	(sse5_pperm_sign_v4si_v2di): Ditto.
+	(sse5_pperm_pack_v2di_v4si): Ditto.
+	(sse5_pperm_pack_v4si_v8hi): Ditto.
+	(sse5_pperm_pack_v8hi_v16qi): Ditto.
+	(sse5_perm<mode>): New SSE5 intrinsic insn.
+	(rotl<mode>3): Ditto.
+	(sse5_rotl<mode>3): Ditto.
+	(sse5_ashl<mode>3): Ditto.
+	(sse5_lshl<mode>3): Ditto.
+	(sse5_frcz<mode>2): Ditto.
+	(sse5s_frcz<mode>2): Ditto.
+	(sse5_cvtph2ps): Ditto.
+	(sse5_cvtps2ph): Ditto.
+	(sse5_vmmaskcmp<mode>3): Ditto.
+	(sse5_com_tf<mode>3): Ditto.
+	(sse5_maskcmp<mode>3): Ditto.
+	(sse5_maskcmp_uns<mode>3): Ditto.
+	(sse5_maskcmp_uns2<mode>3): Ditto.
+	(sse5_pcom_tf<mode>3): Ditto.
+	
+	* config/i386/predicates.md (const_0_to_31_operand): New predicate
+	to match 0..31.
+	(sse5_comparison_float_operator): New predicate to match the
+	comparison operators supported by the SSE5 com instruction.
+	(ix86_comparison_int_operator): New predicate to match just the
+	signed int comparisons.
+	(ix86_comparison_uns_operator): New predicate to match just the
+	unsigned int comparisons.
+
+	* doc/invoke.texi (-msse5): Add documentation.
+	(-mfused-madd): Ditto.
+
+	* doc/extend.texi (x86 intrinsics): Document new SSE5 intrinsics.
+
+	* config.gcc (i[34567]86-*-*): Include bmmintrin.h and
+	mmintrin-common.h.
+	(x86_64-*-*): Ditto.
+
+	* config/i386/cpuid.h (bit_SSE5): Define SSE5 bit.
+
+	* config/i386/bmmintrin.h: New file, provide common x86 compiler
+	intrinisics for SSE5.
+
+	* config/i386/smmintrin.h: Move instructions shared with SSE5 to
+	mmintrin-common.h.
+
+	* config/i386/mmintrin-common.h: New file, to contain common
+	instructions between SSE4.1 and SSE5.
+
+	* config/i386/netware.c (gen_stdcall_or_fastcall_decoration): Use
+	FOREACH_FUNCTION_ARGS to iterate over the argument list.
+	(gen_regparm_prefix): Ditto.
+
+	* config/i386/winnt.c (gen_stdcall_or_fastcall_suffix): Use
+	FOREACH_FUNCTION_ARGS to iterate over the argument list.  Use
+	prototype_p to determine if a function is prototyped.
+
+2007-09-12  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/dfp-bit.c (dfp_conversion_exception): New function.
+	(DFP_TO_DFP) Add new variants to use direct conversions in decNumber.
+	(DFP_TO_INT): Ditto.
+	(INT_TO_DFP): Ditto.
+	* config/dfp-bit.h (DEC_FLOAT_FROM_INT, DEC_FLOAT_TO_INT): New.
+
+2007-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+	PR target/32338
+	* config/ia64/ia64.c (ia64_expand_epilogue): Emit blockage
+	before sp restoration even when total_size is 0, but
+	frame_pointer_needed.
+
+2007-09-12  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (machine_function): Add vararg_a7_copy.
+	(xtensa_copy_incoming_a7): Use start_sequence instead of
+	push_to_sequence.  Stash insns in vararg_a7_copy for builtin_saveregs.
+	(xtensa_builtin_saveregs): Place code from vararg_a7_copy at the start
+	of the saveregs sequence.
+
+2007-09-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* c-tree.h (grokfield): Add a "tree *" argument.
+	* c-decl.c (grokdeclarator): Take a pointer to the decl's attributes.
+	Chain nested decl attributes to it.  Don't call decl_attributes here.
+	(groktypename): Pass grokdeclarator a pointer to the attribute list.
+	(start_decl, grokparm, push_parm_decl, start_function): Likewise.
+	(grokfield): Take a pointer to the decl's attributes and pass
+	it to grokdeclarator.
+	* c-parser.c (c_parser_struct_declaration): Update the calls to
+	grokfield.  Call decl_attributes for anonymous struct and union
+	fields.
+
+2007-09-12  Jan Hubicka  <jh@suse.cz>
+
+	* c-objc-common.h (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Kill.
+
+2007-09-12  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/32377
+	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Distinguish
+	between positive and negative dependence distance using DDR_REVERSED_P.
+
+2007-09-12  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33373
+	* tree-vect-analyze (vect_determine_vectorization_factor): Call 
+	TREE_INT_CST_LOW when comparing TYPE_SIZE_UNIT.	
+
+2007-09-12  Jan Hubicka  <jh@suse.cz>
+
+	PR target/33393
+	* config/i386/i386.md (floatsisf2_mixed_memory, floatsisf2_sse_memory):
+	Disable for !SSE_MATH
+
+2007-09-12  Christian Bruel  <christian.bruel@st.com>
+
+	* sh.h (SH_DBX_REGISTER_NUMBER): Added fpscr, fixed sr/gbr regs.
+	* linux-unwind.h (SH_DWARF_FRAME_GBR): fixed. 
+	
+2007-09-12  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vect-transform.c (vect_get_slp_defs): Don't build a vector
+	for oprnd1 if not required.
+	(vectorizable_operation): Use scalar operand in SLP in case of 
+	shift with scalar argument.
+
+2007-09-12  Ira Rosen  <irar@il.ibm.com>
+
+	* params.def (PARAM_MIN_VECT_LOOP_BOUND): Change default and
+	minimum to 1.
+
+2007-09-11  James E. Wilson  <wilson@specifix.com>
+
+	* defaults.h (DWARF2_UNWIND_INFO): Don't define if
+	TARGET_UNWIND_INFO is defined.
+	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Delete undef
+	after definition.
+
+2007-09-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.c (calc_live_regs): Use
+	current_function_saves_all_registers instead of
+	current_function_has_nonlocal_label.
+	(sh_allocate_initial_value): Likewise.
+	(sh_get_pr_initial_val): Likewise.
+	* config/sh/sh.h (SHMEDIA_REGS_STACK_ADJUST): Likewise.
+	* config/sh/sh.md (load_ra): Likewise.
+
+2007-09-12  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/t-linux (LIMITS_H_TEST): Only define if not inhibit_libc.
+
+	PR target/33360
+	* config/cris/cris.c (cris_expand_pic_call_address): Fix typo in
+	GET_CODE (x) == CONST_INT to CONST_INT_P (x) transformation.
+
+2007-09-12  Sa Liu  <saliu@de.ibm.com>
+
+	* config/spu/spu.c (spu_emit_branch_or_set): Handle NaN values as
+	operands to DFmode GE or LE compares.
+
+2007-09-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (enum reg_class, REG_CLASS_CONTENTS,
+	REG_CLASS_NAMES): Add P0REGS.
+	(REGNO_REG_CLASS): Return it where appropriate.
+	(REG_CLASS_FROM_CONSTRAINT): Add 'qA'.
+	(CLASS_LIKELY_SPILLED_P): P0REGS is likely_spilled.
+	* doc/md.texi (Blackfin family): Document 'q' constraints.
+
+2007-09-11  Steve Kenton  <skenton@ou.edu>
+
+	* pa/linux-unwind.h: Guard with inhibit_libc.
+	* pa/hpux-unwind.h: Likewise.
+
+2007-09-11  David Daney  <ddaney@avtrex.com>
+
+	* doc/invoke.texi: Document new MIPS -mllsc and -mno-llsc options.
+	* doc/install.texi: Document new --with-llsc and --without-llsc
+	options.
+	* config.gcc: Handle --with-llsc and --without-llsc configure options.
+	* config/mips/mips.md (sync, memory_barrier): Wrap sync instrunction
+	in %| and %- operand codes.  Depend on GENERATE_SYNC instead of
+	ISA_HAS_SYNC.
+	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
+	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
+	sync_new_sub<mode>, sync_<optab><mode>, sync_old_<optab><mode>,
+	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
+	sync_new_nand<mode>, sync_lock_test_and_set<mode>): Depend on
+	GENERATE_LL_SC instead of ISA_HAS_LL_SC.
+	* config/mips/mips.opt (mllsc): New option.
+	* config/mips/mips.c (mips_llsc): Define variable.
+	(mips_handle_option): Handle mllsc option.
+	(override_options): Set mips_print_operand_punct for '|' and '-'.
+	(print_operand): Add new %| and %- operand codes.
+	* config/mips/mips.h (mips_llsc_setting): New enum type.
+	(mips_llsc): Declare.
+	(OPTION_DEFAULT_SPECS): Add llsc handling.
+	(GENERATE_SYNC): New macro.
+	(GENERATE_LL_SC): New macro.
+	(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
+	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
+	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Wrap instructions
+	in %| and %- operand codes.
+
+2007-09-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Deal with
+	TYPE_NONALIASED_COMPONENT like with DECL_NONADDRESSABLE_P.
+
+2007-09-11  Jason Merrill  <jason@redhat.com>
+
+	PR middle-end/27945
+	* stor-layout.c (layout_decl): Do pack variable size fields.	
+
+2007-09-11  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* config/m68k/predicates.md (movsi_const0_operand,
+	non_symbolic_call_operand): New predicates.
+
+	* config/m68k/constraints.md (Cs, Ci, C0, Cj, CQ, CW, CZ, CS, Ap, Ac):
+	New constraints.
+	* doc/md.texi (Constraints for Particular Machines: Motorola 680x0):
+	Document constraints N, O, P, R, S, T, Q, U, W, Cs, Ci, C0, Cj, CQ,
+	CW, CZ, CS, Ap and Ac.
+
+	* config/m68k/m68k.md (UNSPEC_IB): New constant.
+	(constraints.md): New include.
+	(cpu, type, type1, opx, opy, opx_type, opy_type, size, opx_access,
+	opx_mem, opy_mem, op_mem, guess, split): New attributes.
+	(movdf_internal): Name pattern.  Fix to use alternatives.  Add split.
+	Specify attributes.
+	(pushdi): Add split.
+	(tstsi_internal): Name pattern.  Fix to use alternatives.  Specify
+	attributes.  Split tstsi_internal_68020_cf from it.
+	(tstsi_internal_68020_cf): New pattern.
+	(tsthi_internal, tstqi_internal): Name pattern.  Specify attributes.
+	(tst<mode>_cf): Specify attributea.
+	(cmpsi_cf): Name pattern.  Specify attributes.
+	(cmp<mode>_68881, cmp<mode>_cf): Specify type attribute.
+	(pushexthisi_const): Fix to use alternatives.  Specify
+	attributes.
+	(movsi_const0): Split movsi_const0_68000_10 and movsi_const0_68040_60
+	from it.  Fix to use alternatives.  Specify attributes.
+	(movsi_const0_68040_10, movsi_const0_68040_60): New patterns.
+	(movsi_cf, movstrictqi_cf): Fix to use alternatives.  Specify
+	attributes.
+	(movsf_cf_soft): Specify attributes.
+	(movdf_cf_soft): Add split.
+	(pushasi, zero_extendhisi2_cf, zero_extendqisi2_cfv4,
+	cfv4_extendhisi2, 68k_extendhisi2, extendqihi2, cfv4_extendqisi2,
+	68k_extendqisi2, truncdfsf2_cf): Specify attributes.
+	(truncdfsf2_68881): Name pattern.  Specify attributes.
+	(floatsi<mode>2_cf, floathi<mode>2_68881, floathi<mode>2_cf,
+	floatqi<mode>2_68881, floatqi<mode>2_cf, ftrunc<mode>2_cf,
+	fix<mode>qi2_cf, fix<mode>hi2_cf, fix<mode>si2_cf, adddi_dishl32):
+	Specify attributes.
+	(addsi3_5200): Fix to use alternatives.  Specify attributes.
+	Add splits.
+	(add<mode>3_cf, subdi_dishl32): Specify attributes.
+	(subsi3): Add alternative for subq.l.  Specify attributes.
+	(sub<mode>3_cf, mulhi3, mulhisi3): Specify attributes.
+	(mulhisisi3_s, mulsi3_68020, mulsi3_cf): Name pattern.  Specify
+	attributes.
+	(umulhisi3): Specify attributes.
+	(mulhisisi3_z): Name pattern.  Specify attributes.
+	(fmul<mode>3_cf, div<mode>3_cf, negsi2_internal, negsi2_5200,
+	sqrt<mode>2_68881, clzsi2, one_cmplsi2_5200, subreghi1ashrdi_const32,
+	subregsi1ashrdi_const32, ashrsi3, subreg1lshrdi_const32, lshrsi3,
+	bsetmemqi): Specify attributes.
+	(bsetmemqi_ext): Name pattern.  Specify attributes.
+	(bclrmemqi): Specify attributes.
+	(bclrmemqi_ext, scc, sls): Name pattern.  Specify attributes.
+	(beq, bne, bgt, bgtu, blt, bltu, bge, bgeu, ble, bleu): Specify
+	attributes.
+	(beq2, bne2, bgt2, bgtu2, blt2, bltu2, bge2, bgeu2, ble2, bleu2): Name
+	pattern.  Specify attributes.
+	(jump): Specify attributes.
+	(tablejump_internal): Name pattern.  Specify attributes.
+	(call_value): Split into non_symbolic_call_value,
+	symbolic_call_value_jsr, symbolic_call_value_bsr.  Fix to use
+	alternatives.  Specify attributes.
+	(non_symbolic_call_value, symbolic_call_value_jsr,
+	symbolic_call_value_bsr): New patterns.
+	(nop, return, unlink, indirect_jump): Specify attributes.
+	(trap): Fix condition.  Specify attributes.
+	(ib): New pattern.
+
+	* config/m68k/m68k.c (m68k_symbolic_call_var): New variable.
+	(override_options): Initialize it.  Initialize m68k_sched_cpu.
+	(CONST_METHOD): Rename to M68K_CONST_METHOD, move to m68k.h.
+	(const_method): Make global, rename to m68k_const_method.
+	(const_int_cost, output_move_const_into_data_reg): Update.
+	(output_move_double): Parametrize to emit rtl code, rename to
+	handle_move_double.
+	(output_reg_adjust, emit_reg_adjust, output_compadr, output_movsi,
+	emit_movsi): New static functions.
+	(output_move_double): New function with semantics of old
+	output_move_double.
+	(m68k_emit_move_double): New function.
+	(m68k_sched_cpu): New variable.
+	(attr_op_type): New enum.
+	(sched_guess_p): New variable.
+	(sched_address_type, sched_operand_type, sched_attr_op_type):
+	New static functions.
+	(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
+	m68k_sched_attr_size, m68k_sched_attr_op_mem): New functions.
+	(sched_branch_type): New static variable.
+	(m68k_sched_branch_type): New function.
+	* config/m68k/m68k.h (M68K_SYMBOLIC_CALL): New enum.
+	(m68k_symbolic_call_var): Declare.
+	(M68K_CONST_METHOD): Rename from CONST_METHOD.  Move here from m68k.c.
+	(m68k_const_method, m68k_emit_move_double, m68k_sched_cpu,
+	m68k_sched_attr_opx_type, m68k_sched_attr_opy_type,
+	m68k_sched_attr_size, m68k_sched_attr_op_mem, m68k_sched_branch_type):
+	Declare.
+
+2007-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* builtins.def (BUILT_IN_VA_ARG_PACK_LEN): New builtin.
+	* builtins.c (expand_builtin) <case BUILT_IN_VA_ARG_PACK_LEN>: Issue
+	error if __builtin_va_arg_pack_len () wasn't optimized out during
+	inlining.
+	* tree-inline.c (copy_bb): Replace __builtin_va_arg_pack_len ()
+	with the number of inline's anonymous arguments.
+	* doc/extend.texi: Document __builtin_va_arg_pack_len ().
+
+2007-09-11  Zdenek Dvorak  <ook@ucw.cz>
+
+	* fold-const.c (extract_muldiv_1): Do not simplify var * c * c to var.
+
+2007-09-11  Jan Hubicka <jh@suse.cz>
+
+	* config/i386/i386.h (ix86_tune_indices): Add
+	X86_TUNE_INTER_UNIT_CONVERSIONS.
+	(TARGET_INTER_UNIT_CONVERSIONS): New.
+	* config/i386/i386.md (floatsi expanders): Remove redundant check
+	for SImode source; offload to memory when asked for.
+	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse
+	floatdisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
+	Update conditions;
+	(floatsisf2_mixed_memory, floatsisf2_sse_memory,
+	floatsidf2_mixed_memory, floatsidf2_sse_memory
+	floatdisf2_mixed_memory, floatsisf2_sse_memory,
+	floatsidf2_mixed_memory, floatsidf2_sse_memory): New.
+
+2007-09-11  Jan Hubicka <jh@suse.cz>
+
+	* toplev.c (process_options): all frontends now do unit-at-a-time.
+	* cgraphunit.c: update comments.
+	(cgraph_expand_function): call passmanager dirrectly; emit thunks.
+	* c-decl.c (finish_function): use cgraph_add_new_function.
+	* function.c (expand_function_end): We are always unit-at-a-time.
+
+2007-09-11  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_set_mips16_mode): Use separate anchor
+	settings for MIPS16.
+	(mips_use_anchors_for_symbol_p): Use default_use_anchors_for_symbol_p.
+
+2007-09-11  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_symbol_insns_1): Allow LEAs of
+	SYMBOL_FORCE_TO_MEM constants.
+	(mips_rtx_costs): Give a cost of 1 to force_to_mem_operands.
+	(mips16_rewrite_pool_refs_info): New structure.
+	(mips16_rewrite_pool_constant): New function, split out from...
+	(mips16_rewrite_pool_refs): ...here.  Take a pointer to a
+	mips16_rewrite_pool_refs_info structure rather than a pointer
+	to a constant pool.  Force force_to_mem_operands into memory.
+	(mips16_lay_out_constants): Update call to mips16_rewrite_pool_refs.
+	* config/mips/predicates.md (force_to_mem_operand): New predicate.
+	* config/mips/constraints.md (kf): New constraint.
+	* config/mips/mips.md (*movdi_64bit_mips16): Add a d <- kf alternative.
+	(*movsi_mips16): Likewise.
+
+2007-09-11  Richard Sandiford  <richard@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips.h (CONSTANT_POOL_COST): Move to...
+	* config/mips/mips.c: ...here and set to 4 for TARGET_MIPS16.
+	(mips16_constant_cost, mips_immediate_operand_p, mips_binary_cost)
+	(mips_fp_mult_cost, mips_fp_div_cost, mips_sign_extend_cost)
+	(mips_zero_extend_cost): New functions.
+	(mips_rtx_costs): Treat COMPARE constants as having zero cost.
+	Use the new functions.  Tweak many cost estimates, both here
+	and in the new subroutines.  Return false when the cost of the
+	operands has not been calculated.  Check for *clear_upper32.
+	Check for floating-point multiply-add, reciprocal and rsqrt
+	patterns.  Handle comparison and rotation codes.
+
+2007-09-11  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* config/i386/cygming.h (TARGET_STRIP_NAME_ENCODING): Don't
+	override default.
+	* config/i386/i386.c (get_dllimport_decl): Don't strip
+	FASTCALL_PREFIX.
+
+2007-09-10  Janis Johnson  <janis187@us.ibm.com>
+
+	PR c/30013
+	* config/dfp-bit.c: Don't skip TFmode conversions; move strto*
+	declarations to top.
+	(DFP_TO_BFP): Use for either XFmode or TFmode.
+	(BFP_TO_DFP): Use for either XFmode or TFmode; always use cast
+	of BFP_VIA_TYPE.
+	* config/dfp-bit.h: Include float.h.
+	(LONG_DOUBLE_HAS_XF_MODE, LONG_DOUBLE_HAS_TF_MODE): Define if long
+	double is one of these modes, rather than using LIBGCC_HAS_*F_MODE
+	which doesn't mean the same thing.
+	(BFP_KIND): Use 4 to mean TFmode.
+	(BFP_FMT): Specify the number of decimal digits based on the
+	number of mantissa digits.
+	(BFP_VIA_TYPE): Binary float type to use as cast for sprintf.
+	(BFP_TO_DFP, DFP_TO_BFP): Define names for TFmode variants.
+	(STR_TO_BFP): Use strtold for XFmode or TFmode.
+	(TFtype): Define if TFmode is supported.
+	* doc/libgcc.texi (Decimal float library routines): Document
+	TF conversion functions.
+
+2007-09-10  Chao-ying Fu  <fu@mips.com>
+
+	* config/mips/mips.c (mips_scalar_mode_supported_p): Declare.
+	(TARGET_SCALAR_MODE_SUPPORTED_P): Define.
+	(mips_emit_compare): Process fixed-point modes.
+	(mips_pad_arg_upward): Support fixed-point types.
+	(override_options): Allow fixed-point modes in accumulators.
+	(mips_pass_by_reference): Pass DQ, UDQ, DA, and UDA modes in registers.
+	(mips_vector_mode_supported_p): Support V2HQmode, V2UHQmode, V2HAmode,
+	V2UHAmode, V4QQmode, and V4UQQmode when TARGET_DSP.
+	(mips_scalar_mode_supported_p): New function to accept fixed-point
+	modes if the width is not greater than two BITS_PER_WORD.
+	* config/mips/mips.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
+	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
+	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
+	LONG_LONG_ACCUM_TYPE_SIZE): Define.
+	* config/mips/mips.md ("d"): Update mode attribute for fixed-point
+	modes.
+	("IMODE"): New mode attribute.
+	(mips-fixed.md): Include.
+	* config/mips/mips-modes.def: Create VECTOR_MODES for FRACT, UFRACT,
+	ACCUM, UACCUM.
+	* config/mips/mips-fixed.md: New file.
+
+2007-09-11  Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/spu.md: Formatting fixes.
+
+2007-09-10  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/dfp-bit.c (dfp_unary_func): Delete.
+	(dfp_unary_op): Delete.
+	(dfp_binary_op): Use decFloat functions instead of decNumber
+	functions for binary operations.
+	(d32_binary_op): Convert 32-bit operands to 64 bits for evaluation.
+	(dnn_binary_op): Call dfp_binary_op with decFloat rather than
+	DFP_C_TYPE.
+	(dfp_compare_op): Use decFloat functions insteadof decNumber
+	functions for comparisons.
+	(d32_compare_op): Convert 32-bit operands to 64 bits for evaluation.
+	(dnn_binary_op): Call dfp_compare_op with decFloat rather than
+	DFP_C_TYPE.
+	(DFP_ADD, DFP_SUB, DFP_MULTIPLE, DFP_DIVIDE): Use macros for
+	call to dxx_binary_op and decFloat function.
+	(DFP_EQ, DFP_NE, DFP_LT, DFP_GT, DFP_LE, DFP_GE): Use macros for
+	calls to dxx_binary_op and decFloat function.
+	* config/dfp-bit.h: Include decFloat header files.
+	(decFloat, DFP_BINARY_OP, DFP_COMPARE_OP, DEC_FLOAT_ADD,
+	DEC_FLOAT_SUBTRACT, DEC_FLOAT_MULTIPLY, DEC_FLOAT_DIVIDE,
+	DEC_FLOAT_COMPARE, DEC_FLOAT_IS_ZERO, DEC_FLOAT_IS_NAN,
+	DEC_FLOAT_IS_SIGNED: Define for each of 3 operand widths.
+
+2007-09-10  Harsha Jagasia <harsha.jagasia@amd.com>
+	    Jan Sjodin <jan.sjodin@amd.com>
+
+	* tree-vect-analyze.c (vect_analyze_operations): Change
+	comparison of loop iterations with threshold to less than
+	or equal to instead of less than. Reduce
+	min_scalar_loop_bound by one.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters): 
+	Change prologue and epilogue iterations estimate to vf/2,
+	when unknown at compile-time. Change versioning guard
+	cost to taken_branch_cost. If peeling for alignment is
+	unknown at compile-time, change peel guard costs to one
+	taken branch and one not-taken branch per peeled loop.
+	If peeling for alignment is known but number of scalar loop
+	iterations is unknown at compile-time, change peel guard
+	costs to one taken branch per peeled loop. Change the cost
+	model equation to consider vector iterations as the loop
+	iterations less the prologue and epilogue iterations.
+	Change outside vector cost check to less than or equal to
+	zero instead of equal to zero.
+	(vect_do_peeling_for_loop_bound): Reduce
+	min_scalar_loop_bound by one.
+	* tree-vectorizer.h: Add TARG_COND_TAKEN_BRANCH_COST and
+	TARG_COND_NOT_TAKEN_BRANCH_COST.	
+	* config/i386/i386.h (processor_costs): Add
+	scalar_stmt_cost, scalar_load_cost, scalar_store_cost,
+	vec_stmt_cost, vec_to_scalar_cost, scalar_to_vec_cost,
+	vec_align_load_cost, vect_unalign_load_cost,
+	vec_store_cost, cond_taken_branch_cost,
+	cond_not_taken_branch_cost.
+	Define macros for x86 costs.
+	* config/i386/i386.c:
+	(size_cost): Set scalar_stmt_cost, scalar_load_cost,
+	scalar_store_cost, vec_stmt_cost, vec_to_scalar_cost,
+	scalar_to_vec_cost, vec_align_load_cost, 
+	vect_unalign_load_cost, vec_store_cost,
+	cond_taken_branch_cost, cond_not_taken_branch_cost to one. 
+	(i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
+	geode_cost, k6_cost, athlon_cost, pentium4_cost, nocona_cost, 
+	core2_cost, generic64_cost, generic32_cost): Set to default
+	untuned costs.
+	(k8_cost, amdfam10_cost): Costs for vectorization tuned.
+	(x86_builtin_vectorization_cost): New.
+
+2007-09-10  Janis Johnson  <janis187@us.ibm.com>
+	    Ben Elliston  <bje@au.ibm.com>
+
+	* dfp.c: Include decimal128Local.h; 
+	(dfp_byte_swap): Remove.
+	(encode_decimal32, decode_decimal32): Don't handle endianness.
+	(encode_decimal64, decode_decimal64): Ditto.
+	(encode_decimal128, decode_decimal128): Ditto.
+	* config/dfp-bit.c (host_to_ieee32, ieee_to_host_32): Ditto.
+	(__swap64): Remove.
+	(host_to_ieee_64, ieee_to_host_64): Don't handle endianness.
+	(__swap128): Remove
+	(host_to_ieee_128, ieee_to_host_128): Don't handle endianness.
+	* Makefile.in (DECNUM_H): Add decimal128Local.h.
+
+2007-09-10  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.md (UNSPEC_MEMORY_BARRIER): New entry in
+	define_constants.
+	(memory_barrier): Rewrote as an insn that clobbers memory.
+
+2007-09-10  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_global_pointer): Check
+	call_really_used_regs instead of call_used_regs.
+	(mips_save_reg_p): Likewise.  Save all call-saved registers
+	if current_function_saves_all_registers.  Fix indentation.
+	No longer treat $18 as a special case.
+	(compute_frame_size): Guard FPR loop with TARGET_HARD_FLOAT.
+
+2007-09-10  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.h (MIPS_ARCH_FLOAT_SPEC): New macro.
+	* config/mips/mips.c (mips_cpu_info_table): Mention it in the
+	the introductory comment.
+	(MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
+	(override_options): Don't test for it.
+	* config/mips/sde.h (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Delete.
+	(DRIVER_SELF_SPECS): Add MIPS_ARCH_FLOAT_SPEC.
+	* config/mips/vr.h: As for config/mips/sde.h.
+
+2007-09-10  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* target.h (struct gcc_target.sched): New field: sms_res_mii.
+	(struct ddg): Define.
+	* target-def.h (TARGET_SCHED_SMS_RES_MII): Define.
+	(TARGET_SCHED): Add TARGET_SCHED_SMS_RES_MII.
+	* config/spu/spu.c: Include ddg.h.
+	(TARGET_SCHED_SMS_RES_MII): Define.
+	(spu_sms_res_mii): New function to calculate mii.
+	* modulo-sched (res_MII): Use it.
+	* doc/tm.texi: Document TARGET_SCHED_SMS_RES_MII.
+
+2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (s390_dump_pool): Create copy of constant
+	pool entries since they might hold values that must not be shared.
+
+2007-09-10 Robert Kidd <rkidd@crhc.uiuc.edu>
+
+	* bb-reorder.c (rest_of_handler_reorder_blocks): Removed call to
+	RTL level tracer pass.
+	* passes.c (init_optimization_passes): Move pass_tracer from
+	after pass_rtl_ifcvt to after pass_dce.
+	* tracer.c: Update copyright.
+	(layout_superblocks): Remove function.
+	(mark_bb_seen): New.
+	(bb_seen_p): New.
+	(count_insns): Change to estimate instructions in a Tree-SSA
+	statement.
+	(find_trace): Use bb_seen_p.
+	(tail_duplicate): Use bb_seen_p.  Call add_phi_args_after_copy
+	after duplicate_block.
+	(tracer): Change prototype to match that of a pass execute
+	callback.
+	(gate_tracer): Rename from gate_handle_tracer.
+	(rest_of_handle_tracer): Remove function.
+	* rtl.h: Remove prototype for tracer.
+	* testsuite/gcc.dg/tree-prof/tracer-1.c: New.
+
+2007-09-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/33369
+	* config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
+	Use 'N' operand constraint for op2.
+	(lshr<mode>3): Ditto.
+	(ashl<mode>3): Ditto.
+	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
+	(vec_shr_<mode>): Ditto.
+	* config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
+	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
+
+2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
+	Change mode macro in the last real_2expN parameter to uppercase.
+
+2007-09-10  Michael Matz  <matz@suse.de>
+
+	* tree-pass.h (pass_cselim): Declare new pass.
+	* passes.c (init_optimization_passes): Link in pass_cselim.
+	* tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
+	tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
+	cond_store_replacement.
+	(condstoretemp): New static variable.
+	(cond_store_replacement): New function.
+	(tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
+	tree_ssa_phiopt_worker.
+	(struct name_to_bb): New.
+	(get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
+	nt_init_block, nt_fini_block): New static functions.
+	(seen_ssa_names, nontrap_set): New static variables.
+	(gate_cselim, pass_cselim): Define new pass.
+	* common.opt (ftree-cselim): New flag.
+	* toplev.c (process_options): Set flag_tree_cselim if required.
+
+2007-09-10  Hans-Peter Nilsson  <hp@axis.com>
+
+	* simplify-rtx.c (simplify_relational_operation_1): For recent
+	canonicalization, don't recurse if op1 equals both PLUS arguments.
+
+2007-09-09  David Daney  <ddaney@avtrex.com>
+
+	* optabs.c (expand_sync_operation):  Use plus insn if minus
+	CONST_INT_P(val).
+	(expand_sync_fetch_operation):  Ditto.
+
+2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
+	of cvtpq2ps.
+	(*floatsisf2_sse_vector): Likewise.
+
+2007-09-09  Krister Walfridsson  <cato@df.lth.se>
+
+	* config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
+
+2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.h (ix86_tune_indices): Rename
+	X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
+	(TARGET_USE_VECTOR_CONVERTS): Updated.
+	* config/i386/i386.c: Likewise.
+
+2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens <nigel@mips.com>
+
+	* doc/invoke.texi (Overall Options):  Add .sx file extension
+	as a synonym for .S.
+	* cppspec.c (known_suffixes): Likewise.
+	* gcc.c (default_compilers): Likewise.
+
+2007-09-09  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/30315
+	* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
+	* simplify-rtx.c (simplify_relational_operation_1): Add the
+	canonicalization from i386.h.
+	* doc/md.texi (Canonicalization of Instructions): Document it.
+
+2007-09-09  Jan Hubicka  <jh@suse.cz>
+	    Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
+
+	* config/i386/i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
+	(TARGET_USE_VECTOR_CONVERTS): New.
+	* config/i386/i386.md: New post-reload splitters for converting
+	SF to DF and DF to SF.
+	(floatsi* expander): Special case vector conversions.
+	(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
+	floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
+	floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
+	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
+	Disable when doing vector converts.
+	(floatsi<mode>2_i387): Disable when
+	* config/i386/sse.md (vec_dupv2df): Export.
+	* config/i386/i386.c (ix86_tune_features): Enable SSE conversions.
+
+2007-09-09  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_virtual_operand): Only mark
+	stores as has_volatile_ops if alias information is not available.
+
+2007-09-09  Revital Eres  <eres@il.ibm.com>
+
+	* doc/contrib.texi: Add myself.
+
+2007-09-09  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
+	stmt_vinfo_set_outside_of_loop_cost): New functions.
+	* tree-vect-transform.c (vect_get_cost_fields): Remove.
+	(vect_model_simple_cost): Call
+	stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
+	field instead of calling vect_get_cost_fields.
+	(vect_model_store_cost, vect_model_load_cost): Likewise.
+
+2007-09-09  Revital Eres  <eres@il.ibm.com>
+
+	* config/rs6000/rs6000.c (paired_init_builtins): Add const
+	declaration to bdesc_paired_preds variable.
+	(paired_expand_builtin): Likewise.
+
+2007-09-09  Revital Eres  <eres@il.ibm.com>
+
+	* dbgcnt.def (sms_sched_loop): New counter.
+	* modulo-sched.c: Use sms_sched_loop instead of
+	MAX_SMS_LOOP_NUMBER to determine the maximum number of loops to
+	perform swing modulo scheduling on.  Include dbgcnt.h.
+	* Makefile.in: Add DBGCNT_H to modulo-sched.o.
+	* params.def: Remove PARAM_MAX_SMS_LOOP_NUMBER.
+
+2007-09-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
+	Substitute all uses with ...
+	(MODEF): New mode iterator.
+
+	(fix_trunc<mode>_fisttp_i387_1): Remove operand constraints
+	from pre-regalloc define_insn_and_split splitter pattern.
+	(*fix_trunc<mode>_i387_1): Ditto.
+	(*fistdi2_1): Ditto.
+	(*fist<mode>2_1): Ditto.
+	(frndintxf2_floor): Ditto.
+	(*fist<mode>2_floor_1): Ditto.
+	(frndintxf2_ceil): Ditto.
+	(*fist<mode>2_ceil_1): Ditto.
+	(frndintxf2_trunc): Ditto.
+	(frndintxf2_mask_pm): Ditto.
+
+	(prologue): Use (const_int 0) as never generated filler insn.
+	(epilogue): Ditto.
+	(sibcall_epilogue): Ditto.
+	(eh_return_si): Ditto.
+	(eh_return_di): Ditto.
+
+	(add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
+	using MODEF mode iterator.
+	(sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
+	using MODEF mode iterator.
+	(mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
+	using MODEF mode iterator.
+	(nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
+	Macroize expander using MODEF mode iterator.
+
+	(zero_extendsidi2): Remove operand constraints from expander.
+	(smuldi3_highpart): Ditto.
+	(indirect_jump): Ditto.
+	(tablejump): Ditto.
+	(rsqrtsf2): Ditto.
+	* config/i386/sse.md (storentv4sf): Ditto.
+	(storentv2df): Ditto.
+	(storentv2di): Ditto.
+	(storentsi): Ditto.
+	(sse2_cvtpd2ps): Ditto.
+	(vec_interleave_highv16qi): Ditto.
+	(vec_interleave_lowv16qi): Ditto.
+	(vec_interleave_highv8hi): Ditto.
+	(vec_interleave_lowv8hi): Ditto.
+	(vec_interleave_highv4si): Ditto.
+	(vec_interleave_lowv4si): Ditto.
+	(vec_interleave_highv2di): Ditto.
+	(vec_interleave_lowv2di): Ditto.
+	(sse2_maskmovdqu): Ditto.
+	* config/i386/mmx.md (mmx_maskmovq): Ditto.
+
+2007-09-09  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
+	(struct _slp_tree, struct _slp_instance): Define new data structures
+	along macros for their access.
+	(struct _loop_vec_info): Define new fields: strided_stores,
+	slp_instances, and slp_unrolling_factor along macros for their access.
+	(enum slp_vect_type): New.
+	(struct _stmt_vec_info): Define new field, slp_type, and macros for
+	its access.
+	(STMT_VINFO_STRIDED_ACCESS): New macro.
+	(vect_free_slp_tree): Declare.
+	(vectorizable_load): Add an argument of type slp_tree.
+	(vectorizable_store, vectorizable_operation, vectorizable_conversion,
+	vectorizable_assignment): Likewise.
+	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
+	Declare (make extern).
+	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
+	(new_loop_vec_info): Likewise.
+	(destroy_loop_vec_info): Free memory allocated for SLP structures.
+	* tree-vect-analyze.c: Include recog.h.
+	(vect_update_slp_costs_according_to_vf): New.
+	(vect_analyze_operations): Add argument for calls to vectorizable_ ()
+	functions. For not pure SLP stmts with strided access check that the
+	group size is power of 2. Update the vectorization factor according to
+	SLP. Call vect_update_slp_costs_according_to_vf.
+	(vect_analyze_group_access): New.
+	(vect_analyze_data_ref_access): Call vect_analyze_group_access.
+	(vect_free_slp_tree): New functions.
+	(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
+	vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
+	vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
+	vect_detect_hybrid_slp): Likewise.
+	(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
+	and vect_detect_hybrid_slp.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
+	SLP costs into account.
+	(vect_get_cost_fields): New function.
+	(vect_model_simple_cost): Make extern, add SLP parameter and handle
+	SLP.
+	(vect_model_store_cost, vect_model_load_cost): Likewise.
+	(vect_get_constant_vectors): New function.
+	(vect_get_slp_vect_defs, vect_get_slp_defs,
+	vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
+	vect_get_vec_defs): Likewise.
+	(vectorizable_reduction): Don't handle SLP for now.
+	(vectorizable_call): Don't handle SLP for now. Add argument to
+	vect_model_simple_cost.
+	(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
+	get SLPed and vectorized defs). Fix indentation and spacing.
+	(vectorizable_assignment): Handle SLP.
+	(vectorizable_induction): Don't handle SLP for now.
+	(vectorizable_operation): Likewise.
+	(vectorizable_type_demotion): Add argument to
+	vect_model_simple_cost.
+	(vectorizable_type_promotion): Likewise.
+	(vectorizable_store, vectorizable_load): Handle SLP.
+	(vectorizable_condition): Don't handle SLP for now.
+	(vect_transform_stmt): Add a new argument for SLP. Check that there is
+	no SLP transformation required for unsupported cases. Add SLP
+	argument for supported cases.
+	(vect_remove_stores): New function.
+	(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
+	(vect_transform_loop): Schedule SLP instances.
+	* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.
+
+2007-09-09  Andrew Haley  <aph@redhat.com>
+
+	* optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
+	signed optab.
+
+2007-09-09  Hans-Peter Nilsson  <hp@axis.com>
+
+	Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
+	* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
+	Similar for what label_refs can go in the JUMP_TARGET field.  Split
+	REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
+	* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
+	REG_LABEL when replacing an operand with a LABEL_REF for a
+	non-jump insn.
+	(subst_reloads): When replacing a LABEL_REG with a register,
+	instead of generating a REG_LABEL note, assert that there already
+	is one or that the label is a known target for the insn.
+	* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
+	note, check the JUMP_LABEL field.  Remove "else" after return.
+	* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
+	cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
+	(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
+	REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
+	insns.  Iterate over all notes; don't assume there's only one.
+	* cse.c (recorded_label_ref): Adjust comment to refer to
+	REG_LABEL_OPERAND.
+	(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
+	insns, not just NONJUMP_INSN_P.
+	(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
+	isn't a jump target.
+	* jump.c (rebuild_jump_labels): Adjust head comment.
+	(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
+	don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
+	(mark_all_labels): For JUMP_P insns without a target, check if the
+	the target is noted on the previous nonjump insn.
+	(mark_jump_label_1): New function, guts from mark_jump_label.
+	<case IF_THEN_ELSE>: Handle first operand as a non-target when
+	marking jump target labels.
+	<case LABEL_REF>: Adjust for whether to generate a
+	REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
+	For 'E' format rtl, iterate in descending element order.
+	(delete_related_insns): Handle both REG_LABEL_TARGET and
+	REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
+	reference count, delete and fallthrough.  Move finding-next-
+	non-deleted insn last in the function.  Look at all INSN_P insns
+	for REG_LABEL_OPERAND notes.
+	(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
+	JUMP.
+	* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
+	JUMP_LABEL, output the INSN_UID of it.
+	* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
+	and/or REG_LABEL_TARGET.
+	(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
+	with jump.c copy by only adding notes for labels actually
+	referenced in the insn.
+	* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
+	usage count increment; handle all INSN_P trial insns.
+	(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
+	notes.
+	* rtl.h (struct rtx_def) <volatil>: Adjust to mention
+	REG_LABEL_TARGET and REG_LABEL_OPERAND.
+	(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
+	REG_LABEL_OPERAND.
+	* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
+	JUMP_P insns and REG_LABEL_OPERAND everywhere.
+	* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
+	on all INSN_P insns.
+	* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
+	* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
+	REG_LABEL_OPERAND notes.
+	* reload1.c (calculate_needs_all_insns): Adjust comments.
+	(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
+	* config/alpha/alpha.md (split for load of an address into a
+	four-insn sequence on Unicos/Mk): Adjust to use
+	REG_LABEL_OPERAND.
+	* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.
+
+2007-09-09  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	Revert:
+	2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+	* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
+	FOR_BB_INSNS_SAFE instead of for loop.
+	* cse.c (cse_extended_basic_block): Likewise.
+	* postreload.c (reload_cse_regs_1): New variable next. Make sure
+	that the for loop does not invoke NEXT_INSN on a deleted insn.
+	* function.c (instantiate_virtual_regs): Likewise.
+	* lower-subreg.c (remove_retval_note): Likewise.
+	(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
+	FOR_BB_INSNS.
+	* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
+	a deleted insn.
+	* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
+	insn, if it's a jump.
+	(try_redirect_by_replacing_jump): New variable jump_p. Call
+	tablejump_p before delete_insn_chain.
+	* reload1.c (reload): New variable next. Make sure that the for
+	loop does not invoke NEXT_INSN on a deleted insn.
+	(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
+	(delete_output_reload): New variable prev. Make sure the the for
+	loops do not invoke PREV_INSN on a deleted insn.
+
+2007-09-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa/constraints.md: Remove 'X' from unused letters comment.
+
+2007-09-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree-tailcall.c (find_tail_calls): If we don't have aliases
+	computed check stmt_ann->references_memory instead of counting
+	virtual operands.
+ 
+2007-09-08  Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* cse.c (fold_rtx): Use validate_unshare_change() instead of
+	validate_change() in one more case.
+
+2007-09-08  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/32283
+	* tree-ssa-loop-ivopts.c (may_eliminate_iv): Use
+	estimated_loop_iterations.
+	(determine_use_iv_cost_condition): Decrease cost of expressions
+	used in iv elimination.
+
+2007-09-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree-cfg.c (verify_gimple_expr): Avoid building new
+	pointer types, use TYPE_POINTER_TO if available instead.
+
+2007-09-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/33329
+	PR rtl-optimization/26449
+	* config/i386/sse.md (mulv4si3): Do not expand sse2 sequence.
+	(*sse2_mulv4si3): New define_insn_and_split pattern. Split insn in
+	split1 pass.
+	(mulv16qi3): Implement as define_insn_and_split pattern instead of
+	define_expand.  Split insn in split1 pass.
+	(mulv2di3): Ditto.
+
+2007-09-08  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33301
+	* tree-vect-analyze (analyze_operations): Look at the type of the rhs
+	when relevant.
+
+2007-09-07  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/32183
+	* Makefile.in (tree-ssa-reassoc.o): Also depend on $(CFGLOOP_H).
+
+	* tree-ssa-reassoc.c: Include cfgloop.h.
+	(is_reassociable_op): Add a loop argument and return true only
+	for inside loop.
+	(linearize_expr): Updated.
+	(should_break_up_subtract): Likewise.
+	(linearize_expr_tree): Likewise.
+	(init_reassoc): Call loop_optimizer_init with
+	AVOID_CFG_MODIFICATIONS.  Remove calculate_dominance_info call
+	with CDI_DOMINATORS.
+	(fini_reassoc): Call loop_optimizer_finalize.
+
+2007-09-07  Sterling Augustine  <sterling@tensilica.com>
+
+	* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
+	if there is no i-cache.
+
+2007-09-07  Richard Guenther  <rguenther@suse.de>
+
+	Reapply
+	2007-09-06  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32586
+	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
+	folding if nothing changed.
+	(simplify_unary_expression): New function.  Do tree combining
+	on conversion like codes.
+	(try_to_simplify): Call it.
+
+2007-09-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/33286
+	* gthr-posix.h (__gthread_active_p): Add implementation for hppa-hpux.
+	(__gthread_active,__gthread_start, __gthread_active_init): New.
+	* gthr-posix95.h: Likewise.
+
+2007-09-07  Roman Zippel <zippel@linux-m68k.org>
+
+	* function.h (struct function): Rename calls_unwind_init
+	to saves_all_registers.
+	(current_function_saves_all_registers): Renamed from
+	current_function_calls_unwind_init.
+	* reload1.c (reload): Set current_function_saves_all_registers.
+	* except.c (expand_builtin_unwind_init): Likewise.
+	* config/m68k/m68k.c (m68k_save_reg): Use
+	current_function_saves_all_registers to save pic register.
+
+2007-09-07  Janis Johnson  <janis187@us.ibm.com>
+
+	config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN.
+	config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto.
+
+	Reapply reverted changes:
+
+ 	2007-09-06  Jan Hubicka  <jh@suse.cz>
+ 
+	* config/i386.c (ix86_expand_lround, ix86_expand_round): Update call
+	of real_2expN.
+
+	2007-09-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
+	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
+
+	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-07  Diego Novillo  <dnovillo@google.com>
+
+	* tree-flow.h (const_block_stmt_iterator): Remove.
+	Update all users to use block_stmt_iterator.
+	* tree-iterator.h (const_tree_stmt_iterator): Remove.
+	Update all users to use tree_stmt_iterator.
+
+2007-09-07  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/mips/mips.c (mips_set_current_function): Temporarily
+	make this a no-op to fix bootstrap errors, pending rewrite.
+
+2007-09-07  Jan Hubicka  <jh@suse.cz>
+
+	* reorg.c (dbr_schedule): Move code removing placeholder USEs later
+	in the pass.
+
+2007-09-07  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/33299
+	* tree-vect-transform.c (vect_create_epilog_for_reduction): Update
+	uses for all relevant loop-exit phis, not just the first.
+
+2007-09-07  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33330
+	* tree-ssa-operands.c (access_can_touch_variable): An access
+	of the form (*p)[0] can touch a variable of same size.
+
+2007-09-07  Jan Hubicka  <jh@suse.cz>
+
+	* passes.c (init_optimization_passes): Add simple dce and addressable
+	passes.
+	* tree-ssa.c (execute_update_addresses_taken): New function.
+	(pass_update_address_taken): New.
+	* tree-ssa-dse.c (execute_simple_dse): New function.
+	(pass_simple_dse): New.
+	* tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare.
+
+2007-09-07  Tobias Burnus  <burnus@net-b.de>
+
+	PR middle-end/33321
+	* doc/invoke.texi: Fix -Wstrict-overflow= table.
+
+2007-09-07  Richard Guenther  <rguenther@suse.de>
+
+	Revert
+	2007-09-06  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32586
+	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
+	folding if nothing changed.
+	(simplify_unary_expression): New function.  Do tree combining
+	on conversion like codes.
+	(try_to_simplify): Call it.
+
+2007-09-07  Richard Guenther  <rguenther@suse.de>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32821
+	* tree_if_conv.c (combine_blocks): Use alloc_stmt_list instead of
+	NULL in the call to set_bb_stmt_list.
+
+2007-09-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (build_mips16_call_stub): Emit all direct
+	float calls here, rather than leaving some to the caller.
+	Use call_internal_direct and call_value_internal_direct.
+	* config/mips/mips.md (call_internal_direct): New pattern.
+	(call_value_internal_direct): Likewise.
+
+2007-09-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_base_move_loop_invariants): New variable.
+	(mips_set_mips16_mode): Restore flag_move_loop_invariants, then set
+	to 0 for MIPS16.
+	(override_options): Set mips_base_move_loop_invariants.
+
+2007-09-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.opt (mcode-readable=): Move to keep list
+	alphabetical.
+
+2007-09-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata
+	and -mgpopt options.  Adjust the -G documentation to match.
+	* config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New.
+	* config/mips/mips.c (mips_rtx_constant_in_small_data_p): New
+	function, split out from mips_classify_symbol.  Return false for
+	!TARGET_LOCAL_SDATA.
+	(mips_classify_symbol): Call mips_rtx_constant_in_small_data_p.
+	Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT.
+	(override_options): Check whether the -mgpopt setting is consistent
+	with the other flags.
+	(symbolic_expression_p): Delete.
+	(mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p
+	and default_elf_select_rtx_section.
+	(mips_in_small_data_p): Honor section attributes for MIPS16 too.
+	Return false for local data unless TARGET_LOCAL_SDATA.  Likewise
+	external data and TARGET_EXTERN_SDATA.
+
+2007-09-07  Tobias Burnus  <burnus@net-b.de>
+
+	PR fortran/33303
+	* doc/cpp.texi (Common Predefined Macros): Add __GFORTRAN__.
+
+2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
+	FOR_BB_INSNS_SAFE instead of for loop.
+	* cse.c (cse_extended_basic_block): Likewise.
+	* postreload.c (reload_cse_regs_1): New variable next. Make sure
+	that the for loop does not invoke NEXT_INSN on a deleted insn.
+	* function.c (instantiate_virtual_regs): Likewise.
+	* lower-subreg.c (remove_retval_note): Likewise.
+	(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
+	FOR_BB_INSNS.
+	* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
+	a deleted insn.
+	* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
+	insn, if it's a jump.
+	(try_redirect_by_replacing_jump): New variable jump_p. Call
+	tablejump_p before delete_insn_chain.
+	* reload1.c (reload): New variable next. Make sure that the for
+	loop does not invoke NEXT_INSN on a deleted insn.
+	(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
+	(delete_output_reload): New variable prev. Make sure the the for
+	loops do not invoke PREV_INSN on a deleted insn.
+
+2007-09-06  Zdenek Dvorak  <ook@ucw.cz>
+
+	* cgraphbuild.c (rebuild_cgraph_edges): Export.
+	* cgraph.h (rebuild_cgraph_edges): Declare.
+	* tree-pass.h (pass_expand_omp_ssa): New.
+	* omp-low.c (find_omp_clause): Export.
+	(copy_var_decl): Split from omp_copy_decl_2.
+	(build_omp_barrier): Return the call to emit instead of emitting
+	it directly.
+	(lower_rec_input_clauses, expand_omp_single): Gimplify the result of
+	build_omp_barrier.
+	(extract_omp_for_data, expand_parallel_call, expand_omp_parallel,
+	expand_omp_for_generic, expand_omp_for_static_nochunk,
+	expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
+	Adapted to work on SSA form.
+	(execute_expand_omp): Do not invalidate dominance information.
+	(gate_expand_omp): Do not run with -fopenmp-ssa flag.
+	(gate_expand_omp_ssa, pass_expand_omp_ssa): New.
+	* gimplify.c (gimplify_omp_for): Ensure that the control variable is
+	a gimple_reg.
+	(force_gimple_operand): Allow gimplifying code expressions without
+	value.
+	* tree-predcom.c (mark_virtual_ops_for_renaming): Handle phi nodes.
+	* common.opt (fopenmp-ssa): New.
+	* tree-flow.h (find_omp_clause, copy_var_decl): Declare.
+	* Makefile.in (tree-cfg.o): Add TREE_INLINE_H dependency.
+	* tree-cfg.c: Include tree-inline.h.
+	(struct move_stmt_d): Replace vars_to_remove by vars_map field.
+	(replace_by_duplicate_decl, replace_ssa_name,
+	mark_virtual_ops_in_region): New functions.
+	(move_stmt_r, move_block_to_fn, move_sese_region_to_fn): Adapted
+	to work on SSA form.
+	* passes.c (init_optimization_passes): Add pass_expand_omp_ssa pass.
+	* tree-ssa-operands.c (get_expr_operands): Handle operands of OMP
+	constructs.
+
+2007-09-06  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* tree-loop-linear.c: Include obstack.h.
+	(linear_transform_loops): New obstack lambda_obstack.
+	Initialize it, pass it to gcc_loopnest_to_lambda_loopnest,
+	lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls
+	and free afterwards.
+	* lambda.h (struct obstack): New forward declaration.
+	(lambda_linear_expression_new): New parameter of type struct
+	obstack *.
+	(lambda_loopnest_new): Likewise.
+	(lambda_loopnest_transform): Likewise.
+	(lambda_body_vector_new): Likewise.
+	(lambda_body_vector_compute_new): Likewise.
+	(gcc_loopnest_to_lambda_loopnest): Likewise.
+	(lambda_loopnest_to_gcc_loopnest): Likewise.
+	* lambda-code.c: Include obstack.h.
+	(lambda_lattice_new): New parameter lambda_obstack.  Use it for
+	allocation of ret.
+	(lambda_body_vector_new): Likewise.
+	(lambda_linear_expression_new): Likewise.
+	(lambda_lattice_new): Likewise.
+	(lambda_loopnest_new): Likewise.  Additionally use obstack to
+	allocate LN_LOOPS(ret).
+	(lambda_lattice_compute_base): New parameter lambda_obstack.  Pass
+	it to lambda_lattice_new.
+	(lambda_body_vector_compute_new): New parameter lambda_obstack.
+	Pass it to lambda_body_vector_new.
+	(lambda_lattice_compute_base): New paramater lambda_obstack.  Pass
+	it to lambda_lattice_new.
+	(compute_nest_using_fourier_motzkin): New parameter lambda_obstack.
+	Pass it to lambda_loopnest_new, lambda_linear_expression_new.
+	(lambda_compute_target_space): Likewise.
+	(lambda_compute_auxillary_space): New parameter lambda_obstack.
+	Pass it to lambda_lattice_compute_base and
+	compute_nest_using_fourieer_motzkin.
+	(lambda_loopnest_transform): New parameter lambda_obstack.  Pass
+	it to lambda_lattice_compute_base, lambda_lattice_auxillary_space
+	and lambda_lattice_compute_target_space.
+	(gcc_tree_to_linear_expression): Nex parameter lambda_obstack.
+	Pass it to lambda_linear_expression_new.
+	(gcc_loop_to_lambda_loop): New parameter lambda_obstack.  Pass it
+	to gcc_tree_to_linear_expression.
+	(gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack.
+	Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new.
+	(lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack.
+	Pass it to lambda_body_vector_new and
+	lambda_body_vector_compute_new.
+	* Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency.
+	(lambda-code.o): Likewise.
+
+2007-09-06  Chao-ying Fu  <fu@mips.com>
+
+	* ginclude/stdfix.h: New file.
+	* Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h.
+	(convert.o): Add dependence on fixed-value.h.
+	* c-convert.c (convert): Support FIXED_POINT_TYPE.
+	* c-cppbuiltin.c (builtin_define_fixed_point_constants): New function
+	to define fixed-point constants.
+	(c_cpp_builtins): Define fixed-point constants.
+	* convert.c (fixed-value.h): New include.
+	(convert_to_real): Update comment to include fixed-point.
+	Support FIXED_POINT_TYPE.
+	(convert_to_integer): Update comment to include fixed-point.
+	Support FIXED_POINT_TYPE.
+	(convert_to_complex): Support FIXED_POINT_TYPE.
+	(convert_to_fixed): New function.
+	* convert.h (convert_to_fixed): Declare.
+	* genopinit.c: Add comment about $Q for only fixed-point modes.
+	(optabs): Add fract_optab, fractuns_optab, satfract_optab,
+	satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab,
+	sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab,
+	ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab,
+	usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab,
+	usneg_optab for fixed-point modes.
+	(gen_insn): Add force_fixed to track the $Q format for all fixed-point
+	modes.
+	* optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR,
+	PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or
+	unsigned saturation optabs, when type is saturating.
+	(shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT.
+	(expand_fixed_convert): New function.
+	(gen_fixed_libfunc, gen_signed_fixed_libfunc,
+	gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc,
+	gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc,
+	gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc,
+	gen_fract_conv_libfunc, gen_fractuns_conv_libfunc,
+	gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New
+	functions.
+	(init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab,
+	ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab,
+	usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab,
+	ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab,
+	usneg_optab, fract_optab, fractuns_optab, satfract_optab,
+	satfractuns_optab.
+	Initialize fixed-point libraries, including add, ssadd, usadd, sub,
+	sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl,
+	ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract,
+	fractuns, satfractuns.
+	* optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub,
+	OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg,
+	OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen,
+	OTI_ssmsub_widen,  OTI_usmsub_widen.
+	(ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
+	usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
+	ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab,
+	umsub_widen_optab, usmsub_widen_optab): Define.
+	(enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract,
+	COI_satfractuns.
+	(fract_optab, fractuns_optab, satfract_optab, satfractuns_optab):
+	Define.
+	(expand_fixed_convert): Declare.
+	* expr.c (convert_move): Support the move of fixed-point modes.
+	(emit_move_insn_1): Handle fixed-point mode to move via integer.
+	(categorize_ctor_elements_1): Handle FIXED_CST.
+	(count_type_elements): Handle FIXED_POINT_TYPE.
+	(expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT,
+	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	Support FIXED_CST.
+	For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating
+	multiply and add/subtract for fixed-point types.
+	For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point
+	mode, we jump to binop directly.
+	Support FIXED_CONVERT_EXPR.
+	(do_store_flag): Check FIXED_CST to put a constant second.
+	(vector_mode_valid_p): Handle MODE_VECTOR_FRACT,
+	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	(const_vector_from_tree): Support FIXED_CST.
+	* doc/extend.texi (Fixed-Point): New node.
+	* doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv,
+	ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract,
+	satfract, fractuns, satfractuns): Document them.
+
+2007-09-07  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
+	addresses into I registers.
+
+2007-09-06  Jan Hubicka  <jh@suse.cz>
+	    Andreas Tobler  <a.tobler@schweiz.org>
+
+	* config/darwin.c (machopic_indirect_data_reference): Avoid invalid
+	sharing.
+	(machopic_legitimize_pic_address): Likewise.
+
+2007-09-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+	    Jan Hubicka  <jh@suse.cz>
+
+	* config/spu/spu.md (floatsidf2): Use convert_optab_libfunc
+	instead of ufloat_optab->handlers directly.
+	(floatdidf2): Likewise.
+
+2007-09-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/mips/mips.c:  Include diagnostic.h.
+	(mips_set_current_function): Check errorcount and sorrycount 
+	before generating RTL.
+
+2007-09-06  Richard Sandiford  <richard@codesourcery.com>
+
+	PR target/33256
+	* config/mips/mips.c (mips_classify_symbolic_expression): New function.
+	(mips_classify_address): Use it instead of mips_symbolic_constant_p.
+	(print_operand_reloc): Likewise.
+
+2007-09-06  Janis Johnson  <janis187@us.ibm.com>
+
+	Revert:
+
+ 	2007-09-06  Jan Hubicka  <jh@suse.cz>
+ 
+	* config/i386/i386.c (ix86_expand_lround, ix86_expand_round):
+	Update call of real_2expN.
+
+	2007-09-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
+	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
+
+	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-06  Tom Tromey  <tromey@redhat.com>
+
+	* tree-cfg.c (remove_bb): Only warn if line is non-zero.
+	* c-pch.c (c_common_read_pch): Restore current location after
+	reading PCH file.
+	* tree.c (expand_location): Update.
+	(expr_filename): Changed return type.  Unified the two cases.
+	(expr_lineno): Likewise.
+	(annotate_with_file_line): Don't use EXPR_LINENO and EXPR_FILENAME
+	as lvalues.
+	* toplev.c (line_table): Changed type.
+	(general_init): Update.
+	(realloc_for_line_map): New function.
+	(general_init): Allocate line_table using GC.
+	* fix-header.c (line_table): Changed type.
+	(read_scan_file): Update.
+	(read_scan_file): Update.
+	* c-ppoutput.c (maybe_print_line): Update.
+	(print_line): Update.
+	(cb_line_change): Update.
+	(cb_define): Update.
+	(pp_file_change): Update.
+	* c-opts.c (c_common_init_options): Update.
+	(finish_options): Update.
+	(push_command_line_include): Update.
+	* c-lex.c (cb_line_change): Update.
+	(cb_def_pragma): Update.
+	(cb_define): Update.
+	(cb_undef): Update.
+	(c_lex_with_flags): Use cpp_get_token_with_location.
+	* input.h (line_table): Changed type.
+	(location_from_locus): New macro.
+	* tree.h (EXPR_FILENAME): No longer an lvalue.
+	(EXPR_LINENO): Likewise.
+	(expr_locus, set_expr_locus): Declare separately for
+	USE_MAPPED_LOCATION.
+	(expr_filename, expr_lineno): Changed return type.
+	* gimplify.c (tree_to_gimple_tuple): Use SET_EXPR_LOCUS.
+	* cfgexpand.c (expand_gimple_cond_expr): Use location_from_locus.
+	(expand_gimple_basic_block): Likewise.
+	* final.c (final_scan_insn): Use expanded_location.
+
+2007-09-06  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32586
+	* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
+	folding if nothing changed.
+	(simplify_unary_expression): New function.  Do tree combining
+	on conversion like codes.
+	(try_to_simplify): Call it.
+	* builtins.c (fold_builtin_cexp): Fold the built expressions.
+	* fold-const.c (fold_unary): Test result of get_callee_fndecl().
+
+2007-09-06  Jan Hubicka  <jh@suse.cz>
+
+	PR target/33318
+	* cse.c (fold_rtx): Avoid invalid sharing.
+
+2007-09-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
+	(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.
+
+2007-09-06  Revital Eres  <eres@il.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p):
+	Fix offsettable memory reference for 750CL.
+
+2007-09-06  Pat Haugen  <pthaugen@us.ibm.com>
+
+	* reload.c (find_reloads_address_1): Try to preserve original
+	base/index regclass of operands.
+	* regrename.c (scan_rtx_address): Likewise.
+	(replace_oldest_value_addr): Likewise.
+
+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>
+
+	* config/i386/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
+	* builtins.c (build_builtin_expect_predicate): New function.
+	(fold_builtin_expect): Add argument for expected value.
+	Distribute __builtin_expect over short-circuiting operations.
+	Fold nested builtin_expects.
+	(fold_builtin_2): Adjust call to fold_builtin_expect.
+
+2007-09-05  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR web/32965
+	PR tree-optimization/13756
+	* doc/invoke.texi (Options That Control Optimization): Document
+	-ftree-dse.
+
+2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/cpuid.h: New file.
+	* config/i386/driver-i386.c: Include cpuid.h.
+	(describe_cache): Shrink size and line strings to 100 bytes.
+	(detect_caches_amd): Return "" for unsupported max_ext_level.
+	Use __cpuid function.
+	(detect_caches_intel): Return "" for unsupported max_level.
+	Use __cpuid function.
+	(host_detect_local_cpu): Change feature flag variables to
+	unsigned int.  Initialize only extended feature flag variables.
+	Use __get_cpuid_max to determine max supported cpuid level.
+	Use __cpuid function to determine supported features.  Fix
+	calculation of family id.  Remove is_amd and check signature
+	directly.  Check for Geode signature.  Handle family 4 id.
+	[PROCESSOR_GENERIC32]: New default for unknown family id.  Move
+	cpu discovery code to lower part of the function.
+	[PROCESSOR_PENTIUM, PROCESSOR_K6, PROCESSOR_ATHLON]: Do not tune
+	for sub-architecture.
+	[PROCESSOR_PENTIUMPRO]: Simplify cpu discovery code.
+	[PROCESSOR_K8]: Add k8-sse3 architecture.
+	[PROCESSOR_NOCONA]: Remove.
+	[PROCESSOR_GENERIC64]: Ditto.
+	* config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
+	* config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
+	to check for SSE and FXSAVE support.
+	* config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
+	Add -minline-all-stringops.
+	* config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
+	(x86_64-*-*): Ditto.
+
+2007-09-05  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/linux-unwind.h: New file.
+	* config/bfin/linux.h (MD_UNWIND_SUPPORT): Define.
+	* config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Define.
+
+2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* Makefile.in (stmt.o): Add alloc-pool.h dependency.
+	* stmt.c: Include alloc-pool.h.
+	(struct case_node): Remove GTY marker.
+	(add_case_node): New parameter case_node_pool.  Use it for
+	allocation of r.
+	(expand_case): New allocation pool case_node_pool.  Initialize it,
+	pass to add_case_node and free it.
+
+2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+	    Nigel Stephens <nigel@mips.com>
+
+	Add mips16/nomips16 function attributes and -mflip-mips16 option
+	for testing mixed-mode compilation.
+
+	* config/mips/mips.opt (mflip-mips16): New.
+
+	* config/mips/mips.h (SYMBOL_FLAG_MIPS16_FUNC): Define.
+	(SYMBOL_FLAG_MIPS16_FUNC_P): Define.
+
+	* config/mips/mips.c (mips_base_target_flags): New.
+	(mips_base_mips16): New.
+	(mips_base_schedule_insns): New.
+	(mips_base_reorder_blocks_and_partition): New.
+	(mips_base_align_loops): New.
+	(mips_base_align_jumps): New.
+	(mips_base_align_functions): New.
+	(mips16_flipper): New.
+	(mips_attribute_table): Add "mips16" and "nomips16" entries.
+	(TARGET_SET_CURRENT_FUNCTION): Define.
+	(mips_mips16_type_p, mips_nomips16_type_p): New.
+	(mips_comp_type_attributes): Check mips16/nomips16 attributes.
+	(mips_function_ok_for_sibcall): Make it deal with functions with
+	mips16 attributes.
+	(mips_init_split_addresses): New, split out from override_options.
+	(mips_init_relocs): New, split out from override_options.
+	(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
+	combination.  Remove error for mips16/dsp combination.	Save
+	base option settings.  
+	(mips_file_start): Move mips16 mode setting output from here....
+	(mips_output_function_prologue): ....to here.
+	(mips_output_mi_thunk): Check for mips16 function.
+	(build_mips16_function_stub): Don't set .mips16 here.
+	(build_mips16_call_stub): Likewise.
+	(mips_expand_builtin): Error in mips16 mode.
+	(mips_use_mips16_mode_p): New.
+	(mips_encode_section_info): Check for mips16 function, and set
+	SYMBOL_REF_FLAGS accordingly.
+
+	* doc/extend.texi (Function Attributes): Document new
+	mips16/nomips16 attributes.
+	* doc/invoke.texi (Option Summary): Add -mflip-mips16.
+	(MIPS Options): Document -mflip-mips16.
+
+2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* 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
+	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,
+	because that now enables emutls, which is not ABI compatible
+	with native TLS in non-MIPS16 mode.
+
+2007-09-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	Add target hook invoked when cfun changes.
+
+	* doc/tm.texi (TARGET_SET_CURRENT_FUNCTION): Document.
+	* target.h (struct gcc_target): Add set_current_function.
+	* target-def.h (TARGET_SET_CURRENT_FUNCTION): Define.
+	(TARGET_INITIALIZER): Add initializer for set_current_function.
+	* tree.h (push_struct_function): New.
+	* tree-inline.h (push_cfun, pop_cfun): Move declarations to...
+	* function.h: Here.
+	(set_cfun): Declare.
+	* tree-inline.c (cfun_stack, push_cfun, pop_cfun): Moved to...
+	* 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.
+	(in_dummy_function): New.
+	(invoke_set_current_function_hook): New.
+	(set_cfun): New.
+	(push_cfun, pop_cfun): Use set_cfun.
+	(push_struct_function): New.
+	(allocate_struct_function): Call invoke_set_current_function_hook
+	before returning.
+	(prepare_function_start): Don't set cfun here.  Remove unused
+	argument; fix all callers.
+	(init_dummy_function_start): Fiddle with in_dummy_function.  Call
+	push_struct_function.
+	(init_function_start): Set cfun here.
+	(expand_dummy_function_end): Fiddle with in_dummy_function.  Pop cfun.
+	* omp-low.c (create_omp_child_function): Use push_struct_function
+	and pop_cfun to save/restore state.
+	(expand_omp_parallel): Remove unused saved_cfun variable.
+	* cgraphunit.c (ipa_passes): Use set_cfun.
+	* gimple-low.c (record_vars_into): Use push_cfun/pop_cfun here.
+	* dwarf2out.c (dwarf2out_abstract_function): Likewise.
+	* matrix-reorg.c (transform_allocation_sites): Likewise.
+	(matrix_reorg): Use set_cfun.
+	* gimplify.c (gimplify_function_tree): Use push_cfun/pop_cfun here.
+	* tree-optimize.c (tree_rest_of_compilation): Remove one redundant
+	assignment to cfun; use set_cfun for the other.
+	* tree-cfg.c (move_sese_region_to_fn): Use set_cfun.
+	(dump_function_to_file): Use push_cfun/pop_cfun here.
+	* c-decl.c (finish_function): Use set_cfun.
+
+2007-09-05  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* regrename.c (rerename_optimize): Use deferred rescanning and
+	insert explicit calls to rescan insns when changed.
+	
+2007-09-05  Jan Hubicka  <jh@suse.cz>
+
+	* optabs.c (libfunc_entry): Change optab to integer.
+	(hash_libfunc, convert_optab_libfunc, optab_libfunc,
+	set_optab_libfunc, set_conv_libfunc): Use optable indexes instead
+	of pointers for hashing.
+
+2007-09-05  Jan Hubicka  <jh@suse.cz>
+
+	* regrename.c (pass_regrename, pass_cprop_hardreg): Add RTL sharing
+	verifier.
+	* fwprop.c (pass_rtl_fwprop, pass_rtl_fwprop_add): Likewise.
+	* see.c (pass_see): Likewise.
+	* tracer.c (pass_tracer): Likewise.
+	* postreload-gcse.c (pass_gcse2): Likewise.
+	* postreload.c (pass_postreload_cse): Likewise.
+	* mode-switching.c (pass_mode_switching): Likewise.
+	* modulo-sched.c (pass_sms): Likewise.
+	* cse.c (cse_insn): Likewise.
+	* web.c (pass_web): Likweise.
+	* combine-stack-adj.c (pass_stack_adjustments): Likewise.
+	* dce.c (pass_ud_rtl_dce, pass_fast_rtl_dce): Likewise.
+	* loop-init.c (pass_rtl_loop_init): Likewise.
+	(pass_rtl_loop_done, pass_rtl_move_loop_, pass_rtl_unswitch,
+	pass_rtl_unroll_and, pass_rtl_doloop): Likewise.
+	* global.c (pass_global_alloc): Likewise.
+	* ifcvt.c (pass_rtl_ifcvt, pass_if_after_combine,
+	pass_if_after_reload): Likewise.
+	* reload.c (pass_peephole2, pass_split_for_shoren_branches): Likewise.
+	* dse.c (pass_rtl_dse1, pass_rtl_dse2): Likewise.
+	* regmove.c (pass_regmove): Likewise.
+	* function.c (pass_thread_prologugues_epilogues): Likewise.
+	* gcse.c (pass_gcse): Likewise.
+	* rtl-factoring.c (pass_rtl_seqabstr): Likewise.
+	* lower-subreg.c (pass_lower_subreg2): Likewise.
+	* bt-load.c (pass_branch_target_load): Likewise.
+	* emit-rtl.c (pass_unshare_all_rtl): Likewise.
+	* cfgcleanup.c (pass_jump, pass_jump2): Likewise.
+	* combine.c (pass_combine): Likewise.
+	* bb-reorder.c (pass_duplicate_comp, pass_reorder_blocks): Likewise.
+	(pass_partition_blocks): Likewise.
+	* var-tracking.c (pass_variable_track): Likewise.
+	* reg-stack.c (pass_stack_regs_run): Likewise.
+	* sched-rgn.c (pass_sched, pass_sched2): Likewise.
+	* passes.c (pass_postreload): Likewise.
+	(execute_function_todo): Add TODO_verify_rtl_sharing handling code.
+	* tree-pass.h (TODO_verify_rtl_sharing): New.
+	(TODO_update_ssa, TODO_update_ssa_no_phi, TODO_update_ssa_full_phi,
+	TODO_update_ssa_only_virtuals, TODO_remove_unused_locals,
+	TODO_set_props, TODO_df_finish, TODO_df_verify,
+	TODO_mark_first_instance, TODO_rebuild_alias): Renumber.
+
+2007-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* fold-const.c (all_ones_mask_p, sign_bit_p, simple_operand_p,
+	fold_real_zero_addition_p, reorder_operands_p,
+	div_if_zero_remainder, fold_undefer_overflow_warnings,
+	int_binop_types_match_p, fold_convert_const_int_from_int,
+	fold_convert_const_int_from_real,
+	fold_convert_const_int_from_fixed,
+	fold_convert_const_real_from_real,
+	fold_convert_const_real_from_fixed,
+	fold_convert_const_fixed_from_fixed,
+	fold_convert_const_fixed_from_int,
+	fold_convert_const_fixed_from_real, maybe_lvalue_p,
+	fold_checksum_tree, fold_check_failed, print_fold_checksum,
+	debug_fold_checksum, multiple_of_p): Constify.
+	* tree-flow-inline.h (get_lineno): Likewise.
+	* tree-flow.h (get_lineno): Likewise.
+	* tree-object-size.c (compute_object_offset, addr_object_size,
+	alloc_object_size, pass_through_call): Likewise.
+	* tree-pretty-print.c (op_symbol, print_call_name,
+	print_struct_decl, do_niy): Likewise.
+	* tree.h (fold_undefer_overflow_warnings, multiple_of_p,
+	debug_fold_checksum): Likewise.
+
+2007-09-04  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR middle-end/33029
+	* lower-subreg.c (resolve_clobber): If we remove a REG_LIBCALL
+	note, remove the associated REG_RETVAL note.
+
+2007-09-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* config.gcc (powerpc*-*-*): Install
+	spu2vmx.h, vec_types.h, and si2vmx.h headers.
+	* config/rs6000/spu2vmx.h: New header.
+	* config/rs6000/si2vmx.h: New header.
+	* config/rs6000/vec_types.h: New header.
+
+2007-09-05  Ben Elliston  <bje@au.ibm.com>
+
+	* varasm.c (initializer_constant_valid_p): Fix comment typo.
+
+2007-09-05  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/ppu_intrinsics.h (__ldarx): Use `Z' constraint,
+	not `m' for *ptrp.
+	(__stdcx): Make asm volatile.
+	(__stwcx, __stdcx): Return only 0 or 1.
+
+2007-09-05  Jan Hubicka  <jh@suse.cz>
+
+	Revert:
+
+	2007-09-04  Jan Hubicka  <jh@suse.cz>
+	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
+
+	2007-09-04  Richard Guenther  <rguenther@suse.de>
+	* tree-ssa-operands.c (add_virtual_operand): Only mark
+	stores as has_volatile_ops if alias information is not available.
+
+2007-09-05  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/tramp.asm: Include config.h.
+	Check __PIC__ or __pic__ macro instead of SHARED.
+
+	PR rtl-optimization/32300
+	* see.c (see_copy_insn): New function.
+	(see_def_extension_not_merged, see_merge_one_use_extension,
+	see_merge_one_def_extension): Use it.  Avoid changing
+	PREV_INSN/NEXT_INSN chains directly, insted emit insns
+	into sequences.  Call df_insn_delete on temporary insns
+	that won't be emitted into the insn stream.
+	(rest_of_handle_see): Turn off DF_DEFER_INSN_RESCAN
+	and run df_process_deferred_rescans () before run_fast_dce.
+
+	PR tree-optimization/33017
+	* tree-data-ref.c (split_constant_offset) <case SSA_NAME>: Don't
+	recurse for pure or const function calls.
+
+2007-09-04  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* c-format.c: Include alloc-pool.h.
+	(check_format_info_main): New argument fwt_alloc.  Use allocation
+	pool instead of GC.  Remove GC deallocation code.
+	(check_format_arg): Create allocation pool, pass it to
+	check_format_info_main and free it afterwards.
+	* Makefile.in (c-format.o): Add alloc-pool.h dependency.
+
+2007-09-05  Ben Elliston  <bje@au.ibm.com>
+
+	* config/rs6000/ppu_intrinsics.h (__protected_stream_count):
+	Rename count macro arugment for clarity.
+	(__protected_unlimited_stream_set): Pass UG=1 to __dcbt_TH1000.
+	(__protected_stream_set): Likewise, pass 0.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-tailcall.c (eliminate_tail_call): Expect unrenamed return value.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* invoke.texi (-finline-small-functions): Document.
+	* ipa-inline.c (cgraph_default_inline_p): Do not use DECL_INLINE
+	when deciding what is inlinable.
+	(cgraph_decide_recursive_inlining): Handle flag_inline_functions.
+	(cgraph_decide_inlining_of_small_function): Handle new flags.
+	(cgraph_decide_inlining_incrementally): Likewise.
+	* opts.c (decode_options): Enable flag_inline_small_functions at -O2
+	* common.opt (finline-small-functions): New.
+	* Makefile.in (build/gengtype.o-warn): Work around PR29478
+
+2007-09-04  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-operands.c (add_virtual_operand): Only mark
+	stores as has_volatile_ops if alias information is not available.
+
+2007-09-04  Andrew Haley  <aph@redhat.com>
+
+	* config/arm/libgcc-bpabi.ver: Add _Unwind_Backtrace as GCC_4.3.0.
+
+2007-09-04  Andrew Haley  <aph@redhat.com>
+
+	* config/arm/libunwind.S (UNWIND_WRAPPER _Unwind_Backtrace): New.
+	* config/arm/unwind-arm.h (__gnu_Unwind_Backtrace): New.
+	* config/arm/unwind-arm.c (__gnu_Unwind_Backtrace): New.
+
+2007-09-04  Emmanuel Thome  <Emmanuel.Thome@inria.fr>
+
+	PR c++/14178
+	* common.opt: Mention ABI version 2 in comment.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* optabs.c (debug_optab_libfunc): Update; make available to gdb.
+	(libfunc_entry): New structure.
+	(libfunc_hash): New hashtable.
+	(hash_libfunc): New function.
+	(eq_libfunc): New function.
+	(convert_optab_libfunc): New function.
+	(optab_libfunc): New function.
+	(expand_binop, sign_expand_binop, expand_twoval_binop_libfunc,
+	expand_unop, prepare_cmp_insn, prepare_float_insn, gen_add2_insn,
+	expand_float, expand_fix, new_optab, new_convert_optab):
+	 Update for new libfunc API.
+	(init_libfunc, init_integral_libfuncs,
+	init_floating_libfuncs, init_interclass_conv_libfuncs
+	init_intraclass_conv_libfuncs): Remove; reorganize all logic to:
+	(gen_libfunc, gen_int_libfunc, gen_fp_libfunc, gen_int_fp_libfunc,
+	gen_intv_fp_libfunc, gen_interclass_conv_libfunc,
+	gen_int_to_fp_conv_libfunc, gen_ufloat_conv_libfunc,
+	gen_int_to_fp_nondecimal_conv_libfunc, gen_fp_to_int_conv_libfunc,
+	gen_intraclass_conv_libfunc, gen_trunc_conv_libfunc,
+	gen_extend_conv_libfunc): New.
+	(init_one_libfunc): Revamp for hashtables.
+	(set_conv_libfunc): Likewise.
+	(init_optabs): Initialize hashtable; use lazy initialization where
+	possible.
+	* optabs.h (optab_handlers): Move out of GGC.
+	(optab, convert_optab): Move out of GGC; add lazy gen info.
+	(code_to_optab, convert_optab_table, optab_table): Move out of GGC.
+	(optab_libfunc, convert_optab_libfunc): New.
+	* builtins.c (expand_builtin_powi): Update for new API.
+	* expr.c (convert_move): Likewise.
+	* expmed.c (expand_divmod): Likewise.
+
+2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_stack_info): Allocate space for the
+	GOT pointer only if there is a constant pool.  Use the allocated space
+	for SPE also.
+
+2007-09-04  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
+	typo for AltiVec.
+
+2007-09-04  Revital Eres  <eres@il.ibm.com>
+	    Richard Guenther  <rguenther@suse.de>
+	    R. Clint Whaley  <whaley@cs.utsa.edu>
+
+	* doc/invoke.texi (-fassociative-math, -freciprocal-math):
+	Document new flags.
+	* tree-tailcall.c (process_assignment): Use -fassociative-math
+	when reodering operands of floating-point type.
+	* fold-const.c (fold_comparison, fold_binary): Use
+	-fassociative-math and -freciprocal-math instead of
+	-funsafe-math-optimization flag.
+	* toplev.h (set_unsafe_math_optimizations_flags): Declare function.
+	* tree-ssa-math-opts.c (gate_cse_reciprocals): Use
+	-freciprocal-math instead of -funsafe-math-optimizations.
+	* opts.c (set_fast_math_flags): Set -freciprocal-math and
+	-fassociative-math when -ffast-math is set.
+	(set_unsafe_math_optimizations_flags): New Function
+	to set -freciprocal-math and -fassociative-math when
+	-funsafe-math-optimizations is set.
+	(common_handle_option): Call it.
+	* tree-vectorizer.c (vect_is_simple_reduction): Use
+	-fassociative-math when doing reduction on floats.
+	* loop-unroll.c (analyze_insn_to_expand_var): Use
+	-fassociative-math when expanding an accumulator of type float.
+	* simplify-rtx.c (simplify_binary_operation_1): Use
+	-fassociative-math and -freciprocal-math when reordeing operands
+	of floating-point type.
+	* combine.c (combine_simplify_rtx): Likewise.
+	* tree-ssa-reassoc.c (break_up_subtract_bb, reassociate_bb):
+	Likewise.
+	* common.opt (-fassociative-math, -freciprocal-math): New flags.
+
+2007-09-04  Paolo Carlini  <pcarlini@suse.de>
+
+	PR c++/18608
+	* doc/install.texi (--enable-__cxa_atexit): Fix typo.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* regrename.c(copyprop_hardreg_forward_1): Unshare when doing copyprop.
+
+2007-09-04  Jan Hubicka  <jh@suse.cz>
+
+	* regrename.c (build_def_use): Don't share RTL between MATCH_OPERATOR
+	and corresponding MATCH_DUP.
+
+2007-09-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/33187
+	* combine.c (subst): Do not try to simplify X if it represents load
+	of FP constant from the constant pool via float extension.
+
+2007-09-04  Ben Elliston  <bje@au.ibm.com>
+
+	* c-opts.c: Include "tm_p.h".
+	* Makefile.in (c-opts.o): Add $(TM_P_H) as a dependency.
+
+2007-09-04  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33291
+	* tree-pretty-print.c (dump_generic_node): Dump all
+	qualifiers for pointer types, not only first.  Dump
+	qualifiers for aggregate types as well.
+	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Always
+	use the canonical type for building ARRAY_REFs.
+	* gimplify.c (canonicalize_addr_expr): Clean up.  The
+	correct validness check is compatibility of the pointer
+	types.  Always use the canonical type for building
+	ARRAY_REFs and ADDR_EXPRs.
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Revert
+	change that disabled propagation of ADDR_EXPRs into statements
+	with volatile ops.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+	* config/arm/arm.md (mulsidi3, umulsidi3, mulsi3_highpart)
+	(umulsi3_highpart): Make into expanders; existing insns are
+	now named *[insn]_nov6.  Add stars to existing [insn]_v6
+	counterparts' names.
+
+2007-09-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* Makefile.in (DRIVER_DEFINES, gcc.o, gccspec.o, protoize.o)
+	(unprotoize.o): Remove SHLIB_MULTILIB.
+
+2007-09-03  Eric Weddington  <eweddington@cso.atmel.com>
+
+	* doc/extend.texi: Document progmem attribute for AVR.
+
+2007-09-03  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/28902
+ 	* config/avr/avr.h (TARGET_VTABLE_ENTRY_ALIGN): Define.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+	* optabs.c (expand_ffs): Initialize val and defined_at_zero
+	to avoid warnings.
+
+	* optabs.c: Remove unnecessary forward declarations.
+	(expand_unop_direct): New, broken out of expand_unop.
+	(expand_doubleword_clz): New.
+	(expand_ctz): Move above expand_ffs.  Use
+	start_sequence, end_sequence, add_equal_note, and
+	expand_unop_direct.  Add more commentary.
+	(expand_ffs): Try both ctz optab and expand_ctz.
+	Generate a test and branch if the hardware doesn't give us
+	a useful value for input zero.  Style improvements similar to
+	expand_ctz.
+
+	* config/arm/arm.md (ffssi2, ctzsi2): Delete.
+
+2007-09-03  Zack Weinberg  <zack@codesourcery.com>
+
+	* config.gcc: Delete stanza for arm-semi-aof and
+	armel-semi-aof targets.
+	* config/arm/arm-protos.h
+	* config/arm/arm.c
+	* config/arm/arm.h: Delete all #ifdef AOF_ASSEMBLER blocks;
+	make all #ifndef AOF_ASSEMBLER blocks unconditional.  Also
+	delete aof_pic_label and remove mention of AOF in comments.
+	* config/arm/arm.md: Delete patterns used only for AOF assembly.
+	* config/arm/aof.h
+	* config/arm/semiaof.h
+	* config/arm/t-semi: Delete file.
+
+2007-09-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* system.h (CONST_CAST2, CONST_CAST_TREE, CONST_CAST_RTX,
+	CONST_CAST_BB): New macros for type-specific casts.
+	(CONST_CAST): Add a TYPE parameter and define it in terms of
+	CONST_CAST2.
+
+	* c-decl.c (c_make_fname_decl): Supply a TYPE for CONST_CAST.
+	* c-lex.c (cb_ident, lex_string): Likewise,
+	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise,
+	* config/i386/i386.c (ix86_function_regparm,
+	ix86_function_sseregparm): Use CONST_CAST_TREE.
+	* config/mmix/mmix.c (mmix_encode_section_info): Supply a TYPE for
+	CONST_CAST.
+	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
+	give_switch, set_multilib_dir): Likewise,
+	* gengtype-parse.c (string_seq, typedef_name): Likewise,
+	* gimple-low.c (block_may_fallthru): Use CONST_CAST_TREE.
+	* jump.c (reversed_comparison_code_parts): Use CONST_CAST_RTX.
+	* passes.c (execute_one_pass): Supply a TYPE for CONST_CAST.
+	* prefix.c (update_path): Likewise,
+	* pretty-print.c (pp_base_destroy_prefix): Likewise,
+	* rtlanal.c (keep_with_call_p): Use CONST_CAST_RTX.
+	* tree-cfg.c (tree_can_merge_blocks_p,
+	tree_block_ends_with_condjump_p): Use CONST_CAST_BB.
+	* tree-eh.c (lookup_stmt_eh_region_fn): USe CONST_CAST_TREE.
+	* tree.c (build_string): Supply a TYPE for CONST_CAST.
+	(attribute_list_contained): Use CONST_CAST_TREE.
+
+2007-09-03  Krister Walfridsson  <cato@df.lth.se>
+
+	* config/netbsd-elf.h (USE_LD_AS_NEEDED): Define.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+	PR middle-end/33290
+	* optabs.c (avoid_expensive_constant): Canonicalize CONST_INTs
+	before forcing them into a register.
+
+2007-09-03  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (fetchop_bit): Use define_code_iterator
+	rather than define_code_macro.
+
+2007-09-03  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	* gcc.c (xputenv): New function.
+	(putenv_from_prefixes): Use xputenv instead of putenv.
+	(process_command): Use xputenv instead of putenv.
+	(set_collect_gcc_options): Use xputenv instead of putenv.
+	(main): Use xputenv instead of putenv.
+
+2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
+
+	* config/cris/cris.h (TARGET_HAS_SWAP): Defined to describe
+	availability of swap instruction.
+	* config/cris/cris.md (bswapsi2): Implement using swap instruction.
+
+2007-09-03  Revital Eres  <eres@il.ibm.com>
+
+	* doc/invoke.texi (-fmodulo-sched-allow-regmoves): Update
+	Documentation.
+
+2007-09-03  Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Ayal Zaks  <zaks@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (ps_insert_empty_row, verify_partial_schedule,
+	compute_split_row): New functions.
+	(ps_unschedule_node): Remove.
+	(normalize_sched_times): Iterate over the already scheduled
+	insns instead of the number of nodes.
+	(MAX_SPLIT_NUM): New definition.
+	(sms_schedule_by_order): Change the scheduling heuristic to
+	avoid useless increases of initiation interval ii.
+	(get_sched_window): Add dump printouts.
+
+2007-09-02  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.md (UNSPEC_COMPARE_AND_SWAP, UNSPEC_SYNC_OLD_OP,
+	UNSPEC_SYNC_NEW_OP, UNSPEC_SYNC_EXCHANGE): New define_constants.
+	(optab, insn): Add more attributes.
+	(fetchop_bit): New code macro.
+	(immediate_insn): New code macro attribute.
+	(sync): Change condition to ISA_HAS_SYNC.
+	(rdhwr): Change predicate for operand 0 to register_operand.
+	(memory_barrier): New expand.
+	(sync_compare_and_swap<mode>, sync_add<mode>, sync_sub<mode>,
+	sync_old_add<mode>, sync_old_sub<mode>, sync_new_add<mode>,
+	sync_new_sub<mode>, sync_<optab><mode>,	sync_old_<optab><mode>,
+	sync_new_<optab><mode>, sync_nand<mode>, sync_old_nand<mode>,
+	sync_new_nand<mode>, sync_lock_test_and_set<mode>): New insns.
+	* config/mips/mips.h (ISA_HAS_SYNC, ISA_HAS_LL_SC): New ISA predicates.
+	(MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP, MIPS_SYNC_OLD_OP,
+	MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND, MIPS_SYNC_OLD_NAND,
+	MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): New Macros.
+	
+2007-09-03  Jesper Nilsson  <jesper.nilsson@axis.com>
+	    Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.h (TARGET_HAS_LZ, CLZ_DEFINED_VALUE_AT_ZERO):
+	Defined to describe availability and behavior of CLZ.
+	* config/cris/cris.md (clzsi2): Implement using lz instruction.
+	* config/cris/cris.opt: Tweak comment for "-metrax4".
+	* config/cris/arit.c (LZ): When defined, define as __builtin_clz.
+	* longlong.h [__CRIS__ && __CRIS_arch_version >= 3]
+	(count_leading_zeros): Define.
+
+2007-09-01  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* ggc-page.c (ggc_pch_read): Call validate_free_objects.
+
+2007-09-02  Joseph Myers  <joseph@codesourcery.com>
+
+	PR c/29237
+	PR middle-end/33272
+	* c-decl.c (grokdeclarator): Apply qualifiers to type of parameter
+	decayed from array.
+
+2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/arm/arm.c, config/rs6000/ppu_intrinsics.h,
+	config/spu/spu.c, df-scan.c, fixed-value.c, fold-const.c,
+	ginclude/tgmath.h, haifa-sched.c, optabs.c, recog.c,
+	sched-deps.c, sched-int.h, system.h, target.h,
+	tree-ssa-live.c, tree-vect-transform.c, tree-vectorizer.c,
+	tree.def: Fix comment typos.
+
+2007-09-01  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove.
+	(override_options): Turn on -mstrict-align on non-ColdFire
+	targets.
+	* config/m68k/m68k.h (BIGGEST_ALIGNMENT): Update a comment.
+
+2007-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-common.c (const_strip_array_types): Delete.
+	* c-common.h (const_strip_array_types): Likewise.
+	* emit-rtl.c (const_next_insn, const_previous_insn,
+	const_next_nonnote_insn, const_prev_nonnote_insn,
+	const_next_real_insn, const_prev_real_insn,
+	const_next_active_insn, const_prev_active_insn, const_next_label,
+	const_prev_label): Delete.
+	* gimple-low.c (block_may_fallthru): Use expr_last.
+	* jump.c (reversed_comparison_code_parts): Use prev_nonnote_insn.
+	* rtl.h (const_previous_insn, const_next_insn,
+	const_prev_nonnote_insn, const_next_nonnote_insn,
+	const_prev_real_insn, const_next_real_insn,
+	const_prev_active_insn, const_next_active_insn, const_prev_label,
+	const_next_label): Delete.
+	* rtlanal.c (keep_with_call_p): Use next_nonnote_insn.
+	* system.h (CONST_CAST): Update comment.
+	* tree-cfg.c (tree_can_merge_blocks_p): Use last_stmt.
+	(const_first_stmt, const_last_stmt): Delete.
+	(tree_block_ends_with_condjump_p): Use last_stmt.
+	* tree-flow.h (const_first_stmt, const_last_stmt): Delete.
+	* tree-iterator.c (const_expr_first, const_expr_last,
+	const_expr_only): Delete.
+	* tree.c (const_lookup_attribute): Likewise.
+	(attribute_list_contained): Use lookup_attribute.
+	* tree.h (const_lookup_attribute, const_expr_first,
+	const_expr_last, const_expr_only): Delete.
+
+2007-09-01  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-alias.c (create_name_tags): Use TYPE_VOLATILE
+	instead of TREE_THIS_VOLATILE.
+	* tree-ssa-operands.c (add_virtual_operand): Do not set
+	has_volatile_ops.  Do not check s_ann for NULL.
+	(get_indirect_ref_operands): Likewise.
+	(get_expr_operands): Likewise.  For all reference trees
+	set has_volatile_ops based on TREE_THIS_VOLATILE.  Also
+	check base of reference for TREE_THIS_VOLATILE.
+
+2007-09-01  Richard Guenther  <rguenther@suse.de>
+
+	* tree-cfg.c (verify_gimple_expr): Fix check for conversions
+	between integral types.  Also allow conversions between
+	pointer types.
+
+2007-08-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* optabs.c (prepare_float_lib_cmp): Use
+	libgcc_cmp_return_mode instead of word_mode.
+	* config/dfp-bit.h: Likewise.
+	* config/fp-bit.h: Likewise.
+	* config/spu/spu.c (spu_libgcc_cmp_return_mode):
+	New function.
+	(spu_libgcc_shift_count_mode): New function.
+	(TARGET_LIBGCC_CMP_RETURN_MODE): Define.
+	(TARGET_LIBGCC_SHIFT_COUNT_MODE): Define.
+
+2007-08-31  Joseph Myers  <joseph@codesourcery.com>
+
+	* tree-pretty-print.c: Include output.h.
+	(dump_decl_name, dump_generic_node): Use %wd with pp_printf, not
+	HOST_WIDE_INT_PRINT_DEC.
+	* Makefile.in (tree-pretty-print.o): Add dependency on output.h.
+
+2007-08-31  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR rtl-optimization/33224
+	* loop-iv.c (latch_dominating_def): Check that the definition belongs
+	to the analysed region.
+
+2007-08-31  Richard Guenther  <rguenther@suse.de>
+
+	* function.c (allocate_struct_function): Do not set
+	current_function_returns_pointer.
+	* function.h (struct var_refs_queue): Remove.
+	(struct simple_obstack_stack): Likewise.
+	(struct function): Remove fixup_var_refs_queue member.
+	Remove returns_pointer flag.
+	(current_function_returns_pointer): Remove define.
+
+2007-08-31  Nick Clifton  <nickc@redhat.com>
+
+	* tree-ssa-coalesce.c (compare_pairs): Use the elements as
+	secondary keys in order to obtain a stable sort.
+
+2007-08-31  Nick Clifton  <nickc@redhat.com>
+
+	PR target/33132
+	* config/m32r/constraints.md: Add W constraint for integer zero.
+	* config/m32r/m32r.md (get_pc): Use W and i constraints.
+	Fix length calculation by using alternatives.
+
+2007-08-31  Richard Sandiford  <richard@codesourcery.com>
+
+	* optabs.c (shift_optab_p, commutative_optab_p): New functions,
+	split out from expand_binop.
+	(avoid_expensive_constant): New function.
+	(expand_binop_directly): Remove commutative_op argument and
+	(expand_binop_directly): Remove commutative_op argument and
+	call cummutative_optab_p instead.  Do not change op0 or op1
+	when swapping xop0 and xop1.  Apply avoid_expensive_constant
+	to each argument after potential swapping.  Enforce the
+	canonical order of commutative operands.
+	(expand_binop): Use shift_optab_p and commutative_optab_p.
+	Update the calls to expand_binop_directly.  Only force constants
+	into registers when widening an operation.  Only swap operands
+	once a direct expansion has been rejected.
+	(expand_twoval_binop): Only force constants into registers when
+	using a direct expansion.
+
+2007-08-31  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* sched-deps.c (update_dep): Mark arguments with ATTRIBUTE_UNUSED.
+	(sched_analyze_insn): Don't postprocess speculative dependencies when
+	target has no scheduling.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Fix
+	'uninitialized' warning.
+
+2007-08-31  Richard Guenther  <rguenther@suse.de>
+
+	* tree.c (build_complex_type): Always set TYPE_NAME for
+	comples types.
+
+2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
+	* config/rs6000/xcoff.h (XCOFF_CSECT_DEFAULT_ALIGNMENT_STR): New
+	internal macro. Default alignment factor for csect directives, chosen
+	to match what BIGGEST_ALIGNMENT allows.
+	(DATA_SECTION_ASM_OP): Use it.
+	* config/rs6000/rs6000.c
+	(rs6000_xcoff_output_readonly_section_asm_op):
+	Use XCOFF_CSECT_DEFAULT_ALIGNMENT_STR.
+	(rs6000_xcoff_output_readwrite_section_asm_op): Likewise.
+	
+2007-08-31  Olivier Hainque  <hainque@adacore.com>
+
+	* dbxout.c (dbxout_block): Move declaration within the first
+	#if defined (DBX_DEBUGGING_INFO) block.  Rearrange another such
+	block to include the definition, together with the associated
+	helpers.
+
+2007-08-31  David Edelsohn  <edelsohn@gnu.org>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* doc/invoke.texi (-mpaired): Document flag.
+	* config.gcc: Include paired.h in powerpc extra_headers and
+	750cl.h in powerpc-*-linux*paired*.
+	* config/rs6000/rs6000.opt (-mpaired): New flag.
+	* config/rs6000/rs6000.c (paired_init_builtins,
+	paired_expand_builtin, paired_expand_lv_builtin,
+	paired_expand_stv_builtin, paired_expand_predicate_builtin):
+	New functions to support the paired single builtin functions.
+	(rs6000_hard_regno_mode_ok): Handle PAIRED_VECTOR_MODE.
+	(def_builtin, bdesc_3arg, bdesc_2arg, bdesc_1arg): Add paired
+	single builtins.
+	(bdesc_paired_preds): New structure for paired predicate
+	instructions.
+	(rs6000_expand_builtin): Expand paired single builtins.
+	(rs6000_init_builtins): Init paired single builtins.
+	(rs6000_common_init_builtins): Add v2sf_ftype_v2sf_v2sf_v2sf.
+	Rename v2sf_ftype_v2sf_v2sf to v2sf_ftype_v2sf_v2sf_spe
+	and v2sf_ftype_v2sf_spe to v2sf_ftype_v2sf.  Add new types
+	v2sf_ftype_v2sf_v2sf and v2sf_ftype_v2sf.
+	(rs6000_vector_mode_supported_p): Support paired vector mode.
+	* config/rs6000/rs6000.h: (UNITS_PER_PAIRED_WORD,
+	PAIRED_VECTOR_MODE, PAIRED_SIMD_REGNO_P, TARGET_PAIRED_FLOAT):
+	New.
+	(LOCAL_ALIGNMENT): Handle PAIRED_VECTOR_MODE.
+	(DATA_ALIGNMENT): Likewise.
+	(UNITS_PER_SIMD_WORD): Handle PAIRED_VECTOR_MODE.
+	(rs6000_builtins): Add PAIRED builtins.
+	* config/rs6000/rs6000.md: Include paired.md.
+	* config/rs6000/paired.h: New.
+	* config/rs6000/paired.md: New.
+	* config/rs6000/750cl.h: New.
+	* config/rs6000/spe.md: Recognize movv2sf instruction for 750cl.
+
+2007-08-30  Ollie Wild  <aaw@google.com>
+
+	* c-opts.c (c_common_handle_option): Support -fno-directives-only.
+	* gcc.c (default_compilers): Add -fno-directives-only to
+	@assembler-with-cpp.
+
+2007-08-30  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR middle-end/33211
+
+	* regclass.c (initial_fixed_regs): Revert previous change and make
+	it const again.
+	(initial_call_used_regs): Likewise.
+	(initial_call_really_used_regs): Delete, reverting previous addition.
+	(initial_reg_names): Likewise.
+	(init_reg_sets): Revert previous change.
+	(saved_fixed_regs): New.
+	(saved_call_used_regs): New.
+	(saved_call_really_used_regs): New.
+	(saved_reg_names): New.
+	(save_register_info): New.
+	(restore_register_info): New.
+	(init_reg_sets_1): Replace reset of register info with call to
+	restore_register_info.
+	* rtl.h (save_register_info): Declare.
+	* toplev.c (backend_init): Call save_register_info.
+
+2007-08-30  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+	* tree-ssa-propagate.c (set_rhs): Remove the copied annotation
+	from the original statement.
+
+2007-08-30  Chao-ying Fu  <fu@mips.com>
+
+	* c-lex.c (interpret_fixed): Declare.
+	(interpret_float): Process _Fract and _Accum.
+	(interpret_fixed): New function.
+	* final.c (output_addr_const): Process CONST_FIXED.
+	* simplify-rtx.c (simplify_const_unary_operation): Handle US_NEG.
+	(simplify_binary_operation_1): Handle US_ASHIFT, SS_MULT, US_MULT,
+	SS_DIV, US_DIV.
+	(simplify_const_binary_operation): Handle SS_MULT, US_MULT, SS_DIV,
+	US_DIV, US_ASHIFT.
+	(simplify_immed_subreg): Support CONST_FIXED.
+	Process MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+	(simplify_subreg): Support CONST_FIXED.
+
+2007-08-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* config/rs6000/ppu_intrinsics.h: New file.
+	* config.gcc (powerpc*-*-* <extra_headers>): Install
+	ppu_intrinsics.h.
+
+2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* cfg.c (dump_flow_info): Change to also print entry and exit
+	block info.
+	* print-rtl.c (print_rtl_single): Allow to print rtl with
+	-fdump-unnumbered.
+	
+2007-08-30  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* df-core.h (df_dump_region): New function.
+	* df.h (df_dump_region): New function.
+	* loop-invariant.c (find_defs): Add call to df_dump_region.
+	* loop-iv.c (iv_analysis_loop_init): Changed call from df_dump to
+	df_dump_region.
+	
+2007-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+	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,
+	rather than if any returned false.
+
+2007-08-30  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/33199
+	* tree-ssa-structalias.c (handle_lhs_call): New function.
+	(find_func_aliases): In non-IPA mode make sure that for
+	calls that return a pointer we add a constraint for the
+	result to point to anything.
+
+2007-08-30  Richard Guenther  <rguenther@suse.de>
+
+	* doc/invoke.texi (-mveclibabi): Document new target option.
+	* config/i386/i386.opt (-mveclibabi): New target option.
+	* config/i386/i386.c (ix86_veclib_handler): Handler for
+	vectorization library support.
+	(override_options): Handle the -mveclibabi option, initialize
+	the vectorization library handler.
+	(ix86_builtin_vectorized_function): As fallback call the
+	vectorization library handler, if set.
+	(ix86_veclibabi_acml): New static function for ACML ABI style
+	vectorization support.
+
+2007-08-30  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_sync): For QI or HI mode
+	used_m, even if it is 32-bit aligned, adjust used_m MEM to have
+	SImode and update m.  Don't run gen_lowpart_common on arbitrary
+	memory address, force it to register first.
+
+	PR middle-end/32758
+	* dce.c (dce_process_block): Don't delete setters of
+	artificially used registers.
+
+2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	* config/s390/s390.md ("*add<mode>3_alc_carry1_cc",
+	"*add<mode>3_alc_carry1_cconly", "*add<mode>3_alc_carry2_cc",
+	"*add<mode>3_alc_carry2_cconly"): New insn definitions.
+
+2007-08-30  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+	* config/s390/s390.c (s390_expand_addcc): Emit canonical alc
+	pattern.
+	* config/s390/s390.md ("*add<mode>3_alc_cc", "*add<mode>3_alc",
+	"addti3", "*adddi3_31z", "*scond<mode>"): Make alc pattern canonical.
+
+2007-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* system.h: Activate -Wcast-qual as warning-only.
+
+2007-08-29  Paolo Bonzini  <bonzini@gnu.org>
+
+	PR target/33168
+	* config/rs6000/rs6000.c (compare_section_name): New function.
+	(rs6000_elf_in_small_data_p): Compare section prefixes instead
+	of full name.
+
+2007-08-29  Olivier Hainque  <hainque@adacore.com>
+
+	* xcoffout.c: #include debug.h.
+	* Makefile.in (xcoffout.o): Add debug.h dependency.
+
+2007-08-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
+	Change CONST_VECTOR_ELT to XVECEXP in elem calculation.
+
+2007-08-29  Richard Guenther  <rguenther@suse.de>
+
+	* tree-pretty-print.c (dump_generic_node): Print
+	label DECL_UID as D.%u.
+	* tree-dfa.c (dump_variable): Print DECL_UID as D.%u.
+
+2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	* builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
+	* builtins.def (BUILT_IN_REALLOC): New builtin.
+
+2007-08-29  Douglas Gregor  <doug.gregor@gmail.com>
+
+	PR c++/33194
+	* tree.c (build_type_attribute_qual_variant): Set canonical types
+	on the final, unqualified attribute variant before building the
+	qualified version.
+
+2007-08-29  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.c (bfin_expand_builtin): Fix the argument
+	order of __builtin_bfin_cmplx_mac and __builtin_bfin_cmplx_msu.
+
+2007-08-29  Jie Zhang  <jie.zhang@analog.com>
+
+	Revert
+	2007-08-29  Jie Zhang  <jie.zhang@analog.com>
+	* config/bfin/bfin.md (composev2hi): Put operands into vector
+	with correct order.
+
+2007-08-29  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.md (composev2hi): Put operands into vector
+	with correct order.
+
+2007-08-29  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.c (bfin_expand_call): Inline PLT with l1_text
+	attribute when appropriate.
+	(bfin_handle_l1_text_attribute): New.
+	(bfin_handle_l1_data_attribute): New.
+	(bfin_attribute_table): Add attributes: l1_text, l1_data,
+	l1_data_A and l1_data_B.
+	* doc/extend.texi (node Function Attributes): Document l1_text
+	function attribute.
+	(Variable Attributes): Add Blackfin subsection. Document l1_data,
+	l1_data_A and l1_data_B variable attributes.
+
+2007-08-28  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.opt (minline-plt): Add.
+	* config/bfin/bfin.c (bfin_expand_call): Inline PLT when emit
+	call to global functions.
+	* doc/invoke.texi (Option Summary): Mention -minline-plt.
+	(Blackfin Options): Document -minline-plt.
+
+2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_get_function_kind): Assert we're never
+	given a non-function.
+	(m68k_ok_for_sibcall_p): Only sibcall functions of the same kind.
+
+2007-08-28  DJ Delorie  <dj@redhat.com>
+
+	* config/sh/sh.c (sh_gimplify_va_arg_expr): Fix sh2a support.
+
+2007-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* system.h (CONST_CAST): Avoid union for gcc-4.0.x.
+
+2007-08-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree.h (struct tree_function_decl): Increase size of
+	function_code bitfield.
+
+2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
+	    Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/linux.h
+	(M68K_HONOR_TARGET_STRICT_ALIGNMENT): Redefine as 0.
+	* config/m68k/m68k.c (TARGET_RETURN_IN_MEMORY): New.
+	(m68k_return_in_memory): New.
+	* config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
+	New.
+
+2007-08-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32661
+	* simplify-rtx.c (simplify_binary_operation_1) [VEC_SELECT]:
+	Simplify nested VEC_SELECT (with optional VEC_CONCAT operator as
+	operand) when top VEC_SELECT extracts scalar element.
+	* config/i386/sse.md (*vec_extract_v4si_mem): New pattern.
+	(*vec_extract_v4sf_mem): Ditto.
+
+2007-08-28  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/32370
+	* passes.c (init_optimization_passes): Move pass_df_finish
+	after pass_postreload sublist.
+
+	PR rtl-optimization/33148
+	* simplify-rtx.c (simplify_unary_operation_1): Only optimize
+	(neg (lt X 0)) if X has scalar int mode.
+
+	PR debug/32914
+	* dwarf2out.c (rtl_for_decl_init): If vector decl has CONSTRUCTOR
+	initializer, use build_vector_from_ctor if possible to create
+	VECTOR_CST out of it.  If vector initializer is not VECTOR_CST
+	even after this, return NULL.
+
+2007-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+	* c-pretty-print.c (pp_c_constant): Handle COMPLEX_CST.
+
+2007-08-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree.h (DECL_DISREGARD_INLINE_LIMITS): New.
+	(struct tree_function_decl): Make function_code a bitfield.
+	Add disregard_inline_limits flag.
+	* cgraphunit.c (cgraph_process_new_functions): Check
+	DECL_DISREGARD_INLINE_LIMITS instead of disregard_inline_limits_p.
+	(cgraph_preserve_function_body_p): Likewise.
+	* ipa-inline.c (compute_inline_parameters): Likewise.
+	* c-decl.c (finish_function): Set DECL_DISREGARD_INLINE_LIMITS
+	for GNU C extern inline functions.
+	(merge_decls): Merge DECL_DISREGARD_INLINE_LIMITS.
+	* tree-inline.c (disregard_inline_limits_p): Remove.
+	* tree-inline.h (disregard_inline_limits_p): Likewise.
+	* c-common.c (handle_always_inline_attribute): Set
+	DECL_DISREGARD_INLINE_LIMITS.
+	* langhooks.c (add_builtin_function): Verify the function code
+	fits in the bitfield.
+
+2007-08-28  Mircea Namolaru  <namolaru@il.ibm.com>
+	    Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+	    Andrey Belevantsev  <abel@ispras.ru>
+
+	* config/spu/spu.md: Recognize doloop pattern when -fmodulo-sched
+	is set.
+	* modulo-sched.c: Add documentation regarding do-loop.
+	(doloop_register_get): Change number of arguments to support
+	the new do-loop pattern and check whether COUNT_REG has no other
+	occurences in the loop besides in the control part.
+	(duplicate_insns_of_cycles): Do not duplicate the insn which
+	changes count_reg as it is already adjusted.
+	(generate_prolog_epilog): New argument to support the new
+	do-loop pattern.  Change the subtract instruction to use
+	expand_simple_binop.  Call duplicate_insns_of_cycles with new
+	argument.
+	(sms_schedule): Call doloop_register_get and
+	generate_prolog_epilog with new argument.  Do not handle loops
+	with single sets insns with subreg in their lhs.
+	* loop-doloop.c (doloop_optimize): Support for another do-loop
+	pattern.
+	(doloop_condition_get): Gets an instruction instead of a pattern
+	and change the return condition when the do-loop pattern is
+	not parallel.
+	* ddg.c (create_ddg_dep_from_intra_loop_link): Handle only reg
+	deps when considering to not create edges.
+
+2007-08-27  Alexandre Oliva  <aoliva@redhat.com>
+
+	* doc/extend.texi (gnu_inline funtion attribute): Document C++
+	behavior.
+
+2007-08-27  Jason Merrill  <jason@redhat.com>
+
+	PR c++/31337
+	* gimplify.c (gimplify_modify_expr): Discard the assignment of 
+	zero-sized types after calling gimplify_modify_expr_rhs.
+
+2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* regclass.c (init_reg_autoinc): Fix typo.
+
+2007-08-27  Daniel Berlin  <dberlin@dberlin.org>
+	
+	Fix PR tree-optimization/33173
+	* tree-ssa-alias.c (find_used_portions): Fix reversed test.
+
+2007-08-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/31385
+	* config/i386/i386.h (VALID_DFP_MODE_P): New.
+	* config/i386/i386.c (ix86_hard_regno_mode_ok): Allow DFP in
+	GPR.
+
+2007-08-27  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+	    Nigel Stephens <nigel@mips.com>
+
+	Separate target-specific initialization from general
+	back-end initialization.
+
+	* toplev.c (init_alignments): New, split out from...
+	(process_options): ...here.
+	(backend_init_target): New, split out from...
+	(backend_init): ...here.
+	(lang_dependent_init_target): New, split out from...
+	(lang_dependent_init): ...here.
+	(target_reinit): New.
+	* toplev.h (target_reinit): Declare.
+	* expr.c (init_expr_target): Renamed from init_expr_once, since it
+	now can be called more than once.  Update comments.
+	* expr.h (init_expr_target): Likewise.
+	* alias.c (init_alias_target): Renamed from init_alias_once, since it
+	now can be called more than once.  Explicitly zero
+	static_reg_base_value.
+	* emit-rtl.c (init_emit_regs): New, split out from...
+	(init_emit_once): Here.
+	* regclass.c (initial_fixed_regs, initial_call_used_regs): Make
+	non-const, so that changes from command-line arguments can overwrite
+	values provided by the static initializers.
+	(initial_call_really_used_regs): New, used similarly to the above.
+	(initial_reg_names): Likewise.
+	(last_mode_for_init_move_cost): Promoted function-local static to
+	file-scope static to make it accessible outside init_move_cost.
+	(init_reg_sets): Do not initialize fixed_regs and call_used_regs yet.
+	Do not initialize inv_reg_alloc_order yet, either.  Do initialize
+	reg_names since it is needed for parsing command-line options.
+	(init_move_cost): Use last_mode_for_init_move_cost instead of
+	function-local static.
+	(init_reg_sets_1): Initialize fixed_regs, call_used_regs, and
+	call_really_used_regs now.  Reinitialize reg_names.  Also
+	initialize inv_reg_alloc_order.  Zero reg_class_subunion and
+	reg_class_superunion.  Clear losing_caller_save_reg_set.
+	Preserve global registers if called more than once.  Reset
+	move cost, may_move_in_cost, may_move_out_cost, and
+	last_mode_for_init_move_cost.
+	(init_reg_modes_target): Renamed from init_reg_modes_once, since it
+	can now be invoked more than once.  Update comments.
+	(init_regs): Update comments.
+	(fix_register): Update initial_fixed_regs, initial_call_used_regs,
+	and initial_call_really_used_regs, instead of the non-initial 
+	variables.  This allows us to save the command-line register settings
+	after target reinitialization.
+	(init_reg_autoinc): Zero forbidden_inc_dec_classes.
+	* rtl.h (init_emit_regs): Declare.
+	(init_reg_modes_target, init_alias_target): Renamed as described
+	above.
+	* reload1.c (init_reload): Update comments.
+	* optabs.c (init_optabs): Likewise.
+	* cfgloopanal.c (init_set_costs): Explicitly zero target_avail_regs.
+	
+2007-08-26  Chao-ying Fu  <fu@mips.com>
+
+	* rtl.h (XCNMPFV): Preserve const-ness of parameters through use of
+	__typeof().
+
+2007-08-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (memory_modified_1, memory_modified_in_insn_p):
+	Constify.
+	* basic-block.h (tree_predicted_by_p, rtl_predicted_by_p):
+	Likewise.
+	* bb-reorder.c (copy_bb_p): Likewise.
+	* cfghooks.c (can_remove_branch_p, can_merge_blocks_p,
+	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
+	block_ends_with_condjump_p): Likewise.
+	* cfghooks.h (can_remove_branch_p, can_merge_blocks_p,
+	predicted_by_p, can_duplicate_block_p, block_ends_with_call_p,
+	block_ends_with_condjump_p): Likewise.
+	* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
+	* cfgrtl.c (can_delete_note_p, can_delete_label_p,
+	rtl_can_merge_blocks, cfg_layout_can_merge_blocks_p,
+	rtl_block_ends_with_call_p, rtl_block_ends_with_condjump_p,
+	need_fake_edge_p, rtl_can_remove_branch_p): Likewise.
+	* dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Use
+	debug_true_const_tree instad of debug_true_tree.
+	* debug.c (do_nothing_debug_hooks): Likewise.
+	* debug.h (ignore_block, debug_true_const_tree): Constify.
+	* dwarf2out.c (stack_adjust_offset, clobbers_queued_reg_save,
+	dwarf2out_ignore_block, is_pseudo_reg, is_tagged_type,
+	decl_ultimate_origin, block_ultimate_origin, lookup_decl_loc,
+	same_dw_val_p, add_ranges, is_subrange_type, type_is_enum,
+	dbx_reg_number, is_based_loc, field_type,
+	simple_type_align_in_bits, simple_decl_align_in_bits,
+	simple_type_size_in_bits, field_byte_offset, insert_float,
+	type_tag, member_declared_type, is_redundant_typedef,
+	secname_for_decl, is_inlined_entry_point): Likewise.
+	* emit-rtl.c (const_next_insn, const_previous_insn,
+	const_next_nonnote_insn, const_prev_nonnote_insn,
+	const_next_real_insn, const_prev_real_insn,
+	const_next_active_insn, const_prev_active_insn, const_next_label,
+	const_prev_label): Likewise.
+	* except.h (lookup_stmt_eh_region_fn, lookup_stmt_eh_region):
+	Likewise.
+	* haifa-sched.c (may_trap_exp, haifa_classify_insn,
+	find_set_reg_weight, no_real_insns_p, find_set_reg_weight,
+	sched_insn_is_legitimate_for_speculation_p): Likewise.
+	* jump.c (reversed_comparison_code_parts,
+	reversed_comparison_code, reversed_comparison, condjump_label):
+	Likewise.
+	* predict.c (rtl_predicted_by_p, tree_predicted_by_p): Likewise.
+	* reg-stack.c (stack_regs_mentioned_p, stack_regs_mentioned):
+	Likewise.
+	* rtl.h (const_previous_insn, const_next_insn,
+	const_prev_nonnote_insn, const_next_nonnote_insn,
+	const_prev_real_insn, const_next_real_insn,
+	const_prev_active_insn, const_next_active_insn, const_prev_label,
+	const_next_label, modified_between_p, modified_in_p,
+	const_note_storeskeep_with_call_p, condjump_label,
+	reversed_comparison, reversed_comparison_code,
+	reversed_comparison_code_parts, memory_modified_in_insn_p,
+	stack_regs_mentioned): Likewise.
+	* rtlanal.c (modified_between_p, modified_in_p, const_note_stores,
+	keep_with_call_p): Likewise.
+	* sched-deps.c (deps_may_trap_p, sched_get_condition,
+	conditions_mutex_p, sched_insns_conditions_mutex_psd_next_list,
+	sd_lists_size, sd_lists_empty_p): Likewise.
+	* sched-int.h (sched_insns_conditions_mutex_p,
+	haifa_classify_insn, no_real_insns_p,
+	sched_insn_is_legitimate_for_speculation_p, sd_next_list,
+	sd_lists_size, sd_lists_empty_p): Likewise.
+	* sdbout.c (sdb_debug_hooks): Likewise.
+	* tree-cfg.c (tree_can_merge_blocks_p, is_ctrl_altering_stmt,
+	stmt_ends_bb_p, tree_can_remove_branch_p, tree_can_duplicate_bb_p,
+	-tree_block_ends_with_call_p, tree_block_ends_with_condjump_p):
+	Likewise.
+	* tree-eh.c (lookup_stmt_eh_region_fn, lookup_stmt_eh_region,
+	tree_can_throw_internal): Likewise.
+	* tree-flow-inline.h (phi_nodes): Likewise.
+	* tree-flow.h (phi_nodesstmt_ends_bb_p, is_ctrl_altering_stmt,
+	tree_can_throw_internal, lookup_stmt_eh_region): Likewise.
+	* tree-gimple.c (const_get_call_expr_in): Likewise.
+	* tree-gimple.h (const_get_call_expr_in): Likewise.
+	* tree.c (const_lookup_attribute, attribute_list_equal,
+	attribute_list_contained): Likewise.
+	* tree.h (attribute_list_equal, attribute_list_contained,
+	const_lookup_attribute): Likewise.
+	* vmsdbgout.c (vmsdbgout_ignore_block): Likewise.
+
+2007-08-26  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	* tree-ssa-sccvn.c, tree-ssa-sccvn.h, tree-vn.c,
+	tree-ssa-pre.c: Remove unnecessary trailing whitespace.
+
+2007-08-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/32991
+	* config/alpha/constraints.md: Delete "svn:mime-type" property
+	with svn propdel "svn:mime-type".
+
+2007-08-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR middle-end/33181
+	* ifcvt.c (noce_get_alt_condition): Make sure that the previous
+	non NOTE insn doesn't cross basic block.
+	(noce_try_abs): Likewise.
+	(noce_process_if_block): Likewise.
+
+2007-08-26  David Edelsohn  <edelsohn@gnu.org>
+
+	PR target/33151
+	* config/rs6000/predicates.md (offsettable_mem_operand): Memory
+	operand without auto-inc-dec.
+	* config/rs6000/rs6000.md (floatsidf2_internal): Use
+	offsettable_mem_operand.
+	(floatunssidf2_internal): Same.
+	(fix_truncdfsi2_internal): Same.
+	(floatsidf_ppc64): Same.
+	(floatunssidf_ppc64): Same.
+	(fix_trunctfsi2_internal): Same.
+
+2007-08-26  Bernhard Fischer  <aldot@gcc.gnu.org>
+
+	PR bootstrap/30620
+	* Makefile.in (libbackend.o): Add gcov-iov.h dependency and
+	pass defines needed for version.c.
+
+2007-08-25  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac (--debug-prefix-map check): Change assembler
+	version presumed to have feature to 2.18.
+	* configure: Regenerate.
+
+2007-08-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-common.c (vector_types_convertible_p,
+	decl_with_nonnull_addr_p, c_promoting_integer_type_p,
+	self_promoting_args_p): Constify.
+	* c-common.h (has_c_linkage, decl_with_nonnull_addr_p,
+	c_promoting_integer_type_p, self_promoting_args_p,
+	anon_aggr_type_p, vector_types_convertible_p): Likewise.
+	* c-decl.c (anon_aggr_type_p): Likewise.
+	* * c-dump.c (dump_stmt): Likewise.
+	* c-objc-common.c (has_c_linkage): Likewise.
+	* c-tree.h (same_translation_unit_p): Likewise.
+	* c-typeck.c (null_pointer_constant_p,
+	tagged_types_tu_compatible_p, function_types_compatible_p,
+	type_lists_compatible_p, lvalue_or_else, lvalue_p,
+	comptypes_internal, struct tagged_tu_seen_cache,
+	same_translation_unit_p, alloc_tagged_tu_seen_cache,
+	c_size_in_bytes): Likewise.
+	* ggc-common.c (compare_ptr_data, hash_descriptor, eq_descriptor,
+	hash_ptr, eq_ptr): Likewise.
+	* langhooks-def.h (lhd_decl_ok_for_sibcall,
+	LANG_HOOKS_OMP_PRIVATIZE_BY_REFERENCE): Likewise.
+	* langhooks.c (lhd_decl_ok_for_sibcall): Likewise.
+	* langhooks.h (ok_for_sibcall, omp_privatize_by_reference):
+	Likewise.
+	* optabs.c (optab_for_tree_code): Likewise.
+	* optabs.h (optab_for_tree_code): Likewise.
+	* rtl.h (simplify_rtx): Likewise.
+	* simplify-rtx.c (simplify_rtx): Likewise.
+	* tree-dump.c (queue, queue_and_dump_index, queue_and_dump_type,
+	dump_flag, dump_node): Likewise.
+	* tree-dump.h (struct dump_info, dump_stmt, queue_and_dump_index,
+	queue_and_dump_type, dump_flag): Likewise.
+	* tree-flow.h (vect_can_force_dr_alignment_p): Likewise.
+	* tree-pass.h (dump_node): Likewise.
+	* tree-vectorizer.c (vect_can_force_dr_alignment_p,
+	supportable_narrowing_operation): Likewise.
+	* tree-vectorizer.h (vect_can_force_dr_alignment_p,
+	supportable_narrowing_operation): Likewise.
+	* tree-vrp.c (needs_overflow_infinity, supports_overflow_infinity,
+	is_negative_overflow_infinity, is_positive_overflow_infinity,
+	is_overflow_infinity, vrp_val_is_max, vrp_val_is_min,
+	nonnull_arg_p, get_value_range, vrp_operand_equal_p,
+	update_value_range, add_equivalence, ssa_name_nonnegative_p,
+	ssa_name_nonzero_p, fp_predicate): Likewise.
+	* tree.c (auto_var_in_fn_p, empty_body_p): Likewise.
+	* tree.h (empty_body_p, auto_var_in_fn_p, ssa_name_nonzero_p,
+	ssa_name_nonnegative_p): Likewise.
+
+2007-08-25  Hans Kester  <hans.kester@ellips.nl>
+
+	* config.gcc : Add x86_64-elf target.
+
+2007-08-25  Jakub Jelinek  <jakub@redhat.com>
+
+	* expr.c (store_expr): Fix order of store_by_pieces arguments.
+
+2007-08-24  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens <nigel@mips.com>
+
+	PR target/11787
+
+	* doc/tm.texi (SET_RATIO, SET_BY_PIECES_P): Document new macros.
+	(STORE_BY_PIECES_P): No longer applies to __builtin_memset.
+	* expr.c (SET_BY_PIECES_P): Define.
+	(can_store_by_pieces, store_by_pieces): Add MEMSETP argument; use
+	it to decide whether to use SET_BY_PIECES_P or STORE_BY_PIECES_P.
+	(store_expr): Pass MEMSETP argument to can_store_by_pieces and
+	store_by_pieces.
+	* expr.h (SET_RATIO): Define.
+	(can_store_by_pieces, store_by_pieces):	Update prototypes.
+	* builtins.c (expand_builtin_memcpy): Pass MEMSETP argument to
+	can_store_by_pieces/store_by_pieces.
+	(expand_builtin_memcpy_args): Likewise.
+	(expand_builtin_strncpy): Likewise.
+	(expand_builtin_memset_args): Likewise.  Also remove special case
+	for optimize_size so that can_store_by_pieces/SET_BY_PIECES_P can
+	decide what to do instead.
+	* value-prof.c (tree_stringops_transform): Pass MEMSETP argument
+	to can_store_by_pieces.
+
+	* config/sh/sh.h (SET_BY_PIECES_P): Clone from STORE_BY_PIECES_P.
+	* config/s390/s390.h (SET_BY_PIECES_P): Likewise.
+
+	* config/mips/mips.opt (mmemcpy): Change from Var to Mask.
+	* config/mips/mips.c (override_options): Make -Os default to -mmemcpy.
+	* config/mips/mips.h (MIPS_CALL_RATIO): Define.
+	(MOVE_RATIO, CLEAR_RATIO, SET_RATIO): Define.
+	(STORE_BY_PIECES_P): Define.
+
+2007-08-24  Tom Tromey  <tromey@redhat.com>
+
+	* varpool.c (varpool_last_needed_node): Fix comment typo.
+	* c-decl.c (duplicate_decls): Fix comment typo.
+	(clone_underlying_type): Update comment.
+
+2007-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* config/alpha/alpha.c (alpha_mangle_type, decl_has_samegp,
+	alpha_in_small_data_p, alpha_split_complex_arg,
+	alpha_stdarg_optimize_hook, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+	Constify.
+	* config/arm/arm-protos.h (arm_mangle_type): Likewise.
+	* config/arm/arm.c (arm_comp_type_attributes, arm_mangle_type):
+	Likewise.
+	* config/bfin/bfin.c (funkind, bfin_comp_type_attributes,
+	TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+	* config/darwin-protos.h (darwin_binds_local_p): Likewise.
+	* config/darwin.c (darwin_binds_local_p): Likewise.
+	* config/frv/frv.c (frv_string_begins_with, frv_in_small_data_p):
+	Likewise.
+	* config/i386/i386-protos.h (i386_pe_binds_local_p,
+	i386_pe_valid_dllimport_attribute_p): Likewise.
+	* config/i386/i386.c (ix86_function_regparm,
+	ix86_comp_type_attributes, ix86_ms_bitfield_layout_p,
+	x86_can_output_mi_thunk, ix86_mangle_type,
+	TARGET_USE_BLOCKS_FOR_CONSTANT_P): Likewise.
+	* config/i386/winnt.c (i386_pe_valid_dllimport_attribute_p,
+	i386_pe_binds_local_p): Likewise.
+	* config/ia64/ia64.c
+	(ia64_first_cycle_multipass_dfa_lookahead_guard_spec,
+	ia64_needs_block_p, ia64_in_small_data_p, ia64_mangle_type,
+	ia64_invalid_conversion, ia64_invalid_unary_op,
+	ia64_invalid_binary_op, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+	Likewise.
+	* config/m32c/m32c.c (m32c_comp_type_attributes): Likewise.
+	* config/m32r/m32r.c (m32r_in_small_data_p): Likewise.
+	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+	* config/mips/mips.c (mips_use_blocks_for_constant_p,
+	mips_in_small_data_p, mips_use_anchors_for_symbol_p,
+	mips_comp_type_attributes, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+	mips_near_type_p, mips_far_type_p, mips_global_symbol_p,
+	mips_symbol_binds_local_p, mips_classify_symbol): Likewise.
+	* config/pa/pa.c (pa_commutative_p): Likewise.
+	* config/rs6000/rs6000-protos.h (rs6000_elf_in_small_data_p):
+	Likewise.
+	* config/rs6000/rs6000.c (rs6000_invalid_within_doloop,
+	rs6000_ms_bitfield_layout_p, rs6000_mangle_type,
+	rs6000_use_blocks_for_constant_p,
+	rs6000_vector_alignment_reachable, rs6000_is_opaque_type,
+	invalid_arg_for_unprototyped_fn, TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+	TARGET_SPLIT_COMPLEX_ARG, rs6000_elf_in_small_data_p): Likewise.
+	* config/s390/s390.c (s390_mangle_type,
+	TARGET_ASM_CAN_OUTPUT_MI_THUNK, TARGET_INVALID_WITHIN_DOLOOP):
+	Likewise.
+	* config/score/score.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+	th_in_small_data_p): Likewise.
+	* config/sh/sh.c (sh_ms_bitfield_layout_p,
+	sh_dwarf_calling_convention, TARGET_ASM_CAN_OUTPUT_MI_THUNK):
+	Likewise.
+	* config/sparc/sparc.c (sparc_can_output_mi_thunk,
+	sparc_mangle_type): Likewise.
+	* config/spu/spu.c (spu_vector_alignment_reachable): Likewise.
+	* config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): Likewise.
+	* emit-rtl.c (const_fixed_htab_hash, const_fixed_htab_eq):
+	Likewise.
+	* hooks.c (hook_bool_mode_const_rtx_false,
+	hook_bool_mode_const_rtx_true,
+	hook_bool_const_tree_hwi_hwi_const_tree_false,
+	hook_bool_const_tree_hwi_hwi_const_tree_true,
+	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+	hook_constcharptr_const_tree_null,
+	hook_constcharptr_const_rtx_null,
+	hook_constcharptr_const_tree_const_tree_null,
+	hook_constcharptr_int_const_tree_null,
+	hook_constcharptr_int_const_tree_const_tree_null): New.
+	(hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+	hook_bool_tree_hwi_hwi_tree_false,
+	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+	hook_int_tree_tree_1, hook_constcharptr_tree_null,
+	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+	hook_constcharptr_int_tree_null,
+	hook_constcharptr_int_tree_tree_null): Delete.
+	(default_can_output_mi_thunk_no_vcall): Constify.
+	* hooks.h (hook_bool_mode_rtx_false, hook_bool_mode_rtx_true,
+	hook_bool_tree_hwi_hwi_tree_false,
+	hook_bool_tree_hwi_hwi_tree_true, hook_int_tree_0,
+	hook_int_tree_tree_1, hook_constcharptr_tree_null,
+	hook_constcharptr_rtx_null, hook_constcharptr_tree_tree_null,
+	hook_constcharptr_int_tree_null,
+	hook_constcharptr_int_tree_tree_null): Delete.
+	(hook_bool_mode_const_rtx_false, hook_bool_mode_const_rtx_true,
+	hook_bool_const_tree_hwi_hwi_const_tree_false,
+	hook_bool_const_tree_hwi_hwi_const_tree_true,
+	hook_int_const_tree_0, hook_int_const_tree_const_tree_1,
+	hook_constcharptr_const_tree_null,
+	hook_constcharptr_const_rtx_null,
+	hook_constcharptr_const_tree_const_tree_null,
+	hook_constcharptr_int_const_tree_null,
+	hook_constcharptr_int_const_tree_const_tree_null): New.
+	(default_can_output_mi_thunk_no_vcall): Constify.
+	* integrate.c (function_attribute_inlinable_p): Likewise.
+	* integrate.h (function_attribute_inlinable_p): Likewise.
+	* jump.c (rtx_renumbered_equal_p): Likewise.
+	* output.h (decl_readonly_section, categorize_decl_for_section,
+	default_use_anchors_for_symbol_p, default_binds_local_p,
+	default_binds_local_p_1): Likewise.
+	* rtl.h (rtx_renumbered_equal_p, decl_default_tls_model):
+	Likewise.
+	* target-def.h (TARGET_ASM_CAN_OUTPUT_MI_THUNK,
+	TARGET_VALID_DLLIMPORT_ATTRIBUTE_P, TARGET_VECTOR_OPAQUE_P,
+	TARGET_COMMUTATIVE_P, TARGET_USE_BLOCKS_FOR_CONSTANT_P,
+	TARGET_COMP_TYPE_ATTRIBUTES,
+	TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P,
+	TARGET_MS_BITFIELD_LAYOUT_P, TARGET_MANGLE_TYPE,
+	TARGET_IN_SMALL_DATA_P, TARGET_INVALID_CONVERSION,
+	TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
+	TARGET_DWARF_CALLING_CONVENTION): Likewise.
+	* target.h (can_output_mi_thunk, needs_block_p,
+	first_cycle_multipass_dfa_lookahead_guard_spec,
+	vector_alignment_reachable, comp_type_attributes,
+	function_attribute_inlinable_p, ms_bitfield_layout_p, mangle_type,
+	commutative_p, use_blocks_for_constant_p,
+	use_anchors_for_symbol_p, in_small_data_p, binds_local_p,
+	vector_opaque_p, dwarf_calling_convention, stdarg_optimize_hook,
+	invalid_within_doloop, valid_dllimport_attribute_p,
+	split_complex_arg, invalid_arg_for_unprototyped_fn,
+	invalid_conversion, invalid_unary_op, invalid_binary_op):
+	Likewise.
+	* targhooks.c (default_invalid_within_doloop,
+	hook_invalid_arg_for_unprototyped_fn,
+	default_builtin_vector_alignment_reachable): Likewise.
+	(hook_bool_rtx_commutative_p): Delete.
+	(hook_bool_const_rtx_commutative_p): New.
+	* targhooks.h (default_invalid_within_doloop,
+	default_builtin_vector_alignment_reachable,
+	hook_invalid_arg_for_unprototyped_fn): Constify.
+	(hook_bool_rtx_commutative_p): Delete.
+	(hook_bool_const_rtx_commutative_p): New.
+	* varasm.c (bss_initializer_p, decl_default_tls_model,
+	categorize_decl_for_section, decl_readonly_section,
+	default_use_anchors_for_symbol_p, default_binds_local_p,
+	default_binds_local_p_1): Constify.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+	__NO_BUILTIN if -fno-builtin.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.c (print_operand): Report error instead of
+	ICE for wrong operand.
+
+2007-08-24  Michael Matz  <matz@suse.de>
+
+	* Makefile.in (GTFILES_H): Use $(patsubst) instead of $(subst).
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33166
+	* tree-ssa.c (useless_type_conversion_p): Split into a
+	recursive and a non-recursive part.
+	(useless_type_conversion_p_1): New function.
+	* tree-ssa-ccp.c (fold_stmt_r): Make sure that the result
+	from maybe_fold_offset_to_reference is trivially convertible
+	to the desired type before doing the simplification.
+
+2007-08-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* expr.c (store_expr): Optimize initialization of an array
+	with STRING_CST.
+	* expr.h (builtin_strncpy_read_str): New prototype.
+	* builtins.c (builtin_strncpy_read_str): Remove prototype.
+	No longer static.
+
+2007-08-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/33157
+	* ifcvt.c (noce_find_if_block): Do not clear if_info.cond_earliest
+	field when initializing if_info structure.
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+	* Makefile.in (tree-inline.o): Add $(TARGET_H) and $(INTEGRATE_H)
+	dependencies.
+	* c-objc-common.c (c_cannot_inline_tree_fn): Remove.
+	* langhooks.c (lhd_tree_inlining_cannot_inline_tree_fn): Likewise.
+	* tree-inline.c (inlinable_function_p): Fold in common parts of
+	the cannot_inline_tree_fn langhook.
+	* langhooks-def.h (lhd_tree_inlining_cannot_inline_tree_fn): Remove.
+	(LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN): Likewise.
+	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
+	cannot_inline_tree_fn langhook.
+	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+	cannot_inline_tree_fn member.
+
+2007-08-24  Richard Guenther  <rguenther@suse.de>
+
+	* expr.c (get_inner_reference): Do computation of bitoffset
+	from offset in a way we can detect overflow reliably.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+	* crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define for uClibc.
+
+2007-08-24  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin.opt (mfast-fp): Add.
+	* config/bfin/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Let
+	libbffastfp override libgcc if -mfast-fp.
+	* config/bfin/bfin.h (LINK_GCC_C_SEQUENCE_SPEC): Likewise.
+	* doc/invoke.texi (Option Summary): Mention -mfast-fp.
+	(Blackfin Options): Document -mfast-fp.
+
+2007-08-24  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/32573
+	PR middle-end/32946
+	* tree-data-ref.c (initialize_data_dependence_relation): Clear
+	DDR_SUBSCRIPTS, DDR_DIR_VECTS and DDR_DIST_VECTS at the beginning.
+	(finalize_ddr_dependent): Clear DDR_SUBSCRIPTS after freeing it.
+	(build_classic_dist_vector): Return false rather than true if
+	DDR_ARE_DEPENDENT is non-NULL at the beginning.  Return false
+	if either subscript_dependence_tester_1 or build_classic_dist_vector_1
+	returned false.  Don't call save_dist_v before calling
+	build_classic_dist_vector_1.
+	(free_dependence_relation): Don't guard freeing DDR_SUBSCRIPTS
+	with NULL DDR_ARE_DEPENDENT.  Also free DDR_DIST_VECTS and/or
+	DDR_DIR_VECTS vectors.
+
+2007-08-23  Brian Sidebotham  <brian.sidebotham@gmail.com>
+
+	* configure.ac (leb128): Modify sed statement to work with any
+	binutils version string.
+	* configure: Regenerate
+
+2007-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* config/arc/arc-protos.h arc_select_cc_mode, gen_compare_reg):
+	Wrap in RTX_CODE macro guard.
+	* config/arm/pe.c (arm_dllexport_p, arm_dllimport_p,
+	arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport,
+	arm_mark_dllimport, arm_pe_encode_section_info,
+	arm_pe_unique_section): Use ISO-C function declarations.
+	* config/c4x/c4x-c.c (c4x_parse_pragma, c4x_pr_CODE_SECTION,
+	c4x_pr_DATA_SECTION, c4x_pr_FUNC_IS_PURE,
+	c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT, c4x_pr_ignored):
+	Likewise.
+	* config/iq2000/iq2000.h (ASM_OUTPUT_SKIP): Fix format warning.
+	* config/m68hc11/m68hc11.h (ASM_OUTPUT_EXTERNAL): Undef before
+	defining.
+	* config/mips/mips.h (ASM_DECLARE_OBJECT_NAME): Fix format
+	warnings.
+	* config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Likewise.
+	* config/pdp11/pdp11.c (pdp11_output_function_epilogue): Likewise.
+	(register_move_cost): Use ISO-C function declarations.
+	* config/pdp11/pdp11.h (PRINT_OPERAND): Fix format warnings.
+	* config/score/score-protos.h (score_declare_object): Add
+	ATTRIBUTE_PRINTF_4.
+	* config/score/score.h (ASM_DECLARE_OBJECT_NAME): Fix format
+	warnings.
+	* final.c (profile_function): Avoid empty if-bodies.
+	
+	
+	* calls.c (must_pass_in_stack_var_size,
+	must_pass_in_stack_var_size_or_pad): Constify.
+	* config/alpha/alpha-protos.h (function_value): Likewise.
+	* config/alpha/alpha.c (alpha_return_in_memory,
+	alpha_pass_by_reference, function_value,
+	unicosmk_must_pass_in_stack, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
+	Likewise.
+	* config/arc/arc.c (arc_return_in_memory, arc_pass_by_reference,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/arm/arm-protos.h (arm_return_in_memory,
+	arm_pad_arg_upward, arm_function_value): Likewise.
+	* config/arm/arm.c (arm_pass_by_reference,
+	arm_promote_prototypes, arm_return_in_msb, arm_must_pass_in_stack,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	arm_function_value, arm_return_in_memory, arm_pad_arg_upward):
+	Likewise.
+	* config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Likewise.
+	* config/avr/avr-protos.h (avr_function_value): Likewise.
+	* config/avr/avr.c (avr_return_in_memory,
+	gas_output_limited_string, gas_output_ascii, avr_function_value,
+	avr_return_in_memory): Likewise.
+	* config/bfin/bfin-protos.h (bfin_return_in_memory): Likewise.
+	* config/bfin/bfin.c (bfin_pass_by_reference,
+	bfin_return_in_memory, TARGET_PROMOTE_PROTOTYPES,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN):
+	Likewise.
+	* config/cris/cris.c (cris_pass_by_reference,
+	TARGET_PROMOTE_FUNCTION_ARGS): Likewise.
+	* config/crx/crx.c (crx_return_in_memory): Likewise.
+	* config/darwin.c (function_base, machopic_function_base_name):
+	Likewise.
+	* config/fr30/fr30.c (fr30_must_pass_in_stack,
+	TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/frv/frv.c (frv_must_pass_in_stack): Likewise.
+	* config/h8300/h8300.c (h8300_return_in_memory): Likewise.
+	* config/i386/i386-protos.h (ix86_return_in_memory,
+	ix86_sol10_return_in_memory): Likewise.
+	* config/i386/i386.c (ix86_function_value,
+	ix86_function_sseregparm, ix86_must_pass_in_stack,
+	type_natural_mode, classify_argument, examine_argument,
+	construct_container, ix86_pass_by_reference, function_value_32,
+	function_value_64, ix86_function_value_1, return_in_memory_32,
+	return_in_memory_64, return_in_memory_ms_64,
+	ix86_return_in_memory, ix86_sol10_return_in_memory,
+	TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/ia64/ia64-protos.h (ia64_function_value,
+	ia64_hpux_function_arg_padding): Likewise.
+	* config/ia64/ia64.c (hfa_element_mode, ia64_return_in_memory,
+	ia64_function_value, bundle_state_hash, bundle_state_eq_p,
+	ia64_hpux_function_arg_padding): Likewise.
+	* config/iq2000/iq2000-protos.h (function_arg,
+	iq2000_function_value): Likewise.
+	* config/iq2000/iq2000.c (iq2000_return_in_memory,
+	iq2000_pass_by_reference, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+	function_arg, iq2000_function_value): Likewise.
+	* config/m32c/m32c-protos.h (m32c_function_value,
+	m32c_promote_function_return): Likewise.
+	* config/m32c/m32c.c (m32c_pass_by_reference,
+	m32c_promote_prototypes, m32c_promote_function_return,
+	m32c_function_value): Likewise.
+	* config/m32r/m32r.c (m32r_return_in_memory,
+	m32r_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
+	m32r_in_small_data_p): Likewise.
+	* config/m68hc11/m68hc11-protos.h (m68hc11_function_arg_padding):
+	Likewise.
+	* config/m68hc11/m68hc11.c (m68hc11_return_in_memory,
+	m68hc11_function_arg_padding): Likewise.
+	* config/m68k/m68k-protos.h (m68k_function_value): Likewise.
+	* config/m68k/m68k.c (TARGET_PROMOTE_PROTOTYPES,
+	m68k_function_value): Likewise.
+	* config/mcore/mcore-protos.h (mcore_num_arg_regs,
+	mcore_function_value): Likewise.
+	* config/mcore/mcore.c (handle_structs_in_regs,
+	mcore_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+	mcore_num_arg_regs, mcore_function_value): Likewise.
+	* config/mips/mips-protos.h (mips_pad_arg_upward,
+	mips_function_value): Likewise.
+	* config/mips/mips.c (mips_fpr_return_fields, mips_return_in_msb,
+	mips_return_in_memory, mips_pass_by_reference, mips_callee_copies,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	TARGET_PROMOTE_PROTOTYPES, mips_pad_arg_upward,
+	mips_function_value): Likewise.
+	* config/mmix/mmix-protos.h (mmix_function_outgoing_value):
+	Likewise.
+	* config/mmix/mmix.c (mmix_pass_by_reference,
+	TARGET_PROMOTE_FUNCTION_ARGS, mmix_function_outgoing_value,
+	mmix_encode_section_info): Likewise.
+	* config/mn10300/mn10300-protos.h (mn10300_function_value):
+	Likewise.
+	* config/mn10300/mn10300.c (mn10300_return_in_memory,
+	mn10300_pass_by_reference, TARGET_PROMOTE_PROTOTYPES,
+	mn10300_function_value): Likewise.
+	* config/mt/mt-protos.h (mt_function_value): Likewise.
+	* config/mt/mt.c (mt_pass_by_reference, mt_function_value,
+	mt_pass_in_stack, TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/pa/pa-protos.h (function_arg_padding, function_value,
+	pa_return_in_memory): Likewise.
+	* config/pa/pa.c (pa_pass_by_reference,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+	function_arg_padding, function_value, pa_return_in_memory):
+	Likewise.
+	* config/pdp11/pdp11.c (pdp11_return_in_memory): Likewise.
+	* config/rs6000/rs6000-protos.h (rs6000_function_value,
+	function_arg_padding): Likewise.
+	* config/rs6000/rs6000.c (rs6000_return_in_memory,
+	rs6000_darwin64_record_arg_recurse, rs6000_darwin64_record_arg,
+	rs6000_pass_by_reference, rs6000_must_pass_in_stack,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	function_arg_padding, altivec_expand_dst_builtin,
+	altivec_expand_builtin, rs6000_expand_builtin, spe_init_builtins,
+	altivec_init_builtins, rs6000_common_init_builtins,
+	rs6000_function_value): Likewise.
+	* s390/s390-protos.h (s390_function_value): Likewise.
+	* config/s390/s390.c (s390_function_arg_size,
+	s390_pass_by_reference, s390_return_in_memory,
+	s390_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN): Likewise.
+	* config/score/score-protos.h (score_function_value): Likewise.
+	* config/score/score.c (score_arg_partial_bytes,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	TARGET_PROMOTE_PROTOTYPES, score_return_in_memory,
+	score_pass_by_reference, score_add_offset, score_function_value):
+	Likewise.
+	* config/sh/sh-protos.h (sh_attr_renesas_p,
+	sh_promote_prototypes): Likewise.
+	* config/sh/sh.c (sh_return_in_memory, sh_pass_by_reference,
+	sh_callee_copies, sh_promote_prototypes, shcompact_byref,
+	sh_attr_renesas_p): Likewise.
+	* config/sparc/sparc-protos.h (function_value,
+	function_arg_padding): Likewise.
+	* config/sparc/sparc.c (sparc_promote_prototypes,
+	sparc_return_in_memory, sparc_pass_by_reference,
+	TARGET_PROMOTE_FUNCTION_ARGS, TARGET_PROMOTE_FUNCTION_RETURN,
+	function_arg_record_value_2, function_arg_record_value_1,
+	function_arg_record_value, function_arg_record_value,
+	function_arg_padding, function_value): Likewise.
+	* config/spu/spu-protos.h (spu_function_value): Likewise.
+	* config/spu/spu.c (spu_pass_by_reference, spu_return_in_memory,
+	spu_function_value): Likewise.
+	* config/stormy16/stormy16-protos.h (xstormy16_function_value):
+	Likewise.
+	* config/stormy16/stormy16.c (xstormy16_return_in_memory,
+	xstormy16_function_value, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
+	Likewise.
+	* config/v850/v850.c (v850_return_in_memory,
+	v850_pass_by_reference, TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): Likewise.
+	* config/xtensa/xtensa.c (xtensa_return_in_msb,
+	xtensa_return_in_memory, TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES):
+	Likewise.
+	* explow.c (promote_mode, hard_function_value): Likewise.
+	* expr.h (hard_function_value, promote_mode): Likewise.
+	* function.c (aggregate_value_p): Likewise.
+	* hooks.c (hook_bool_const_tree_true): New.
+	* hooks.h (hook_bool_const_tree_true): New.
+	* sdbout.c (SET_KNOWN_TYPE_TAG, plain_type_1): Constify.
+	* target-def.h (TARGET_PROMOTE_FUNCTION_ARGS,
+	TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+	TARGET_RETURN_IN_MSB): Likewise.
+	* target.h (promote_function_args, promote_function_return,
+	promote_prototypes, return_in_memory, return_in_msb,
+	pass_by_reference, must_pass_in_stack, callee_copies,
+	function_value): Likewise.
+	* targhooks.c (default_return_in_memory,
+	hook_pass_by_reference_must_pass_in_stack,
+	hook_callee_copies_named,
+	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
+	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
+	default_function_value): Likewise. 
+	* targhooks.h (default_return_in_memory,
+	hook_pass_by_reference_must_pass_in_stack,
+	hook_callee_copies_named,
+	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false,
+	hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true,
+	default_function_value): Likewise.
+	* tree-ssa-structalias.c (const_equiv_class_label_t): New.
+	(equiv_class_label_hash, equiv_class_label_eq): Constify.
+	* tree-vectorizer.c (bb_in_loop_p): Likewise.
+	* tree.c (needs_to_live_in_memory): Likewise.
+	* tree.h (struct tree_type, needs_to_live_in_memory,
+	aggregate_value_p, must_pass_in_stack_var_size,
+	must_pass_in_stack_var_size_or_pad): Likewise.
+	* vmsdbgout.c (write_debug_addr, write_debug_delta4,
+	write_debug_string, ASM_OUTPUT_DEBUG_STRING, write_rtnbeg,
+	lookup_filename): Likewise.
+
+2007-08-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/17390
+	* config/i386/i386.c (ix86_expand_fp_compare): Expand fp comparison to
+	fake fcomi i387 instruction for !TARGET_CMOVE.
+	(ix86_expand_branch): Expand natural sequence with one jump for
+	all targets, not only TARGET_CMOVE.
+	* config/i386/i386.md (*cmpfp_0_cc): New define_insn_and_split
+	pattern to implement fake fcomi sequence.  Split instruction after
+	reload to correct compare sequences.
+	(*cmpfp_xf_cc): Ditto.
+	(*cmpfp_<mode>_cc): Ditto.
+	(*cmpfp_u_cc): Ditto.
+	(*cmpfp_<mode>_cc): Ditto.
+
+2007-08-23  Richard Guenther  <rguenther@suse.de>
+
+	* tree-pretty-print.c (dump_generic_node): Annotate
+	GIMPLE_MODIFY_STMTs with volatile ops with "{v}".
+
+2007-08-23  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (expand_builtin_mathfn): Wrap argument in
+	save_expr directly instead of re-building the call.
+	(expand_builtin_mathfn_2): Likewise.
+	(expand_builtin_mathfn_3): Likewise.
+	(expand_builtin_interclass_mathfn): Likewise.
+	(expand_builtin_int_roundingfn): Set arg.
+	(expand_builtin_int_roundingfn_2): Likewise.
+
+2007-08-23  Paolo Bonzini  <bonzini@gnu.org>
+
+	* config/i386/sse.md (*sse_and<mode>3, *sse_ior<mode>3,
+	*sse_nand<mode>3, *sse_xor<mode>3): New.
+
+2007-08-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (PRINT_OPERAND_PUNCT_VALID_P): Add ';' code.
+	* config/i386/i386.c (print_operand): Handle ';' code.  Output
+	semicolon for TARGET_MACHO.
+	* config/i386/sync.md (*sync_compare_and_swap<mode>): Use '%;' to
+	emit semicolon after 'lock' prefix.
+	(sync_double_compare_and_swap<mode>): Ditto.
+	(*sync_double_compare_and_swapdi_pic): Ditto.
+	(*sync_compare_and_swap_cc<mode>): Ditto.
+	(sync_double_compare_and_swap_cc<mode>): Ditto.
+	(*sync_double_compare_and_swap_ccdi_pic): Ditto.
+	(sync_old_add<mode>): Ditto.
+	(sync_add<mode>): Ditto.
+	(sync_sub<mode>): Ditto.
+	(sync_ior<mode>): Ditto.
+	(sync_and<mode>): Ditto.
+	(sync_xor<mode>): Ditto.
+
+2007-08-22  Chao-ying Fu  <fu@mips.com>
+
+	* rtl.c (rtx_code_size): Check CONST_FIXED to calcualte correct sizes
+	in DEF_RTL_EXPR.
+	(copy_rtx): Handle CONST_FIXED.
+	(rtx_equal_p): Likewise.
+	* rtl.h (fixed_value.h): New include.
+	(rtx_def): Add a new field of fixed_value to u.
+	(XCNMPFV): Define for accessing fixed_value.
+	(CONST_FIXED_VALUE, CONST_FIXED_VALUE_HIGH, CONST_FIXED_VALUE_LOW):
+	Define.
+	* rtl.def (CONST_FIXED): New constant.
+	(SS_MULT, US_MULT, SS_DIV, US_DIV, FRACT_CONVERT,
+	UNSIGNED_FRACT_CONVERT, SAT_FRACT, UNSIGNED_SAT_FRACT, US_NEG,
+	US_ASHIFT): New codes.
+	* doc/rtl.texi (Expressions): Document const_fixed, us_neg, ss_mult,
+	us_mult, ss_div, us_div, us_ashift, fract_convert, sat_fract,
+	unsigned_fract_convert, unsigned_sat_fract): Document them.
+	* varasm.c (assemble_integer): Extend to support fixed-point constants
+	by using different machine classes.
+	(decode_addr_const): Handle FIXED_CST.
+	(const_hash_1): Likewise.
+	(compare_constant): Likewise.
+	(copy_constant): Likewise.
+	(const_rtx_hash_1): Handle CONST_FIXED.
+	(output_constant_pool_2): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+	MODE_VECTOR_UACCUM.
+	(initializer_constant_valid_p): Handle FIXED_CST.
+	(output_constant): Support FIXED_POINT_TYPE.
+	* gengenrtl.c (excluded_rtx): Check CONST_FIXED to exclude.
+	* cse.c (hash_rtx): Support CONST_FIXED.
+	(exp_equiv_p): Likewise.
+	(cannon_reg): Likewise.
+	(fold_rtx): Likewise.
+	(equiv_constant): Likewise.
+	(cse_process_notes_1): Likewise.
+	(count_reg_usage): Likewise.
+	* cselib.c (entry_and_rtx_equal_p): Check CONST_FIXED.
+	(rtx_equal_for_cselib_p): Handle CONST_FIXED.
+	(wrap_constant): Check CONST_FIXED.
+	(cselib_hash_rtx): Support CONST_FIXED.
+	(cselib_subst_to_values): Likewise.
+	* df-scan.c (df_uses_record): Likewise.
+	* gcse.c (want_to_gcse_p): Likewise.
+	(oprs_unchanged_p): Likewise.
+	(oprs_not_set_p): Likewise.
+	(compute_transp): Likewise.
+	(extract_mentioned_regs_helper): Likewise.
+	* genemit.c (gen_exp): Likewise.
+	* local-alloc.c (equiv_init_varies_p): Likewise.
+	(contains_replace_regs): Likewise.
+	(memref_referenced_p): Likewise.
+	* loop-invariant.c (check_maybe_invariant): Likewise.
+	(hash_invariant_expr_1): Likewise.
+	(invariant_expr_equal_p): Likewise.
+	* postreload-gcse.c (oprs_unchanged_p): Likewise.
+	* regclass.c (reg_scan_mark_refs): Likewise.
+	* regrename.c (scan_rtx): Likewise.
+	* resource.c (mark_referenced_resources): Likewise.
+	(mark_set_resources): Likewise.
+	* rtlanal.c (rtx_unstable_p): Likewise.
+	(rtx_varies_p): Likewise.
+	(count_occurrences): Likewise.
+	(reg_mentioned_p): Likewise.
+	(modified_between_p): Likewise.
+	(modified_in_p): Likewise.
+	(volatile_insn_p): Likewise.
+	(volatile_refs_p): Likewise.
+	(side_effects_p): Likewise.
+	(may_trap_p_1): Likewise.
+	(inequality_comparisons_p): Likewise.
+	(computed_jump_p_1): Likewise.
+	(commutative_operand_precedence): Likewise.
+	* sched-deps.c (sched_analyze_2): Likewise.
+	* sched-vis.c (print_value): Likewise.
+	* reload.c (operands_match_p): Likewise.
+	(subst_reg_equivs): Likewise.
+	* reload1.c (eliminate_regs_1): Likewise.
+	(elimination_effects): Likewise.
+	(scan_paradoxical_subregs): Likewise.
+	* alias.c (rtx_equal_for_memref_p): Likewise.
+	* Makefile.in (RTL_BASE_H): Add fixed-value.h.
+	* emit-rtl.c (const_fixed_htab): New hash table.
+	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed):
+	Declare.
+	(const_fixed_htab_hash, const_fixed_htab_eq, lookup_const_fixed,
+	const_fixed_from_fixed_value): New functions.
+	(verify_rtx_sharing): Handle CONST_FIXED.
+	(copy_rtx_if_shared_1): Likewise.
+	(reset_used_flags): Likewise.
+	(set_used_flags): Likewise.
+	(copy_insn_1): Likewise.
+	(init_emit_once): Create const_fixed_htab.
+	Store fixed-point scalar and vector zero and one to const_tiny_rtx.
+
+2007-08-22  Zdenek Dvorak  <ook@ucw.cz>
+
+	PR tree-optimization/32949
+	* tree-ssa-loop-niter.c (scev_probably_wraps_p): Test nowrap_type_p
+	before failing for ivs with non-constant step.
+
+2007-08-22  Hans-Peter Nilsson  <hp@axis.com>
+
+	* doc/md.texi (Iterators): Renamed from Macros.  All contents
+	changed to reflect rename of respectively define_code_macro and
+	define_mode_macro to define_code_iterator and define_mode_iterator.
+	(Mode Iterators, Code Iterators): Similar.
+	* read-rtl.c (struct iterator_group, struct iterator_traverse_data)
+	(uses_mode_iterator_p, apply_mode_iterator, uses_code_iterator_p)
+	(apply_iterator_to_string, uses_iterator_p, apply_iterator_traverse)
+	(initialize_iterators, find_iterator, check_code_iterator)
+	(map_attr_string, apply_mode_maps, apply_iterator_to_rtx, add_mapping)
+	(read_mapping, read_rtx_1): Similar.
+	* config/alpha/sync.md, config/alpha/alpha.md, config/frv/frv.md,
+	config/s390/s390.md, config/m32c/blkmov.md, config/m32c/m32c.md,
+	config/spu/spu.md, config/sparc/sparc.md, config/sparc/sync.md,
+	config/i386/i386.md, config/i386/mmx.md, config/i386/sse.md,
+	config/i386/sync.md, config/crx/crx.md, config/xtensa/xtensa.md,
+	config/cris/cris.c, config/cris/cris.md, config/ia64/sync.md,
+	config/ia64/div.md, config/ia64/vect.md, config/ia64/ia64.md,
+	config/m68k/m68k.md, config/rs6000/spe.md, config/rs6000/altivec.md,
+	config/rs6000/sync.md, config/rs6000/rs6000.md,
+	config/arm/vec-common.md, config/arm/neon.md, config/arm/iwmmxt.md,
+	config/arm/arm.md, config/mips/mips-dsp.md, config/mips/mips.md,
+	config/vax/vax.md, config/bfin/bfin.md: Similar.
+
+2007-08-22  David Daney  <ddaney@avtrex.com>
+
+	* doc/install.texi (Testing): Mention testing on a simulator.
+
+2007-08-22  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/dfp-bit.c (DFP_TO_DFP): Check for overflow.
+
+	* doc/libgcc.texi (Decimal float library routines): Fix formatting
+	and rearrange floating point conversion functions into different
+	categories.
+
+2007-08-22  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* target.h (struct gcc_target.sched: dfa_pre_advance_cycle,
+	dfa_post_advance_cycle): New scheduler hooks.
+	* target-def.h (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
+	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): New macros to initialize
+	new hooks.
+	(TARGET_SCHED): Use them.
+	* doc/tm.texi (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE,
+	TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Document new hooks.
+	* haifa-sched.c (advance_one_cycle): Invoke new hooks.
+
+	* genautomata.c (insn_has_dfa_reservation_p): New DFA interface
+	function to facilitate debugging.
+	(INSN_HAS_DFA_RESERVATION_P_FUNC_NAME): New macro.
+	(output_insn_has_dfa_reservation_p): New static function to output
+	insn_has_dfa_reservation_p ().
+	(write_automata): Use it.
+	* genattr.c (main): Output declaration for
+	insn_has_dfa_reservation_p ().
+
+2007-08-22  Christian Bruel  <christian.bruel@st.com>	
+	    Richard Guenther <rguenther@suse.de>
+	
+	* fold-const.c (fold_binary): Optimize A-A if -ffinite-math-only.
+	* simplify_rtx (simplify_binary_operation_1): Likewise.
+		
+2007-08-22  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR rtl-optimization/32557
+	* df-problems.c (df_note_bb_compute): Use mws->start_regno instead
+	of REGNO (mws->mw_reg).
+
+2007-08-22  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33007
+	* builtins.c (expand_builtin_int_roundingfn): Replace call
+	argument wrapped with SAVE_EXPR directly.
+	(expand_builtin_int_roundingfn_2): Likewise.
+
+2007-08-22  Richard Guenther  <rguenther@suse.de>
+
+	* tree-inline.c (inlinable_function_p): Restore disregarding
+	inline limits for GNU extern inline functions.
+
+2007-08-22  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32563
+	* tree.c (host_integerp): Treat sizetype as signed as it is
+	sign-extended.
+
+2007-08-21  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/33134
+	* tree-vrp.c (adjust_range_with_scev): Call
+	set_value_range_to_value.
+
+2007-08-21  Aldy Hernandez  <aldyh@redhat.com>
+
+	* value-prof.h (gimple_remove_histogram_value): Remove duplicate
+	prototype.
+	
+2007-08-21  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-flow-inline.h (next_imm_use_stmt): Remove unecessary
+	whitespace.
+
+2007-08-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/rs6000/rs6000.c (expand_block_clear): Add TARGET_SPE
+	cases to set eight bytes at a time.
+	(expand_block_move): Likewise.
+	
+2007-08-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR debug/32610
+	* dwarf2out.c (gen_decl_die): Don't call
+	gen_tagged_type_instantiation_die if decl doesn't have tagged type.
+
+2007-08-21  Paul Brook  <paul@codesourcery.com>
+	    Nathan Sidwell  <nathan@codesourcery.com>
+	    Mark Mitchell  <mark@codesourcery.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac: Add --with-pkgversion and --with-bugurl.
+	* configure: Regenerate.
+	* doc/install.texi: Document them.
+	* version.c (version_string): Remove VERSUFFIX.
+	(VERSUFFIX): Remove.
+	(pkgversion_string): New.
+	(bug_report_url): Do not hard-code initializer.
+	* version.h (pkgversion_string): Declare.
+	* Makefile.in (PKGVERSION_s, BUGURL_s, PKGVERSION, BUGURL_TEXI):
+	Define.
+	(version.o): Define PKGVERSION and BUGURL.
+	(gcc-vers.texi): Define VERSION_PACKAGE and BUGURL.
+	(%.pod): Define BUGURL.
+	* gcc.c (process_command, main): Use pkgversion_string.
+	* toplev.c (compile_file, print_version): Likewise.
+	* protoize.c (main): Likewise.
+	* gcov.c (print_version): Likewise.  Update copyright date.
+	* gcov-dump.c (print_version): Likewise.  Update copyright date.
+	* mips-tdump.c (main): Likewise.  Update copyright date.
+	* mips-tfile.c (main): Likewise.  Update copyright date.
+	* doc/include/gcc-common.texi: Include VERSION_PACKAGE as subtitle.
+	* doc/bugreport.texi: Use BUGURL for bug-reporting instructions;
+	shorten description.
+	* doc/gcc.texi: Include VERSION_PACKAGE in version description.
+	* doc/gccint.texi: Likewise.
+	* doc/invoke.texi: Use BUGURL for bug-reporting instructions.
+	Update copyright date.
+
+2007-08-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_clear): Use FLAGS_REG.
+	(ix86_expand_strlensi_unroll_1): Ditto.
+	(ix86_expand_branch): Use FLAGS_REG and FPSR_REG.
+	(ix86_expand_carry_flag_compare): Update comment.
+
+2007-08-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/32912
+	* fold-const.c (fold_unary): Optimize BIT_NOT_EXPR of VECTOR_CST.
+	(fold_binary): Handle vectors in X | ~X and X ^ ~X optimizations.
+
+2007-08-21  Richard Guenther  <rguenther@suse.de>
+
+	* fold-const.c (fold_binary): Revert removing of index +p PTR folding.
+
+2007-08-21  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/33122
+	* fold-const.c (fold_binary): Remove index +p PTR folding.
+	Fix types of POINTER_PLUS_EXPR generated by folding of
+	(PTR +p B) +p A.
+
+2007-08-20  Chao-ying Fu  <fu@mips.com>
+
+	* c-common.h (enum rid): Add new enumeration values of RID_SAT,
+	RID_FRACT, and RID_ACCUM.  RID_SAT needs to be inserted before
+	RID_ONEWAY, so that it can be checked in declspecs_add_type.
+	(c_common_fixed_point_type_for_size): Declare.
+	* c-parser.c (reswords): Add _Fract, _Accum, and _Sat.
+	(c_token_starts_typename): Handle RID_FRACT, RID_ACCUM, and RID_SAT.
+	(c_token_starts_declspecs): Likewise.
+	(c_parser_declspecs): Likewise.
+	(c_parser_attributes): Likewise.
+	* c-tree.h (enum c_typespec_keyword): Add cts_fract and cts_accum.
+	(c_declspecs): Add saturating_p.
+	* c-decl.c (build_null_declspecs): Initialize saturating_p.
+	(declspecs_add_type): Avoid using complex with _Fract, _Accum, or
+	_Sat.  Handle RID_SAT.
+	Avoid using void, bool, char, int, float, double, _Decimal32,
+	_Decimal64, _Decimal128, and complex with _Sat.
+	Handle RID_FRACT and RID_ACCUM.
+	Make sure _Sat is used with _Fract or _Accum.
+	(finish_declspecs): Handle cts_fract and cts_accum.
+	* c-common.c (fixed-value.h): New include.
+	(constant_expression_warning): Handle FIXED_CST.
+	(overflow_warning): Likewise.
+	(warnings_for_convert_and_check): Likewise.
+	(c_common_fixed_point_type_for_size): New.
+	(c_common_type_for_mode): Handle fixed-point modes to
+	return various saturating/non-saturating, signed/unsigned types.
+	(c_common_signed_or_unsigned_type): Support fixed-point types.
+	(shorten_compare): Check fixed-point zero.
+	Handle FIXED_POINT_TYPE.
+	(c_common_truthvalue_conversion): Handle FIXED_CST.
+	Handle FIXED_POINT_TYPE.
+	(c_common_nodes_and_builtins): Record builtin types for fixed-point
+	types.
+	(handle_mode_attribute): Handle fixed-point modes.  Need to check
+	if the signness of base type and fixed-point modes are consistent.
+	(handle_vector_size_attribute): Handle fixed-point modes.
+	(same_scalar_type_ignoring_signedness): Handle FIXED_POINT_TYPE.
+	(warn_for_div_by_zero): Check fixed-point zero.
+	* c-typeck.c (c_common_type): Check FIXED_POINT_TYPE.  Build
+	a common fixed-point type based on fbit, ibit, sign, and saturation.
+	(build_unary_op): Allow FIXED_POINT_TYPE for CONVERT_EXPR,
+	NEGATE_EXPR, TRUTH_NOT_EXPR, PREINCREMENT_EXPR, POSTINCREMENT_EXPR,
+	PREDECREMENT_EXPR, and POSTDECREMENT_EXPR.
+	(convert_for_assignment): Support FIXED_POINT_TYPE.
+	(digest_init): Handle FIXED_POINT_TYPE.
+	(build_binary_op): Support FIXED_POINT_TYPE in *_DIV_EXPR,
+	TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+	TRUTH_XOR_EXPR, RSHIFT_EXPR, LSHIFT_EXPR, EQ_EXPR, NE_EXPR, LE_EXPR,
+	GE_EXPR, LT_EXPR, GT_EXPR.
+	* target-def.h (TARGET_FIXED_POINT_SUPPORTED_P): New.
+	(TARGET_INITIALIZER): Add TARGET_FIXED_POINT_SUPPORTED_P.
+	* target.h (gcc_target): Add fixed_point_supported_p.
+	* targhooks.c (default_scalar_mode_supported_p): Handle MODE_FRACT,
+	MODE_UFRACT, MODE_ACCUM, and MODE_UACCUM.
+	(default_fixed_point_supported_p): Define.
+	* targhooks.h (default_fixed_point_supported_p): Declare.
+	* doc/tm.texi (TARGET_FIXED_POINT_SUPPORTED_P): Add.
+	* doc/install.texi (Configuration): Add --enable-fixed-point.
+	* configure.ac (--enable-fixed-point): New to enable fixed-point
+	arithmetic extension to C.  For mips targets, we enable it by default.
+	* configure, config.in: Regenerate.
+
+2007-08-20  Pawel Sikora  <pluto@pld-linux.org>
+
+	* doc/invoke.texi (-Wnon-virtual-dtor): Update documentation.
+
+2007-08-20  David Edelsohn  <edelsohn@gnu.org>
+
+	* dwarf2out.c (text_section_used): Move declaration outside ifdef
+	DWARF2_DEBUGGING_INFO.
+	(cold_text_section_used): Same.
+	(cold_text_section): Same.
+
+2007-08-20  Richard Guenther  <rguenther@suse.de>
+
+	* c-typeck.c (convert_for_assignment): Use the type of
+	the member for the initialization.
+
+2007-08-20  Richard Guenther  <rguenther@suse.de>
+
+	* c-objc-common.c (c_disregard_inline_limits): Remove.
+	* c-objc-common.h (c_disregard_inline_limits): Likewise.
+	* cgraphunit.c (cgraph_process_new_functions): Call
+	disregard_inline_limits_p.
+	(cgraph_preserve_function_body_p): Likewise.
+	* ipa-inline.c (compute_inline_parameters): Likewise.
+	* langhooks-def.h (lhd_tree_inlining_disregard_inline_limits):
+	Remove.
+	(LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS): Remove.
+	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
+	disregard_inline_limits langhook.
+	* langhooks.c (lhd_tree_inlining_disregard_inline_limits):
+	Remove.
+	* langhooks.h (lang_hooks_for_tree_inlining): Remove
+	disregard_inline_limits langhook.
+	* tree-inline.c (disregard_inline_limits_p): New function.
+	* tree-inline.h (disregard_inline_limits_p): Declare.
+
+2007-08-20  Richard Guenther  <rguenther@suse.de>
+
+	* langhooks-def.h (lhd_tree_inlining_auto_var_in_fn_p): Remove.
+	(LANG_HOOKS_TREE_INLINING_AUTO_VAR_IN_FN_P): Likewise.
+	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove initializer for
+	auto_var_in_fn_p langhook.
+	* langhooks.c (lhd_tree_inlining_auto_var_in_fn_p): Rename and
+	move ...
+	* tree.c (auto_var_in_fn_p): ... here.
+	(find_var_from_fn): Call auto_var_in_fn_p directly.
+	* langhooks.h (lang_hooks_for_tree_inlining): Remove
+	auto_var_in_fn_p langhook.
+	* tree-inline.c (remap_decls): Call auto_var_in_fn_p directly.
+	(copy_body_r): Likewise.
+	(self_inlining_addr_expr): Likewise.
+	* tree.h (auto_var_in_fn_p): Declare.
+
+2007-08-20  Richard Guenther  <rguenther@suse.de>
+
+	* tree.c (WALK_SUBTREE): Call walk_tree_1.
+	(walk_type_fields): Take lh parameter.
+	(walk_tree): Rename to ...
+	(walk_tree_1): ... this.  Do not call the walk_subtrees
+	langhook but the now passed callback.  Pass lh on recursion.
+	(walk_tree_without_duplicates): Rename to ...
+	(walk_tree_without_duplicates_1): ... this.  Take lh parameter
+	and call walk_tree_1.
+	* tree.h (walk_tree_lh): New typedef.
+	(walk_tree_1): Declare.
+	(walk_tree_without_duplicates_1): Likewise.
+	(walk_tree): New define to walk_tree_1 with NULL lh parameter.
+	(walk_tree_without_duplicates): New define to
+	walk_tree_without_duplicates_1 with NULL lh parameter.
+	* langhooks.c (lhd_tree_inlining_walk_subtrees): Remove.
+	* langhooks.h (lang_hooks_for_tree_inlining): Remove walk_subtrees
+	langhook.
+	* langhooks-def.h (lhd_tree_inlining_walk_subtrees): Remove.
+	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Likewise.
+	(LANG_HOOKS_TREE_INLINING_INITIALIZER): Remove walk_subtrees
+	initializer.
+
+2007-08-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/30564
+	* tree-inline.c (optimize_inline_calls): Move the cgraph checking
+	code in front of the compacting of basic blocks.
+	Move the folding of statements inbetween the cgraph checking
+	and compacting of basic blocks.
+
+2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+	   Serge Belyshev  <belyshev@depni.sinp.msu.ru>
+
+	PR target/32522
+	* config/alpha/alpha.c (va_list_skip_additions): Check for
+	POINTER_PLUS_EXPR in addition to PLUS_EXPR.
+	(alpha_stdarg_optimize_hook): Look for POINTER_PLUS_EXPR instead of
+	PLUS_EXPR when checking ap.__base.
+	(alpha_va_start): Create POINTER_PLUS_EXPR instead of PLUS_EXPR
+	when doing addition on pointer types.  Use size_int instead of
+	build_int_cst.
+	(alpha_gimplify_va_arg_1): Likewise, but use sizetype instead of
+	ptr_type in the second operand.
+
+2007-08-19  Andrew Pinski  <pinskia@gmail.com>
+
+	PR target/33115
+	* config/i386/darwin.h (CC1_SPEC): Add %(cc1_cpu) in front.
+
+2007-08-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32940
+	* cfgexpand.c  (expand_one_register_var): Mark pointer
+	DECL_ARTIFICIAL as REG_POINTER also.
+	* stmt.c (expand_decl): Likewise.
+
+2007-08-19  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR 32772
+	Fix PR 32716
+	Fix PR 32328
+	Fix PR 32303
+
+	* tree-flow.h (struct stmt_ann_d): Remove makes_clobbering_call.
+	* tree-ssa-alias.c (init_transitive_clobber_worklist): Add
+	on_worklist argument and avoid adding things to worklist multiple
+	times.
+	(add_to_worklist): Ditto.
+	(mark_aliases_call_clobbered): Mark entire structure clobbered if
+	single SFT is clobbered.
+	(set_initial_properties): Ditto.
+	(compute_call_clobbered): Update for changes to function
+	arguments.
+	(create_overlap_variables_for): Always create SFT for offset 0.
+	(create_structure_vars): Handle PHI's, since we are in SSA form at
+	this point.
+	* tree-ssa-loop-ivopts.c (get_ref_tag): Don't return subvars.
+	* tree-ssa-operands.c (access_can_touch_variable): Don't handle
+	TARGET_MEM_REF.
+	(add_vars_for_offset): Figure out aliases from access + points-to.
+	(add_virtual_operand): Use add_vars-for_offset.
+	(get_tmr_operands): Update for NMT changes, rewrite to be correct.
+	(add_call_clobber_ops): Remove makes_clobbering_call set.
+	(get_expr_operands): Always pass through the INDIRECT_REF
+	reference.
+	* tree-ssa-structalias.c (struct constraint_graph): Remove
+	variables member.
+	Add pe, pe_rep, pointer_label, loc_label, pointed_by, points_to,
+	address_taken, pt_used, number_incoming.
+	(FIRST_ADDR_NODE): Removed.
+	(merge_graph_nodes): Remove broken code for the moment.
+	(init_graph): New function.
+	(build_pred_graph): Remove code to init_graph.
+	Add location equivalence support.
+	(struct scc_info): Rename roots to deleted.
+	(scc_visit): Ditto.
+	(init_scc_info): Ditto
+	(init_topo_info): Use graph->size.
+	(compute_topo_order): Ditto.
+	(do_da_constraint): Removed.
+	(do_sd_constraint): Remove calls to find().
+	set_union_with_increment should always get 0 as last arg here.
+	(do_complex_constraint): Replace do_da_constraint with assert.
+	Stop calling find.
+	(struct equiv_class_label): New.
+	(pointer_equiv_class_table): Ditto.
+	(location_equiv_class_table): Ditto.
+	(equiv_class_label_hash): Ditto.
+	(equiv_class_label_eq): Ditto
+	(equiv_class_lookup): Ditto.
+	(equiv_class_ladd): Ditto.
+	(pointer_equiv_class): Ditto.
+	(location_equiv_class): Ditto.
+	(condense_visit): Rename and rewrite from label_visit to do only
+	SCC related stuff for HU.
+	(label_visit): Do HU work for HU.
+	(perform_var_substitution): Update to do HU and location
+	equivalence.
+	(free_var_substitution_info): Update to free HU and location
+	equivalence structures.  */
+	(find_equivalent_node): Update for pointer but not location
+	equivalence.
+	(unite_pointer_equivalences): New function.
+	(move_complex_constraints): Rewrite to only do moving.
+	(rewrite_constraints): Split out of move_complex_constraints.
+	(solve_graph): Use graph->size.
+	(process_constraint_1): Add from_call argument, use it.
+	Split *a = &b into two constraints.
+	(process_constraint): Use new process_constraint_1.
+	(get_constraint_for_component_ref): Handle bitmaxsize == -1 case.
+	(get_constraint_for): Handle non-pointer integers properly.
+	Remove code that used to handle structures.
+	(handle_ptr_arith): Fix a few bugs in pointer arithmetic handling
+	with unknown addends.
+	(handle_rhs_call): New function.
+	(find_func_aliases): Use handle_rhs_call.
+	(set_uids_in_ptset): Add an assert.
+	(set_used_smts): Fix bug in not considering unified vars.
+	(compute_tbaa_pruning): Stop initing useless iteration_obstack.
+	(compute_points_to_sets): Update for other function changes.
+	(delete_points_to_sets): Ditto.
+	(ipa_pta_execute): Ditto.
+	(pass_ipa_pta): We need to update SSA after ipa_pta.
+	
+2007-08-19  Jan Hubicka  <jh@suse.cz>
+
+	* config/i386/i386.md: Replace "rim" and "mri" constraints by "g".
+
+2007-08-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* dwarf2out.c (text_section_used, cold_text_section_used,
+	cold_text_section, dwarf2out_note_section_used): New.
+	(dwarf2out_init): Initialize cold_text_section.
+	(dwarf2out_switch_text_section, dwarf2out_begin_function): Call
+	dwarf2out_note_section_used.
+	(size_of_aranges): Only count entry for text section if it was
+	used.  Count entry for cold text section if it was used.
+	(output_aranges): Only output entries for text section and cold
+	text section if they were used.
+
+2007-08-19  Andrew Pinski  <pinskia@gmail.com>
+
+	* tree-pretty-print.c (debug_generic_expr): Add a comment about
+	the function.
+	(debug_generic_stmt): Likewise.
+	(debug_tree_chain): Likewise.
+
+2007-08-19  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-data-refs.c (split_constant_offset): Expose.
+	* tree-data-refs.h (split_constant_offset): Add declaration.
+
+	* tree-vectorizer.h (dr_alignment_support): Renamed
+	dr_unaligned_software_pipeline to dr_explicit_realign_optimized.
+	Added a new value dr_explicit_realign.
+	(_stmt_vec_info): Added new fields: dr_base_address, dr_init,
+	dr_offset, dr_step, and dr_aligned_to, along with new access
+	functions for these fields: STMT_VINFO_DR_BASE_ADDRESS,
+	STMT_VINFO_DR_INIT, STMT_VINFO_DR_OFFSET, STMT_VINFO_DR_STEP, and
+	STMT_VINFO_DR_ALIGNED_TO.
+
+	* tree-vectorizer.c (vect_supportable_dr_alignment): Add
+	documentation.
+	In case of outer-loop vectorization with non-fixed misalignment - use
+	the dr_explicit_realign scheme instead of the optimized realignment
+	scheme.
+	(new_stmt_vec_info): Initialize new fields.
+
+	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Handle the
+	'nested_in_vect_loop' case. Change verbosity level.
+	(vect_analyze_data_ref_access): Handle the 'nested_in_vect_loop' case.
+	Don't fail on zero step in the outer-loop for loads.
+	(vect_analyze_data_refs): Call split_constant_offset to calculate
+	base, offset and init relative to the outer-loop.
+
+	* tree-vect-transform.c (vect_create_data_ref_ptr): Replace the unused
+	BSI function argument with a new function argument - at_loop.
+	Simplify the condition that determines STEP. Takes additional argument
+	INV_P. Support outer-loop vectorization (handle the
+	nested_in_vect_loop case), including zero step in the outer-loop. Call
+	vect_create_addr_base_for_vector_ref with additional argument.
+	(vect_create_addr_base_for_vector_ref): Takes additional argument LOOP.
+	Updated function documentation. Handle the 'nested_in_vect_loop' case.
+	Fixed and simplified calculation of step.
+	(vectorizable_store): Call vect_create_data_ref_ptr with loop instead
+	of bsi, and with additional argument. Call bump_vector_ptr with
+	additional argument. Fix typos. Handle the 'nested_in_vect_loop' case.
+	(vect_setup_realignment): Takes additional arguments INIT_ADDR and
+	DR_ALIGNMENT_SUPPORT. Returns another value AT_LOOP. Handle the case
+	when the realignment setup needs to take place inside the loop.
+	Support the dr_explicit_realign scheme. Allow generating the optimized
+	realignment scheme for outer-loop vectorization. Added documentation.
+	(vectorizable_load): Support the dr_explicit_realign scheme. Handle
+	the 'nested_in_vect_loop' case, including loads that are invariant in
+	the outer-loop and the realignment schemes. Handle the case when the
+	realignment setup needs to take place inside the loop. Call
+	vect_setup_realignment with additional arguments.  Call
+	vect_create_data_ref_ptr with additional argument and with loop instead
+	of bsi. Fix 80-column overflow. Fix typos. Rename PHI_STMT to PHI.
+	(vect_gen_niters_for_prolog_loop): Call
+	vect_create_addr_base_for_vector_ref with additional arguments.
+	(vect_create_cond_for_align_checks): Likewise.
+	(bump_vector_ptr): Updated to support the new dr_explicit_realign
+	scheme: takes additional argument bump; argument ptr_incr is now
+	optional; updated documentation.
+	(vect_init_vector): Takes additional argument (bsi). Use it, if
+	available, to insert the vector initialization.
+	(get_initial_def_for_induction): Pass additional argument in call to
+	vect_init_vector.
+	(vect_get_vec_def_for_operand): Likewise.
+	(vect_setup_realignment): Likewise.
+	(vectorizable_load): Likewise.
+
+2007-08-19  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
+	as argument instead of struct loop.
+	(nested_in_vect_loop_p): New function.
+	(vect_relevant): Add enum values vect_used_in_outer_by_reduction and
+	vect_used_in_outer.
+	(is_loop_header_bb_p): New. Used to differentiate loop-header phis
+	from other phis in the loop.
+	(destroy_loop_vec_info): Add additional argument to declaration.
+
+	* tree-vectorizer.c (supportable_widening_operation): Also check if
+	nested_in_vect_loop_p (don't allow changing the order in this case).
+	(vect_is_simple_reduction): Takes a loop_vec_info as argument instead
+	of struct loop. Call nested_in_vect_loop_p and don't require
+	flag_unsafe_math_optimizations if it returns true.
+	(new_stmt_vec_info): When setting def_type for phis differentiate 
+	loop-header phis from other phis.
+	(bb_in_loop_p): New function.
+	(new_loop_vec_info): Inner-loop phis already have a stmt_vinfo, so
+	just update their loop_vinfo.  Order of BB traversal now matters -
+	call dfs_enumerate_from with bb_in_loop_p.
+	(destroy_loop_vec_info): Takes additional argument to control whether
+	stmt_vinfo of the loop stmts should be destroyed as well.
+	(vect_is_simple_reduction): Allow the "non-reduction" use of a
+	reduction stmt to be defines by a non loop-header phi.
+	(vectorize_loops): Call destroy_loop_vec_info with additional argument.
+
+	* tree-vect-transform.c (vectorizable_reduction): Call
+	nested_in_vect_loop_p. Check for multitypes in the inner-loop.
+	(vectorizable_call): Likewise.
+	(vectorizable_conversion): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_type_promotion): Likewise.
+	(vectorizable_type_demotion): Likewise.
+	(vectorizable_store): Likewise.
+	(vectorizable_live_operation): Likewise.
+	(vectorizable_reduction): Likewise. Also pass loop_info to
+	vect_is_simple_reduction instead of loop.
+	(vect_init_vector): Call nested_in_vect_loop_p.
+	(get_initial_def_for_reduction): Likewise.
+	(vect_create_epilog_for_reduction): Likewise.
+	(vect_init_vector): Check which loop to work with, in case there's an
+	inner-loop.
+	(get_initial_def_for_inducion): Extend to handle outer-loop
+	vectorization. Fix indentation.
+	(vect_get_vec_def_for_operand): Support phis in the case vect_loop_def.
+	In the case vect_induction_def get the vector def from the induction
+	phi node, instead of calling get_initial_def_for_inducion.
+	(get_initial_def_for_reduction): Extend to handle outer-loop 
+	vectorization.
+	(vect_create_epilog_for_reduction): Extend to handle outer-loop
+	vectorization.
+	(vect_transform_loop): Change assert to just skip this case.  Add a
+	dump printout.
+	(vect_finish_stmt_generation): Add a couple asserts.
+
+	(vect_estimate_min_profitable_iters): Multiply
+	cost of inner-loop stmts (in outer-loop vectorization) by estimated
+	inner-loop bound.
+	(vect_model_reduction_cost): Don't add reduction epilogue cost in case
+	this is an inner-loop reduction in outer-loop vectorization.
+
+	* tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
+	Same code as what used to be vect_analyze_scalar_cycles, only with
+	additional argument loop, and loop_info passed to
+	vect_is_simple_reduction instead of loop.
+	(vect_analyze_scalar_cycles): Code factored out into
+	vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
+	Updated documentation.
+	(analyze_operations): Check for inner-loop loop-closed exit-phis during
+	outer-loop vectorization that are live or not used in the outerloop,
+	cause this requires special handling.
+	(vect_enhance_data_refs_alignment): Don't consider versioning for
+	nested-loops.
+	(vect_analyze_data_refs): Check that there are no datarefs in the
+	inner-loop.
+	(vect_mark_stmts_to_be_vectorized): Also consider vect_used_in_outer
+	and vect_used_in_outer_by_reduction cases.
+	(process_use): Also consider the case of outer-loop stmt defining an
+	inner-loop stmt and vice versa.
+	(vect_analyze_loop_1): New function.
+	(vect_analyze_loop_form): Extend, to allow a restricted form of nested
+	loops.  Call vect_analyze_loop_1.
+	(vect_analyze_loop): Skip (inner-)loops within outer-loops that have
+	been vectorized.  Call destroy_loop_vec_info with additional argument.
+
+	* tree-vect-patterns.c (vect_recog_widen_sum_pattern): Don't allow
+	in the inner-loop when doing outer-loop vectorization. Add
+	documentation and printout.
+	(vect_recog_dot_prod_pattern): Likewise. Also add check for
+	GIMPLE_MODIFY_STMT (in case we encounter a phi in the loop).
+
+2007-08-18  Andrew Pinski  <pinskia@gmail.com>
+
+	* tree-affine.h (print_aff): New prototype.
+	(debug_aff): Likewise.
+	* tree-affine.c (print_aff): New function.
+	(debug_aff): Likewise.
+
+2007-08-18  Paul Brook  <paul@codesourcery.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* common.opt (-fdebug-prefix-map=): New option.
+	* opts.c: Include debug.h.
+	(common_handle_option): Handle -fdebug-prefix-map.
+	* final.c: Include ggc.h.
+	(struct debug_prefix_map, debug_prefix_maps, add_debug_prefix_map,
+	remap_debug_filename): New.
+	* Makefile.in (final.o, opts.o): Update dependencies.
+	* debug.h (remap_debug_filename, add_debug_prefix_map): Declare.
+	* configure.ac: Check for assembler --debug-prefix-map support.
+	* configure, config.in: Regenerate.
+	* gcc.c (ASM_MAP): Define conditional on HAVE_AS_DEBUG_PREFIX_MAP.
+	(ASM_DEBUG_SPEC): Include ASM_MAP.
+	* doc/install.texi (--with-debug-prefix-map): Document.
+	* doc/invoke.texi (-fdebug-prefix-map): Document.
+	* dbxout.c (dbxout_init, dbxout_start_source_file,
+	dbxout_source_file): Call remap_debug_filename.
+	* dwarf2out.c (add_comp_dir_attribute, maybe_emit_file,
+	dwarf2out_start_source_file, dwarf2out_finish): Call
+	remap_debug_filename.
+	(file_table_relative_p): Do not check d->emitted_number.
+	* toplev.c (output_file_directive): Call remap_debug_filename.
+	* vmsdbgout.c (write_srccorr): Call remap_debug_filename.
+	* xcoffout.c (xcoffout_source_file): Call remap_debug_filename.
+
+2007-08-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* loop-invariant.c (find_invariants_to_move): Add missing macro
+	argument.
+
+2007-08-17  Tom Tromey  <tromey@redhat.com>
+
+	* tree.h (struct tree_label_decl): Removed old "java" fields.
+
+2007-08-17  Richard Sandiford  <richard@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/sde.h (DRIVER_SELF_SPECS): Add commas.
+	Treat -mno-data-in-code and -mcode-xonly as aliases for
+	-mcode-readable=no and -mcode-readable=pcrel respectively.
+	* config/mips/t-sde (TARGET_LIBGCC2_CFLAGS): Add -mcode-xonly.
+	(MULTILIB_OPTIONS): Add -mcode-readable=no multilibs.
+	(MULTILIB_DIRNAMES): Update accordingly.
+
+2007-08-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.in (version.o): Depend on $(REVISION) only if
+	REVISION_s is defined.
+
+2007-08-17  Sa Liu  <saliu@de.ibm.com>
+	    Ulrich Weigand  <uweigand@de.ibm.com>
+
+	PR middle-end/32970
+	* tree.c (reconstruct_complex_type): For a pointer to a vector,
+	use build_qualified_type to retain qualifiers of the base type.
+
+2007-08-17  Chen Liqin  <liqin@sunnorth.com.cn>
+
+	* config/score/score.md : Update pattern tablejump.
+	* config/score/score.c : Update score_initialize_trampoline 
+	function.
+	* config/score/score.h (TRAMPOLINE_TEMPLATE): Added macro.
+	(TRAMPOLINE_INSNS, TRAMPOLINE_SIZE) Update macro.
+	* doc/contrib.texi: Add my entry.
+
+2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.in (REVISION): New.
+	(REVISION_c): New.
+	(REVISION_s): New.
+	(version.o): Also depend on $(REVISION). Add
+	-DREVISION=$(REVISION_s).
+
+	* version.c (version_string): Add REVISION.
+
+2007-08-16  Seongbae Park <seongbae.park@gmail.com>
+
+	* tree-eh.c (lower_try_finally_onedest): Reset the locus
+	of GOTO that's relocated to a different block.
+
+2007-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-common.c (const_strip_array_types): New.
+	* c-common.h (lang_missing_noreturn_ok_p): Delete.
+	(const_strip_array_types): New.
+	* c-objc-common.c (c_disregard_inline_limits,
+	c_warn_unused_global_decl): Constify.
+	* c-tree.h (c_disregard_inline_limits, c_warn_unused_global_decl,
+	c_vla_type_p, c_incomplete_type_error): Likewise.
+	* c-typeck.c (c_incomplete_type_error, c_vla_type_p): Likewise.
+	* hooks.c (hook_bool_const_tree_false): New.
+	* hooks.h (hook_bool_const_tree_false): Likewise.
+	* langhooks-def.h (lhd_warn_unused_global_decl,
+	lhd_incomplete_type_error, lhd_expr_size,
+	lhd_tree_inlining_disregard_inline_limits,
+	lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
+	LANG_HOOKS_GENERIC_TYPE_P, LANG_HOOKS_TYPE_MAX_SIZE): Constify.
+	* langhooks.c (lhd_warn_unused_global_decl,
+	lhd_incomplete_type_error,
+	lhd_tree_inlining_disregard_inline_limits,
+	lhd_tree_inlining_auto_var_in_fn_p, lhd_tree_dump_type_quals,
+	lhd_expr_size): Likewise.
+	* langhooks.h (lang_hooks_for_tree_inlining,
+	lang_hooks_for_tree_dump, lang_hooks_for_types,
+	lang_hooks_for_decls, lang_hooks): Likewise.
+	* pointer-set.c (pointer_set_t, pointer_set_create,
+	pointer_set_contains, insert_aux, pointer_set_insert,
+	pointer_set_traverse, pointer_map_t, pointer_map_create,
+	pointer_map_contains, pointer_map_insert, pointer_map_traverse):
+	Likewise.
+	* pointer-set.h (pointer_set_contains, pointer_set_insert,
+	pointer_set_traverse, pointer_map_contains, pointer_map_insert,
+	pointer_map_traverse): Likewise.
+	* predict.c (assert_is_empty): Likewise.
+	* tree-affine.c (free_name_expansion): Likewise.
+	* tree-cfg.c (edge_to_cases_cleanup): Likewise.
+	* tree.c (size_in_bytes, max_int_size_in_bytes): Likewise.
+	* tree.h (size_in_bytes, max_int_size_in_bytes): Likewise.
+
+2007-08-16  Victor Kaplansky <victork@il.ibm.com>
+
+	* tree-vectorizer.c (new_loop_vec_info): Initialize new 
+	field.
+	(destroy_loop_vec_info): Add call to VEC_free.
+	* tree-vectorizer.h (may_alias_ddrs): Define.
+	(LOOP_VINFO_MAY_ALIAS_DDRS): Define.
+	* tree-vect-analyze.c (vect_analyze_data_ref_dependence):
+	Change reporting to dump.
+	(vect_is_duplicate_ddr): New.
+	(vect_mark_for_runtime_alias_test): New.
+	(vect_analyze_data_ref_dependences) Add call to
+	vect_mark_for_runtime_alias_test.
+	(vect_enhance_data_refs_alignment): Define local variable
+	vect_versioning_for_alias_required, don't perform
+	peeling for alignment if versioning for alias is
+	required.
+	(vect_enhance_data_refs_alignment): Use
+	PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS instead of
+	PARAM_VECT_MAX_VERSION_CHECKS.
+	* tree-vect-transform.c
+	(vect_create_cond_for_alias_checks): New.
+	(vect_transform_loop): Add call to
+	vect_create_cond_for_alias_checks.
+	(vect_vfa_segment_size): New.
+	* params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
+	Rename.
+	(PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
+	* doc/invoke.texi
+	(vect-max-version-for-alignment-checks): Document.
+	(vect-max-version-for-alias-checks): Document.
+	(vect-max-version-checks): Remove.
+
+2007-08-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
+	the same line as the instruction for all asm dialects.
+	(*rep_movsi): Ditto.
+	(*rep_movsi_rex64): Ditto.
+	(*rep_movqi): Ditto.
+	(*rep_movqi_rex64): Ditto.
+	(*rep_stosdi_rex64): Ditto.
+	(*rep_stossi): Ditto.
+	(*rep_stossi_rex64): Ditto.
+	(*rep_stosqi): Ditto.
+	(*rep_stosqi_rex64): Ditto.
+	(*cmpstrnqi_nz_1): Ditto.
+	(*cmpstrnqi_nz_rex_1): Ditto.
+	(*cmpstrnqi_1): Ditto.
+	(*cmpstrnqi_rex_1): Ditto.
+	(*strlenqi_1): Ditto.
+	(*strlenqi_rex_1): Ditto.
+	* config/i386/sync.md (*sync_compare_and_swap<mode>): Emit "lock"
+	prefix on the same line as the instruction for all asm dialects.
+	(sync_double_compare_and_swap<mode>): Ditto.
+	(*sync_double_compare_and_swapdi_pic): Ditto.
+	(*sync_compare_and_swap_cc<mode>): Ditto.
+	(sync_double_compare_and_swap_cc<mode>): Ditto.
+	(*sync_double_compare_and_swap_ccdi_pic): Ditto.
+	(sync_old_add<mode>): Ditto.
+	(sync_add<mode>): Ditto.
+	(sync_sub<mode>): Ditto.
+	(sync_ior<mode>): Ditto.
+	(sync_and<mode>): Ditto.
+	(sync_xor<mode>): Ditto.
+
+2007-08-16  Richard Sandiford  <richard@codesourcery.com>
+
+	PR middle-end/32897
+	* reload.c (find_reloads): Check that the memory returned by
+	find_reloads_toplev was not the result of forcing a constant
+	to memory.
+	(find_reloads_toplev): Always use simplify_gen_subreg to get
+	the subreg of a constant.  If the result is also a constant,
+	but not a legitimate one, force it into the constant pool
+	and reload its address.
+
+2007-08-15  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
+	POPCOUNT.
+
+2007-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
+	directive for the current vector ABI.
+
+2007-08-15  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/32963
+	* caller-save.c (reg_save_code): Set invalide status on restore code.
+	
+2007-08-15  Diego Novillo  <dnovillo@google.com>
+
+	* tree-ssa-alias.c (compute_memory_partitions): Use
+	alias_bitmap_obstack to allocate bitmaps.
+	(reset_alias_info): Factor out of init_alias_info.
+	Mark all name tags not associated to an SSA name for renaming.
+	(init_alias_info): Call it.
+	(create_name_tags): Tidy.  Add comments.
+	(dump_points_to_info_for): Do not call get_mem_sym_stats_for.
+
+2007-08-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
+	scheduler dependencies.
+
+2007-08-15  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
+	"register_operand".
+	(*iorsi_1_zext): Likewise.
+	(*iorsi_1_zext_imm): Likewise.
+	* config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
+	with "rm"/"xm" constraint.
+	(sse2_vmsqrtv2df2): Likewise.
+
+2007-08-15  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/33074
+	* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
+	REG_LIBCALL note.
+
+2007-08-14  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-pass.h (PROP_pta): Removed.
+	(TODO_rebuild_alias): New.
+	(pass_may_alias): Removed.
+	* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
+	aliasing if we changed something.
+	* tree-ssa-alias.c (compute_may_aliases): Make non-static.  Update
+	SSA internally.
+	(pass_may_alias): Removed.
+	(create_structure_vars): Return TODO_rebuild_alias.
+	* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
+	* tree-sra.c (tree_sra): Only rebuild aliasing if something
+	changed.
+	(tree_sra_early): We never affect aliasing right now.
+	* tree-flow.h (compute_may_aliases): New prototype.
+	* passes.c: Remove pass_may_alias from the passes.
+	(execute_function_todo): Support TODO_rebuild_alias.	
+
+2007-08-14  Kai Tietz  <kai.tietz@onevision.com>
+
+	* config/i386/i386.c (legitimize_address): Move dllimported variable
+	check infront of legitimizing pic address of CONST symbols.
+
+2007-08-14  Steve Ellcey  <sje@cup.hp.com>
+
+	PR tree-optimization/32941
+	* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
+	(goto_queue_cmp): Remove.
+	(find_goto_replacement): Change search method.
+	(maybe_record_in_goto_queue): Add assert.
+	(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
+	* Makefile.in (tree-eh.o): Add pointer-set.h dependency.
+
+2007-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (component_uses_parent_alias_set): Constify.
+	* alias.h (component_uses_parent_alias_set): Likewise.
+	* cfgrtl.c (print_rtl_with_bb): Likewise.
+	* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
+	mpz_get_double_int): Likewise.
+	* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
+	mpz_get_double_int): Likewise.
+	* expr.c (is_aligning_offset, undefined_operand_subword_p,
+	mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
+	Likewise.
+	* expr.h (safe_from_p): Likewise.
+	* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
+	Likewise.
+	* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
+	zero_sized_type, goa_lhs_expr_p): Likewise.
+	* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
+	* rtl.h (print_rtl_with_bb): Likewise.
+	* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
+	* tree-cfg.c (const_first_stmt, const_last_stmt): New.
+	* tree-flow-inline.h (bb_stmt_list): Constify.
+	(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
+	cbsi_stmt): New.
+	* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
+	const_first_stmt, const_last_stmt): New.
+	(block_may_fallthru, empty_block_p): Constify.
+	* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
+	EXPR_ONLY_BODY): New.
+	(expr_first, expr_last, expr_only): Use macro for body.
+	(const_expr_first, const_expr_last, const_expr_only): New.
+	* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
+	ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
+	ctsi_prev, ctsi_stmt): New.
+	* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
+	* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
+	* tree-ssa-loop-niter.c (loop_only_exit_p,
+	derive_constant_upper_bound): Likewise.
+	* tree-ssa-phiopt.c (empty_block_p): Likewise.
+	* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
+	* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
+	* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
+	* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
+	* tree.c (get_type_static_bounds): Likewise.
+	* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
+	(get_type_static_bounds): Constify.
+
+2007-08-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/30315
+	* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
+	* config/i386/i386.md (plusminus)(addsub)(SWI): New.
+	(*<addsub><mode>3_cc_overflow): New.
+	(*add<mode>3_cconly_overflow): New.
+	(*sub<mode>3_cconly_overflow): New.
+	(*<addsub>si3_zext_cc_overflow): New.
+	* config/i386/predicates.md (fcmov_comparison_operator): Accept
+	CCCmode for LTU, GTU, LEU and GEU.
+	(ix86_comparison_operator): Likewise.
+	(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
+	* config/i386/i386.c (put_condition_code): Support CCCmode.
+	(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
+	or MINUS expressions.
+
+2007-08-14  Andrew Pinski  <pinskia@gmail.com>
+
+	PR c/30428
+	* c-typeck.c (build_binary_op): Disallow vector float types with
+	BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.
+
+2007-08-14  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+	* sched-int.h (struct _dep): Rename field 'kind' to 'type'.
+	(DEP_KIND): Rename to DEP_TYPE.  Update all uses.
+	(dep_def): New typedef.
+	(init_dep_1, sd_debug_dep): Declare functions.
+	(DEP_LINK_KIND): Rename to DEP_LINK_TYPE.
+	(debug_dep_links): Remove.
+	(struct _deps_list): New field 'n_links'.
+	(DEPS_LIST_N_LINKS): New macro.
+	(FOR_EACH_DEP_LINK): Remove.
+	(create_deps_list, free_deps_list, delete_deps_list): Remove
+	declaration.
+	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
+	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
+	(copy_deps_list_change_con, move_dep_link): Ditto.
+	(struct haifa_insn_data): Split field 'back_deps' into 'hard_back_deps'
+	and 'spec_back_deps'.  New field 'resolved_forw_deps'.  Remove field
+	'dep_count'.
+	(INSN_BACK_DEPS): Remove.
+	(INSN_HARD_BACK_DEPS, INSN_SPEC_BACK_DEPS, INSN_RESOLVED_FORW_DEPS):
+	New macros.
+	(INSN_DEP_COUNT): Remove.
+	(enum DEPS_ADJUST_RESULT): Add new constant DEP_NODEP.  Fix comments.
+	(spec_info, haifa_recovery_block_was_added_during_scheduling_p):
+	Declare global variables.
+	(deps_pools_are_empty_p, sched_free_deps): Declare functions.
+	(add_forw_dep, compute_forward_dependences): Remove declarations.
+	(add_or_update_back_dep, add_or_update_back_forw_dep): Ditto.
+	(add_back_forw_dep, delete_back_forw_dep): Ditto.
+	(debug_ds, sched_insn_is_legitimate_for_speculation_p): Declare
+	functions.
+	(SD_LIST_NONE, SD_LIST_HARD_BACK, SD_LIST_SPEC_BACK, SD_LIST_FORW):
+	New constants.
+	(SD_LIST_RES_BACK, SD_LIST_RES_FORW, SD_LIST_BACK): Ditto.
+	(sd_list_types_def): New typedef.
+	(sd_next_list): Declare function.
+	(struct _sd_iterator): New type.
+	(sd_iterator_def): New typedef.
+	(sd_iterator_start, sd_iterator_cond, sd_iterator_next): New inline
+	functions.
+	(FOR_EACH_DEP): New cycle wrapper.
+	(sd_lists_size, sd_lists_empty_p, sd_init_insn, sd_finish_insn):
+	Declare functions.
+	(sd_find_dep_between, sd_add_dep, sd_add_or_update_dep): Ditto.
+	(sd_resolve_dep, sd_copy_back_deps, sd_delete_dep, sd_debug_lists):
+	Ditto.
+
+	* sched-deps.c (init_dep_1): Make global.
+	(DUMP_DEP_PRO, DUMP_DEP_CON, DUMP_DEP_STATUS, DUMP_DEP_ALL): New
+	constants.
+	(dump_dep): New static function.
+	(dump_dep_flags): New static variable.
+	(sd_debug_dep): New function.
+	(add_to_deps_list, remove_from_deps_list): Update 'n_links' field of
+	the list.
+	(move_dep_link): Use remove_from_deps_list (), instead of
+	detach_dep_link ().
+	(dep_links_consistent_p, dump_dep_links, debug_dep_links): Remove.
+	(dep_link_is_detached_p): New static function.
+	(deps_obstack, dl_obstack, dn_obstack): Remove.  Use dn_pool, dl_pool
+	instead.
+	(dn_pool, dl_pool): New alloc_pools.
+	(dn_pool_diff, dl_pool_diff): New static variables.
+	(create_dep_node, delete_dep_node): New static function.
+	(create_deps_list): Make it static.  Use alloc_pool 'dl_pool'.
+	(deps_list_empty_p): Make it static.  Use 'n_links' field.
+	(deps_pools_are_empty_p): New static function.
+	(alloc_deps_list, delete_deps_list): Remove.
+	(dump_deps_list, debug_deps_list, add_back_dep_to_deps_list): Remove.
+	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
+	(copy_deps_list_change_con): Remove.  Use sd_copy_back_deps () instead.
+	(forward_dependency_cache): Remove.
+	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Remove
+	'back' from the names.  Change signature to use dep_t instead of
+	equivalent quad.
+	(add_back_dep): Ditto.  Make global.
+	(check_dep_status): Rename to check_dep ().
+	(sd_next_list, sd_lists_size, sd_lists_empty_p, sd_init_insn):
+	New functions.
+	(sd_finish_insn): Ditto.
+	(sd_find_dep_between_no_cache): New static function.
+	(sd_find_dep_between): New function.
+	(ask_dependency_caches, set_dependency_caches): New static functions.
+	(update_dependency_caches, change_spec_dep_to_hard, update_dep): Ditto.
+	(add_or_update_dep_1): Separate pieces of functionality into
+	ask_dependency_caches (), update_dependency_caches (),
+	change_spec_dep_to_hard (), update_dep ().
+	(get_back_and_forw_lists): New static function.
+	(sd_add_dep): Separate setting of dependency caches into
+	set_dependency_caches ().
+	(sd_add_or_update_dep, sd_resolve_dep, sd_copy_back_deps):
+	New functions.
+	(sd_delete_dep): Ditto.
+	(DUMP_LISTS_SIZE, DUMP_LISTS_DEPS, DUMP_LISTS_ALL): New constants.
+	(dump_lists): New static function.
+	(sd_debug_lists): New debug function.
+	(delete_all_dependences, fixup_sched_groups): Update to use
+	sd_* infrastructure.
+	(sched_analyze_2): Create data-speculative dependency only if
+	data-speculation is enabled.
+	(sched_analyze_insn): If insn cannot be speculative, make all its
+	dependencies non-speculative.
+	(sched_analyze): Use sd_init_insn ().
+	(add_forw_dep, compute_forward_dependencies): Remove.
+	(delete_dep_nodes_in_back_deps): New static function.
+	(sched_free_deps): New function.
+	(init_dependency_caches): Init alloc_pools.
+	(extend_depedency_caches): Update after removing of
+	forward_dependency_cache.
+	(free_dependency_caches): Ditto.  Free alloc_pools.
+	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Remove.
+	(delete_forw_dep, add_or_update_back_dep, add_or_update_back_forw_dep):
+	Ditto.
+	(add_back_forw_dep, delete_back_forw_dep): Ditto.
+	(add_dependence): Use init_dep ().
+	(get_dep_weak_1): New static function.
+	(get_dep_weak): Move logic to get_dep_weak_1 ().
+	(dump_ds): New static function moved from haifa-sched.c:
+	debug_spec_status ().
+	(debug_ds): New debug function.
+	(check_dep_status): Rename to check_dep ().  Update to check whole
+	dependencies.
+
+	* haifa-sched.c (spec_info): Make global.
+	(added_recovery_block_p): Rename to
+	'haifa_recovery_block_was_added_during_current_schedule_block_p'.
+	(haifa_recovery_block_was_added_during_scheduling_p): New variable.
+	(dep_cost, priority, rank_for_schedule, schedule_insn): Update
+	to use new interfaces.
+	(ok_for_early_queue_removal): Ditto.
+	(schedule_block): Initialize logical uids of insns emitted by the
+	target.
+	(sched_init): Initialize new variable.
+	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
+	interfaces.
+	(extend_global): Initialize insn data.
+	(init_h_i_d): Remove code that is now handled in sd_init_insn ().
+	(process_insn_forw_deps_be_in_spec): Change signature.  Update to use
+	new interfaces.
+	(add_to_speculative_block): Update to use new interfaces.
+	(create_recovery_block): Set new variables.
+	(create_check_block_twin, fix_recovery_deps): Update to use new
+	interfaces.
+	(sched_insn_is_legitimate_for_speculation_p): New function.
+	(speculate_insn): Move checking logic to
+	sched_insn_is_legitimate_for_speculation_p ().
+	(sched_remove_insn): Finalize sched-deps information of instruction.
+	(clear_priorities, add_jump_dependencies): Update to use new
+	interfaces.
+	(debug_spec_status): Rename to dump_ds () and move to sched-deps.c.
+	
+	* sched-rgn.c (set_spec_fed, find_conditional_protection): Update
+	to use new interfaces.
+	(is_conditionally_protected, is_pfree, is_prisky) Ditto.
+	(new_ready): Try to use control speculation only if it is available.
+	(add_branch_dependences): Update to use new interfaces.
+	(compute_block_backward_dependences): Rename to
+	compute_block_dependences ().  Call
+	targetm.sched.dependencies_evaluation_hook ().
+	(free_block_dependencies): New static function.
+	(debug_dependencies): Update to use new interfaces.
+	(schedule_region): Remove separate computation of forward dependencies.
+	Move call of targetm.sched.dependencies_evaluation_hook () to
+	compute_block_dependences ().  Free dependencies at the end of
+	scheduling the region.
+
+	* sched-ebb.c (earliest_block_with_similiar_load): Update to use
+	new interfaces.
+	(add_deps_for_risky_insns): Ditto.
+	(schedule_ebb): Remove separate computation of forward dependencies.
+	Free dependencies at the end of	scheduling the ebb.
+
+	* ddg.c (create_ddg_dependence): Update to use new interfaces.
+	(build_intra_loop_deps): Ditto.  Remove separate computation of
+	forward dependencies.  Free sched-deps dependencies.
+
+	* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Update
+	to use new interfaces.
+	(ia64_dfa_new_cycle, ia64_gen_check): Ditto.
+
+	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Update to use
+	new interfaces.
+	(is_costly_group): Ditto.
+
+2007-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (rtx_equal_for_memref_p): Constify.
+	* basic-block.h (const_edge, const_basic_block): New.
+	(reg_set_to_hard_reg_set, dfs_enumerate_from, single_succ_p,
+	single_pred_p, single_succ_edge, single_pred_edge, single_succ,
+	single_pred, maybe_hot_bb_p, probably_cold_bb_p,
+	probably_never_executed_bb_p, edge_probability_reliable_p,
+	br_prob_note_reliable_p, forwarder_block_p, flow_nodes_print,
+	inside_basic_block_p, control_flow_insn_p, dominated_by_p):
+	Likewise.
+	* bb-reorder.c (better_edge_p, push_to_next_round_p): Likewise.
+	* bt-load.c (basic_block_freq, insn_sets_btr_p, can_move_up):
+	Likewise.
+	* cfganal.c (flow_active_insn_p, forwarder_block_p,
+	flow_nodes_print, dfs_enumerate_from): Likewise.
+	* cfgbuild.c (count_basic_blocks, inside_basic_block_p,
+	control_flow_insn_p, count_basic_blocks): Likewise.
+	* cfgloop.c (flow_bb_inside_loop_p, glb_enum_p,
+	get_loop_body_with_size, loop_exit_edge_p): Likewise.
+	* cfgloop.h (flow_bb_inside_loop_p, num_loop_insns,
+	average_num_loop_insns, loop_exit_edge_p,
+	just_once_each_iteration_p, can_duplicate_loop_p): Likewise.
+	* cfgloopanal.c (just_once_each_iteration_p, num_loop_insns,
+	average_num_loop_insns, seq_cost): Likewise.
+	* cfgloopmanip.c (rpe_enum_p, can_duplicate_loop_p): Likewise.
+	* dominance.c (dominated_by_p): Likewise.
+	* emit-rtl.c (validate_subreg): Likewise.
+	* except.c (can_throw_internal, can_throw_external): Likewise.
+	* except.h (can_throw_internal, can_throw_external): Likewise.
+	* gcse.c (gcse_constant_p, oprs_unchanged_p, oprs_anticipatable_p,
+	oprs_available_p, hash_expr, expr_equiv_p, oprs_not_set_p,
+	compute_transp, load_killed_in_block_p, reg_killed_on_edge,
+	simple_mem, store_ops_ok, load_kills_store, find_loads,
+	store_killed_in_insn, store_killed_after, store_killed_before,
+	gcse_mem_operand, implicit_set_cond_p, store_killed_in_pat):
+	Likewise.
+	* ifcvt.c (count_bb_insns, cheap_bb_rtx_cost_p, noce_operand_ok,
+	noce_mem_write_may_trap_or_fault_p): Likewise.
+	* pointer-set.c (pointer_set_contains, pointer_map_contains):
+	Likewise.
+	* pointer-set.h (pointer_set_contains, pointer_map_contains):
+	Likewise.
+	* predict.c (can_predict_insn_p, maybe_hot_bb_p,
+	probably_cold_bb_p, probably_never_executed_bb_p,
+	edge_probability_reliable_p, br_prob_note_reliable_p,
+	can_predict_insn_p): Likewise.
+	* regclass.c (reg_set_to_hard_reg_set): Likewise.
+	* resource.c (return_insn_p): Likewise.
+	* rtl.h (reg_set_between_p, reg_set_p, validate_subreg):
+	Likewise.
+	* rtlanal.c (reg_set_between_p, reg_set_p): Likewise.
+	* tracer.c (count_insns, ignore_bb_p, better_p): Likewise.
+	* tree-cfg.c (verify_gimple_unary_expr, verify_gimple_binary_expr,
+	verify_gimple_modify_stmt): Likewise.
+	* tree-chrec.c (is_not_constant_evolution,
+	is_multivariate_chrec_rec, is_multivariate_chrec,
+	chrec_contains_symbols, chrec_contains_undetermined,
+	tree_contains_chrecs, evolution_function_is_affine_multivariate_p,
+	evolution_function_is_univariate_p, avoid_arithmetics_in_type_p,
+	eq_evolutions_p, scev_direction): Likewise.
+	* tree-chrec.h (automatically_generated_chrec_p, tree_is_chrec,
+	eq_evolutions_p, is_multivariate_chrec, chrec_contains_symbols,
+	chrec_contains_symbols_defined_in_loop,
+	chrec_contains_undetermined, tree_contains_chrecs,
+	evolution_function_is_affine_multivariate_p,
+	evolution_function_is_univariate_p, chrec_zerop,
+	evolution_function_is_constant_p, evolution_function_is_affine_p,
+	evolution_function_is_affine_or_constant_p,
+	tree_does_not_contain_chrecs, chrec_type): Likewise.
+	* tree-data-ref.c (tree_fold_divides_p,
+	object_address_invariant_in_loop_p, dr_may_alias_p,
+	ziv_subscript_p, siv_subscript_p, gcd_of_steps_may_divide_p,
+	same_access_functions, constant_access_functions,
+	access_functions_are_affine_or_constant_p, find_vertex_for_stmt):
+	Likewise.
+	* tree-flow.h (scev_direction): Likewise.
+	* tree-gimple.c (is_gimple_stmt): Likewise.
+	* tree-outof-ssa.c (identical_copies_p, identical_stmt_lists_p):
+	Likewise.
+	* tree-pretty-print.c (op_prio): Likewise.
+	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop,
+	analyzable_condition, backedge_phi_arg_p): Likewise.
+	* tree-scalar-evolution.h (get_chrec_loop): Likewise.
+	* tree-ssa-operands.c (get_name_decl, operand_build_cmp): Likewise.
+	* tree-ssa-threadupdate.c (dbds_continue_enumeration_p):
+	Likewise.
+
+2007-08-13  Dan Hipschman  <dsh@google.com>
+
+	PR c/32953
+	* c-format.c (check_format_arg): Move check for zero-length
+	format strings below the check for unterminated strings.
+
+2007-08-13  Andrew Pinski  <pinskia@gmail.com>
+
+	PR C/30427
+	* c-typeck.c (build_unary_op <case BIT_NOT_EXPR>): Reject vector float
+	types.
+
+2007-08-13  Nick Clifton  <nickc@redhat.com>
+
+	* config/arm/arm_neon.h: Revert GPLv3 patch to this file.
+
+2007-08-12  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR fortran/32860
+	* c-format.c (gcc_gfc_length_specs): New array.
+	(gcc_gfc_char_table): Add unsigned specifier, and references to
+	the l length modifier.
+	(format_types_orig): Use the new gcc_gfc_length_specs.
+
+2007-08-12  Sa Liu  <saliu@de.ibm.com>
+
+	* emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note
+	and with REG_RETVAL note after split.
+
+2007-08-11  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.c (mips_sched_reorder): Mark cycle parameter
+	as ATTRIBUTE_UNUSED.
+
+2007-08-11  David Edelsohn  <edelsohn@gnu.org>
+	    Segher Boessenkool  <segher@kernel.crashing.org>
+
+	* config/rs6000/rs6000.h (CC1_CPU_SPEC): Define as empty string if
+	HAVE_LOCAL_CPU_DETECT not defined.
+
+2007-08-11  Jan Hubicka  <jh@suse.cz>
+
+	* cgraphunit.c (record_cdtor_fn): Declare all cdtors always inlined.
+	(cgraph_process_new_functions): Honor previous value of
+	disregard_inline_limits.
+	* ipa-inline.c (compute_inline_parameters): Likewise.
+
+2007-08-11  Ian Lance Taylor  <iant@google.com>
+
+	* alias.h (alias_set_type): Define new type.
+	(ALIAS_SET_MEMORY_BARRIER): Use it.
+	* rtl.h: Include alias.h.
+	(struct mem_attrs): Use alias_set_type.
+	* tree.h: Include alias.h
+	(struct tree_type): Use alias_set_type.
+	(struct tree_struct_field_tag): Likewise.
+	(struct tree_decl_common): Likewise.
+	* alias.c (struct alias_set_entry): Use alias_set_type.
+	(get_alias_set_entry, alias_set_subset_of): Likewise.
+	(alias_sets_conflict_p): Likewise.
+	(alias_sets_must_conflict_p): Likewise.
+	(objects_must_conflict_p): Likewise.
+	(get_alias_set, new_alias_set): Likewise.
+	(record_alias_subset, record_component_aliases): Likewise.
+	(varargs_set, frame_set): Change to alias_set_type.
+	(get_varargs_alias_set): Use alias_set_type.
+	(get_frame_alias_set): Likewise.
+	* builtins.c (setjmp_alias_set): Change to alias_set_type.
+	* dse.c (struct store_info): Use alias_set_type.
+	(struct read_info, struct clear_alias_mode_holder): Likewise.
+	(clear_alias_set_lookup, canon_address): Likewise.
+	(record_store, check_mem_read_rtx): Likewise.
+	(dse_record_singleton_alias_set): Likewise.
+	(dse_invalidate_singleton_alias_set): Likewise.
+	* emit-rtl.c (get_mem_attrs): Likewise.
+	(set_mem_attributes_minus_bitpos): Likewise.
+	(set_mem_alias_set): Likewise.
+	* expr.c (store_constructor_field, store_field): Likewise.
+	* gimplify.c (struct gimplify_init_ctor_preeval_data): Likewise.
+	* langhooks.c (lhd_get_alias_set): Likewise.
+	* langhooks-def.h (lhd_get_alias_set): Likewise.
+	* reload1.c (alter_reg): Likewise.
+	* tree-flow.h (struct fieldoff): Likewise.
+	* tree-ssa-alias.c (struct alias_map_d): Likewise.
+	(may_alias_p, get_smt_for, create_sft): Likewise.
+	* tree-ssa-alias-warnings.c (nonstandard_alias_types_p): Likewise.
+	* tree-ssa-structalias.c (set_uids_in_ptset): Likewise.
+	(merge_smts_into): Likewise.
+	* varasm.c (const_alias_set): Likewise.
+	* c-common.c (strict_aliasing_warning): Likewise.
+	(c_common_get_alias_set): Likewise.
+	* dse.h (dse_record_singleton_alias_set): Update declaration.
+	(dse_invalidate_singleton_alias_set): Likewise.
+	* emit-rtl.h (set_mem_alias_set): Likewise.
+	* c-common.h (c_common_get_alias_set): Likewise.
+	* print-rtl.c (print_rtx): Cast MEM_ALIAS_SET when printing it.
+	* print-tree.c (print_node): Likewise.
+	* config/alpha/alpha.c (alpha_sr_alias_set): Change to
+	alias_set_type.
+	(alpha_setup_incoming_varargs): Use alias_set_type.
+	* config/i386/i386.c (setup_incoming_varargs_64): Use
+	alias_set_type.
+	(setup_incoming_varargs_ms_64): Likewise.
+	(ix86_GOT_alias_set): Likewise.
+	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
+	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
+	(set): Change to alias_set_type.
+	(get_TOC_alias_set): Use alias_set_type.
+	* config/rs6000/rs6000-protos.h (get_TOC_alias_set): Update
+	declaration.
+	* config/sh/sh.c (sh_builtin_saveregs): Use alias_set_type.
+	* config/sparc/sparc.c (sparc_sr_alias_set): Change to
+	alias_set_type.
+	(struct_value_alias_set): Likewise.
+	* Makefile.in (GTFILES): Add $(srcdir)/alias.h.
+
+2007-08-11  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vxworks-dummy.h (TARGET_VXWORKS): Define.
+	* config/vxworks.h (TARGET_VXWORKS): Override.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Don't define
+	"mips" if TARGET_VXWORKS.
+
+2007-08-11  Richard Sandiford  <richard@codesourcery.com>
+
+	* calls.c (avoid_likely_spilled_reg): New function.
+	(expand_call): Use it.
+
+2007-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-typeck.c (build_c_cast): Add OPT_Wcast_qual to warnings.
+
+2007-08-10  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* config/mips/predicates.md (const_call_insn_operand): Invoke
+	SYMBOL_REF_LONG_CALL_P only on SYMBOL_REFs.
+
+2007-08-10  David Edelsohn  <edelsohn@gnu.org>
+
+	PR target/33042
+	* config/rs6000/driver-rs6000.c: Include link.h.
+	Use ElfW instead of wordsize-specif typedef.
+
+2007-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* system.h (CONST_CAST): New.
+	* c-decl.c (c_make_fname_decl): Use it.
+	* c-lex.c (cb_ident, lex_string): Likewise.
+	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
+	* gcc.c (set_spec, read_specs, for_each_path, execute, do_spec_1,
+	give_switch, set_multilib_dir): Likewise.
+	* gengtype-parse.c (string_seq, typedef_name): Likewise.
+	* passes.c (execute_one_pass): Likewise.
+	* prefix.c (update_path): Likewise.
+	* pretty-print.c (pp_base_destroy_prefix): Likewise.
+	* tree.c (build_string): Likewise.
+
+2007-08-10  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-flow-inline.h (is_exec_stmt): Remove.
+	(is_label_stmt): Remove.
+	* tree-flow.h: Remove prototypes for is_exec_stmt, get_filename, and
+	is_label_stmt.
+
+2007-08-10  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* lower-subreg.c (resolve_shift_zext): Don't adjust
+	src_reg_num for wordmode operands.
+
+2007-08-10  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips.c (TARGET_SCHED_INIT): Define.
+	(TARGET_SCHED_REORDER2): Define.
+	(mips_maybe_swap_ready): New.
+	(mips_last_74k_agen_insn): New.
+	(mips_74k_agen_init): New.
+	(mips_74k_agen_reorder): New function to group loads and stores
+	in the ready queue.
+	(mips_sched_init): New.  
+	(mips_sched_reorder): Don't do initialization here.  Call
+	mips_74k_agen_reorder.
+	(mips_variable_issue): Call mips_74k_agen_init.
+
+2007-08-10  Aldy Hernandez  <aldyh@redhat.com>
+
+	* tree-flow-inline.h (get_filename): Remove.
+
+2007-08-10  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (mips_address_insns): Add a boolean
+	argument.
+	(mips_fetch_insns): Delete in favor of...
+	(mips_load_store_insns): ...this new function.
+	* config/mips/mips.c (mips_address_insns): Add a boolean argument
+	to say whether multiword moves _might_ be split.
+	(mips_fetch_insns): Delete in favor of...
+	(mips_load_store_insns): ...this new function.
+	(mips_rtx_costs): Update the call to mips_address_insns.
+	(mips_address_cost): Likewise.
+	* config/mips/mips.md (length): Use mips_load_store_insns instead
+	of mips_fetch_insns.
+	* config/mips/constraints.md (R): Use mips_address_insns rather
+	than mips_fetch_insns.  Assume that the move never needs to be split.
+
+2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* 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
+	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
+	MASK_SOFT_FLOAT_ABI.  Delete twiddling with MASK_SOFT_FLOAT
+	and mips16_hard_float when TARGET_MIPS16.
+	
+2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR c/32796
+	* c-typeck.c (build_binary_op): Check for non pointer types before
+	calling int_fits_type_p.
+
+2007-08-09  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32813
+	* fold-const.c (omit_one_operand): Return only the ommitted expression
+	if the result is an empty statement.
+	(pedantic_omit_one_operand): Likewise.
+
+2007-08-09  Daniel Berlin  <dberlin@dberlin.org>
+
+	* c-typeck.c (readonly_error): Improve error for assignment.
+	
+	* c-pretty-print.c (pp_c_additive_expression): Handle pointer-plus
+	expression. 
+	(pp_c_expression): Ditto.
+
+2007-08-09  Simon Baldwin  <simonb@google.com>
+
+	* simplify-rtx.c (simplify_binary_operation_1): Removed erroneous
+	break that was preventing simplify_associative_operation() for xor.
+
+2007-08-09  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* doc/tm.texi (CLZ_DEFINED_VALUE_AT_ZERO, CTZ_DEFINED_VALUE_AT_ZERO):
+	Document change in interpretation of value from boolean to
+	tri-state integer.
+	* optabs.c (expand_ffs, expand_ctz): New functions to compute
+	ffs and ctz using clz.
+	(expand_unop): Call them.
+	* config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Fix its
+	result value.
+	(CTZ_DEFINED_VALUE_AT_ZERO): Likewise.
+	* config/mips/mips.h (CLZ_DEFINED_VALUE_AT_ZERO): Likewise, to
+	enable the new ffs expansion on this target.
+
+2007-08-09  Jan Hubicka  <jh@suse.cz>
+
+	* optabs.c (expand_widen_pattern_expr): Use optabs accestors.
+	(expand_ternary_op): Likewise.
+	(expand_vec_shift_expr): Likewise.
+	(expand_binop_directly): Likewise.
+	(expand_binop): Likewise.
+	(sign_expand_binop): Likewise.
+	(expand_twoval_unop): Likewise.
+	(expand_twoval_binop): Likewise.
+	(expand_twoval_binop_libfunc): Likewise.
+	(widen_clz): Likewise.
+	(widen_bswap): Likewise.
+	(expand_parity): Likewise.
+	(expand_unop): Likewise.
+	(expand_abs_nojump): Likewise.
+	(expand_copysign): Likewise.
+	(emit_no_conflict_block): Likewise.
+	(emit_libcall_block): Likewise.
+	(can_compare_p): Likewise.
+	(prepare_cmp_insn): Likewise.
+	(emit_cmp_and_jump_insn_1): Likewise.
+	(prepare_float_lib_cmp): Likewise.
+	(emit_conditional_add): Likewise.
+	(gen_add2_insn): Likewise.
+	(have_add2_insn): Likewise.
+	(gen_sub2_insn): Likewise.
+	(have_sub2_insn): Likewise.
+	(can_extend_p): Likewise.
+	(can_fix_p): Likewise.
+	(can_float_p): Likewise.
+	(expand_float): Likewise.
+	(expand_fix): Likewise.
+	(expand_sfix_optab): Likewise.
+	(new_optab): Likewise.
+	(new_convert_optab): Likewise.
+	(init_libfuncs): Likewise.
+	(init_interclass_conv_libfuncs): Likewise.
+	(init_intraclass_conv_libfuncs): Likewise.
+	(set_conv_libfunc): Likewise.
+	(init_optabs): Likewise.
+	(debug_optab_libfuncs): Likewise.
+	(gen_cond_trap): Likewise.
+	* optabs.h (optab_handler, convert_optab_hanlder): New.
+	* genopinit.c: Update optabs generation table.
+	* reload.c (find_reloads_address_1): Use optabs accestors.
+	* builtins.c (expand_builtin_mathfn): Likewise.
+	(expand_builtin_mathfn_2): Likewise.
+	(expand_builtin_mathfn_3): Likewise.
+	(expand_builtin_interclass_mathfn): Likewise.
+	(expand_builtin_sincos): Likewise.
+	(expand_builtin_cexpi): Likewise.
+	(expand_builtin_powi): Likewise.
+	(expand_builtin_strlen): Likewise.
+	* dojump.c (do_jump): Likewise.
+	* expr.c (convert_move): Likewise.
+	(move_by_pieces): Likewise.
+	(move_by_pieces_ninsns): Likewise.
+	(can_store_by_pieces): Likewise.
+	(store_by_pieces_1): Likewise.
+	(emit_move_via_integer): Likewise.
+	(emit_move_complex): Likewise.
+	(emit_move_ccmode): Likewise.
+	(emit_move_insn_1): Likewise.
+	(emit_single_push_insn): Likewise.
+	(store_constructor): Likewise.
+	(expand_expr_real_1): Likewise.
+	(do_store_flag): Likewise.
+	* ada/misc.c (gnat_compute_largest_alignment): Likewise.
+	(enumerate_modes): Likewise.
+	* tree-vectorizer.c (vect_supportable_dr_alignment): Likewise.
+	(supportable_widening_operation): Likewise.
+	(supportable_narrowing_operation): Likewise.
+	* expmed.c (store_bit_field_1): Likewise.
+	(extract_bit_field_1): Likewise.
+	(expand_mult_highpart_optab): Likewise.
+	(expand_smod_pow2): Likewise.
+	(expand_divmod): Likewise.
+	(emit_store_flag): Likewise.
+	* tree-vect-patterns.c
+	(vect_pattern_recog_1): Likewise.
+	* tree-ssa-loop-prefetch.c
+	(nontemporal_store_p): Likewise.
+	* tree-vect-transform.c (vect_model_reduction_cost): Likewise.
+	(vect_create_epilog_for_reduction): Likewise.
+	(vectorizable_reduction): Likewise.
+	(vectorizable_operation): Likewise.
+	(vect_strided_store_supported): Likewise.
+	(vectorizable_store): Likewise.
+	(vect_strided_load_supported): Likewise.
+	(vectorizable_load): Likewise.
+	* combine.c (simplify_comparison): Likewise.
+	* tree-vect-generic.c
+	(type_for_widest_vector_mode): Likewise.
+	(expand_vector_operations_1): Likewise.
+	* config/spu/spu.c (spu_expand_mov): Likewise.
+	(spu_emit_vector_compare): Likewise.
+	* config/rs6000/rs6000.c
+	(rs6000_emit_vector_compare): Likewise.
+	* stmt.c (add_case_node): Likewise.
+	* reload1.c (gen_reload):
+
+2007-08-09  Michael Matz  <matz@suse.de>
+
+	* tree.h (fixed_zerop): Declare as taking a const_tree.
+	* tree.c (fixed_zerop): Take a const_tree.
+
+2007-08-09  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vect-transform.c (vectorizable_store): Remove call to
+	copy_virtual_operands() and call mark_symbols_for_renaming() for
+	the created vector store.
+	(vect_setup_realignment): Don't call copy_virtual_operands() and
+	update_vuses_to_preheader(). 
+	(vectorizable_load): Don't call copy_virtual_operands(). 
+	(update_vuses_to_preheader): Remove.
+
+2007-08-08  Chao-ying Fu  <fu@mips.com>
+
+	* tree.def (FIXED_POINT_TYPE): New type.
+	(FIXED_CST): New constant.
+	(FIXED_CONVERT_EXPR): New expr.
+	* doc/c-tree.texi (Types): Document FIXED_POINT_TYPE.
+	(Expressions): Document FIXED_CST and FIXED_CONVERT_EXPR.
+	* tree.h (struct tree_base): Add saturating_flag.
+	Remove one bit of spare for saturating_flag.
+	(NUMERICAL_TYPE_CHECK): Support FIXED_POINT_TYPE.
+	(NON_SAT_FIXED_POINT_TYPE_P, SAT_FIXED_POINT_TYPE_P,
+	FIXED_POINT_TYPE_P): Define.
+	(TYPE_SATURATING): Define.
+	(TREE_FIXED_CST_PTR, TREE_FIXED_CST): Define.
+	(struct tree_fixed_cst): New.
+	(TYPE_IBIT, TYPE_FBIT): Define.
+	(tree_node): Add fixed_cst.
+	(enum tree_index): Add new enumeration values of
+	TI_SAT_SFRACT_TYPE, TI_SAT_FRACT_TYPE, TI_SAT_LFRACT_TYPE,
+	TI_SAT_LLFRACT_TYPE, TI_SAT_USFRACT_TYPE, TI_SAT_UFRACT_TYPE,
+	TI_SAT_ULFRACT_TYPE, TI_SAT_ULLFRACT_TYPE, TI_SFRACT_TYPE,
+	TI_FRACT_TYPE, TI_LFRACT_TYPE, TI_LLFRACT_TYPE, TI_USFRACT_TYPE,
+	TI_UFRACT_TYPE, TI_ULFRACT_TYPE, TI_ULLFRACT_TYPE,
+	TI_SAT_SACCUM_TYPE, TI_SAT_ACCUM_TYPE, TI_SAT_LACCUM_TYPE,
+	TI_SAT_LLACCUM_TYPE, TI_SAT_USACCUM_TYPE, TI_SAT_UACCUM_TYPE,
+	TI_SAT_ULACCUM_TYPE, TI_SAT_ULLACCUM_TYPE, TI_SACCUM_TYPE,
+	TI_ACCUM_TYPE, TI_LACCUM_TYPE, TI_LLACCUM_TYPE, TI_USACCUM_TYPE,
+	TI_UACCUM_TYPE, TI_ULACCUM_TYPE, TI_ULLACCUM_TYPE,
+	TI_QQ_TYPE, TI_HQ_TYPE,_TYPE, TI_SQ_TYPE, TI_DQ_TYPE, TI_TQ_TYPE,
+	TI_UQQ_TYPE, TI_UHQ_TYPE, TI_USQ_TYPE, TI_UDQ_TYPE, TI_UTQ_TYPE,
+	TI_SAT_QQ_TYPE, TI_SAT_HQ_TYPE, TI_SAT_SQ_TYPE, TI_SAT_DQ_TYPE,
+	TI_SAT_TQ_TYPE, TI_SAT_UQQ_TYPE, TI_SAT_UHQ_TYPE, TI_SAT_USQ_TYPE,
+	TI_SAT_UDQ_TYPE, TI_SAT_UTQ_TYPE, TI_HA_TYPE, TI_SA_TYPE, TI_DA_TYPE,
+	TI_TA_TYPE, TI_UHA_TYPE, TI_USA_TYPE, TI_UDA_TYPE, TI_UTA_TYPE,
+	TI_SAT_HA_TYPE, TI_SAT_SA_TYPE, TI_SAT_DA_TYPE, TI_SAT_TA_TYPE,
+	TI_SAT_UHA_TYPE, TI_SAT_USA_TYPE, TI_SAT_UDA_TYPE, TI_SAT_UTA_TYPE.
+	(sat_short_fract_type_node, sat_fract_type_node,
+	sat_long_fract_type_node, sat_long_long_fract_type_node,
+	sat_unsigned_short_fract_type_node, sat_unsigned_fract_type_node,
+	sat_unsigned_long_fract_type_node,
+	sat_unsigned_long_long_fract_type_node, short_fract_type_node,
+	fract_type_node, long_fract_type_node, long_long_fract_type_node,
+	unsigned_short_fract_type_node, unsigned_fract_type_node,
+	unsigned_long_fract_type_node, unsigned_long_long_fract_type_node,
+	sat_short_accum_type_node, sat_accum_type_node,
+	sat_long_accum_type_node, sat_long_long_accum_type_node,
+	sat_unsigned_short_accum_type_node, sat_unsigned_accum_type_node,
+	sat_unsigned_long_accum_type_node,
+	sat_unsigned_long_long_accum_type_node, short_accum_type_node,
+	accum_type_node, long_accum_type_node, long_long_accum_type_node,
+	unsigned_short_accum_type_node, unsigned_accum_type_node,
+	unsigned_long_accum_type_node, unsigned_long_long_accum_type_node,
+	qq_type_node, hq_type_node, sq_type_node, dq_type_node, tq_type_node,
+	uqq_type_node, uhq_type_node, usq_type_node, udq_type_node,
+	utq_type_node, sat_qq_type_node, sat_hq_type_node, sat_sq_type_node,
+	sat_dq_type_node, sat_tq_type_node, sat_uqq_type_node,
+	sat_uhq_type_node, sat_usq_type_node, sat_udq_type_node,
+	sat_utq_type_node, ha_type_node, sa_type_node, da_type_node,
+	ta_type_node, uha_type_node, usa_type_node, uda_type_node,
+	uta_type_node, sat_ha_type_node, sat_sa_type_node, sat_da_type_node,
+	sat_ta_type_node, sat_uha_type_node, sat_usa_type_node,
+	sat_uda_type_node, sat_uta_type_node): New macro.
+	(make_fract_type, make_accum_type): Declare.
+	(make_signed_fract_type, make_unsigned_fract_type,
+	make_sat_signed_fract_type, make_sat_unsigned_fract_type,
+	make_signed_accum_type, make_unsigned_accum_type,
+	make_sat_signed_accum_type, make_sat_unsigned_accum_type,
+	make_or_reuse_signed_fract_type, make_or_reuse_unsigned_fract_type,
+	make_or_reuse_sat_signed_fract_type,
+	make_or_reuse_sat_unsigned_fract_type, make_or_reuse_signed_accum_type,
+	make_or_reuse_unsigned_accum_type, make_or_reuse_sat_signed_accum_type,
+	make_or_reuse_sat_unsigned_accum_type): New macro.
+	(fixed_zerop): Declare.
+	* defaults.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE,
+	LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
+	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
+	LONG_LONG_ACCUM_TYPE_SIZE): Define.
+	* treestruct.def: Add TS_FIXED_CST.
+	* Makefile.in (c-pretty-print.o): Add dependence on fixed-value.h.
+	(tree.o): Likewise.
+	(tree-dump.o): Likewise.
+	(print-tree.o): Likewise.
+	(tree-pretty-print.o): Likewise.
+	(fold-const.o): Likewise.
+	* tree-complex.c (some_nonzerop): Handle FIXED_CST.
+	* tree-gimple.c (is_gimple_formal_tmp_rhs): Handle FIXED_CST.
+	(is_gimple_min_invariant): Handle FIXED_CST.
+	* stor-layout.c (int_mode_for_mode): Handle MODE_FRACT, MODE_UFRACT,
+	MODE_ACCUM, MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
+	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	(layout_type): Handle FIXED_POINT_TYPE.
+	(make_fract_type, make_accum_type): New functions.
+	* tree-browser.c (browse_tree): Handle FIXED_POINT_TYPE.
+	* tree-dump.c (fixed-value.h): New include.
+	(dump_fixed): New function.
+	(dequeue_and_dump): Handle FIXED_POINT_TYPE and FIXED_CST.
+	* tree-inline.c (remap_type_1): Handle FIXED_POINT_TYPE.
+	(estimate_num_insns_1): Handle FIXED_CST and FIXED_CONVERT_EXPR.
+	* tree-pretty-print.c (fixed-value.h): New include.
+	(dump_generic_node): Handle FIXED_POINT_TYPE, FIXED_CST, and
+	FIXED_CONVERT_EXPR.
+	* tree-scalar-evolution.c (get_scalar_evolution): Handle FIXED_CST.
+	* tree-ssa-loop-im.c (for_each_index): Handle FIXED_CST.
+	* tree-ssa-pre.c (poolify_tree): Handle FIXED_CST.
+	* tree-ssa-reassoc.c (break_up_subtract_bb): We can do reassociation
+	for non-saturating fixed-point types.
+	(reassociate_bb): Likewise.
+	* emit-rtl.c (fixed-value.h): New include.
+	(fconst0, fconst1): New array.
+	(init_emit_once): Initialize fconst0 and fconst1 for fixed-point modes.
+	* tree-vect-generic.c expand_vector_operation): Support
+	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, and
+	MODE_VECTOR_UACCUM.
+	(type_for_widest_vector_mode): Add one parameter for the 
+	saturating flag.
+	Check scalar FRACT, UFRACT, ACCUM, and UACCUM mode to select their
+	vector mode.
+	Pass the satp parameter to type_for_mode for fixed-point types.
+	(expand_vector_operations_1): Pass the saturating flag to
+	type_for_widest_vector_mode.
+	Support MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+	and MODE_VECTOR_UACCUM.
+	* tree-vect-transform.c (vect_is_simple_cond): Support FIXED_CST.
+	(vectorizable_condition): Likewise.
+	* tree.c (fixed-value.h): New include.
+	(tree_code_size): Support FIXED_CST.
+	(build_fixed): New function.
+	(build_one_cst): Support FIXED_POINT_TYPE for accum types.
+	(fixed_zerop): New function.
+	(tree_node_structure): Support FIXED_CST.
+	(type_contains_placeholder_1): Support FIXED_POINT_TYPE.
+	(build_type_attribute_qual_variant): Handle FIXED_POINT_TYPE.
+	(type_hash_eq): Handle FIXED_POINT_TYPE.
+	(simple_cst_equal): Support FIXED_CST.
+	(iterative_hash_expr): Handle FIXED_CST.
+	(get_unwidened): Make sure type is not FIXED_POINT_TYPE.
+	(get_narrower): Likewise.
+	(variably_modified_type_p): Handle FIXED_POINT_TYPE.
+	(make_or_reuse_fract_type, make_or_reuse_accum_type): New functions.
+	(build_common_tree_nodes_2): Use MAKE_FIXED_TYPE_NODE_FAMILY and
+	MAKE_FIXED_MODE_NODE macros to initialize fixed-point type
+	nodes.
+	(build_vector_type_for_mode): Handle MODE_VECTOR_FRACT,
+	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	(initializer_zerop): Support FIXED_CST.
+	(walk_tree): Handle FIXED_CST and FIXED_POINT_TYPE.
+	* dwarf2out.c (base_type_die): Use DW_ATE_signed_fixed or
+	DW_ATE_unsigned_fixed to describe FIXED_POINT_TYPE.
+	(is_base_type): Handle FIXED_POINT_TYPE.
+	(add_type_attribute): Handle FIXED_POINT_TYPE.
+	(gen_type_die_with_usage): Handle FIXED_POINT_TYPE.
+	* print-tree.c (fixed-value.h): New include.
+	(print_node_brief): Support FIXED_CST.
+	(print_node): Support FIXED_POINT_TYPE and FIXED_CST.
+	* c-pretty-print.c (fixed-value.h): New include.
+	(pp_c_type_specifier): Handle FIXED_POINT_TYPE.  Need to pass
+	TYPE_SATURATING to c_common_type_for_mode for fixed-point modes.
+	(pp_c_direct_abstract_declarator): Handle FIXED_POINT_TYPE.
+	Support fixed-point types for inner items in VECTOR_TYPE.
+	(pp_c_direct_declarator): Likewise.
+	(pp_c_declarator): Likewise.
+	(pp_c_fixed_constant): New function.
+	(pp_c_constant): Handle FIXED_CST.
+	(pp_c_primary_expression): Likewise.
+	(pp_c_expression): Likewise.
+	* fold-const.c (fixed-value.h): New include.
+	(negate_expr_p): Return true for FIXED_CST.
+	(fold_negate_expr): Support FIXED_CST.
+	(split_tree): Support FIXED_CST.
+	(const_binop): Support FIXED_CST.
+	(fold_convert_const_int_from_fixed): New function to convert from
+	fixed to int.
+	(fold_convert_const_real_from_fixed): New function to convert from
+	fixed to real.
+	(fold_convert_const_fixed_from_fixed): New function to convert from
+	fixed to another fixed.
+	(fold_convert_const_fixed_from_int): New function to convert from
+	int to fixed.
+	(fold_convert_const_fixed_from_real): New function to convert from
+	real to fixed.
+	(fold_convert_const): Support conversions from fixed to int, from
+	fixed to real, from fixed to fixed, from int to fixed, and from real
+	to fixed.
+	(fold_convert): Support FIXED_CST and FIXED_POINT_TYPE.
+	(operand_equal_p): Support FIXED_CST.
+	(make_range): For fixed-point modes, we need to pass the
+	saturating flag as the 2nd parameter.
+	(tree_swap_operands_p): Handle FIXED_CST.
+	(fold_plusminus_mult_expr): For fract modes, we cannot generate
+	constant 1.
+	(fold_unary): Support FIXED_CONVERT_EXPR.
+	(fold_binary): Handle FIXED_CST.
+	Make sure the type is not saturating, before associating operations.
+	Ex: A + B + C, A * B * C, (A1 * C1) +/- (A2 * C2).
+	(tree_expr_nonnegative_warnv_p): Handle FIXED_CST.
+	(fold_negate_const): Support FIXED_CST.
+	(fold_relational_const): Support FIXED_CST.
+	* gimplify.c (omp_firstprivatize_type_sizes): Handle FIXED_POINT_TYPE.
+	(gimplify_expr): Handle FIXED_CST.
+	(gimplify_type_sizes): Handle FIXED_POINT_TYPE.
+	* ipa-prop.c (ipa_callsite_compute_param): Support FIXED_CST.
+	* ipa-type-escape.c (type_to_consider): Handle FIXED_POINT_TYPE.
+	* doc/tm.texi (Type Layout): Document SHORT_FRACT_TYPE_SIZE,
+	FRACT_TYPE_SIZE, LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE,
+	SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE,
+	LONG_LONG_ACCUM_TYPE_SIZE.
+	* dbxout.c (dbxout_type): Handle FIXED_POINT_TYPE.
+	* c-aux-info.c (gen_type): Handle FIXED_POINT_TYPE.
+	* tree-sra.c (is_sra_scalar_type): Support FIXED_POINT_TYPE.
+	* expmed.c (extract_bit_field): Support MODE_FRACT, MODE_UFRACT,
+	MODE_ACCUM, and MODE_UACCUM.
+	* tree-vectorizer.c (vect_is_simple_reduction): Check for saturating
+	fixed-point types to disable reduction.
+	* explow.c (promote_mode): Support FIXED_POINT_TYPE.
+
+2007-08-08  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/x-rs6000: New file.
+	* config/rs6000/darwin.h (CC1_SPEC): Add cc1_cpu.
+	* config/rs6000/rs6000.h (EXTRA_SPECS): Add cc1_cpu.
+	(EXTRA_SPEC_FUNCTIONS): Define.
+	(HAVE_LOCAL_CPU_DETECT): Define.
+	(CC1_CPU_SPEC): Define.
+	* config/rs6000/driver-rs6000.c: New file.
+	* config/rs6000/aix.h (CC1_SPEC): Define.
+	* config/rs6000/sysv4.h (CC1_SPEC): Add cc1_cpu.
+	* config.host: Add x-rs6000 to host_xmake_file if host and target
+	are rs6000 or powerpc.
+
+2007-08-08  Paolo Bonzini <paolo.bonzini@lu.unisi.ch>
+
+	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Use +=.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+	    Sandra Loosemore  <sandra@codesourcery.com>
+	    Chao-ying Fu  <fu@mips.com>
+	    Nigel Stephens  <nigel@mips.com>
+	    David Ung  <davidu@mips.com>
+
+	* doc/invoke.texi (-mcode-readable): Document.
+	* config/mips/mips.opt (mcode-readable): New option.
+	* config/mips/mips-protos.h (SYMBOL_32_HIGH): New symbol type.
+	* config/mips/mips.h (mips_code_readable_setting): New enum.
+	(mips_code_readable): Declare.
+	(TARGET_MIPS16_TEXT_LOADS, TARGET_MIPS16_PCREL_LOADS): New macros.
+	(TARGET_MIPS16_SHORT_JUMP_TABLES): New macro.
+	(JUMP_TABLES_IN_TEXT_SECTION): Use it.
+	(CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Likewise.  Remove
+	boiler-plate comments.
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
+	* config/mips/mips.c (mips_code_readable): New variable.
+	(mips_classify_symbol): Only return SYMBOL_PC_RELATIVE for
+	MIPS16 labels if TARGET_MIPS16_SHORT_JUMP_TABLES.  Use both the
+	context and -mcode-readable setting to restrict the use of
+	SYMBOL_PC_RELATIVE for MIPS16 constant pool references.
+	Only return TARGET_FORCE_TO_MEM if PC-relative loads are allowed.
+	(mips_symbolic_constant_p): Handle SYMBOL_32_HIGH.
+	(mips_blocks_for_constant_p): Only return false for
+	TARGET_MIPS16_PCREL_LOADS.
+	(mips_symbol_insns_1): Treat HIGHs as 2 extended instructions
+	for MIPS16.  Handle SYMBOL_32_HIGH.
+	(mips_const_insns): Allow HIGHs for MIPS16 too.
+	(mips_unspec_address_offset): New function, split out from...
+	(mips_unspec_address): ...here.
+	(mips_output_move): Handle MIPS16 HIGH moves.  Use "li" to load
+	16-bit symbolic constants.  Assert approropiate conditions for
+	using the "la" and "dla" macros.
+	(mips_handle_option): Handle -mcode-readable=.
+	(override_options): Use %hi/%lo relocations for TARGET_MIPS16 too.
+	Set up mips_lo_relocs[SYMBOL_32_HIGH].
+	(mips_strip_unspec_address): New function, split out from...
+	(print_operand_reloc): ...here.
+	(print_operand): Pass constants through mips_strip_unspec_address.
+	(print_operand_address): Likewise.
+	(mips_output_mi_thunk): Remove guard of mips16_lay_out_constants.
+	(mips_select_rtx_section): Remove MIPS16 handling.
+	(mips16_gp_pseudo_reg): Check currently_expanding_to_rtl.
+	(mips16_rewrite_pool_refs): Wrap the labels in an address UNSPEC.
+	(mips16_lay_out_constants): Do nothing unless
+	TARGET_MIPS16_PCREL_LOADS.
+	(mips_avoid_hazards): Remove guard of mips16_lay_out_constants.
+	* config/mips/mips.md: Split HIGHs for MIPS16.
+	(tablejump): Use TARGET_MIPS16_SHORT_JUMP_TABLES.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (mips_emit_move): Declare.
+	* config/mips/mips.c (mips_emit_move): New function.
+	(mips_force_temporary): Use mips_emit_move instead of emit_move_insn.
+	(mips_legitimize_const_move): Likewise.
+	(mips_legitimize_move): Likewise.
+	(mips_split_64bit_move): Likewise.
+	(mips_restore_gp): Likewise.
+	(mips_load_call_address): Likewise.
+	(mips_emit_fcc_reload): Likewise.
+	(mips_set_return_address): Likewise.
+	(mips_block_move_straight): Likewise.
+	(mips_block_move_loop): Likewise.
+	(mips_setup_incoming_varargs): Likewise.
+	(mips_save_reg): Likewise.
+	(mips_expand_prologue): Likewise.
+	(mips_restore_reg): Likewise.
+	(mips_expand_epilogue): Likewise.
+	(mips_output_mi_thunk): Likewise.
+	(build_mips16_call_stub): Likewise.
+	(mips_builtin_branch_and_move): Likewise.
+	* config/mips/mips.h (INITIALIZE_TRAMPOLINE): Likewise.
+	* config/mips/mips.md (fixuns_truncdfsi2): Likewise.
+	(fixuns_truncdfdi2): Likewise.
+	(fixuns_truncsfsi2): Likewise.
+	(fixuns_truncsfdi2): Likewise.
+	(loadgp_absolute): Likewise.
+	(builtin_setjmp_setup): Likewise.
+	(builtin_longjmp): Likewise.
+	(untyped_call): Likewise.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (mips_split_symbol): Add a mode and
+	an "rtx *" argument.  Return a bool.
+	* config/mips/mips.c (mips_split_symbol): Accept arbitrary source
+	values and return true if they can be split.  Take the same kind of
+	mode argument as mips_symbol_insns.  Add a "lo_sum_out" parameter
+	and store the lo_sum there if nonnull.  Use the symbol type to
+	determine whether a $gp or HIGH is needed.
+	(mips_legitimize_address): Update call to mips_split_symbol and
+	simplify accordingly.
+	(mips_legitimize_const_move): Likewise.
+	* config/mips/mips.md: In the combine define_split,
+	check mips_split_symbol instead of splittable_symbolic_operand.
+	Update use of mips_split_symbol in the generator code.
+	* config/mips/predicates.md (splittable_symbolic_operand): Delete.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_symbolic_address_p): Delete.
+	(mips_symbol_insns_1): New function, split out from...
+	(mips_symbol_insns): ...here.  Take a mode argument.  Treat loads
+	and stores separately from load addresses.
+	(mips_classify_address): Replace uses of mips_symbolic_address_p
+	with uses of mips_symbol_insns.
+	(mips_address_insns): Update calls to mips_symbol_insns.
+	(mips_const_insns): Likewise.
+	(mips_legitimize_address): Likewise.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): New symbol type.
+	* config/mips/mips.c (mips_classify_symbol): Skip TARGET_ABICALLS
+	block for locally-binding symbols if TARGET_ABSOLUTE_ABICALLS.
+	Return SYMBOL_FORCE_TO_MEM instead of SYMBOL_ABSOLUTE for
+	non-call contexts if TARGET_MIPS16.
+	(mips_symbolic_constant_p): Handle SYMBOL_FORCE_TO_MEM.
+	(mips_symbolic_address_p): Likewise.  Remove special TARGET_MIPS16
+	code for SYMBOL_ABSOLUTE.
+	(mips_symbol_insns): Likewise.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (mips_symbol_context): New enumeration.
+	* config/mips/mips.c (mips_classify_symbol): Take a context argument.
+	(mips_symbolic_constant_p): Likewise.  Update the call to
+	mips_classify_symbol.
+	(mips_classify_address): Update the calls to mips_symbolic_constant_p.
+	(mips_const_insns): Likewise.  Update the call to mips_classify_symbol.
+	(mips_legitimize_address): Update the call to mips_symbolic_constant_p.
+	(print_operand_reloc): Add a context argument.  Update the call to
+	mips_symbolic_constant_p.
+	(print_operand): Update the calls to print_operand_reloc.
+	(print_operand_address): Use print_operand_reloc rather than
+	print_operand.
+	(mips_rewrite_small_data_p): Add a context argument.  Update the call
+	to mips_symbolic_constant_p.
+	(mips_small_data_pattern_1): Make DATA the containing mem.
+	Update the call to mips_rewrite_small_data_p.
+	(mips_rewrite_small_data_1): Likewise.
+	(mips_use_anchors_for_symbol_p): Update the call to
+	mips_symbolic_constant_p.
+	* config/mips/predicates.md (const_call_insn_operand): Likewise.
+	(splittable_symbolic_operand): Likewise.
+	(move_operand): Likewise.
+	(absolute_symbolic_operand): Likewise.
+	(got_disp_operand): Likewise.
+	(got_page_ofst_operand): Likewise.
+
+2007-08-08  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips-protos.h (SYMBOL_GENERAL): Rename to...
+	(SYMBOL_ABSOLUTE): ...this.
+	(SYMBOL_SMALL_DATA): Rename to...
+	(SYMBOL_GP_RELATIVE): ...this.
+	(SYMBOL_CONSTANT_POOL): Rename to...
+	(SYMBOL_PC_RELATIVE): ...this.
+	* config/mips/mips.c (mips_classify_symbol, mips_symbolic_constant_p)
+	(mips_symbolic_address_p, mips_symbol_insns, override_options)
+	(mips_rewrite_small_data_p, mips_use_anchors_for_symbol_p): Update
+	after above changes.
+	* config/mips/predicates.md (const_call_insn_operand): Likewise.
+	(general_symbolic_operand): Rename to...
+	(absolute_symbolic_operand): ...this.
+	* config/mips/mips.md: Update after above changes.
+
+2007-08-08  Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* ddg.c (print_ddg): Add dump information.
+	* modulo-sched.c (print_node_sched_params): Add parameter and
+	verbosity.
+	(calculate_maxii): Remove function.
+	(undo_generate_reg_moves): Likewise.
+	(undo_permute_partial_schedule): Likewise.
+	(kernel_number_of_cycles): Likewise.
+	(MAXII_FACTOR): New definition to calculate the upper bound of II.
+	(sms_schedule): Use it.  Remove profitability checks.
+	(sms_schedule_by_order): Fix order of nodes within the cycle.
+
+2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* config/i386/gnu.h (STARTFILE_SPEC): Use gcrt0.o in profile mode, add
+	-profile option, add pie support.
+	(ENDFILE_SPEC): New spec.
+	* config/gnu.h (LIB_SPEC): Add -profile option.
+
+2007-08-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>
+
+	* config/i386/gnu.h (CPP_SPEC): Add -pthread option.
+	* config/gnu.h (LIB_SPEC): Likewise.
+
+2007-08-07  Yaz Saito  <saito@google.com>
+	    Ian Lance Taylor  <iant@google.com>
+
+	* common.opt (finstrument-functions-exclude-function-list): New
+	option.
+	(finstrument-functions-exclude-file-list): New option.
+	* opts.c (char_p): Define and DEF_VEC.
+	(flag_instrument_functions_exclude_functions): New static
+	variable.
+	(flag_instrument_functions_exclude_files): New static variable.
+	(add_instrument_functions_exclude_list): New static function.
+	(flag_instrument_functions_exclude_p): New function.
+	(common_handle_option): Handle new options.
+	* flags.h (flag_instrument_functions_exclude_p): Declare.
+	* gimplify.c (gimplify_function_tree): Call
+	flag_instrument_functions_exclude_p.
+	* doc/invoke.texi (Option Summary): Mention new options.
+	(Code Gen Options): Document new options.
+
+2007-08-07  Ian Lance Taylor  <iant@google.com>
+
+	PR rtl-optimization/32776
+	* lower-subreg.c (resolve_clobber): Call resolve_reg_notes.
+	(resolve_use): Likewise.
+	(decompose_multiword_subregs): Remove "changed" local variable.
+
+2007-08-07  Carlos O'Donell  <carlos@codesourcery.com>
+
+	* configure.ac: Define HAVE_GNU_AS if $gas_flag is yes.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* gcc.c [HAVE_GNU_AS]: Add "%{v} %{w:-W} %{I*} " to asm_options
+	spec string.
+
+2007-08-07  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (resolve_clobber): If the clobber has a LIBCALL
+	note, just delete the insn.
+
+2007-08-07  Andreas Schwab  <schwab@suse.de>
+
+	PR bootstrap/32973
+	* gengtype-lex.l: Ignore backslash/newline pair while scanning a
+	struct definition.
+
+2007-08-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* lower-subreg.c (resolve_subreg_use): Remove assertion.
+	(find_decomposable_shift_zext, resolve_shift_zext): New functions.
+	(decompose_multiword_subregs): Use the functions above to decompose
+	multiword shifts and zero-extends.
+
+2007-08-07  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* doc/sourcebuild.texi (Test Directives): Fix "compile" and
+	"assemble" descriptions which were swapped.
+
+2007-08-06  Chao-ying Fu  <fu@mips.com>
+
+	* fixed-value.h: New file.
+	* fixed-value.c: New file.
+	* Makefile.in (OBJS-common): Add fixed-value.o.
+	(fixed-value.o): New rule.
+	(GTFILES): Add fixed-value.h.
+	* double-int.c (double_int_scmp): We should use unsigned HOST_WIDE_INT
+	to compare a.low and b.low.
+	* gengtype.c (main): Handle FIXED_VALUE_TYPE type as scalar typedef.
+
+2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
+	    Daniel Jacobowitz  <dan@codesourcery.com>
+
+	PR target/31868
+	* config.gcc (x86_64-*-freebsd*): Add i386/t-crtstuff to
+	tmake_file.
+	(x86_64-*-netbsd*): Likewise.
+	(x86_64-*-linux*): Likewise.
+	(x86_64-*-kfreebsd*-gnu): Likewise.
+	(x86_64-*-knetbsd*-gnu): Likewise.
+	(i[34567]86-*-solaris2.1[0-9]*): Likewise.
+
+	* config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Removed.
+
+	* config/i386/t-crtstuff (CRTSTUFF_T_CFLAGS): Update comments.
+	Add -fno-asynchronous-unwind-tables.
+
+	* config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
+	* config/t-libc-ok (CRTSTUFF_T_CFLAGS_S): Likewise.
+	* config/t-lynx (CRTSTUFF_T_CFLAGS_S): Likewise.
+	* config/t-netbsd (CRTSTUFF_T_CFLAGS_S): Likewise.
+	* config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Likewise.
+
+2007-08-06  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.c (ia64_c_mode_for_suffix): New.
+	(TARGET_C_MODE_FOR_SUFFIX): New.
+
+2007-08-06  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/div.md (m2subrf4_cond): Change 'g' to 'G'.
+
+2007-08-06  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.h (MODES_TIEABLE_P): Fix typo.
+
+2007-08-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.md: Check TARGET_ macros and optimize_size
+	before checking function returns in conditional expressions.
+
+2007-08-06  Alfred Minarik  <a.minarik@aon.at>
+
+	PR pch/13676
+	* doc/invoke.texi: Add .hp, .hxx, .hpp, .h, .HPP, .tcc as c++ header.
+
+2008-08-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32988
+	* tree.c (build2_stat): Instead of checking for INTEGER_TYPE, check
+	for INTEGRAL_TYPE_P.
+
+2008-08-05  Paolo Bonzini  <bonzini@gnu.org>
+
+	* configure.ac: Remove --enable-checking=df from default settings.
+	* tree-pass.h (TODO_df_verify): New.  Shift TODO_mark_first_instance.
+	* df-core.c (df_finish_pass) [ENABLE_CHECKING]: Schedule verification
+	if the parameter is true.
+	(df_analyze) [!ENABLE_DF_CHECKING]: Also do verification if the
+	DF_VERIFY_SCHEDULED flag is true.
+	* df.h (enum df_changeable_flags): Add DF_VERIFY_SCHEDULED.
+	(df_finish_pass): Adjust prototype.
+	* passes.c (execute_todo): Schedule verification if TODO_df_verify is
+	true.
+
+	* see.c (pass_see): Add TODO_df_verify.
+	* loop-init.c (pass_rtl_move_loop_invariants): Add TODO_df_verify.
+	* global.c (rest_of_handle_global_alloc): Schedule verification
+	after the pass.
+	* local-alloc.c (rest_of_handle_local_alloc): Schedule verification
+	before the pass.
+	* function.c (pass_thread_prologue_and_epilogue): Add TODO_df_verify.
+	* gcse.c (rest_of_handle_gcse): Adjust call to df_finish_pass.
+	* loop-iv.c (iv_analysis_done): Schedule verification after the pass.
+
+	* config/sh/sh.c (sh_output_mi_thunk): Remove dead code.
+	* config/ia64/ia64.c (ia64_reorg): Adjust call to df_finish_pass.
+	* config/bfin/bfin.c (bfin_reorg): Adjust call to df_finish_pass.
+
+2007-08-05  Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Revital Eres <eres@il.ibm.com>
+
+	* doc/invoke.texi (-fmodulo-sched-allow-regmoves): Document new
+	flag.
+	* ddg.c (create_ddg_dependence): Rename to...
+	(create_ddg_dep_from_intra_loop_link): This.  Do not check
+	for interloop edges.  Do not create anti dependence edge when
+	a true dependence edge exists in the opposite direction and
+	-fmodulo-sched-allow-regmoves is set.
+	(build_intra_loop_deps): Call create_ddg_dep_from_intra_loop_link.
+	(add_cross_iteration_register_deps): Create anti dependence edge
+	when -fno-modulo-sched-allow-regmoves is set.
+	* common.opt (-fmodulo-sched-allow-regmoves): New flag.
+
+2007-08-04  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/arm/arm.md (movsi): Add braces.
+
+2007-08-04  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32780
+	* fold-const.c (fold_binary <case MINUS_EXPR>): Fix the type of
+	operands for the folding of "A - (A & B)" into "~B & A"; cast them
+	to type.
+
+2007-08-03  Zdenek Dvorak  <ook@ucw.cz>
+
+	* tree-ssa-threadupdate.c (thread_through_all_blocks): Use loops'
+	state accessor functions.
+	* cfgloopmanip.c (remove_path, create_preheaders,
+	force_single_succ_latches, fix_loop_structure): Ditto.
+	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+	tree_duplicate_loop_to_header_edge): Ditto.
+	* cfgloopanal.c (mark_irreducible_loops): Ditto.
+	* loop-init.c (loop_optimizer_init, loop_optimizer_finalize):
+	Ditto.
+	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures,
+	cleanup_tree_cfg): Ditto.
+	* tree-cfg.c (tree_merge_blocks): Ditto.
+	* cfgloop.c (rescan_loop_exit, record_loop_exits,
+	release_recorded_exits, get_loop_exit_edges, verify_loop_structure,
+	loop_preheader_edge, single_exit): Ditto.
+	(flow_loops_find): Do not clear loops->state.
+	* cfgloop.h (loops_state_satisfies_p, loops_state_set,
+	loops_state_clear): New functions.
+
+2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32399
+	* tree-ssa-address.c (add_to_parts): Use POINTER_PLUS_EXPR
+	when adding to the base and convert ELT to sizetype instead of type.
+
+2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32304
+	* ipa-reference.c (has_proper_scope_for_analysis): Return false when
+	the decl's type has TYPE_NEEDS_CONSTRUCTING set.
+
+2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/32935
+	* fold-convert.c (fold_negate_expr <NOP_EXPR>): Convert back to the
+	 correct type the negate expression.
+
+2007-08-03  Jan Hubicka  <jh@suse.cz>
+
+	* config/i386/i386.c (setup_incoming_varargs_64): Tolerate 64bit
+	preferred stack boundary.
+
+2007-08-03  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (struct processor_cost): Change
+	l1_cache_lines to l1_cache_size.  Add l2_cache_size.
+	(*_cost): Convert l1 cache information to kilobytes.  Add l2 cache
+	information.
+	(rios1_costs, rios2_cost): Correct cache line size.
+	(rs6000_override_options): Set l2-cache-size parameter.
+
+2007-08-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+	    Diego Novillo  <dnovillo@google.com>
+
+	PR 31521
+	* tree-vrp.c (simplify_div_or_mod_using_ranges): Also simplify
+	if the range includes 0.
+
+2007-08-03  Ben Elliston  <bje@au.ibm.com>
+
+	* config/spu/spu.md (dftsv, dftsv_celledp): Attach the appropriate
+	mode to unspec expressions to silence a warning from the generator
+	programs.
+	
+2007-08-02  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/constraints.md ("U"): Make constraint vector only.
+
+2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>
+
+	PR middle-end/25446
+	* c-objc-common.c (c_cannot_inline_tree_fn): Check for an
+	always_inline attribute on the function decl.
+
+2007-08-02  Nathan Froyd  <froydnj@codesourcery.com>
+
+	PR middle-end/25445
+	* varasm.c (default_binds_local_p_1): Consult flag_whole_program
+	if we are compiling with -fPIC.
+
+2007-08-02  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* longlong.h [__mips__] (count_leading_zeros, COUNT_LEADING_ZEROS_0):
+	Define for MIPS32 and MIPS64.
+
+2007-08-02  Nick Clifton  <nickc@redhat.com>
+
+	* config/host-hpux.c: Change copyright header to refer to version
+	3 of the GNU General Public License and to point readers at the
+	COPYING3 file and the FSF's license web page.
+	* config/alpha/predicates.md, config/alpha/vms-ld.c,
+	config/alpha/linux.h, config/alpha/alpha.opt,
+	config/alpha/linux-elf.h, config/alpha/vms.h, config/alpha/elf.h,
+	config/alpha/vms-unwind.h, config/alpha/ev4.md,
+	config/alpha/ev6.md, config/alpha/alpha.c, config/alpha/vms-cc.c,
+	config/alpha/alpha.h, config/alpha/sync.md,
+	config/alpha/openbsd.h, config/alpha/alpha.md,
+	config/alpha/alpha-modes.def, config/alpha/ev5.md,
+	config/alpha/alpha-protos.h, config/alpha/freebsd.h,
+	config/alpha/osf5.h, config/alpha/netbsd.h, config/alpha/vms64.h,
+	config/alpha/constraints.md, config/alpha/osf.h,
+	config/alpha/xm-vms.h, config/alpha/unicosmk.h, config/linux.h,
+	config/frv/predicates.md, config/frv/frv.h, config/frv/linux.h,
+	config/frv/frv.md, config/frv/frv.opt, config/frv/frv-modes.def,
+	config/frv/frv-asm.h, config/frv/frv-protos.h,
+	config/frv/frv-abi.h, config/frv/frv.c, config/s390/tpf.h,
+	config/s390/s390.c, config/s390/predicates.md, config/s390/s390.h,
+	config/s390/linux.h, config/s390/tpf.md, config/s390/tpf.opt,
+	config/s390/2064.md, config/s390/2084.md, config/s390/s390.md,
+	config/s390/s390.opt, config/s390/s390-modes.def,
+	config/s390/fixdfdi.h, config/s390/constraints.md,
+	config/s390/s390-protos.h, config/s390/s390x.h, config/elfos.h,
+	config/dbxcoff.h, config/m32c/predicates.md, config/m32c/cond.md,
+	config/m32c/m32c.c, config/m32c/minmax.md, config/m32c/blkmov.md,
+	config/m32c/m32c-pragma.c, config/m32c/m32c.h,
+	config/m32c/prologue.md, config/m32c/m32c.abi,
+	config/m32c/muldiv.md, config/m32c/bitops.md, config/m32c/mov.md,
+	config/m32c/addsub.md, config/m32c/m32c.md, config/m32c/m32c.opt,
+	config/m32c/t-m32c, config/m32c/m32c-modes.def,
+	config/m32c/jump.md, config/m32c/shift.md,
+	config/m32c/m32c-protos.h, config/libgloss.h,
+	config/spu/spu-protos.h, config/spu/predicates.md,
+	config/spu/spu-builtins.h, config/spu/spu.c,
+	config/spu/spu-builtins.def, config/spu/spu-builtins.md,
+	config/spu/spu.h, config/spu/spu-elf.h, config/spu/constraints.md,
+	config/spu/spu.md, config/spu/spu-c.c, config/spu/spu.opt,
+	config/spu/spu-modes.def, config/spu/t-spu-elf, config/interix.h,
+	config/sparc/hypersparc.md, config/sparc/predicates.md,
+	config/sparc/linux.h, config/sparc/sp64-elf.h,
+	config/sparc/supersparc.md, config/sparc/cypress.md,
+	config/sparc/openbsd1-64.h, config/sparc/openbsd64.h,
+	config/sparc/niagara.md, config/sparc/sparc.md,
+	config/sparc/long-double-switch.opt, config/sparc/ultra3.md,
+	config/sparc/sparc.opt, config/sparc/sync.md,
+	config/sparc/sp-elf.h, config/sparc/sparc-protos.h,
+	config/sparc/ultra1_2.md, config/sparc/biarch64.h,
+	config/sparc/sparc.c, config/sparc/little-endian.opt,
+	config/sparc/sysv4-only.h, config/sparc/sparc.h,
+	config/sparc/linux64.h, config/sparc/freebsd.h,
+	config/sparc/sol2.h, config/sparc/rtemself.h,
+	config/sparc/netbsd-elf.h, config/sparc/vxworks.h,
+	config/sparc/sparc-modes.def, config/sparc/sparclet.md,
+	config/sparc/sysv4.h, config/vx-common.h, config/netbsd-aout.h,
+	config/flat.h, config/m32r/m32r.md, config/m32r/predicates.md,
+	config/m32r/little.h, config/m32r/m32r.c, config/m32r/m32r.opt,
+	config/m32r/linux.h, config/m32r/constraints.md,
+	config/m32r/m32r.h, config/m32r/m32r-protos.h, config/vxworks.opt,
+	config/darwin-c.c, config/darwin.opt, config/i386/i386.h,
+	config/i386/cygming.h, config/i386/linux.h, config/i386/cygwin.h,
+	config/i386/i386.md, config/i386/netware-crt0.c,
+	config/i386/sco5.h, config/i386/mmx.md, config/i386/vx-common.h,
+	config/i386/kaos-i386.h, config/i386/winnt-stubs.c,
+	config/i386/netbsd64.h, config/i386/djgpp.h, config/i386/gas.h,
+	config/i386/sol2.h, config/i386/constraints.md,
+	config/i386/netware-libgcc.c, config/i386/sysv5.h,
+	config/i386/predicates.md, config/i386/geode.md,
+	config/i386/x86-64.h, config/i386/kfreebsd-gnu.h,
+	config/i386/freebsd64.h, config/i386/vxworksae.h,
+	config/i386/pentium.md, config/i386/lynx.h, config/i386/i386elf.h,
+	config/i386/rtemself.h, config/i386/netbsd-elf.h,
+	config/i386/ppro.md, config/i386/k6.md, config/i386/netware.c,
+	config/i386/netware.h, config/i386/i386-modes.def,
+	config/i386/sysv4-cpp.h, config/i386/i386-interix.h,
+	config/i386/cygwin1.c, config/i386/djgpp.opt, config/i386/uwin.h,
+	config/i386/unix.h, config/i386/ptx4-i.h, config/i386/xm-djgpp.h,
+	config/i386/att.h, config/i386/winnt.c, config/i386/beos-elf.h,
+	config/i386/sol2-10.h, config/i386/darwin64.h, config/i386/sse.md,
+	config/i386/i386.opt, config/i386/bsd.h, config/i386/cygming.opt,
+	config/i386/xm-mingw32.h, config/i386/linux64.h,
+	config/i386/openbsdelf.h, config/i386/xm-cygwin.h,
+	config/i386/sco5.opt, config/i386/darwin.h, config/i386/mingw32.h,
+	config/i386/winnt-cxx.c, config/i386/i386-interix3.h,
+	config/i386/nwld.c, config/i386/nwld.h, config/i386/host-cygwin.c,
+	config/i386/cygwin2.c, config/i386/i386-protos.h,
+	config/i386/sync.md, config/i386/openbsd.h,
+	config/i386/host-mingw32.c, config/i386/i386-aout.h,
+	config/i386/nto.h, config/i386/biarch64.h,
+	config/i386/i386-coff.h, config/i386/freebsd.h,
+	config/i386/driver-i386.c, config/i386/knetbsd-gnu.h,
+	config/i386/host-i386-darwin.c, config/i386/vxworks.h,
+	config/i386/crtdll.h, config/i386/i386.c, config/i386/sysv4.h,
+	config/darwin-protos.h, config/linux.opt, config/sol2.c,
+	config/sol2.h, config/sh/symbian.c, config/sh/sh-protos.h,
+	config/sh/linux.h, config/sh/elf.h, config/sh/superh.h,
+	config/sh/sh4.md, config/sh/coff.h, config/sh/newlib.h,
+	config/sh/embed-elf.h, config/sh/symbian-pre.h, config/sh/rtems.h,
+	config/sh/kaos-sh.h, config/sh/sh4a.md, config/sh/constraints.md,
+	config/sh/sh64.h, config/sh/sh.opt, config/sh/symbian-post.h,
+	config/sh/sh-c.c, config/sh/predicates.md, config/sh/sh.c,
+	config/sh/sh.h, config/sh/shmedia.md, config/sh/sh-modes.def,
+	config/sh/little.h, config/sh/sh1.md, config/sh/sh4-300.md,
+	config/sh/superh64.h, config/sh/rtemself.h,
+	config/sh/netbsd-elf.h, config/sh/sh.md, config/sh/vxworks.h,
+	config/usegas.h, config/svr3.h, config/pdp11/pdp11-protos.h,
+	config/pdp11/2bsd.h, config/pdp11/pdp11.md, config/pdp11/pdp11.c,
+	config/pdp11/pdp11.opt, config/pdp11/pdp11-modes.def,
+	config/pdp11/pdp11.h, config/avr/rtems.h, config/avr/avr-protos.h,
+	config/avr/predicates.md, config/avr/constraints.md,
+	config/avr/avr.md, config/avr/avr.c, config/avr/avr.opt,
+	config/avr/avr.h, config/sol2-protos.h, config/dbxelf.h,
+	config/lynx.opt, config/crx/crx.h, config/crx/crx-protos.h,
+	config/crx/crx.md, config/crx/crx.c, config/crx/crx.opt,
+	config/c4x/c4x-c.c, config/c4x/c4x.c, config/c4x/c4x.opt,
+	config/c4x/c4x-modes.def, config/c4x/rtems.h,
+	config/c4x/predicates.md, config/c4x/c4x.h,
+	config/c4x/c4x-protos.h, config/c4x/c4x.md, config/kfreebsd-gnu.h,
+	config/xtensa/predicates.md, config/xtensa/xtensa.c,
+	config/xtensa/linux.h, config/xtensa/xtensa.h,
+	config/xtensa/elf.h, config/xtensa/xtensa.md,
+	config/xtensa/xtensa.opt, config/xtensa/constraints.md,
+	config/xtensa/xtensa-protos.h, config/dbx.h,
+	config/stormy16/predicates.md, config/stormy16/stormy16.md,
+	config/stormy16/stormy16.c, config/stormy16/stormy16.opt,
+	config/stormy16/stormy16.h, config/stormy16/stormy16-protos.h,
+	config/host-solaris.c, config/fr30/fr30.h,
+	config/fr30/predicates.md, config/fr30/fr30-protos.h,
+	config/fr30/fr30.md, config/fr30/fr30.c, config/fr30/fr30.opt,
+	config/vxworksae.h, config/sol2-c.c, config/lynx.h,
+	config/m68hc11/m68hc11-protos.h, config/m68hc11/predicates.md,
+	config/m68hc11/m68hc11.md, config/m68hc11/m68hc11.c,
+	config/m68hc11/m68hc11.opt, config/m68hc11/m68hc11.h,
+	config/m68hc11/m68hc12.h, config/openbsd-oldgas.h,
+	config/host-linux.c, config/interix3.h, config/cris/cris.c,
+	config/cris/predicates.md, config/cris/linux.h,
+	config/cris/cris.h, config/cris/aout.h, config/cris/cris.md,
+	config/cris/linux.opt, config/cris/cris.opt, config/cris/elf.opt,
+	config/cris/aout.opt, config/cris/cris-protos.h,
+	config/vxworks-dummy.h, config/netbsd.h, config/netbsd-elf.h,
+	config/iq2000/iq2000.h, config/iq2000/predicates.md,
+	config/iq2000/iq2000-protos.h, config/iq2000/iq2000.md,
+	config/iq2000/iq2000.c, config/iq2000/iq2000.opt,
+	config/host-darwin.c, config/mt/mt.md, config/mt/mt.c,
+	config/mt/mt.opt, config/mt/t-mt, config/mt/mt.h,
+	config/mt/mt-protos.h, config/svr4.h, config/host-darwin.h,
+	config/chorus.h, config/mn10300/mn10300.c,
+	config/mn10300/mn10300.opt, config/mn10300/predicates.md,
+	config/mn10300/mn10300.h, config/mn10300/linux.h,
+	config/mn10300/constraints.md, config/mn10300/mn10300-protos.h,
+	config/mn10300/mn10300.md, config/ia64/predicates.md,
+	config/ia64/itanium1.md, config/ia64/unwind-ia64.h,
+	config/ia64/ia64-c.c, config/ia64/sync.md, config/ia64/ia64.c,
+	config/ia64/itanium2.md, config/ia64/ia64.h, config/ia64/vect.md,
+	config/ia64/freebsd.h, config/ia64/ia64.md,
+	config/ia64/ia64-modes.def, config/ia64/constraints.md,
+	config/ia64/hpux.h, config/ia64/ia64-protos.h, config/windiss.h,
+	config/gofast.h, config/rtems.h, config/sol2-10.h,
+	config/m68k/predicates.md, config/m68k/m68k.md,
+	config/m68k/linux.h, config/m68k/m68k-modes.def,
+	config/m68k/print-sysroot-suffix.sh, config/m68k/m68k-protos.h,
+	config/m68k/coff.h, config/m68k/m68k-none.h, config/m68k/ieee.opt,
+	config/m68k/openbsd.h, config/m68k/m68k-aout.h,
+	config/m68k/m68k.opt, config/m68k/m68020-elf.h,
+	config/m68k/m68kelf.h, config/m68k/m68k-devices.def,
+	config/m68k/uclinux-oldabi.h, config/m68k/m68k.c,
+	config/m68k/constraints.md, config/m68k/rtemself.h,
+	config/m68k/netbsd-elf.h, config/m68k/m68k.h,
+	config/m68k/uclinux.h, config/rs6000/power4.md,
+	config/rs6000/host-darwin.c, config/rs6000/6xx.md,
+	config/rs6000/linux.h, config/rs6000/eabi.h,
+	config/rs6000/aix41.opt, config/rs6000/xcoff.h,
+	config/rs6000/secureplt.h, config/rs6000/linuxspe.h,
+	config/rs6000/eabialtivec.h, config/rs6000/8540.md,
+	config/rs6000/darwin8.h, config/rs6000/kaos-ppc.h,
+	config/rs6000/windiss.h, config/rs6000/603.md,
+	config/rs6000/aix41.h, config/rs6000/cell.md,
+	config/rs6000/mpc.md, config/rs6000/aix43.h, config/rs6000/beos.h,
+	config/rs6000/gnu.h, config/rs6000/rtems.h, config/rs6000/aix.opt,
+	config/rs6000/darwin.md, config/rs6000/darwin64.h,
+	config/rs6000/default64.h, config/rs6000/7xx.md,
+	config/rs6000/darwin.opt, config/rs6000/spe.md,
+	config/rs6000/rs6000.opt, config/rs6000/rs6000-c.c,
+	config/rs6000/rios2.md, config/rs6000/linuxaltivec.h,
+	config/rs6000/7450.md, config/rs6000/linux64.h,
+	config/rs6000/constraints.md, config/rs6000/440.md,
+	config/rs6000/darwin.h, config/rs6000/host-ppc64-darwin.c,
+	config/rs6000/rs6000.c, config/rs6000/aix52.h,
+	config/rs6000/rs6000.h, config/rs6000/power6.md,
+	config/rs6000/predicates.md, config/rs6000/altivec.md,
+	config/rs6000/aix64.opt, config/rs6000/rios1.md,
+	config/rs6000/rs6000-modes.def, config/rs6000/rs64.md,
+	config/rs6000/eabisim.h, config/rs6000/sysv4le.h,
+	config/rs6000/darwin7.h, config/rs6000/dfp.md,
+	config/rs6000/linux64.opt, config/rs6000/sync.md,
+	config/rs6000/vxworksae.h, config/rs6000/power5.md,
+	config/rs6000/lynx.h, config/rs6000/biarch64.h,
+	config/rs6000/rs6000.md, config/rs6000/sysv4.opt,
+	config/rs6000/eabispe.h, config/rs6000/e500.h,
+	config/rs6000/freebsd.h, config/rs6000/rs6000-protos.h,
+	config/rs6000/netbsd.h, config/rs6000/e500-double.h,
+	config/rs6000/aix.h, config/rs6000/vxworks.h,
+	config/rs6000/40x.md, config/rs6000/aix51.h,
+	config/rs6000/sysv4.h, config/arc/arc-protos.h, config/arc/arc.md,
+	config/arc/arc.c, config/arc/arc.opt, config/arc/arc-modes.def,
+	config/arc/arc.h, config/mcore/mcore-elf.h,
+	config/mcore/mcore-protos.h, config/mcore/predicates.md,
+	config/mcore/mcore.md, config/mcore/mcore.c,
+	config/mcore/mcore.opt, config/mcore/mcore.h,
+	config/mcore/mcore-pe.h, config/darwin.c, config/freebsd-nthr.h,
+	config/score/predicates.md, config/score/score-version.h,
+	config/score/score-protos.h, config/score/misc.md,
+	config/score/elf.h, config/score/score.c, config/score/mac.md,
+	config/score/score7.md, config/score/score.h,
+	config/score/score-conv.h, config/score/score-mdaux.c,
+	config/score/score.md, config/score/score.opt,
+	config/score/score-modes.def, config/score/score-mdaux.h,
+	config/score/mul-div.S, config/arm/uclinux-elf.h,
+	config/arm/semi.h, config/arm/ecos-elf.h, config/arm/arm1020e.md,
+	config/arm/symbian.h, config/arm/linux-elf.h,
+	config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
+	config/arm/elf.h, config/arm/aout.h, config/arm/arm.c,
+	config/arm/thumb2.md, config/arm/vec-common.md, config/arm/coff.h,
+	config/arm/strongarm-pe.h, config/arm/arm.h,
+	config/arm/cortex-a8-neon.md, config/arm/semiaof.h,
+	config/arm/cortex-a8.md, config/arm/uclinux-eabi.h,
+	config/arm/arm-modes.def, config/arm/linux-eabi.h,
+	config/arm/rtems-elf.h, config/arm/neon-schedgen.ml,
+	config/arm/arm-cores.def, config/arm/arm-protos.h,
+	config/arm/vfp.md, config/arm/aof.h, config/arm/linux-gas.h,
+	config/arm/wince-pe.h, config/arm/neon.md,
+	config/arm/constraints.md, config/arm/neon.ml,
+	config/arm/xscale-elf.h, config/arm/strongarm-coff.h,
+	config/arm/arm.opt, config/arm/arm926ejs.md,
+	config/arm/predicates.md, config/arm/iwmmxt.md,
+	config/arm/arm_neon.h, config/arm/unknown-elf.h,
+	config/arm/kaos-arm.h, config/arm/bpabi.h, config/arm/pe.opt,
+	config/arm/neon-testgen.ml, config/arm/arm.md,
+	config/arm/xscale-coff.h, config/arm/pe.c,
+	config/arm/arm-generic.md, config/arm/pe.h,
+	config/arm/kaos-strongarm.h, config/arm/freebsd.h,
+	config/arm/neon-docgen.ml, config/arm/netbsd.h, config/arm/fpa.md,
+	config/arm/strongarm-elf.h, config/arm/cirrus.md,
+	config/arm/netbsd-elf.h, config/arm/vxworks.h,
+	config/arm/neon-gen.ml, config/kaos.h, config/darwin-driver.c,
+	config/pa/predicates.md, config/pa/pa64-hpux.h,
+	config/pa/pa-hpux.opt, config/pa/som.h, config/pa/pa-hpux1010.opt,
+	config/pa/pa-hpux1111.opt, config/pa/pa-pro-end.h,
+	config/pa/elf.h, config/pa/fptr.c, config/pa/pa64-linux.h,
+	config/pa/pa.md, config/pa/pa.opt, config/pa/pa-hpux.h,
+	config/pa/pa-hpux10.h, config/pa/pa-hpux11.h,
+	config/pa/pa-hpux1010.h, config/pa/pa-protos.h,
+	config/pa/pa-osf.h, config/pa/pa-hpux1111.h, config/pa/pa-64.h,
+	config/pa/milli64.S, config/pa/pa.c, config/pa/pa-linux.h,
+	config/pa/pa.h, config/pa/pa32-linux.h, config/pa/pa64-hpux.opt,
+	config/pa/pa64-regs.h, config/pa/pa-modes.def,
+	config/pa/constraints.md, config/darwin9.h, config/mips/4100.md,
+	config/mips/linux.h, config/mips/elfoabi.h, config/mips/elf.h,
+	config/mips/sdb.h, config/mips/windiss.h, config/mips/rtems.h,
+	config/mips/3000.md, config/mips/iris5.h, config/mips/5000.md,
+	config/mips/7000.md, config/mips/9000.md, config/mips/4600.md,
+	config/mips/linux64.h, config/mips/elforion.h,
+	config/mips/constraints.md, config/mips/generic.md,
+	config/mips/predicates.md, config/mips/4300.md,
+	config/mips/mips-ps-3d.md, config/mips/iris.h, config/mips/24k.md,
+	config/mips/mips.md, config/mips/mips.opt, config/mips/4k.md,
+	config/mips/5k.md, config/mips/vr4120-div.S,
+	config/mips/openbsd.h, config/mips/iris6.h, config/mips/4000.md,
+	config/mips/mips-protos.h, config/mips/6000.md,
+	config/mips/mips.c, config/mips/mips.h, config/mips/r3900.h,
+	config/mips/74k.md, config/mips/netbsd.h, config/mips/vxworks.h,
+	config/mips/mips-modes.def, config/mips/vr.h,
+	config/soft-fp/t-softfp, config/openbsd.h, config/ptx4.h,
+	config/freebsd-spec.h, config/vax/vax.c, config/vax/openbsd.h,
+	config/vax/vax.h, config/vax/elf.h, config/vax/vax.md,
+	config/vax/bsd.h, config/vax/vax.opt, config/vax/vax-modes.def,
+	config/vax/openbsd1.h, config/vax/netbsd.h,
+	config/vax/vax-protos.h, config/vax/netbsd-elf.h,
+	config/vax/vaxv.h, config/vax/ultrix.h, config/freebsd.h,
+	config/h8300/rtems.h, config/h8300/predicates.md,
+	config/h8300/h8300.c, config/h8300/h8300.h, config/h8300/elf.h,
+	config/h8300/h8300.md, config/h8300/h8300.opt,
+	config/h8300/coff.h, config/h8300/h8300-protos.h,
+	config/v850/v850.md, config/v850/predicates.md,
+	config/v850/v850-c.c, config/v850/v850.c, config/v850/v850.opt,
+	config/v850/v850.h, config/v850/v850-protos.h, config/vxworks.c,
+	config/knetbsd-gnu.h, config/sol2-6.h, config/vxworks.h,
+	config/mmix/mmix.h, config/mmix/predicates.md,
+	config/mmix/mmix-protos.h, config/mmix/mmix.md,
+	config/mmix/mmix.c, config/mmix/mmix.opt,
+	config/mmix/mmix-modes.def, config/bfin/bfin.opt,
+	config/bfin/rtems.h, config/bfin/bfin-modes.def,
+	config/bfin/predicates.md, config/bfin/bfin-protos.h,
+	config/bfin/bfin.c, config/bfin/bfin.h, config/bfin/bfin.md:
+	Likewise.
+
+2007-08-02  Richard Sandiford  <richard@codesourcery.com>
+
+	* emit-rtl.c (reset_used_decls): Rename to...
+	(set_used_decls): ...this.  Set the used flag rather than clearing it.
+	(unshare_all_rtl_again): Update accordingly.  Set flags on argument
+	DECL_RTLs rather than resetting them.
+
+2007-08-02  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md ("*xordi3_cconly"): Change xr to xg.
+
+2007-08-01  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* reload.c (find_reloads_address_part): Pass correct MEMREFLOC
+	argument to find_reloads_address.
+
+2007-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	PR tree-optimization/32919
+	* tree-ssa-sccvn.c (visit_phi): Do not visit abnormal PHIs.
+	* tree-ssa-coalesce.c (ssa_conflicts_dump): New.
+	(coalesce_ssa_name): Call it.
+
+2007-08-01  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips16.S (__mips16_unordsf2, __mips16_floatunsisf): New.
+	(__mips16_unorddf2, __mips16_floatunsidf): New.
+	* config/mips/mips.c (mips_init_libfuncs): Add optab entries for
+	above functions.
+	* config/mips/t-libgcc-mips16 (LIB1ASMFUNCS): Add new functions.
+
+2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
+
+	* tree-pretty-print.c (dump_generic_node): Dump OMP_SECTIONS_SWITCH.
+	Display new operands of OMP_SECTIONS and OMP_CONTINUE.
+	* tree.h (OMP_SECTIONS_CONTROL): New macro.
+	(OMP_DIRECTIVE_P): Add OMP_SECTIONS_SWITCH.
+	* omp-low.c (get_ws_args_for, determine_parallel_type,
+	expand_omp_for_generic, expand_omp_for_static_nochunk,
+	expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
+	Work with more precise CFG.
+	(build_omp_regions_1): Handle OMP_SECTIONS_SWITCH.
+	(lower_omp_sections): Emit OMP_SECTIONS_SWITCH.  Add arguments to
+	OMP_CONTINUE.
+	* tree-gimple.c (is_gimple_stmt): Handle OMP_SECTIONS_SWITCH.
+	* gimple-low.c (lower_stmt): Ditto.
+	* tree-inline.c (estimate_num_insns_1): Ditto.
+	* tree.def (OMP_SECTIONS, OMP_CONTINUE): Added new operands.
+	(OMP_SECTIONS_SWITCH): New.
+	* tree-cfgcleanup.c (cleanup_omp_return): New.
+	(cleanup_tree_cfg_bb): Call cleanup_omp_return.
+	* tree-cfg.c (make_edges): Create back edges for OMP_CONTINUE
+	and exit edge for OMP_FOR.  Handle OMP_SECTIONS_SWITCH.
+	(tree_redirect_edge_and_branch): Handle omp constructs.
+
+	* fortran/trans-openmp.c (gfc_trans_omp_sections): Build OMP_SECTIONS
+	with three arguments.
+
+2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
+
+	* tree-cfg.c (tree_merge_blocks): Preserve loop exit phi nodes only
+	in loop closed ssa.
+
+2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
+
+	* tree-ssa-threadupdate.c (thread_through_all_blocks): Record that
+	the loop structures may need fixing.
+	* tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
+	New functions.
+	(cleanup_tree_cfg_loop): Removed.
+	(cleanup_tree_cfg): If loops need fixing, call repair_loop_structures.
+	* tree-predcom.c (tree_predictive_commoning): Return TODO_cleanup_cfg
+	instead of running cleanup_tree_cfg_loop.
+	* cfgloop.h (LOOPS_NEED_FIXUP): New constant.
+	* tree-flow.h (cleanup_tree_cfg_loop): Declaration removed.
+	(tree_predictive_commoning): Declaration changed.
+	* passes.c (execute_function_todo): Do not use cleanup_tree_cfg_loop.
+
+2007-08-01  Zdenek Dvorak  <ook@ucw.cz>
+
+	* doc/invoke.texi (l1-cache-size): Update documentation.
+	(l2-cache-size): Document.
+	* params.h (L2_CACHE_SIZE): New macro.
+	* tree-ssa-loop-prefetch.c (L1_CACHE_SIZE_BYTES): Reflect
+	that L1_CACHE_SIZE is in kB now.
+	(L2_CACHE_SIZE_BYTES): New macro.
+	(tree_ssa_prefetch_arrays): Show size in kB.
+	* config/i386/i386.h (struct processor_costs): Add l1_cache_size
+	and l2_cache_size fields.
+	* config/i386/driver-i386.c (describe_cache): Detect cache size
+	in kB.
+	* config/i386/i386.c (size_cost, i386_cost, i486_cost,pentium_cost,
+	pentiumpro_cost, geode_cost, k6_cost, athlon_cost, k8_cost,
+	amdfam10_cost, pentium4_cost, nocona_cost, core2_cost,
+	generic64_cost, generic32_cost): Add l1_cache_size and l2_cache_size.
+	(override_options): Set l1-cache-size and l2-cache-size to default
+	values if not specified otherwise.
+	* params.def (PARAM_L1_CACHE_SIZE): Change to set in kB.
+	(PARAM_L2_CACHE_SIZE): New.
+
+2007-08-01  Nigel Stephens  <nigel@mips.com>
+	    David Ung  <davidu@mips.com>
+	    Thiemo Seufer  <ths@mips.com>
+	    Chris Dearman  <chris@mips.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (mips*-sde-elf*): New stanza.
+	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
+	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
+	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*, mips-*-elf*)
+	(mipsel-*-elf*, mips64-*-elf*, mips64el-*-elf*, mips64orion-*-elf*)
+	(mips64orionel-*-elf*, mips*-*-rtems*, mips-wrs-windiss)
+	(mipstx39-*-elf*, mipstx39el-*-elf*): Add mips/t-libgcc-mips16
+	to tmake_file.
+	* config/mips/sde.h: New file.
+	* config/mips/t-libgcc-mips16: Likewise.
+	* config/mips/t-sde: Likewise.
+	* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove settings
+	of _ABIN32, _ABI64, _ABIO32, _MIPS_SIM, _MIPS_SZLONG, _MIPS_SZPTR,
+	_MIPS_FPSET and _MIPS_SZINT.
+	* config/mips/iris.h (TARGET_OS_CPP_BUILTINS): Likewise.
+	* config/mips/elfoabi.h (DRIVER_SELF_SPECS): Remove separate
+	insertion of a default -mips option.  Use MIPS_32BIT_OPTION_SPEC.
+	* config/mips/t-isa3264 (LIB1ASMSRC, LIB1ASMFUNCS): Delete.
+	* config/mips/t-r3900 (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
+	* config/mips/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Likewise.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUITINS): Define _ABIO32,
+	_ABIN32, _ABI64, _ABIO64, _MIPS_SIM, _MIPS_SZINT, _MIPS_SZLONG,
+	_MIPS_SZPTR and _MIPS_FPSET.
+	(MIPS_ISA_LEVEL_SPEC): Inject the default -mips option if no
+	architecture is specified.
+	(MIPS_32BIT_OPTION_SPEC): New macro.
+
+2007-07-31  Dan Hipschman  <dsh@google.com>
+
+	* gcc.c (end_going_arg): New function.
+	(do_spec_2): Use it.
+	(do_spec_1): Use it.
+
+2007-07-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ddg.c (add_cross_iteration_register_deps): Declare bb_info
+	only if ENABLE_CHECKING is defined.
+
+2007-07-31  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* df.h (DF_RU, DF_RU_BB_INFO, df_ru_bb_info, df_ru,
+	df_ru_add_problem, df_ru_get_bb_info): Removed.
+	(DF_RD, DF_UREC, DF_CHAIN, DF_NOTE): Renumbered.
+	* df-problems.c (df_ru_problem_data, df_ru_set_bb_info,
+	df_ru_free_bb_info, df_ru_alloc,
+	df_ru_bb_local_compute_process_def,
+	df_ru_bb_local_compute_process_use, df_ru_bb_local_compute,
+	df_ru_local_compute, df_ru_init_solution, df_ru_confluence_n,
+	df_ru_transfer_function, df_ru_free, df_ru_start_dump,
+	df_ru_top_dump, df_ru_bottom_dump, df_problem problem_RU,
+	df_ru_add_problem): Removed.
+
+2007-07-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/32847
+	* pa.md (casesi32): Use match_scratch.  Revise insn condition.
+	(casesi32p, casesi64p): Likewise.
+	(casesi): Adjust for above.
+
+2007-07-31  Richard Sandiford  <richard@codesourcery.com>
+
+	* mode-switching.c (create_pre_exit): Don't search past calls.
+
+2007-07-31  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* config/mips/mips.h (ISA_HAS_SYNCI): Add !TARGET_MIPS16 test.
+
+2007-07-31  Revital Eres  <eres@il.ibm.com>
+
+	* ddg.c (add_deps_for_def): Rename to...
+	(add_cross_iteration_register_deps): This.  Change implementation
+	to use only reaching def and def-use chains to construct the
+	inter loop dependencies.
+	(add_deps_for_use): Remove function.
+	(build_inter_loop_deps): Call add_cross_iteration_register_deps
+	function to build the inter loop dependencies.
+	* modulo-sched.c (sms_schedule): Build only
+	reaching def and def-use chains for the propose of the ddg
+	construction.
+
+2007-07-31  Julian Brown  <julian@codesourcery.com>
+
+	* config/arm/neon.md (vec_set<mode>_internal, vec_setv2di_internal):
+	New define_insns. Use correct RTL.
+	(vec_set<mode>): Write as expander.
+
+2007-07-31  Razya Ladelsky  <razya@il.ibm.com>
+
+	* matrix-reorg.c (analyze_matrix_allocation_site): Avoid referring 
+	to an unallocated space.
+
+2007-07-30  Jan Sjodin  <jan.sjodin@amd.com>
+
+	* tree-data-ref.c
+	(split_constant_offset): Enable split_constant_offset to extract
+	constants from other statements.
+	* tree-vect-transform.c
+	(vect_create_addr_base_for_vector_ref): Generate data_ref_base
+	to a temp var. Force base_offset to be simple.
+
+2007-07-30  Seongbae Park <seongbae.park@gmail.com>
+
+	* df-scan.c (df_scan_verify): Remove artificial limit on
+	the number of blocks for verification.
+	* df-problems.c (df_lr_bb_local_compute, df_simulate_find_defs,
+	df_simulate_defs): Avoid unnecessary insn checking for defs.
+
+2007-07-29  Mark Mitchell  <mark@codesourcery.com>
+
+	* config/m68k/lb1sf68.asm (FUNC): New macro.
+	(__mulsi3): Use it.
+	(__udivsi3): Likewise.
+	(__divsi3): Likewise.
+	(__umodsi3): Likewise.
+	(__modsi3): Likewise.
+	(__subdf3): Likewise.
+	(__adddf3): Likewise.
+	(__muldf3): Likewise.
+	(__divdf3): Likewise.
+	(__negdf2): Likewise.
+	(__cmpdf2): Likewise.
+	(__subsf3): Likewise.
+	(__addsf3): Likewise.
+	(__mulsf3): Likewise.
+	(__divsf3): Likewise.
+	(__negsf2): Likewise.
+	(__cmpsf2): Likewise.
+	(__eqdf2): Likewise.
+	(__nedf2): Likewise.
+	(__gtdf2): Likewise.
+	(__gedf2): Likewise.
+	(__ltdf2): Likewise.
+	(__ledf2): Likewise.
+	(__eqsf2): Likewise.
+	(__nesf2): Likewise.
+	(__gtsf2): Likewise.
+	(__gesf2): Likewise.
+	(__ltsf2): Likewise.
+	(__lesf2): Likewise.
+
+2007-07-30  Ollie Wild  <aaw@google.com>
+
+	* c-ppoutput.c (print_lines_directives_only): New function.
+	(scan_translation_unit_directives_only): New function.
+	(preprocess_file): Add call to scan_translation_unit_directives_only.
+	* c-opts.c (c_common_handle_option): Add OPT_fdirectives_only.
+	(sanitize_cpp_opts): Add default flag_dump_macros setting for
+	-fdirectives-only.  Add errors for -fdirectives-only conflict with
+	-Wunused-macros and -traditional.
+	(finish_options): Add builtin macro initialization for
+	-fdirectives-only + -fpreprocessed.
+	* c.opt (fdirectives-only): New.
+	* doc/cppopts.texi (fdirectives-only): New.
+
+2007-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (record_set, memory_modified_1): Constify.
+	* bt-load.c (note_btr_set): Likewise.
+	* caller-save.c (mark_set_regs, add_stored_regs): Likewise.
+	* combine.c (set_nonzero_bits_and_sign_copies,
+	expand_field_assignment, record_dead_and_set_regs_1,
+	use_crosses_set_p, reg_dead_at_p_1, can_combine_p,
+	likely_spilled_retval_1): Likewise.
+	* config/frv/frv.c (frv_registers_update_1, frv_io_check_address,
+	frv_io_handle_set): Likewise.
+	* config/mips/mips.c (mips_sim_record_set,
+	vr4130_true_reg_dependence_p_1): Likewise.
+	* config/mt/mt.c (insn_dependent_p_1): Likewise.
+	* config/s390/s390.c (s390_reg_clobbered_rtx): Likewise.
+	* config/sh/sh.c (flow_dependent_p_1): Likewise.
+	* cselib.c (cselib_invalidate_rtx_note_stores): Likewise.
+	* dce.c (mark_nonreg_stores_1, mark_nonreg_stores_2): Likewise.
+	* ddg.c (mark_mem_store): Likewise.
+	* df-problems.c (df_urec_mark_reg_change): Likewise.
+	* function.c (update_epilogue_consts): Likewise.
+	* gcse.c (record_set_info, record_last_set_info,
+	mems_conflict_for_gcse_p, canon_list_insert, reg_set_info,
+	reg_clear_last_set): Likewise.
+	* global.c (mark_reg_store, mark_reg_clobber, reg_becomes_live):
+	Likewise.
+	* jump.c (reversed_comparison_code_parts): Likewise.
+	* local-alloc.c (validate_equiv_mem_from_store, no_equiv,
+	reg_is_set): Likewise.
+	* loop-iv.c (mark_altered): Likewise.
+	* mode-switching.c (reg_becomes_live): Likewise.
+	* optabs.c (no_conflict_move_test): Likewise.
+	* postreload-gcse.c (record_last_set_info, find_mem_conflicts):
+	Likewise.
+	* postreload.c (reload_combine_note_store, move2add_note_store):
+	Likewise.
+	* regmove.c (flags_set_1): Likewise.
+	* regrename.c (note_sets, kill_clobbered_value, kill_set_value):
+	Likewise.
+	* reload1.c (mark_not_eliminable, forget_old_reloads_1):
+	Likewise. 
+	* resource.c (update_live_status): Likewise.
+	* rtl.h (set_of, note_stores): Likewise.
+	* rtlanal.c (set_of_1, parms_set, struct set_of_data, set_of,
+	note_stores, parms_set): Likewise.
+	* sched-rgn.c (sets_likely_spilled_1): Likewise.
+	* stack-ptr-mod.c (notice_stack_pointer_modification_1):
+	Likewise. 
+	* var-tracking.c (count_stores, add_stores): Likewise.
+
+2007-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* alias.c (mems_in_disjoint_alias_sets_p,
+	fixed_scalar_and_varying_struct_p, aliases_everything_p,
+	nonoverlapping_component_refs_p, nonoverlapping_memrefs_p,
+	write_dependence_p, mems_in_disjoint_alias_sets_p,
+	read_dependence, true_dependence, canon_true_dependence,
+	anti_dependence, output_dependence): Constify.
+	* combine.c (extended_count): Likewise.
+	* cse.c (cse_rtx_varies_p, hash_rtx, exp_equiv_p): Likewise.
+	* cselib.c (get_value_hash, references_value_p,
+	cselib_reg_set_mode, cselib_rtx_varies_p): Likewise.
+	* cselib.h (cselib_reg_set_mode, references_value_p): Likewise.
+	* emit-rtl.c (mem_expr_equal_p, active_insn_p): Likewise.
+	* function.c (contains, prologue_epilogue_contains,
+	sibcall_epilogue_contains): Likewise. 
+	* jump.c (simplejump_p, condjump_p, condjump_in_parallel_p,
+	pc_set, any_uncondjump_p, any_condjump_p, onlyjump_p,
+	only_sets_cc0_p, sets_cc0_p, rtx_renumbered_equal_p, true_regnum,
+	reg_or_subregno): Likewise.
+	* recog.c (asm_noperands): Likewise.
+	* reload1.c (function_invariant_p): Likewise.
+	* rtl.h (mem_expr_equal_p, active_insn_p, rtx_varies_p,
+	rtx_addr_varies_p, asm_noperands, exp_equiv_p, hash_rtx,
+	condjump_p, any_condjump_p, any_uncondjump_p, pc_set,
+	simplejump_p, onlyjump_p, only_sets_cc0_p, sets_cc0_p,
+	true_regnum, reg_or_subregno, condjump_in_parallel_p,
+	extended_count, prologue_epilogue_contains,
+	sibcall_epilogue_contains, function_invariant_p, true_dependence,
+	canon_true_dependence, read_dependence, anti_dependence,
+	output_dependence): Likewise.
+	* rtlanal.c (rtx_varies_p, rtx_addr_varies_p): Likewise.
+
+2007-07-30  Julian Brown  <julian@codesourcery.com>
+
+	* config/arm/neon.md (V_ext): New mode attribute.
+	(neon_vget_lane<mode>): Replace with define_expand.
+	(neon_vget_lane<mode>_sext_internal)
+	(neon_vget_lane<mode>_zext_internal): New define_insns for double
+	and quad precision vectors.
+	(neon_vget_lanedi): Add bounds check. Remove dead comment.
+	* config/arm/neon.ml (get_lane): Make 32-bit get-lane intrinsics
+	have typeless 32-bit result.
+
+2007-07-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32527
+	* tree-affine.h (aff_tree): The type of rest is sizetype for types
+	of pointers.
+	* tree-affine.c (aff_combination_scale): If type is a pointer type,
+	use sizetype for rest.
+	(aff_combination_add_elt): Likewise. Don't specialize pointer types.
+	(aff_combination_convert): Don't convert rest for pointer types.
+
+2007-07-28  Daniel Berlin  <dberlin@dberlin.org>
+
+	* Makefile.in (tree-ssa-alias.o): Add alloc-pool.h
+
+	* tree-ssa-alias.c: Add alloc-pool.h.
+	(init_alias_info): Free alias_bitmap_obstack.
+	(delete_alias_info): Call delete_mem_ref_stats.
+	(get_mem_sym_stats_for): Use alloc_pool.
+	(init_mem_ref_stats): Do not delete mem_ref_stats here.
+	(delete_mem_sym_stats): Removed.
+	
+2007-07-29  Sebastian Pop  <sebpop@gmail.com>
+
+	* tree-data-ref.c (add_multivariate_self_dist): Parametric access
+	functions cannot be represented as classical distance vectors.
+
+2007-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* attribs.c (hash_attr, eq_attr, init_attributes): Constify.
+	* builtins.c (validate_arg, builtin_mathfn_code,
+	validate_arglist): Likewise.
+	* calls.c (call_expr_flags): Likewise.
+	* combine.c (reg_nonzero_bits_for_combine,
+	reg_num_sign_bit_copies_for_combine, get_last_value,
+	reg_truncated_to_mode): Likewise.
+	* emit-rtl.c (subreg_lowpart_p): Likewise.
+	* expr.c (highest_pow2_factor_for_target,
+	categorize_ctor_elements_1, categorize_ctor_elements,
+	count_type_elements, contains_packed_reference,
+	highest_pow2_factor, highest_pow2_factor_for_target): Likewise.
+	* fold-const.c (may_negate_without_overflow_p, int_const_binop,
+	fold_convertible_p, operand_equal_p, tree_swap_operands_p,
+	native_encode_int, native_encode_real, native_encode_complex,
+	native_encode_vector, native_encode_expr, native_interpret_int,
+	native_interpret_real, native_interpret_complex,
+	native_interpret_vector, native_interpret_expr): Likewise.
+	* function.c (use_register_for_decl): Likewise.
+	* gimplify.c (get_name): Likewise.
+	* langhooks-def.h (lhd_return_null_const_tree): New.
+	(LANG_HOOKS_GET_CALLEE_FNDECL): Use it.
+	* langhooks.c (lhd_return_null_const_tree): New.
+	* langhooks.h (lang_get_callee_fndecl): Constify.
+	* output.h (constructor_static_from_elts_p): Likewise.
+	* rtl-factoring.c (gen_symbol_ref_rtx_for_label): Likewise.
+	* rtl.h (nonzero_bits, num_sign_bit_copies, truncated_to_mode,
+	subreg_lowpart_p, noop_move_p, struct rtl_hooks): Likewise.
+	* rtlanal.c (cached_nonzero_bits, nonzero_bits1,
+	cached_num_sign_bit_copies, num_sign_bit_copies1, noop_move_p,
+	nonzero_bits, num_sign_bit_copies, truncated_to_mode): Likewise.
+	* rtlhooks-def.h (reg_nonzero_bits_general,
+	reg_num_sign_bit_copies_general, reg_truncated_to_mode_general):
+	Likewise. 
+	* rtlhooks.c (reg_num_sign_bit_copies_general,
+	reg_nonzero_bits_general, reg_truncated_to_mode_general):
+	Likewise. 
+	* stmt.c (warn_if_unused_value, is_body_block): Likewise.
+	* stor-layout.c (mode_for_size_tree): Likewise.
+	* tree-ssa-loop-im.c (memref_eq): Likewise.
+	* tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): Likewise.
+	* tree.c (contains_placeholder_p, type_list_equal,
+	simple_cst_equal, get_callee_fndecl, operand_equal_for_phi_arg_p):
+	Likewise. 
+	* tree.h (tree_int_cst_sign_bit, may_negate_without_overflow_p,
+	mode_for_size_tree, categorize_ctor_elements, count_type_elements,
+	contains_placeholder_p, contains_packed_reference,
+	get_callee_fndecl, operand_equal_for_phi_arg_p,
+	warn_if_unused_value, is_body_block, native_encode_expr,
+	native_interpret_expr, fold_convertible_p, operand_equal_p,
+	int_const_binop, tree_swap_operands_p, builtin_mathfn_code,
+	validate_arglist, simple_cst_equal, type_list_equal,
+	use_register_for_decl, call_expr_flags, get_name,
+	highest_pow2_factor): Likewise.
+	(const_call_expr_arg_iterator_d,
+	init_const_call_expr_arg_iterator, next_const_call_expr_arg,
+	first_const_call_expr_arg, more_const_call_expr_args_p,
+	FOR_EACH_CONST_CALL_EXPR_ARG): New.
+	* varasm.c (constructor_static_from_elts_p): Constify.
+
+2007-07-28  Kazu Hirata  <kazu@codesourcery.com>
+
+	* cfglayout.c, config/arm/arm.c, config/arm/cortex-a8.md,
+	config/arm/neon-schedgen.ml, config/arm/neon.ml,
+	config/arm/vec-common.md, config/ia64/div.md, cselib.c,
+	df-core.c, df.h, dominance.c, optabs.c, opts.c, reg-stack.c,
+	regstat.c, target.h, tree-ssa-live.c, tree-ssa-pre.c,
+	tree-vect-transform.c, tree.def: Fix comment typos.  Follow
+	spelling conventions.
+	* doc/invoke.texi: Follow spelling conventions.
+
+2007-07-29  Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* modulo-sched.c (sms_schedule): Avoid loops which includes
+	auto-increment instructions.
+
+2007-07-28  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32920
+	* fold-const.c (fold_cond_expr_with_comparison): Convert
+	operand zero of MIN/MAX_EXPR to correct type.
+
+2007-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* calls.c (special_function_p, setjmp_call_p, alloca_call_p,
+	flags_from_decl_or_type): Constify.
+	* gcc.c (do_spec_1): Likewise.
+	* print-tree.c (dump_addr, print_node_brief): Likewise.
+	* tree-cfg.c (stmt_starts_bb_p, is_ctrl_stmt, computed_goto_p,
+	simple_goto_p, tree_can_make_abnormal_goto, stmt_starts_bb_p,
+	tree_purge_all_dead_eh_edges): Likewise.
+	* tree-flow.h (is_ctrl_stmt, computed_goto_p, simple_goto_p,
+	tree_can_make_abnormal_goto, tree_purge_all_dead_eh_edges):
+	Likewise. 
+	* tree.c (expr_location, expr_has_location, expr_locus,
+	expr_filename, expr_lineno, get_inner_array_type,
+	fields_compatible_p): Likewise.
+	* tree.h (get_inner_array_type, fields_compatible_p,
+	expr_location, expr_has_location, expr_locus, expr_filename,
+	expr_lineno, dump_addr, print_node_brief, flags_from_decl_or_type,
+	setjmp_call_p, alloca_call_p): Likewise.
+
+2007-07-28  Daniel Berlin  <dberlin@dberlin.org>
+
+	* timevar.def: Add TV_CALL_CLOBBER, TV_FLOW_SENSITIVE,
+	TV_FLOW_INSENSITIVE.
+
+	* tree-ssa-alias.c (compute_call_clobbered): Push/pop
+	TV_CALL_CLOBBER.
+	(compute_flow_sensitive_aliasing): Ditto for TV_FLOW_SENSITIVE.
+	(compute_flow_insensitive_aliasing): Ditto for
+	TV_FLOW_INSENSITIVE.	
+
+2007-07-27  Jan Hubicka  <jh@suse.cz>
+
+	* config/i386/i386.c (register_move_cost): Remove accidentally
+	comitted #if 0 block.
+
+	* attribs.c: Include hashtab.h
+	(attribute_hash): New.
+	(substring): New structure.
+	(extract_attribute_substring, substring_hash, hash_attr, eq_attr):
+	New function.
+	(init_attributes): Initialize attribute hash.
+	(decl_attributes): Use attribute hash.
+	* Makefile.in (attribs.c): Depend on hashtab.h.
+
+2007-07-27  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/vect.md (vec_initv2si): Remove bad BIG_ENDIAN test.
+
+2007-07-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi (mdsp, mdspr2): Document the __mips_dsp,
+	__mips_dspr2 and __mips_dsp_rev macros.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dsp_rev.
+
+2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>
+	
+	* c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
+
+2007-07-26  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/32749
+	
+	* df-problems.c (df_create_unused_note): Removed do_not_gen parm
+	and the updating of the live and do_not_gen sets.
+	(df_note_bb_compute): Added updating of live and do_not_gen sets
+	for regular defs so that the case of clobber inside conditional
+	call is processed correctly.
+	
+2007-07-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Generate the
+	operands with compatible type.
+
+2007-07-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* expr.h (store_bit_field): Don't return a value.
+	* expmed.c (check_predicate_volatile_ok): New function.
+	(store_bit_field_1): New function, extracted from store_bit_field.
+	Take a fallback_p argument and return true if the operation succeeded.
+	Only use store_fixed_bit_field if fallback_p.  Don't recompute
+	mode_for_extraction; use op_mode instead.  Try forcing memories
+	into registers if the insv expander fails.
+	(store_bit_field): Use store_bit_field_1 with fallback_p true.
+	Don't return a value.
+	(convert_extracted_bit_field): New function, extracted from
+	store_bit_field.
+	(extract_bit_field_1): Likewise.  Take a fallback_p argument
+	and return NULL if the operation succeeded.  Only use
+	extract_fixed_bit_field if fallback_p.  Only calculate one
+	extraction mode.  Combine code for extv and extzv.  Try forcing
+	memories into registers if the ext(z)v expander fails.
+	(extract_bit_field): Use extract_bit_field_1 with fallback_p true.
+
+2007-07-27  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
+	into bitfields.
+	(df_ref): Likewise.  Put regno with other integer fields.
+
+2007-07-27  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* df.h (df_mw_hardreg): Remove "loc" field.
+	* df-scan.c (df_ref_record): Don't set it.  Remove redundant
+	local variable.
+	* df-problems.c (df_whole_mw_reg_unused_p): New function,
+	split out from df_set_unused_notes_for_mw.  Return false for
+	partial references.  Assert that mw_reg is a REG when returning true.
+	(df_set_unused_notes_for_mw): Use it.  Use mw_reg instead of *loc.
+	(df_whole_mw_reg_dead_p): New function, split out from
+	df_set_dead_notes_for_mw.  Return false for partial references.
+	Assert that mw_reg is a REG when returning true.
+	(df_set_dead_notes_for_mw): Use it.  Use mw_reg instead of *loc.
+	Remove redundant bitmap check.
+
+2007-07-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/ia64/t-ia64 ($(T)crtbegin.o): Removed.
+	($(T)crtend.o): Likwise.
+	($(T)crtbeginS.o): Likwise.
+	($(T)crtendS.o): Likwise.
+	($(T)crtfastmath.o): Likwise.
+
+2007-07-26  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* dominance.c (dom_computed, n_bbs_in_dom_tree): Removed.
+	* function.h (dom_computed, n_bbs_in_dom_tree): New macros.
+	* basic-block.h (struct control_flow_graph): Added x_dom_computed
+	and x_n_bbs_in_dom_tree fields.
+
+2007-07-26  Steve Ellcey  <sje@cup.hp.com>
+
+	PR tree-optimization/32087
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
+	Do not call scale_bbs_frequencies_int with prob of zero.
+
+2007-07-26  Julian Brown  <julian@codesourcery.com>
+
+	* config/arm/arm-protos.h (neon_lane_bounds, neon_const_bounds)
+	(neon_element_bits): Add prototypes.
+	* config/arm/arm.c (bounds_check, neon_lane_bounds)
+	(neon_const_bounds, neon_element_bits): New functions.
+	* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_lanedi)
+	(neon_vget_lanev2di, neon_vset_lane<mode>, neon_vset_lanedi)
+	(neon_vset_lanev2di, neon_vdup_lane<mode>, neon_vdup_lanedi)
+	(neon_vdup_lanev2di, neon_vcvt_n<mode>, neon_vmul_lane<mode>)
+	(neon_vmull_lane<mode>, neon_vqdmull_lane<mode>)
+	(neon_vqdmulh_lane<mode>, neon_vmla_lane<mode>)
+	(neon_vmlal_lane<mode>, neon_vqdmlal_lane<mode>)
+	(neon_vmls_lane<mode>, neon_vmlsl_lane<mode>)
+	(neon_vqdmlsl_lane<mode>, neon_vext<mode>, neon_vshr_n<mode>)
+	(neon_vshrn_n<mode>, neon_vqshrn_n<mode>, neon_vqshrun_n<mode>)
+	(neon_vshl_n<mode>, neon_vshl_n<mode>, neon_vqshl_n<mode>)
+	(neon_vqshlu_n<mode>, neon_vshll_n<mode>, neon_vsra_n<mode>)
+	(neon_vsri_n<mode>, neon_vsli_n<mode>): Add bounds checks.
+
+2007-07-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/vxworks.h (VXWORKS_LINK_SPEC): Fix typo.
+	(HAVE_AS_GNU_ATTRIBUTE): Undefine.
+
+2007-07-26  Mark Shinwell  <shinwell@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* config/arm/arm.c (arm_mac_accumulator_is_mul_result): New.
+	* config/arm/arm-protos.h (arm_mac_accumulator_is_mul_result): New.
+	* config/arm/cortex-a8.md: New.
+	* config/arm/cortex-a8-neon.md: New.
+	* config/arm/neon-schedgen.ml: New.
+	* config/arm/neon.md (vqh_mnem): New.
+	(neon_type): New.
+	(Is_float_mode): New.
+	(Scalar_mul_8_16): New.
+	(Is_d_reg): New.
+	(V_mode_nunits): New.
+	(All instruction patterns): Annotate with neon_type attribute
+	values.
+	* config/arm/arm.md: Include cortex-a8.md.
+	(insn): Add smmla, umaal, smlald, smlsld, clz, mrs, msr and xtab
+	values.
+	Annotate instruction patterns accordingly.
+	(generic_sched): Do not use generic scheduling for Cortex-A8.
+	(generic_vfp): Do not use generic VFP scheduling for Cortex-A8.
+
+2007-07-26  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* fold-const.c (fold_read_from_constant_string): Use
+	build_int_cst_type.
+	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
+
+2007-07-26  Nick Clifton  <nickc@redhat.com>
+
+	* tree-ssa-operands.h: Change copyright header to refer to version
+	3 of the GNU General Public License and to point readers at the
+	COPYING3 file and the FSF's license web page.
+	* tree-vrp.c, regrename.c, attribs.c, loop-unswitch.c,
+	sched-ebb.c, fwprop.c, tree-loop-linear.c, dwarf2asm.c,
+	tree-into-ssa.c, dwarf2asm.h, tree-ssa-loop-im.c, sbitmap.c,
+	targhooks.c, tree-dump.c, tree-complex.c, sbitmap.h, targhooks.h,
+	tree-dump.h, regstat.c, see.c, machmode.h, hooks.c, cgraphbuild.c,
+	hooks.h, genrecog.c, tree-ssa-threadupdate.c, gen-protos.c,
+	flags.h, rtlhooks.c, gencheck.c, tree-ssa-loop-niter.c,
+	opts-common.c, dbgcnt.def, tree-pretty-print.c, tracer.c,
+	gengtype.c, mkconfig.sh, gengtype.h, tree-ssa-loop-unswitch.c,
+	cgraph.c, c-lex.c, cgraph.h, libfuncs.h, cfgloopmanip.c,
+	rtl-error.c, optabs.c, postreload-gcse.c, tree-ssa-loop-manip.c,
+	optabs.h, genmddeps.c, defaults.h, postreload.c, value-prof.c,
+	tree-ssa-loop-ch.c, tree-tailcall.c, gengenrtl.c, value-prof.h,
+	genopinit.c, tree.c, tree.h, reload.c, tree-pass.h, ipa-cp.c,
+	reload.h, bitmap.c, bitmap.h, tree-scalar-evolution.c,
+	c-config-lang.in, tree-scalar-evolution.h, target.h, cppspec.c,
+	rtlanal.c, ddg.c, lambda-mat.c, mips-tdump.c, ddg.h,
+	tree-phinodes.c, mips-tfile.c, pointer-set.c, pointer-set.h,
+	diagnostic.c, final.c, diagnostic.h, builtins.c, genoutput.c,
+	gcc.c, lists.c, tree-ssa-alias-warnings.c, gcc.h, cfghooks.c,
+	input.h, gensupport.c, fold-const.c, cfghooks.h, insn-notes.def,
+	gensupport.h, builtin-attrs.def, sync-builtins.def, params.c,
+	cfgloopanal.c, params.h, graphds.c, omp-low.c, tree-ssa-dse.c,
+	graphds.h, gcov.c, cfg.c, genextract.c, ipa-reference.c,
+	genautomata.c, tree-ssa-uncprop.c, auto-inc-dec.c, toplev.c,
+	tree-gimple.c, ipa-reference.h, vmsdbgout.c, errors.c, toplev.h,
+	reorg.c, tree-gimple.h, tree-chrec.c, pretty-print.c, errors.h,
+	real.c, tree-chrec.h, pretty-print.h, debug.c, real.h, genemit.c,
+	omega.c, c-cppbuiltin.c, genmultilib, debug.h, omega.h,
+	tree-ssa-sccvn.c, genconfig.c, tree-ssa-sccvn.h, cgraphunit.c,
+	regs.h, df-scan.c, vec.c, hosthooks-def.h, vec.h,
+	tree-ssa-copyrename.c, scan.c, builtin-types.def, tree-ssa-ccp.c,
+	scan.h, mode-classes.def, haifa-sched.c, dominance.c, dojump.c,
+	double-int.c, gcov-io.c, dbxout.c, builtins.def, double-int.h,
+	dbxout.h, tree-ssa-loop-ivopts.c, df-core.c, mode-switching.c,
+	gengtype-lex.l, tree-nomudflap.c, modulo-sched.c, c-objc-common.c,
+	hosthooks.h, c-objc-common.h, caller-save.c, graph.c,
+	ipa-pure-const.c, graph.h, c-format.c, cse.c, fix-header.c,
+	c-format.h, web.c, tree-stdarg.c, genpeep.c, tree-stdarg.h,
+	tree-ssa-math-opts.c, xcoffout.c, tree-ssa-dom.c, tree-nrv.c,
+	xcoffout.h, tree-ssa-propagate.c, ipa-utils.c,
+	tree-ssa-propagate.h, tree-ssa-alias.c, loop-init.c, ipa-utils.h,
+	gimple-low.c, rtl.def, c-tree.h, tree-ssa-sink.c, ipa-inline.c,
+	mkmap-symver.awk, machmode.def, c-pch.c, cfganal.c, global.c,
+	alloc-pool.c, c-semantics.c, alloc-pool.h, jump.c, ifcvt.c,
+	dwarf2out.c, expr.c, cfgbuild.c, tree-browser.c, dwarf2out.h,
+	expr.h, longlong.h, opts.c, gcov-iov.c, opts.h, dwarf2.h,
+	genattrtab.c, genconditions.c, genattr.c, optc-gen.awk,
+	timevar.def, tree-ssa-loop-ivcanon.c, hard-reg-set.h, predict.c,
+	tree-ssa-loop.c, host-default.c, predict.h, recog.c, dbgcnt.c,
+	recog.h, dbgcnt.h, c-aux-info.c, tree-ssa-address.c, timevar.c,
+	dse.c, lcm.c, tree-ssa-ifcombine.c, timevar.h, dse.h,
+	matrix-reorg.c, tree-vn.c, treestruct.def, fp-test.c, c-decl.c,
+	tree-eh.c, c-errors.c, c-pretty-print.c, regmove.c,
+	lambda-trans.c, c-pretty-print.h, et-forest.c, et-forest.h,
+	ebitmap.c, configure.ac, local-alloc.c, function.c, langhooks.c,
+	ebitmap.h, cppdefault.c, tree-vectorizer.c, function.h,
+	langhooks.h, print-rtl.c, cppdefault.h, df.h, tree-vectorizer.h,
+	sdbout.c, stor-layout.c, sdbout.h, rtlhooks-def.h, read-rtl.c,
+	gcse.c, ipa-type-escape.c, vmsdbg.h, alias.c, gengtype-parse.c,
+	ipa-type-escape.h, domwalk.c, alias.h, tree-if-conv.c, profile.c,
+	init-regs.c, domwalk.h, ipa.c, gccbug.in, tree-data-ref.c,
+	loop-unroll.c, tree-data-ref.h, tree-flow-inline.h, tree-affine.c,
+	mkmap-flat.awk, tree-affine.h, tree-vect-analyze.c, c.opt, ggc.h,
+	opt-gather.awk, c-typeck.c, gimplify.c, coretypes.h, exec-tool.in,
+	insn-addr.h, tree-ssa-phiopt.c, c-pragma.c, c-pragma.h, calls.c,
+	tree-ssa-coalesce.c, genmodes.c, loop-doloop.c, predict.def,
+	dwarf.h, tree.def, rtl-factoring.c, lower-subreg.c, expmed.c,
+	bt-load.c, ggc-common.c, genflags.c, tree-dfa.c, except.c,
+	coverage.c, except.h, emit-rtl.c, cfgexpand.c, coverage.h,
+	stringpool.c, cselib.c, emit-rtl.h, tree-cfgcleanup.c, c-opts.c,
+	cselib.h, cfgcleanup.c, simplify-rtx.c, tree-ssa-pre.c, explow.c,
+	tree-ssa-live.c, tree-sra.c, tree-ssa-live.h, tree-predcom.c,
+	loop-invariant.c, genpreds.c, protoize.c, opth-gen.awk, c-dump.c,
+	lambda.h, loop-iv.c, tree-mudflap.c, ipa-prop.c, print-tree.c,
+	tree-mudflap.h, tree-ssa-copy.c, ipa-prop.h, cfglayout.c,
+	tree-ssa-forwprop.c, c-convert.c, cfglayout.h, common.opt,
+	ggc-zone.c, ggc-page.c, c-omp.c, tree-ssa-dce.c, gencodes.c,
+	varasm.c, tree-vect-patterns.c, libada-mk.in, tree-ssa-ter.c,
+	sched-deps.c, tree-nested.c, c-ppoutput.c, tree-ssa.c,
+	target-def.h, tree-ssa-loop-prefetch.c, lambda-code.c,
+	omp-builtins.def, rtl.c, regclass.c, stab.def, intl.c, rtl.h,
+	intl.h, tree-inline.c, conditions.h, tree-inline.h, integrate.c,
+	sched-int.h, tree-iterator.c, integrate.h, tree-iterator.h,
+	genchecksum.c, tree-optimize.c, output.h, tree-vect-transform.c,
+	tree-object-size.c, combine.c, tree-outof-ssa.c, addresses.h,
+	bb-reorder.c, stack-ptr-mod.c, resource.c, var-tracking.c,
+	cfgloop.c, system.h, resource.h, ggc-none.c, tree-profile.c,
+	cfgloop.h, c-gimplify.c, c-common.c, opt-functions.awk,
+	tree-vect-generic.c, tree-flow.h, df-problems.c, scan-decls.c,
+	c-common.h, config.gcc, reg-stack.c, tlink.c, main.c, stub-objc.c,
+	fixproto, config.host, Makefile.in, gccspec.c, sched-rgn.c,
+	vecprim.h, basic-block.h, tree-ssa-structalias.c,
+	tree-ssa-structalias.h, c-common.def, sched-vis.c, tree-cfg.c,
+	passes.c, genconstants.c, c-incpath.c, c-incpath.h,
+	struct-equiv.c, c-parser.c, tree-ssa-reassoc.c, varray.c, sreal.c,
+	varray.h, dfp.c, sreal.h, combine-stack-adj.c, dfp.h,
+	reg-notes.def, cfgrtl.c, config.build, varpool.c, gengtype-yacc.y,
+	stmt.c, dce.c, tree-browser.def, prefix.c, statistics.h,
+	params.def, dce.h, c-lang.c, gcov-dump.c, prefix.h,
+	tree-ssanames.c, collect2.c, collect2.h, tree-ssa-threadedge.c,
+	convert.c, convert.h, langhooks-def.h, reload1.c,
+	tree-ssa-operands.c: Likewise.
+
+2007-07-26  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-live.c: Include debug.h and flags.h.
+	(mark_scope_block_unused): New function.
+	(remove_unused_scope_block_p): New function.
+	(remove_unused_locals): Remove unused blocks too.
+
+2007-07-25  Ian Lance Taylor  <iant@google.com>
+
+	* combine.c (combine_max_regno): Remove.  Remove all uses.
+	(struct reg_stat_struct): Rename from struct reg_stat.
+	(reg_stat_type): Define, and declare VECs.
+	(reg_stat): Change from pointer to VEC.  Change all uses.
+	(combine_split_insns): New static function.
+	(try_combine, find_split_point): Call it instead of split_insns.
+
+2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* cfghooks.c (split_block): Fix the information about loop latch.
+
+2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* cfgloopmanip.c (fix_loop_structure): Call force_single_succ_latches.
+
+2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-threadupdate.c (create_edge_and_update_destination_phis):
+	Scan the new edge for loop exit info.
+
+2007-07-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+	* config/darwin.c: Include debug.h.
+
+2007-07-25  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/32218
+	* tree-vect-patterns.c (vect_pattern_recog_1): Check for valid type.
+
+2007-07-25  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.h (HARD_REGNO_NREGS): Handle RFmode.
+	(HARD_REGNO_MODE_OK): Ditto.
+	(MODES_TIEABLE_P): Ditto.
+	(HARD_REGNO_CALLER_SAVE_MODE): Ditto.
+	(CLASS_MAX_NREGS): Ditto.
+	* config/ia64/ia64.c (ia64_print_operand_address): Add R format.
+	* config/ia64/ia64.md (divsf3_internal_thr): Removed.
+	(divdf3_internal_thr): Removed.
+	* config/ia64/div.md: New file.
+	* config/ia64/constraints.md: Add H constraint.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* sbitmap.c (sbitmap_verify_popcount, sbitmap_alloc_with_popcount,
+	sbitmap_copy, sbitmap_copy_n, sbitmap_equal, sbitmap_empty_p,
+	sbitmap_union_of_diff_cg, sbitmap_union_of_diff, sbitmap_not,
+	sbitmap_difference, sbitmap_any_common_bits, sbitmap_a_and_b_cg,
+	sbitmap_a_and_b, sbitmap_a_xor_b_cg, sbitmap_a_xor_b,
+	sbitmap_a_or_b_cg, sbitmap_a_or_b, sbitmap_a_subset_b_p,
+	sbitmap_a_or_b_and_c_cg, sbitmap_a_or_b_and_c,
+	sbitmap_a_and_b_or_c_cg, sbitmap_a_and_b_or_c,
+	sbitmap_first_set_bit, sbitmap_last_set_bit, dump_sbitmap,
+	dump_sbitmap_file, debug_sbitmap, popcount_table,
+	sbitmap_popcount): Constify.
+	* sbitmap.h (const_sbitmap, const_sbitmap_ptr): New.
+	(sbitmap_iterator, sbitmap_iter_init, dump_sbitmap,
+	dump_sbitmap_file, sbitmap_copy, sbitmap_copy_n, sbitmap_equal,
+	sbitmap_empty_p, sbitmap_union_of_diff, sbitmap_union_of_diff_cg,
+	sbitmap_difference, sbitmap_not, sbitmap_a_or_b_and_c,
+	sbitmap_a_or_b_and_c_cg, sbitmap_a_and_b_or_c,
+	sbitmap_a_and_b_or_c_cg, sbitmap_any_common_bits, sbitmap_a_and_b,
+	sbitmap_a_and_b_cg, sbitmap_a_or_b, sbitmap_a_or_b_cg,
+	sbitmap_a_xor_b, sbitmap_a_xor_b_cg, sbitmap_a_subset_b_p,
+	sbitmap_first_set_bit, sbitmap_last_set_bit, debug_sbitmap,
+	sbitmap_popcount, sbitmap_verify_popcount): Constify.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* bitmap.c (hash_descriptor, eq_descriptor, bitmap_element_zerop,
+	bitmap_copy, bitmap_clear_bit, popcount_table, bitmap_count_bits,
+	bitmap_first_set_bit, bitmap_and, bitmap_and_into,
+	bitmap_elt_copy, bitmap_and_compl, bitmap_and_compl_into,
+	bitmap_compl_and_into, bitmap_elt_ior, bitmap_ior,
+	bitmap_ior_into, bitmap_xor, bitmap_xor_into, bitmap_equal_p,
+	bitmap_intersect_p, bitmap_intersect_compl_p,
+	bitmap_ior_and_compl, bitmap_ior_and_compl_into,
+	debug_bitmap_file, debug_bitmap, bitmap_print, bitmap_hash):
+	Constify.
+	* bitmap.h (bitmap_copy, bitmap_equal_p, bitmap_intersect_p,
+	bitmap_intersect_compl_p, bitmap_count_bits, bitmap_and,
+	bitmap_and_into, bitmap_and_compl, bitmap_and_compl_into,
+	bitmap_compl_and_into, bitmap_ior, bitmap_ior_into, bitmap_xor,
+	bitmap_xor_into, bitmap_ior_and_compl, bitmap_ior_and_compl_into,
+	debug_bitmap, debug_bitmap_file, bitmap_print,
+	bitmap_first_set_bit, bitmap_hash, bmp_iter_set_init,
+	bmp_iter_and_init, bmp_iter_and_compl_init): Likewise.
+
+2007-07-25  Daniel Berlin  <dberlin@dberlin.org>
+
+	* config/darwin.c (darwin_override_options): Additional fix for
+	debug info formats that don't support var tracking.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* cselib.c (entry_and_rtx_equal_p): Constify.
+	* gengtype.c (output_mangled_typename, write_types, write_local):
+	Likewise.
+	* gengtype.h (const_type_p): New.
+	* see.c (eq_descriptor_extension, hash_descriptor_extension):
+	Constify.
+	* tlink.c (scan_linker_output): De-constify.
+	* tree-ssa-loop-im.c (memref_eq): Constify.
+	* tree-ssa-structalias.c (const_shared_bitmap_info_t): New.
+	(shared_bitmap_hash, shared_bitmap_eq): Constify.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-common.c (fname_as_string, c_type_hash): Constify.
+	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
+	* cgraph.c (edge_hash, edge_eq): Likewise.
+	* dwarf2out.c (decl_die_table_eq, decl_loc_table_eq): Likewise.
+	* emit-rtl.c (mem_attrs_htab_eq, reg_attrs_htab_hash,
+	reg_attrs_htab_eq): Likewise.
+	* except.c (t2r_eq, t2r_hash, ttypes_filter_eq, ehl_hash, ehl_eq):
+	Likewise.
+	* genautomata.c (const_reserv_sets_t, const_unit_decl_t,
+	const_decl_t, const_state_t, const_automata_list_el_t): New.
+	(first_out_arc, DECL_UNIT, DECL_BYPASS, DECL_AUTOMATON, DECL_EXCL,
+	DECL_PRESENCE, DECL_ABSENCE, DECL_RESERV, DECL_INSN_RESERV,
+	automaton_decl_hash, automaton_decl_eq_p, insn_decl_hash,
+	insn_decl_eq_p, decl_hash, decl_eq_p, alt_state_cmp,
+	reserv_sets_cmp, reserv_sets_eq, state_hash, state_eq_p,
+	automata_list_hash, automata_list_eq_p, compare_states_for_equiv,
+	compare_max_occ_cycle_nums, out_state_arcs_num,
+	compare_transition_els_num, units_cmp, state_reservs_cmp):
+	Constify.
+	* genmodes.c (cmp_modes): Likewise.
+	* ggc-common.c (saving_htab_hash, saving_htab_eq): Likewise.
+	* gimplify.c (compare_case_labels): Likewise.
+	* ipa-type-escape.c (get_name_of_type, type_brand_s): Likewise.
+	* loop-unroll.c (si_info_hash, ve_info_hash): Likewise.
+	* matrix-reorg.c (mtt_info_hash): Likewise.
+	* postreload-gcse.c (hash_expr_for_htab, expr_equiv_p): Likewise.
+	* rtl-factoring.c (const_p_hash_bucket, const_p_hash_elem): New.
+	(htab_hash_bucket, htab_hash_elem): Constify.
+	* tree-browser.c (TB_parent_eq): Likewise.
+	* tree-scalar-evolution.c (hash_scev_info): Likewise.
+	* tree-ssa-alias.c (sort_tags_by_id): Likewise.
+	* tree-ssa-coalesce.c (const_coalesce_pair_p): New.
+	(coalesce_pair_map_hash, coalesce_pair_map_eq, compare_pairs):
+	Constify.
+	* tree-ssa-dom.c (avail_expr_hash, avail_expr_eq): Likewise.
+	* tree-ssa-pre.c (const_expr_pred_trans_t): New.
+	(expr_pred_trans_hash, expr_pred_trans_eq): Constify.
+	* tree-ssa-sccvn.c (const_vn_binary_op_t, const_vn_unary_op_t,
+	const_vn_phi_t, const_vn_reference_op_t, const_vn_reference_t):
+	New.
+	(vn_reference_op_eq, vn_reference_hash, vn_reference_eq,
+	vn_unary_op_hash, vn_unary_op_eq, vn_binary_op_hash,
+	vn_binary_op_eq, vn_phi_hash, vn_phi_eq): Constify.
+	* tree-ssa-threadupdate.c (redirection_data_hash,
+	redirection_data_eq): Likewise. 
+	* tree-ssa-uncprop.c (equiv_hash, equiv_eq): Likewise.
+	* tree-ssa.c (var_ann_eq): Likewise.
+	* tree-vrp.c (compare_case_labels): Likewise.
+	* tree.c (int_cst_hash_hash, int_cst_hash_eq,
+	tree_map_base_marked_p, type_hash_marked_p, tree_check_failed,
+	tree_not_check_failed, tree_class_check_failed,
+	tree_range_check_failed, tree_not_class_check_failed,
+	omp_clause_check_failed, omp_clause_range_check_failed,
+	tree_contains_struct_check_failed, tree_operand_check_failed):
+	Likewise. 
+	* tree.h (tree_contains_struct_check_failed, tree_check_failed,
+	tree_not_check_failed, tree_class_check_failed,
+	tree_range_check_failed, tree_not_class_check_failed,
+	tree_operand_check_failed, omp_clause_operand_check_failed,
+	tree_operand_length): Likewise. 
+	* var-tracking.c (const_variable): New.
+	(variable_htab_hash, variable_htab_eq): Constify.
+	* varasm.c (const_desc_hash): Likewise.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* expr.c (handled_component_p): Constify.
+	* fold-const.c (fit_double_type): Likewise.
+	* real.h (real_value_from_int_cst): Likewise.
+	* tree-flow-inline.h (gimple_in_ssa_p,
+	gimple_aliases_computed_p, gimple_addressable_vars,
+	gimple_call_clobbered_vars, gimple_referenced_vars,
+	gimple_global_var, gimple_nonlocal_all, gimple_var_anns,
+	end_htab_p, end_referenced_vars_p, var_ann, function_ann,
+	may_aliases, end_readonly_imm_use_p, has_zero_uses,
+	has_single_use, single_imm_use, num_imm_uses, is_exec_stmt,
+	is_label_stmt, is_global_var, phi_ssa_name_p,
+	factoring_name_p, is_call_clobbered, tree_common_ann,
+	op_iter_done, end_imm_use_stmt_p, end_imm_use_on_stmt_p,
+	unmodifiable_var_p, array_ref_contains_indirect_ref,
+	ref_contains_array_ref, lookup_subvars_for_var,
+	var_can_have_subvars, overlap_subvar, gimple_ssa_operands,
+	gimple_mem_ref_stats): Likewise.
+	* tree-flow.h (tree_common_ann, var_ann, function_ann,
+	may_aliases, is_exec_stmt, is_label_stmt,
+	ref_contains_array_ref, array_ref_contains_indirect_ref,
+	var_can_have_subvars, overlap_subvar, is_call_clobbered,
+	unmodifiable_var_p): Likewise.
+	* tree-gimple.c (is_gimple_min_invariant): Likewise.
+	* tree-gimple.h (is_gimple_min_invariant): Likewise. 
+	* tree.c (type_hash_list, attribute_hash_list, tree_size,
+	cst_and_fits_in_hwi, real_value_from_int_cst,
+	build_real_from_int_cst, integer_zerop, integer_onep,
+	integer_all_onesp, integer_pow2p, integer_nonzerop, tree_log2,
+	tree_floor_log2, real_zerop, real_onep, real_twop,
+	real_minus_onep, really_constant_p, purpose_member, chain_member,
+	list_length, fields_length, int_size_in_bytes, bit_position,
+	int_bit_position, byte_position, int_byte_position, expr_align,
+	array_type_nelts, tree_node_structure,
+	type_contains_placeholder_1, iterative_hash_pointer,
+	is_attribute_with_length_p, is_attribute_p, check_qualified_type,
+	tree_map_base_eq, type_hash_list, type_hash_eq,
+	attribute_hash_list, type_num_arguments, tree_int_cst_equal,
+	tree_int_cst_lt, tree_int_cst_compare, host_integerp,
+	tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
+	simple_cst_list_equal, compare_tree_int, iterative_hash_expr,
+	int_fits_type_p, get_containing_scope, decl_function_context,
+	decl_type_context, omp_clause_operand_check_failed,
+	initializer_zerop, int_cst_value, num_ending_zeros): Likewise.
+	* tree.h (omp_clause_operand_check_failed, tree_size,
+	build_real_from_int_cst, array_type_nelts, purpose_member,
+	tree_int_cst_equal, tree_int_cst_lt, tree_int_cst_compare,
+	host_integerp, tree_low_cst, tree_int_cst_msb, tree_int_cst_sgn,
+	is_attribute_p, check_qualified_type, expr_align,
+	int_size_in_bytes, bit_position, int_bit_position, byte_position,
+	int_byte_position, list_length, fields_length, initializer_zerop,
+	integer_zerop, integer_onep, integer_all_onesp, integer_pow2p,
+	integer_nonzerop, cst_and_fits_in_hwi, num_ending_zeros,
+	tree_node_structure, handled_component_p, get_containing_scope,
+	decl_function_context, decl_type_context, real_zerop,
+	type_num_arguments, fit_double_type, really_constant_p,
+	int_fits_type_p, tree_log2, tree_floor_log2, iterative_hash_expr,
+	compare_tree_int, chain_member, simple_cst_list_equal, real_onep,
+	real_twop, real_minus_onep, int_cst_value): Likewise.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* cfglayout.c (insn_scope, insn_line): Constify.
+	* emit-rtl.c (const_int_htab_hash, const_int_htab_eq,
+	const_double_htab_hash, const_double_htab_eq,
+	mem_attrs_htab_hash): Likewise.
+	* loop-iv.c (biv_eq): Likewise.
+	* print-rtl.c (print_rtx, print_decl_name, print_mem_expr,
+	print_inline_rtx, debug_rtx, debug_rtx_list, debug_rtx_range,
+	debug_rtx_find, print_rtl, print_rtl_single, print_simple_rtl):
+	Likewise. 
+	* rtl-error.c (location_for_asm, diagnostic_for_asm,
+	error_for_asm, warning_for_asm, _fatal_insn,
+	_fatal_insn_not_found): Likewise. 
+	* rtl.c (rtx_size, shared_const_p, shallow_copy_rtx_stat,
+	rtx_equal_p, rtl_check_failed_bounds, rtl_check_failed_type1,
+	rtl_check_failed_type2, rtl_check_failed_code1,
+	rtl_check_failed_code2, rtl_check_failed_code_mode,
+	rtvec_check_failed_bounds, rtl_check_failed_flag): Likewise.
+	* rtl.h (rtl_check_failed_bounds, rtl_check_failed_type1,
+	rtl_check_failed_type2, rtl_check_failed_code1,
+	rtl_check_failed_code2, rtl_check_failed_code_mode,
+	rtvec_check_failed_bounds, rtl_check_failed_flag, LABEL_KIND,
+	SET_LABEL_KIND, rhs_regno, subreg_lsb, subreg_regno, subreg_nregs,
+	shared_const_p, rtx_size, shallow_copy_rtx_stat, rtx_equal_p,
+	get_pool_mode, insn_line, insn_file, simplify_replace_rtx,
+	mode_signbit_p, rtx_addr_can_trap_p, nonzero_address_p,
+	rtx_unstable_p, get_integer_term, get_related_value,
+	offset_within_block_p, reg_mentioned_p, count_occurrences,
+	reg_referenced_p, reg_used_between_p, no_labels_between_p,
+	single_set_2, multiple_sets, set_noop_p, refers_to_regno_p,
+	reg_overlap_mentioned_p, dead_or_set_p, dead_or_set_regno_p,
+	find_reg_note, find_regno_note, find_reg_equal_equiv_note,
+	find_constant_src, find_reg_fusage, find_regno_fusage,
+	pure_call_p, remove_note, side_effects_p, volatile_refs_p,
+	volatile_insn_p, may_trap_p, may_trap_after_code_motion_p,
+	may_trap_or_fault_p, inequality_comparisons_p, tablejump_p,
+	computed_jump_p, auto_inc_p, in_expr_list_p,
+	remove_node_from_expr_list, loc_mentioned_in_p,
+	label_is_jump_target_p, reversed_comparison_code_parts,
+	debug_rtx, debug_rtx_list, debug_rtx_range, debug_rtx_find,
+	print_mem_expr, print_rtl, print_simple_rtl, print_rtl_single,
+	print_inline_rtx): Likewise.
+	* rtlanal.c (covers_regno_p, covers_regno_no_parallel_p,
+	computed_jump_p_1, nonzero_bits1, rtx_unstable_p,
+	rtx_addr_can_trap_p_1, rtx_addr_can_trap_p, nonzero_address_p,
+	get_integer_term, get_related_value, offset_within_block_p,
+	count_occurrences, reg_mentioned_p, no_labels_between_p,
+	reg_used_between_p, reg_referenced_p, single_set_2,
+	multiple_sets, set_noop_p, refers_to_regno_p,
+	reg_overlap_mentioned_p, dead_or_set_p,
+	covers_regno_no_parallel_p, covers_regno_p,
+	dead_or_set_regno_p, find_reg_note, find_regno_note,
+	find_reg_equal_equiv_note, find_constant_src, find_reg_fusage,
+	find_regno_fusage, pure_call_p, remove_note, in_expr_list_p,
+	remove_node_from_expr_list, volatile_insn_p, volatile_refs_p,
+	side_effects_p, may_trap_p_1, may_trap_p,
+	may_trap_after_code_motion_p, may_trap_or_fault_p,
+	inequality_comparisons_p, tablejump_p, computed_jump_p_1,
+	computed_jump_p, auto_inc_p, loc_mentioned_in_p, subreg_lsb,
+	subreg_regno, subreg_nregs, label_is_jump_target_p): Likewise.
+	* simplify-rtx.c (neg_const_int, plus_minus_operand_p,
+	mode_signbit_p, simplify_replace_rtx, plus_minus_operand_p):
+	Likewise. 
+	* toplev.h (_fatal_insn_not_found, _fatal_insn, error_for_asm,
+	warning_for_asm): Likewise.
+	* tree.h (print_rtl): Likewise.
+	* varasm.c (get_pool_mode): Likewise.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* c-lex.c (c_lex_with_flags, lex_string): Constify.
+	* c-ppoutput.c (print_line, pp_dir_change): Likewise.
+	* c-typeck.c (free_all_tagged_tu_seen_up_to): Likewise.
+	* cfg.c (bb_copy_original_hash, bb_copy_original_eq): Likewise.
+	* cfgloop.c (loop_exit_hash, loop_exit_eq): Likewise.
+	* ddg.c (compare_sccs): Likewise.
+	* df-scan.c (df_ref_compare, df_mw_compare): Likewise.
+	* dfp.c (decimal_real_from_string, decimal_to_decnumber,
+	decimal_to_binary, decimal_do_compare, decimal_real_to_decimal,
+	decimal_do_fix_trunc, decimal_real_to_integer,
+	decimal_real_to_integer2, decimal_real_maxval): Likewise.
+	* dse.c (const_group_info_t): New.
+	(invariant_group_base_eq, invariant_group_base_hash): Constify.
+	* dwarf2out.c (const_dw_die_ref): New.
+	(decl_die_table_hash, decl_die_table_eq, file_info_cmp): Constify.
+	* tree-browser.c (TB_parent_eq): Likewise.
+	* unwind-dw2-fde.c (__register_frame_info_bases,
+	__deregister_frame_info_bases, fde_unencoded_compare, fde_split,
+	add_fdes, linear_search_fdes, binary_search_unencoded_fdes):
+	Likewise.
+	* unwind-dw2-fde.h (get_cie, next_fde): Likewise.
+	* unwind-dw2.c (uw_frame_state_for): Likewise.
+	* value-prof.c (histogram_hash, histogram_eq): Likewise.
+	* value-prof.h (const_histogram_value): New.
+
+2007-07-25  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (machine_function): Add
+	initialized_mips16_gp_pseudo_p.
+	(mips16_gp_pseudo_reg): Do not emit the initialization of
+	mips16_gp_pseudo_rtx when being called from the gimple cost-
+	calculation routines; emit it on the first use outside those
+	routines.
+
+2007-07-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* coretypes.h (const_bitmap, const_rtx, const_rtvec, const_tree):
+	New.
+	
+	* rtl.h (RTL_CHECK1, RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2,
+	RTVEC_ELT, XWINT, XCWINT, XCMWINT, XCNMPRV, BLOCK_SYMBOL_CHECK,
+	RTL_FLAG_CHECK1, RTL_FLAG_CHECK2, RTL_FLAG_CHECK3,
+	RTL_FLAG_CHECK4, RTL_FLAG_CHECK5, RTL_FLAG_CHECK6,
+	RTL_FLAG_CHECK7, RTL_FLAG_CHECK8, LABEL_KIND, SET_LABEL_KIND):
+	Preserve const-ness of parameters through use of __typeof(),
+	also constify and tidy.
+	
+	* tree.h (TREE_CHECK, TREE_NOT_CHECK, TREE_CHECK2,
+	TREE_NOT_CHECK2, TREE_CHECK3, TREE_NOT_CHECK3, TREE_CHECK4,
+	NON_TREE_CHECK4, TREE_CHECK5, TREE_NOT_CHECK5,
+	CONTAINS_STRUCT_CHECK, TREE_CLASS_CHECK, TREE_RANGE_CHECK,
+	OMP_CLAUSE_SUBCODE_CHECK, OMP_CLAUSE_RANGE_CHECK, EXPR_CHECK,
+	GIMPLE_STMT_CHECK, NON_TYPE_CHECK, TREE_VEC_ELT_CHECK,
+	PHI_NODE_ELT_CHECK, OMP_CLAUSE_ELT_CHECK, TREE_OPERAND_CHECK,
+	TREE_OPERAND_CHECK_CODE, GIMPLE_STMT_OPERAND_CHECK,
+	TREE_RTL_OPERAND_CHECK, TREE_CHAIN, TREE_TYPE): Likewise.
+
+2007-07-25  Julian Brown  <julian@codesourcery.com>
+	    Mark Shinwell  <shinwell@codesourcery.com>
+
+	* config/alpha/alpha.c (alpha_mangle_fundamental_type): Rename to...
+	(alpha_mangle_type): This.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* config/arm/arm-protos.h (arm_mangle_type): Add prototype.
+	* config/arm/arm.c (TARGET_MANGLE_TYPE): Define target hook.
+	(arm_init_neon_builtins): Fix comment.
+	(arm_mangle_map_entry): New.
+	(arm_mangle_map): New.
+	(arm_mangle_type): New.
+	* config/i386/i386.c (ix86_mangle_fundamental_type): Rename to...
+	(ix86_mangle_type): This. Use TYPE_MAIN_VARIANT and restrict
+	mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* config/ia64/ia64.c (ia64_mangle_fundamental_type): Rename to...
+	(ia64_mangle_type): This. Use TYPE_MAIN_VARIANT  and restrict
+	mangled types to VOID_TYPE, BOOLEAN_TYPE, INTEGER_TYPE, REAL_TYPE.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* config/rs6000/rs6000.c (rs6000_mangle_fundamental_type): Rename
+	to...
+	(rs6000_mangle_type): This. Use TYPE_MAIN_VARIANT.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* config/s390/s390.c (s390_mangle_fundamental_type): Rename to...
+	(s390_mangle_type): This.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* config/sparc/sparc.c (sparc_mangle_fundamental_type): Rename to...
+	(sparc_mangle_type): This.
+	(TARGET_MANGLE_FUNDAMENTAL_TYPE): Don't define.
+	(TARGET_MANGLE_TYPE): Define this instead.
+	* cp/mangle.c (write_type): Call mangle_type target hook on all
+	types before mangling.  Use original type, not main variant, as
+	argument.
+	* target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename hook to...
+	(TARGET_MANGLE_TYPE): This.
+	* target.h (gcc_target): Rename mangle_fundamental_type to
+	mangle_type.
+	* doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Rename section to...
+	(TARGET_MANGLE_TYPE): This. Note slightly different semantics.
+
+2007-07-25  Julian Brown  <julian@codesourcery.com>
+	    Paul Brook  <paul@codesourcery.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+	    Mark Shinwell  <shinwell@codesourcery.com>
+
+	* Makefile.in (TEXI_GCC_FILES): Add arm-neon-intrinsics.texi.
+	* config.gcc (arm*-*-*): Add arm_neon.h to extra headers.
+	(with_fpu): Allow --with-fpu=neon.
+	* config/arm/aof.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
+	* config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add Q0-Q15.
+	* config/arm/arm-modes.def (EI, OI, CI, XI): New modes.
+	* config/arm/arm-protos.h (neon_immediate_valid_for_move)
+	(neon_immediate_valid_for_logic, neon_output_logic_immediate)
+	(neon_pairwise_reduce, neon_expand_vector_init, neon_reinterpret)
+	(neon_emit_pair_result_insn, neon_disambiguate_copy)
+	(neon_vector_mem_operand, neon_struct_mem_operand, output_move_quad)
+	(output_move_neon): Add prototypes.
+	* config/arm/arm.c (FL_NEON): New flag for NEON processor capability.
+	(all_fpus): Add FPUTYPE_NEON.
+	(fp_model_for_fpu): Add NEON field.
+	(arm_return_in_memory): Return vectors <= 16 bytes in ARM registers.
+	(arm_arg_partial_bytes): Allow NEON vectors to be passed partially
+	in registers.
+	(arm_legitimate_address_p): Don't support fancy addressing for NEON
+	structure moves.
+	(thumb2_legitimate_address_p): Likewise.
+	(neon_valid_immediate): Recognize and prepare constants suitable for
+	NEON instructions.
+	(neon_immediate_valid_for_move): New function. Recognize and prepare
+	immediates for NEON move instructions.
+	(neon_immediate_valid_for_logic): New function. Recognize and
+	prepare immediates for NEON logic instructions.
+	(neon_output_logic_immediate): New function. Create asm string
+	suitable for outputting immediate logic instructions.
+	(neon_pairwise_reduce): New function. Implement reduction using
+	pairwise operations.
+	(neon_expand_vector_init): New function. Expand a (possibly
+	non-constant) vector initialization.
+	(neon_vector_mem_operand): New function. Memory operands supported
+	for quad-word loads/stores to/from ARM or NEON registers. Don't
+	allow base+offset addressing for core regs.
+	(neon_struct_mem_operand): New function. Valid mems for NEON
+	structure moves.
+	(coproc_secondary_reload_class): Enable NEON registers to be loaded
+	from neon_vector_mem_operand addresses without a secondary register.
+	(add_minipool_forward_ref): Handle >8-byte minipool entries.
+	(add_minipool_backward_ref): Likewise.
+	(dump_minipool): Likewise.
+	(push_minipool_fix): Likewise.
+	(output_move_quad): New function. Output quad-word moves, loads and
+	stores using ARM registers.
+	(output_move_vfp): Add support for vectors in VFP (NEON) D
+	registers.
+	(output_move_neon): Output a NEON load/store to/from a quadword
+	register.
+	(arm_print_operand): Implement new codes:
+	- 'c' for unadorned integers (without a # sign).
+	- 'J', 'K' for reg+2/reg+3, reg+3/reg+2 in little/big-endian
+	mode.
+	- 'e', 'f' for the low and high D parts of a NEON Q register.
+	- 'q' outputs a NEON Q register.
+	- 'h' outputs ranges of D registers for VLDM/VSTM etc.
+	- 'T' prints NEON opcode features from a coded bitmask.
+	- 'F' is similar to T, but signed/unsigned codes both print as
+	'i'.
+	- 't' is similar to T, but 'u' is printed instead of 'p'.
+	- 'O' prints 'r' if NEON instruction should perform rounding (as
+	specified by bitmask), else prints nothing.
+	- '#' is a punctuation character to stop operand numbers from
+	running together with following digits in the assembler
+	strings for instructions (when using mode attributes).
+	(arm_assemble_integer): Handle extra NEON vector modes. Permute
+	constant vectors in big-endian mode, where necessary.
+	(arm_hard_regno_mode_ok): Allow vectors in VFP/NEON registers.
+	Handle EI, OI, CI, XI modes.
+	(ashlv4hi3, ashlv2si3, lshrv4hi3, lshrv2si3, ashrv4hi3)
+	(ashrv2si3): Rename IWMMXT2_BUILTINs to...
+	(ashlv4hi3_iwmmxt, ashlv2si3_iwmmxt, lshrv4hi3_iwmmxt)
+	(lshrv2si3_iwmmxt, ashrv4hi3_iwmmxt, ashrv2si3_iwmmxt): New names.
+	(neon_builtin_type_bits): Add enumeration, one bit for each vector
+	type.
+	(v8qi_UP, v4hi_UP, v2si_UP, v2sf_UP, di_UP, v16qi_UP, v8hi_UP)
+	(v4si_UP, v4sf_UP, v2di_UP, ti_UP, ei_UP, oi_UP, UP): Define macros
+	to turn v8qi, etc. into bits defined above.
+	(neon_itype): New enumeration. Classifications of NEON builtins.
+	(neon_builtin_datum): Define struct. Contains information about
+	a single builtin (with multiple modes).
+	(CF): Define helper macro for...
+	(VAR1...VAR10): Define builtins with a type, name and 1-10 different
+	modes.
+	(neon_builtin_data): New array. Define information about builtins
+	for use during initialization/expansion.
+	(arm_init_neon_builtins): New function.
+	(arm_init_builtins): Call arm_init_neon_builtins if TARGET_NEON is
+	true.
+	(neon_builtin_compare): New function.
+	(locate_neon_builtin_icode): New function. Find an insn code for a
+	builtin given a function code for that builtin. Also return type of
+	builtin (NEON_BINOP, NEON_UNOP etc.).
+	(builtin_arg): New enumeration. Types of arguments for builtins.
+	(arm_expand_neon_args): New function. Expand a generic NEON builtin.
+	Takes a variable argument list of builtin_arg types, terminated by
+	NEON_ARG_STOP.
+	(arm_expand_neon_builtin): New function. Expand a NEON builtin.
+	(neon_reinterpret): New function. Expand NEON reinterpret intrinsic.
+	(neon_emit_pair_result_insn): New function. Support returning pairs
+	of vectors via a pointer.
+	(neon_disambiguate_copy): New function. Set up operands for a
+	multi-word copy such that registers do not get clobbered.
+	(arm_expand_builtin): Call arm_expand_neon_builtin if fcode >=
+	ARM_BUILTIN_NEON_BASE.
+	(arm_file_start): Set float-abi attribute for NEON.
+	(arm_vector_mode_supported_p): Enable NEON vector modes.
+	(arm_mangle_map_entry): New.
+	(arm_mangle_map): New.
+	(arm_mangle_vector_type): New.
+	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __ARM_NEON__
+	when appropriate.
+	(TARGET_NEON): New macro. Target supports NEON.
+	(fputype): Add FPUTYPE_NEON.
+	(UNITS_PER_SIMD_WORD): Define. Allow quad-word registers to be used
+	for vectorization based on command-line arg.
+	(NEON_REGNO_OK_FOR_NREGS): Define.
+	(VALID_NEON_DREG_MODE, VALID_NEON_QREG_MODE)
+	(VALID_NEON_STRUCT_MODE): Define.
+	(PRINT_OPERAND_PUNCT_VALID_P): '#' is valid punctuation.
+	(arm_builtins): Add ARM_BUILTIN_NEON_BASE.
+	* config/arm/arm.md (VUNSPEC_POOL_16): Insert constant for unspec.
+	(consttable_16): Add pattern for outputting 16-byte minipool
+	entries.
+	(movv2si, movv4hi, movv8qi): Remove blank expanders (redefined in
+	vec-common.md).
+	(vec-common.md, neon.md): Include md files.
+	* config/arm/arm.opt (mvectorize-with-neon-quad): Add option.
+	* config/arm/constraints.md (constraint "Dn", "Dl", "DL"): Define.
+	(memory_constraint "Ut", "Un", "Us"): Define.
+	* config/arm/iwmmxt.md (VMMX, VSHFT): New mode macros.
+	(MMX_char): New mode attribute.
+	(addv8qi3, addv4hi3, addv2si3): Remove. Replace with...
+	(*add<mode>3_iwmmxt): New insn pattern.
+	(subv8qi3, subv4hi3, subv2si3): Remove. Replace with...
+	(*sub<mode>3_iwmmxt): New insn pattern.
+	(mulv4hi3): Rename to...
+	(*mulv4hi3_iwmmxt): This.
+	(smaxv8qi3, smaxv4hi3, smaxv2si3, umaxv8qi3, umaxv4hi3)
+	(umaxv2si3, sminv8qi3, sminv4hi3, sminv2si3, uminv8qi3)
+	(uminv4hi3, uminv2si3): Remove. Replace with...
+	(*smax<mode>3_iwmmxt, *umax<mode>3_iwmmxt, *smin<mode>3_iwmmxt)
+	(*umin<mode>3_iwmmxt): These.
+	(ashrv4hi3, ashrv2si3, ashrdi3_iwmmxt): Replace with...
+	(ashr<mode>3_iwmmxt): This new pattern.
+	(lshrv4hi3, lshrv2si3, lshrdi3_iwmmxt): Replace with...
+	(lshr<mode>3_iwmmxt): This new pattern.
+	(ashlv4hi3, ashlv2si3, ashldi3_iwmmxt): Replace with...
+	(ashl<mode>3_iwmmxt): This new pattern.
+	* config/arm/neon-docgen.ml: New file. Generate documentation for
+	intrinsics.
+	* config/arm/neon-gen.ml: New file. Generate arm_neon.h header.
+	* config/arm/arm_neon.h: New (autogenerated).
+	* config/arm/neon-testgen.ml: New file. Generate NEON tests
+	automatically.
+	* config/arm/neon.md: New file. Define NEON instructions.
+	* config/arm/neon.ml: New file. Abstract description of NEON
+	instructions, used to generate arm_neon.h header, documentation and
+	tests.
+	* config/arm/t-arm (MD_INCLUDES): Add vec-common.md, neon.md.
+	* vec-common.md: New file. Shared parts for iWMMXt and NEON vector
+	support.
+	* doc/extend.texi (ARM Built-in Functions): Rename and remove
+	extraneous comma.
+	(ARM NEON Intrinsics): New subsection.
+	* doc/arm-neon-intrinsics.texi: New (autogenerated).
+
+2007-07-25  Danny Smith   <dannysmith@users.sourceforge.net>
+
+	* config/i386/i386-protos.h (i386_pe_asm_file_end): Remove
+	prototype.
+
+2007-07-24  Jan Hubicka  <jh@suse.cz>
+
+	* regclass.c (move_table): New type.
+	(move_cost, may_move_in_cost, may_move_out_cost): Use it.
+	(init_move_cost): Break out from ...
+	(init_reg_sets_1): ... here; simplify computation of
+	have_regs-of_mode and contains_reg_of_mode.
+	(record_reg_classes): Unswitch internal loops.
+	(copy_cost): Trigger lazy initialization of move cost
+	(record_address_regs): Likewise.
+
+2007-07-24  Daniel Berlin  <dberlin@dberlin.org>
+
+	* config/darwin.c (darwin_override_options): Don't force on
+	flag_var_tracking_uninit when no debug info is requested.
+
+2007-07-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* cfgloop.c (init_loops_structure): New function.
+	(flow_loops_find): Create root of the loop tree unconditionally.
+
+2007-07-24  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* tree-ssa-ccp.c (fold_const_aggregate_ref): Use fold_convert.
+
+2007-07-24  Jan Hubicka  <jh@suse.cz>
+
+	* caller-save.c: Include ggc.h, gt-caller-save.h
+	(reg_save_code, reg_restore_code): Rename to ...
+	(cached_reg_save_code, cached_reg_restore_code): ... those.
+	(savepat, restpat, test_reg, test_mem, saveinsn, restinsn): New.
+	(reg_save_code, reg_restore_code): New functions.
+	(init_caller_save): Do not intialize
+	reg_save_code/reg_restore_code tables.
+	* Makefile.in: (gt-caller-save.h): New.
+
+2007-07-24  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* tree-ssa-ifcombine.c (ifcombine_ifandif): Use a ONE operand
+	with the mode of the original operand instead of
+	integer_one_node.
+
+2007-07-23  Jan Hubicka  <jH@suse.cz>
+
+	* config/i386/i386.c (ix86_secondary_memory_needed): Break out to...
+	(inline_secondary_memory_needed): ... here.
+	(ix86_memory_move_cost): Break out to ...
+	(inline_memory_move_cost): ... here; add support for IN value of 2 for
+	maximum of input and output; fix handling of Q_REGS on 64bit.
+	(ix86_secondary_memory_needed): Microoptimize.
+
+2007-07-23  Sebastian Pop  <sebpop@gmail.com>
+
+	* tree-data-ref.c (find_vertex_for_stmt, create_rdg_edge_for_ddr,
+	create_rdg_edges_for_scalar, create_rdg_edges, create_rdg_vertices,
+	stmts_from_loop, known_dependences_p, build_rdg): New.
+	* tree-data-ref.h: Depends on graphds.h.
+	(rdg_vertex, RDGV_STMT, rdg_dep_type, rdg_edge, RDGE_TYPE): New.
+	(build_rdg): Declared.
+	* Makefile.in (TREE_DATA_REF_H): Depends on graphds.h.
+
+2007-07-23  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-propagate.c (valid_gimple_expression_p): Match up with
+	ccp_min_invariant.
+
+2007-07-23  Peter Bergner  <bergner@vnet.ibm.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/PR28690
+	* optabs.c (expand_binop): (emit_cmp_and_jump_insns): Allow
+	EQ compares.
+	* rtlanal.c (commutative_operand_precedence): Prefer both REG_POINTER
+	and MEM_POINTER operands over REG and MEM operands.
+	(swap_commutative_operands_p): Change return value to bool.
+	* rtl.h: Update the corresponding prototype.
+	* tree-ssa-address.c (gen_addr_rtx): Use simplify_gen_binary
+	instead of gen_rtx_PLUS.
+	* simplify-rtx.c (simplify_plus_minus_op_data_cmp): Change return
+	value to bool.  Change function arguments to rtx's and update code
+	to match.
+	(simplify_plus_minus): Update the simplify_plus_minus_op_data_cmp
+	calls to match the new declaration.
+	* simplify-rtx.c (simplify_associative_operation): Don't
+	reorder simplify_binary_operation arguments.
+
+2007-07-23  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (override_options): Use mips_costs to derive
+	the default branch cost.
+	* config/mips/mips.h (BRANCH_COST): Use mips_branch_cost rather
+	than mips_costs.
+	* config/mips/mips.opt (mbranch-cost=): New option.
+	* doc/invoke.texi (-mbranch-cost): Document new MIPS option.
+
+2007-07-23  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.h (GR_REG_CLASS_P, COP_REG_CLASS_P): Delete.
+	(SECONDARY_MEMORY_NEEDED): Delete commented-out definition.
+	* config/mips/mips.c (mips_register_move_cost): Use reg_class_subset_p
+	instead of GR_REG_CLASS_P and COP_REG_CLASS_P.
+
+2007-07-23  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/constraints.md (ks): New constraint.
+	* config/mips/mips.md (*add<mode>3_sp1, *add<mode>3_sp2): Fold into...
+	(*add<mode>3_mips16): ...here.
+
+2007-07-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* optabs.h (enum optab_index): Add new OTI_signbit.
+	(signbit_optab): Define corresponding macro.
+	(enum insn_code signbit_optab[]): Remove array.
+	* optabs.c (init_optabs): Initialize signbit_optab using init_optab.
+	(expand_copysign_absneg): If back end provides signbit insn, use it
+	instead of bit operations on floating point argument.
+	* builtins.c (enum insn_code signbit_optab[]): Remove array.
+	(expand_builtin_signbit): Check signbit_optab->handlers[].insn_code
+	for availability of signbit insn.
+
+	* config/i386/i386.md (signbit<mode>2): New insn pattern to implement
+	signbitf, signbit and signbitl built-ins as inline x87 intrinsics when
+	SSE mode is not active.
+	(isinf<mode>2): Disable for mfpmath=sse,387.
+
+2007-07-22  Ben Elliston  <bje@au.ibm.com>
+
+	* regclass.c (invalid_mode_change_p): Attach ATTRIBUTE_UNUSED to
+	`class' parameter.
+	* struct-equiv.c (note_local_live): Likewise for `y_regno'.
+
+2007-07-20  Richard Guenther  <rguenther@suse.de>
+
+	* tree-cfg.c (verify_expr): COND_EXPRs can have any
+	integral typed condition.
+	* tree-ssa.c (useless_type_conversion_p): Do not preserve
+	booleanness.  Only preserve conversions from a non-base
+	type to a base type, not in general between types with
+	different TYPE_MIN_VALUE or TYPE_MAX_VALUE.
+	* tree.def (COND_EXPR): Document that the condition
+	can be of any integral type.
+
+2007-07-20  Nigel Stephens  <nigel@mips.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.h (mips_dwarf_regno): Declare.
+	(DBX_REGISTER_NUMBER): Remove redundant brackets.
+	(HI_REGNUM, LO_REGNUM): Define in an endian-dependent way.
+	(AC1HI_REGNUM, AC1LO_REGNUM, AC2HI_REGNUM, AC2LO_REGNUM)
+	(AC3HI_REGNUM, AC3LO_REGNUM, ACC_HI_REG_P): Delete.
+	(reg_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
+	(REG_CLASS_NAMES): Update accordingly.
+	* config/mips/mips.c (mips_dwarf_regno): New array.
+	(mips_regno_to_class): Rename HI_REG to MD0_REG and LO_REG to MD1_REG.
+	(mips_subword): Remove special handling for accumulator registers.
+	(override_options): Initiailize mips_dwarf_regno.  Remove use
+	of ACC_HI_REG_P.
+	(mips_swap_registers): New function.
+	(mips_conditional_register_usage): Swap accumulator registers
+	around if TARGET_LITTLE_ENDIAN.
+	(mips_cannot_change_mode_class): Remove special treatment of ACC_REGS.
+	* config/mips/constraints.md (h, l): Use the endianness to choose
+	between MD0_REG and MD1_REG.
+	* config/mips/mips.md (*mfhilo_<mode>_macc): Use a fixed-string,
+	alternative-dependent template.
+
+2007-07-20  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/arm/arm.md (movsi): Use can_create_pseudo_p instead of
+	no_new_pseudos.
+
+2007-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* function.c (thread_prologue_and_epilogue_insns): Fix exit
+	predecessor fallthru flags.
+
+2007-07-20  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (assert_loop_rolls_lt): Convert the operands
+	of compare to the same type.
+	* cfgloopmanip.c (add_loop): Update information about loop exits.
+	(loop_version): Remove the innermost loop requirement.
+	* tree-ssa-loop-manip.c (determine_exit_conditions): Convert bounds
+	to sizetype for pointers.
+
+2007-07-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* Makefile.in (D32PBIT_FUNCS): Add _sd_to_tf and _tf_to_sd.
+	(D64PBIT_FUNCS): Add _dd_to_tf and _tf_to_dd.
+	(D128PBIT_FUNCS): Add _td_to_tf and _tf_to_td.
+
+	* config/dfp-bit.c: Empty for TFmode conversions.
+
+2007-07-18  Caroline Tice  <ctice@apple.com>
+	
+	* 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.
+	
+2007-07-18  Bob Wilson  <bob.wilson@acm.org>
+	
+	* config/xtensa/xtensa.c (xtensa_expand_mask_and_shift): New.
+	(struct alignment_context, init_alignment_context): New.
+	(xtensa_expand_compare_and_swap, xtensa_expand_atomic): New.
+	* config/xtensa/xtensa.h (XCHAL_HAVE_RELEASE_SYNC): Add default.
+	(XCHAL_HAVE_S32C1I): Likewise.
+	(TARGET_RELEASE_SYNC, TARGET_S32C1I): New.
+	* config/xtensa/xtensa.md (UNSPECV_MEMW): New constant.
+	(UNSPECV_S32RI, UNSPECV_S32C1I): Likewise.
+	(ATOMIC, HQI): New macros.
+	(memory_barrier, *memory_barrier): New.
+	(sync_lock_releasesi): New.
+	(sync_compare_and_swapsi, sync_compare_and_swap<mode>): New.
+	(sync_lock_test_and_set<mode>): New.
+	(sync_<atomic><mode>): New.
+	(sync_old_<atomic><mode>, sync_new_<atomic><mode>): New.
+	* config/xtensa/xtensa-protos.h (xtensa_expand_compare_and_swap): New.
+	(xtensa_expand_atomic): New.
+	
+2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR target/30652
+
+	* builtins.c (expand_builtin_interclass_mathfn): Provide a generic
+	transformation for builtin ISNORMAL.
+	(expand_builtin): Handle BUILT_IN_ISNORMAL.
+	* builtins.def (BUILT_IN_ISNORMAL): New.
+	* doc/extend.texi: Document isnormal.
+
+2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR target/30652
+
+	* builtins.c (expand_builtin_interclass_mathfn): Allow for missing
+	optabs infrastructure.  Provide generic implementation for
+	FINITE/ISFINITE.
+	(expand_builtin): Handle FINITE/ISFINITE.
+	(fold_builtin_classify): Make ISFINITE canonical instead of FINITE.
+	(fold_builtin_1): Likewise.
+
+	* builtins.def (BUILT_IN_ISFINITE): New.
+
+	* doc/extend.texi: Document isfinite.
+
+2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR target/30652
+	PR middle-end/20558
+
+	* builtins.c (expand_builtin_interclass_mathfn): Provide a
+	generic fallback for isinf.
+	* c-cppbuiltin.c (builtin_define_float_constants): Move FP max
+	calculation code ...
+	* real.c (get_max_float): ... to here.
+	* real.h (get_max_float): New.
+
+2007-07-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR middle-end/32668
+
+	* builtin-attrs.def (ATTR_TYPEGENERIC,
+	ATTR_CONST_NOTHROW_TYPEGENERIC): New.
+
+	* builtins.def (BUILT_IN_ISINF, BUILT_IN_ISNAN,
+	BUILT_IN_ISGREATER, BUILT_IN_ISGREATEREQUAL, BUILT_IN_ISLESS,
+	BUILT_IN_ISLESSEQUAL, BUILT_IN_ISLESSGREATER,
+	BUILT_IN_ISUNORDERED): Use ATTR_CONST_NOTHROW_TYPEGENERIC.
+
+	* c-common.c (handle_type_generic_attribute): New.
+	(c_common_attribute_table): Add "type generic".
+
+	* c-typeck.c (convert_arguments): Handle "type generic" functions.
+
+2007-07-18  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-sccvn.c (try_to_simplify): Use valid_gimple_expression
+	* tree-ssa-propagate (valid_gimple_expression): Handle ADDR_EXPR
+	properly.
+
+2007-07-18  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32808
+	* config/cris/cris.c (cris_print_index): Don't use XEXP before
+	checking that the operand is an expression.
+
+2007-07-19  Christoph von Wittich  <Christoph_vW@reactos.org>
+	    Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR/other 30335
+	* config/i386/host-mingw32.c (mingw32_gt_pch_use_address): Put
+	file mapping object in local namespace if Windows version later
+	than NT4
+
+2007-07-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/arm/arm-protos.h (arm_cannot_force_const_mem): Declare.
+	* config/arm/arm.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to
+	arm_cannot_force_const_mem.
+	(arm_cannot_force_const_mem): New function.
+	* config/arm/arm.h (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macro.
+	(LEGITIMATE_CONSTANT_P): Test arm_cannot_force_const_mem instead
+	of arm_tls_referenced_p.
+	* config/arm/arm.md (movsi): Split out-of-section constants when
+	ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P.
+	* config/arm/vxworks.h (ARM_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
+
+2007-07-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (clear_cache): Treat the size argument as Pmode.
+
+2007-07-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.md (*extendqihi2): Convert the destination
+	to SImode.
+
+2007-07-17  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* config/pa/fptr.c: Update license header.
+	* config/pa/milli64.S: Likewise.
+
+2007-07-17  Nick Clifton  <nickc@redhat.com>
+
+	* COPYING_v3: New file.  Contains version 3 of the GNU General
+	Public License.
+	* COPYING.LIB_v3: New file.  Contains version 3 of the GNU
+	Lesser General Public License.
+	* doc/include/gpl_v3.texi: New file.  Contains version 3 of
+	the GNU General Public License.
+
+2007-07-17  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR rtl-optimization/32773
+	* cfglayout.c (force_one_exit_fallthru): New function.
+	(cfg_layout_finalize): Use it.
+
+2007-07-16  Richard Guenther  <rguenther@suse.de>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	* tree-if-conv.c (find_phi_replacement_condition): Unshare "*cond"
+	before forcing it to gimple operand.
+
+2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips.h (TUNE_24K): Define.
+	(TUNE_MACC_CHAINS): Add TUNE_24K.
+	* config/mips/mips.md: (*mul_acc_si, *mul_sub_si): Change type to
+	imadd.
+	* config/mips/74k.md (r74k_int_mult): Split madd/msub to ..
+	(r74k_int_madd): .. this new reservation.
+	(define_bypass): Fixed bypasses for r74k_int_madd to use
+	mips_linked_madd_p.
+	* config/mips/24k.md (define_bypass): Define new
+	r24k_int_mul3->r24k_int_madd bypass using mips_linked_madd_p.
+
+2007-07-16  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* 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.
+	(mips_issue_rate): Likewise.
+	* config/mips/mips.h (TUNE_20KC): Define.
+
+2007-07-16  David Edelsohn  <edelsohn@gnu.og>
+
+	* config/rs6000/rs6000.c (struct processor_cost): Add
+	cache_line_size, l1_cache_lines, and simultaneous_prefetches
+	fields.
+	(*_cost): Add cache information.
+	(rs6000_override_options): Set cache parameters.
+
+2007-07-16  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	PR bootstrap/3456
+	* config.gcc (mips-sgi-irix[56]*): Enable pthread support.
+	* doc/install.texi (mips-sgi-irix6): pthread support works now.
+
+2007-07-16  Paul Brook  <paul@codesourcery.com>
+
+	PR target/32753
+	* config/arm/cirrus.md (cirrus_arm_movsi_insn): Remove dead insn.
+	(cirrus_thumb2_movsi_insn): Ditto.
+
+2007-07-15  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/rs6000/darwin-fallback.c (interpret_libc): Change
+	CR2_REGNO to R_CR2.
+
+2007-07-15  Andrew Haley  <aph@redhat.com>
+
+	* unwind-sjlj.c (_Unwind_GetIPInfo): Check for context->fc != NULL
+	before looking in the context.
+
+2007-07-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR middle-end/32398
+	PR middle-end/32769
+	* pa-protos.h (pa_eh_return_handler_rtx): Declare.
+	* pa.c (pa_extra_live_on_entry, rp_saved): Declare.
+	(TARGET_EXTRA_LIVE_ON_ENTRY): Define.
+	(pa_output_function_prologue): Use rp_saved and
+	current_function_is_leaf to generate .CALLINFO statement.
+	(hppa_expand_prologue): Set rp_saved.
+	(hppa_expand_epilogue): Use rp_saved.
+	(pa_extra_live_on_entry, pa_eh_return_handler_rtx): New functions.
+	* pa.h (EH_RETURN_HANDLER_RTX): Use pa_eh_return_handler_rtx.
+
+2007-07-14  Dirk Mueller  <dmueller@suse.de>
+
+	* omega.c (coalesce): Fix memory leak on early exit.
+	* matrix-reorg.c (check_allocation_function): Likewise.
+	* tree-vect-transform.c (vect_get_new_vect_var): free result
+	of concat().
+	* bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+	pass pointer to edge vector
+	(partition_hot_cold_basic_blocks): Fix memory leak.
+	* collect2.c (prefix_from_string): Free temporary storage.
+	* reload1.c (fixup_abnormal_edges): Free sbitmap.
+
+2007-07-14  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.h (DO_GLOBAL_CTORS_BODY): Add void to prototype.
+	(DO_GLOBAL_DTORS_BODY): Likewise.
+
+2007-07-14  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips.c (mips_classify_symbol): Don't return
+	SYMBOL_SMALL_DATA for constant pool addresses if
+	TARGET_EMBEDDED_DATA is true.
+
+2007-07-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (init_mmx_sse_builtins): Define all builtins
+	except __builtin_ia32_emms, __builtin_ia32_ldmxcsr,
+	__builtin_ia32_stmxcsr, __builtin_ia32_maskmovq, __builtin_ia32_loadups,
+	__builtin_ia32_storeups, __builtin_ia32_loadhps, __builtin_ia32_loadlps,
+	__builtin_ia32_storehps, __builtin_ia32_storelps,
+	__builtin_ia32_movntps, __builtin_ia32_movntq, __builtin_ia32_sfence,
+	__builtin_ia32_femms, __builtin_ia32_maskmovdqu, __builtin_ia32_loadupd,
+	__builtin_ia32_storeupd, __builtin_ia32_loadhpd, __builtin_ia32_loadlpd,
+	__builtin_ia32_movnti, __builtin_ia32_movntpd, __builtin_ia32_movntdq,
+	__builtin_ia32_clflush, __builtin_ia32_lfence, __builtin_ia32_mfence,
+	__builtin_ia32_loaddqu, __builtin_ia32_storedqu, __builtin_ia32_monitor,
+	__builtin_ia32_mwait, __builtin_ia32_lddqu, __builtin_ia32_movntdqa,
+	__builtin_ia32_movntsd and __builtin_ia32_movntss as const builtins
+	using def_builtin_const.
+
+2007-07-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR tree-optimization/32705
+	* tree-ssa-sccvn.c (set_ssa_val_to): Accept VN_TOP as value number.
+	(simplify_binary_expression): Use SSA_VAL consistently.
+
+2007-07-13  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/spe.md (SPE_ACC_REGNO): Delete definition.
+	(SPEFSCR_REGNO): Delete definition.
+	* config/rs6000/rs6000.c: LINK_REGISTER_REGNUM -> LR_REGNO.
+	COUNT_REGISTER_REGNUM -> CTR_REGNO.
+	* config/rs6000/rs6000.h: Do not define *_REGNO.
+	LINK_REGISTER_REGNUM -> LR_REGNO.
+	COUNT_REGISTER_REGNUM -> CTR_REGNO.
+	* config/rs6000/predicates.md: LINK_REGISTER_REGNUM -> 	LR_REGNO.
+	COUNT_REGISTER_REGNUM -> CTR_REGNO.
+	* config/rs6000/linux-unwind.h: Define R_LR, R_CR2, R_VR0,
+	R_VRSAVE, R_VSCR. Use them.
+	* config/rs6000/darwin-fallback.c: Define R_LR, R_CTR, R_CR2,
+	R_XER, R_VR0, R_VRSAVE, R_VSCR, R_SPEFSCR.  Use them.
+	* config/rs6000/rs6000.md: Define REGNO constants.  Use them.
+	* config/rs6000/aix.h: Define R_LR.  Use it.
+	
+2007-07-13  Caroline Tice  <ctice@apple.com>
+	
+	* toplev.c (process_options): Turn flag_var_tracking_uninit off when
+	flag_var_tracking is explicitly turned off (i.e. when variable
+	tracking is not feasible); otherwise, turn flag_var_tracking on when
+	flag_var_tracking_uninit is on.
+	* rtl.def (VAR_LOCATION): Add a new integer subfield to VAR_LOCATION
+	note definitions, to allow recording of initialization status in the
+	notes.
+	* dwarf2out.c (dwarf_stack_op_name): Add case for DW_OP_GNU_uninit.
+	(add_var_loc_to_decl): Add comparison of NOTE_VAR_LOCATION_STATUS to
+	determine if two note locations are equal.
+	(output_loc_list): Don't output list entries whose start & end labels
+	are the same.
+	(reg_loc_descriptor): Add parameter for initialization status; pass it
+	to other loc descriptor functions.
+	(one_reg_loc_descriptor): Add parameter for initialization status;
+	check its value and add DW_OP_GNU_uninit to returned loc descr if
+	appropriate.
+	(multiple_reg_loc_descriptor): Add parameter for initialization
+	status;
+	pass init status argument to other loc descriptor functions; check
+	value of intialization parameter and add DW_OP_GNU_uninit to returned
+	loc descr if appropriate.
+	(based_loc_descr): Add parameter for initialization status; add new
+	variable for return value; check value of initialization parameter and
+	add DW_OP_GNU_uninit to returned loc descr if appropriate.
+	(concatn_mem_loc_descriptor): Add parameter for initialization status;
+	pass init status argument to other loc descriptor functions; check
+	value of intialization parameter and add DW_OP_GNU_uninit to returned
+	loc descr if appropriate.
+	(mem_loc_descriptor): Likewise.
+	(concat_loc_descriptor): Likewise.
+	(concatn_loc_descriptor): Likewise.
+	(loc_descriptor): Add parameter for initialization status; pass it as
+	argument to other loc descriptor function calls.
+	(loc_descriptor_from_tree_1): Add appropriate initialization status
+	to loc descriptor function calls.
+	(add_location_or_const_value_attribute): Get initialization status
+	from VAR_LOCATION note; add initialization status to loc descriptor
+	function calls.
+	* dwarf2.h (enum dwarf_location_atom): New op, DW_OP_GNU_uninit.
+	* print-rtl.c (print_rtx): When printing a VAR_LOCATION note, if
+	status is uninitialized, add "[uninint]" to output.
+	* common.opt (fvar-tracking-uninit): New option, similar to
+	fvar-tracking, to turn on tracking of uninitialized variables; creates
+	a new global flag, flag_var_tracking_uninit.
+	* rtl.h (NOTE_VAR_LOCATION_STATUS): New macro for accessing new field.
+	(enum var_init_status): New type, for var initialization status field.
+	* var-tracking.c (struct location_chain_def): Two new fields, init,
+	for initialization status, and set_src for the assignment value expr.
+	(unshare_variable): New parameter for initialization status;
+	initialize new init and set_src fields.
+	(var_reg_set): New parameters for initialization status and value;
+	pass them to set_variable_part.
+	(var_mem_set): Likewise.
+	(get_init_value): New function.
+	(var_reg_delete_and_set): New initialization status & value
+	parameters; add call to get_init_value if status is unknown; pass new
+	parameters to clobber_variable_part and var_reg_set.
+	(var_mem_delete_and_set): Likewise.
+	(var_reg_delete): Pass null set_src value to clobber_variable_part.
+	(var_mem_delete): Likewise.
+	(variable_union): Pass status to unshare_variable; initialize new init
+	and set_src fields. If flag_var_tracking_uninit is not set, force
+	status to initialized.
+	(add_stores): Store insn, rather than NEXT_INSN(insn), so it can be
+	used later to get the set_src value.
+	(find_src_status): New function.
+	(find_src_set_src): New function.
+	(compute_bb_dataflow): Pass init status to calls to var_reg_set,
+	var_mem_set, var_reg_delete_and_set and var_mem_delete_and_set; for
+	MO_SET, get set_src value and pass it to var_reg_delete_and_set
+	and var_mem_delete_and_set.
+	(dump_variable): Print out "[uninit]" if appropriate.
+	(set_variable_part): Add new initialization and set_src parameters;
+	pass status to unshare_variable; set node->init and node- >set_src
+	fields and modify slot in hash table appropriately; save the init and
+	set_src values if appropriate and assign to the new node.
+	(clobber_variable_part): New set_src parameter; if two nodes have
+	same variable and same location but different set_src (assignment)
+	values, clobber old node.
+	(delete_variable_part): Pass init status to unshare_variable.
+	(emit_note_insn_var_location): Add initialized var; assign var's init
+	status to new 'initialized'; pass new init status field to calls to
+	gen_rtx_VAR_LOCATION. If flag_var_tracking_uninit is not set, force
+	status to initialized.
+	(emit_notes_in_bb): Pass initialization status to calls to
+	var_reg_set, var_mem_set, var_reg_delete_and_set and
+	var_mem_delete_and_set; for MO_SET, get set_src value and pass it to
+	var_reg_delete_and_set and var_mem_delete_and_set; call
+	emit_notes_for_changes on NEXT_INSN(insn) rather than on insn, to
+	make up for change in add_stores.
+	(vt_add_function_parameters): Add status to calls to
+	set_variable_part.
+	* config/darwin.c (darwin_override_options): Turn on uninitialized
+	tracking automatically, if var_tracking is on and the system is
+	10.5 or higher.
+	
+2007-07-13  Sa Liu  <saliu@de.ibm.com>
+
+	* config.gcc: Add options for arch and tune on SPU.
+	* config/spu/predicates.md: Add constant operands 0 and 1.
+	* config/spu/spu-builtins.def: Add builtins for double precision 
+	floating point comparison: si_dfceq, si_dfcmeq,	si_dfcgt, si_dfcmgt, 
+	si_dftsv, spu_cmpeq_13, spu_cmpabseq_1, spu_cmpgt_13, spu_cmpabsgt_1,
+	spu_testsv.
+	* config/spu/spu-c.c: Define __SPU_EDP__ when builtins invoked with 
+	a CELLEDP target.
+	* config/spu/spu-protos.h: Add new function prototypes. 
+	* config/spu/spu.c (spu_override_options): Check options -march and
+	-mtune.
+	(spu_comp_icode): Add comparison code for DFmode and vector mode.
+	(spu_emit_branch_or_set): Use the new code for DFmode and vector 
+	mode comparison.
+	(spu_const_from_int): New.  Create a vector constant from 4 ints.
+	(get_vec_cmp_insn): New.  Get insn index of vector compare instruction.
+	(spu_emit_vector_compare): New.  Emit vector compare.
+	(spu_emit_vector_cond_expr): New.  Emit vector conditional expression.
+	* config/spu/spu.h: Add options -march and -mtune.  Define processor
+	types PROCESSOR_CELL and PROCESSOR_CELLEDP.  Define macro
+	CANONICALIZE_COMPARISON.
+	* config/spu/spu.md: Add new insns for double precision compare
+	and double precision vector compare.  Add vcond and smax/smin patterns
+	to enable DFmode vector conditional expression.
+	* config/spu/spu.opt: Add options -march and -mtune.
+	* config/spu/spu_internals.h: Add builtins for CELLEDP target:
+	si_dfceq, si_dfcmeq, si_dfcgt, si_dfcmgt, si_dftsv.  Add builtin for
+	both CELL and CELLEDP targets: spu_testsv.
+	* config/spu/spu_intrinsics.h: Add flag mnemonics for test special 
+	values.
+
+2007-07-13  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32721
+	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Preserve
+	TREE_THIS_VOLATILE on the folded reference.
+	* tree-ssa-operands.c (get_expr_operands): Set has_volatile_ops
+	if the array reference has TREE_THIS_VOLATILE set.
+
+2007-07-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR other/32188
+	* doc/libgcc.texi: Update DFP intrinsics for DPD and BID.
+
+2007-07-13  Andreas Schwab  <schwab@suse.de>
+
+	* gengtype-lex.l: Allow declarations to be indented.
+
+2007-07-12  Geoffrey Keating  <geoffk@apple.com>
+
+	* ginclude/tgmath.h: New.
+	* config.gcc: Use GCC's tgmath.h on non-glibc systems.
+	* doc/sourcebuild.texi (Headers): Document use_gcc_tgmath.
+	* configure.ac (STMP_FIXPROTO): Honor use_gcc_tgmath.
+	* configure: Regenerate.
+
+2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/linux-unwind.h (sh_fallback_frame_state): Use
+	correct index when setting register save state for xd
+	registers.
+
+2007-07-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.c (mark_use): Remove.
+
+2007-07-12  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (thumb1_compute_save_reg_mask): Make sure scratch
+	reg does not overlap return value.
+
+2007-07-12  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-pre.c (get_expression_vuses): Move out side-effect.
+	(set_expression_vuses): Ditto.
+	(init_pre): Initialize expression_vuses.
+
+2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* config/i386/sse.md (storentdf, storentsf): New.
+
+2007-07-12  Geoffrey Keating  <geoffk@apple.com>
+
+	* builtins.c (get_pointer_alignment): Honor DECL_ALIGN on a
+	FUNCTION_DECL.
+	* tree.c (build_decl_stat): Move code from here...
+	(make_node_stat): ... to here.  Don't uselessly clear DECL_USER_ALIGN.
+	(expr_align): Honor DECL_ALIGN on a FUNCTION_DECL.  Add comment
+	about using DECL_ALIGN of LABEL_DECL and CONST_DECL.
+	* tree.h (DECL_USER_ALIGN): Fix misplaced comment.
+	* varasm.c (assemble_start_function): Use DECL_ALIGN instead of
+	FUNCTION_BOUNDARY.
+
+2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
+	    Devang Patel  <dpatel@apple.com>
+
+	PR tree-optimization/25413
+	* targhooks.c (default_builtin_vector_alignment_reachable): New.
+	* targhooks.h (default_builtin_vector_alignment_reachable): New.
+	* tree.h (contains_packed_reference): New.
+	* expr.c (contains_packed_reference): New.
+	* tree-vect-analyze.c (vector_alignment_reachable_p): New.
+	(vect_enhance_data_refs_alignment): Call
+	vector_alignment_reachable_p.
+	* target.h (vector_alignment_reachable): New builtin.
+	* target-def.h (TARGET_VECTOR_ALIGNMENT_REACHABLE): New.
+	* config/rs6000/rs6000.c (rs6000_vector_alignment_reachable): New.
+	(TARGET_VECTOR_ALIGNMENT_REACHABLE): Define.
+
+2007-07-12  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* target.h (builtin_vectorization_cost): Add new target builtin.
+	* target-def.h (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): New.
+	* tree-vectorizer.h (TARG_SCALAR_STMT_COST): New.
+	(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST): New.
+	* tree-vect-analyze.c (vect_analyze_slp_instance): Initisliaze
+	uninitialized variables.
+	* tree-vect-transform.c (cost_for_stmt): New function.
+	(vect_estimate_min_profitable_iters): Call cost_for_stmt instead of
+	using cost 1 for all scalar stmts. Be less conservative when
+	estimating the number of prologue/epulogue iterations. Call
+	targetm.vectorize.builtin_vectorization_cost. Return
+	min_profitable_iters-1.
+	(vect_model_reduction_cost): Use TARG_SCALAR_TO_VEC_COST for
+	initialization cost instead of TARG_VEC_STMT_COST. Use
+	TARG_VEC_TO_SCALAR_COST instead of TARG_VEC_STMT_COST for reduction
+	epilogue code. Fix epilogue cost computation.
+	* config/spu/spu.c (spu_builtin_vectorization_cost): New.
+	(TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Implement.
+	* config/spu/spu.h (TARG_COND_BRANCH_COST, TARG_SCALAR_STMT_COST):
+	(TARG_SCALAR_LOAD_COST, TARG_SCALAR_STORE_COST, TARG_VEC_STMT_COST):
+	(TARG_VEC_TO_SCALAR_COST, TARG_SCALAR_TO_VEC, TARG_VEC_LOAD_COST):
+	(TARG_VEC_UNALIGNED_LOAD_COST, TARG_VEC_STORE_COST): Define.
+
+2007-07-12  Richard Guenther  <rguenther@suse.de>
+
+	* gimplify.c (gimplify_conversion): Make sure that the result
+	from maybe_fold_offset_to_reference is trivially convertible
+	to the desired type before doing the simplification.
+	(gimplify_expr): Likewise.
+	* fold-const.c (fold_binary): Use the correct types for
+	building the simplified expression.
+
+2007-07-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR rtl-optimization/32729
+	* cfghooks.c (can_duplicate_block_p): Do not forbid duplicating blocks
+	that fallthru to exit.
+
+2007-07-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.md (symGOTOFF2reg): Add missing parenthesis.
+	(symDTPOFF2reg): Likewise.
+
+2007-07-11  Daniel Berlin  <dberlin@dberlin.org>
+
+	PR tree-optimization/32663
+	
+	* tree.h (VALUE_HANDLE_VUSES): Remove.
+	(struct tree_value_handle): Remove vuses.
+
+	* tree-vn.c (create_value_handle_for_expr): Don't set
+	VALUE_HANDLE_VUSES. 
+
+	* tree-ssa-pre.c (expression_vuses): New.
+	(alloc_expression_id): Set up expression_vuses.
+	(get_expression_vuses): New.
+	(set_expression_vuses): Ditto.
+	(clear_expression_ids): Modify for expression_vuses.
+	(phi_translate_1): Ditto.
+	(phi_translate_set): Ditto.
+	(value_dies_in_block_x): Ditto
+	(valid_in_sets): Ditto.
+	(add_to_sets): Ditto.
+	(find_existing_value_expr): Ditto.
+	(create_value_handle_for_expr): Ditto.
+	(make_values_for_stmt): Ditto.
+	(vuse_equiv): Remove.
+
+2007-07-11  Alexandre Oliva  <aoliva@redhat.com>
+
+	* Makefile.in (mostlyclean): Remove object files.
+
+2007-07-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* toplev.c (no_new_pseudos): Deleted.
+	* rtl.h (no_new_pseudos): Deleted.
+	* tree-pass.h (pass_no_new_pseudos): Deleted. 
+	* passes.c (pass_no_new_pseudos): Deleted.
+	* final.c (rest_of_clean_state): Removed no_new_pseudos.
+	(rest_of_no_new_pseudos, pass_no_new_pseudos): Deleted.
+	* struct-equiv.c (rtx_equiv_p): Replaced no_new_pseudos with 
+	reload_completed.
+	* cfgcleanup.c (try_crossjump_to_edge): Ditto. 
+	* rtlhooks.c (gen_lowpart_general): Ditto.
+	* optabs.c (prepare_operand): Ditto.
+	* mode-switching.c (rest_of_handle_mode_switching): Deleted set of
+	no_new_pseudos.
+	* modulo-sched.c (rest_of_handle_sms): Ditto.
+	* see.c (rest_of_handle_see): Ditto.
+	* ifcvt.c (if_convert): Ditto.
+	(gate_handle_if_after_combine): Replaced no_new_pseudos with 
+	reload_completed.
+	* init-regs.c (gate_initialize_regs): Deleted set of
+	no_new_pseudos.
+	* lower-subreg.c (decompose_multiword_subregs): Ditto. 
+	* bb-reorder.c (rest_of_handle_partition_blocks): Ditto.
+	* doc/md.texi: Changed no_new_pseudos to can_create_pseudo_p.
+	
+2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32661
+	* config/i386/sse.md (*sse2_storeq_rex64): Handle 64bit mem->reg moves.
+	(*vec_extractv2di_1_sse2): Disable for TARGET_64BIT.
+	(*vec_extractv2di_1_rex64): New insn pattern.
+
+2007-07-11  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/linux-unwind.h (mips_fallback_frame_state): Rewrite
+	return address calculation.  Substitute DWARF_ALT_FRAME_RETURN_COLUMN
+	for SIGNAL_UNWIND_RETURN_COLUMN.
+	* config/mips/mips.h (SIGNAL_UNWIND_RETURN_COLUMN): Remove.
+	(DWARF_FRAME_REGNUM): Rewrite.
+	(DWARF_ALT_FRAME_RETURN_COLUMN) Define.
+
+2007-07-11  Nick Clifton  <nickc@redhat.com>
+
+	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Revert previous
+	delta and use gen_int_mode in place of GET_INT instead.
+
+2007-07-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* reg-stack.c (struct tree_opt_pass pass_stack_regs): Nullify name
+	and letter field.
+
+2007-07-11  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* params.def (PARAM_VERIFY_CANONICAL_TYPES): Remove.
+	(PARAM_USE_CANONICAL_TYPES): New; decides whether to use canonical 
+	types or not.
+	* params.h (VERIFY_CANONICAL_TYPES): Remove.
+	(USE_CANONICAL_TYPES): New.
+	* doc/invoke.texi (verify-canonical-types): Remove.
+	(use-canonical-types): Add.
+
+2007-07-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* config/spu/spu.c (spu_optimization_options): Remove setting of
+	parameter PARAM_MAX_COMPLETELY_PEEL_TIMES.
+	(spu_override_options): Move it here.
+
+2007-07-11  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Handle -m4ksc and -m4ksd.
+	* config/mips/mips.c (mips_cpu_info_table): Mention
+	MIPS_ISA_LEVEL_SPEC in the comment.
+
+2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR tree-optimization/32713
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle REAL_CST.
+
+2007-07-11  Paolo Carlini  <pcarlini@suse.de>
+
+	PR middle-end/30482
+	* c-opts.c (c_common_post_options): Do not change flag_complex_method
+	conditional to flag_isoc99.
+	(c_common_init_options): Do it here, unconditionally.
+
+2007-07-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	PR tree-optimization/32589
+	* doc/tree-ssa.texi (Rough GIMPLE Grammar): Add missing rule.
+	* tree-gimple.c (is_gimple_min_invariant): Clarify head comment.
+	* tree-ssa-propagate.c (valid_gimple_expression_p): New
+	predicate, extracted from...
+	(set_rhs): ...here.  Call it for the expression on entry.
+	* tree-ssa-propagate.h (valid_gimple_expression_p): Declare.
+	* tree-ssa-sccvn.c: Include tree-ssa-propagate.h.
+	(simplify_binary_expression): Use valid_gimple_expression_p
+	to validate the simplification.
+	* Makefile.in (tree-ssa-sccvn.o): Depends on tree-ssa-propagate.h.
+
+2007-07-11  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* config/i386/cygming.h (PREFERRED_DEBUGGING_TYPE): Define to
+	DWARF2_DEBUG on 32 bit target too.
+	(DWARF2_UNWIND_INFO): Reorganize 64-bit vs 32-bit definition. 
+
+2007-07-11  Nick Clifton  <nickc@redhat.com>
+
+	* config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Provide alternative
+	version for 64-bit hosts.
+
+2007-07-10  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.h (ISA_HAS_SYNCI): New target capability
+	predicate.
+	(INITIALIZE_TRAMPOLINE): Emit clear_cache insn instead of  library
+	call.
+	* config/mips/mips.c (mips_expand_synci_loop): New function.
+	* config/mips/mips.md (UNSPEC_CLEAR_HAZARD): New constant.
+	(UNSPEC_RDHWR): Same.
+	(UNSPEC_SYNCI): Same.
+	(UNSPEC_SYNC): Same.
+	(clear_cache): New expand.
+	(sync): New insn.
+	(synci): Same.
+	(rdhwr): Same.
+	(clear_hazard): Same.
+	* config/mips/mips-protos.h (mips_expand_synci_loop): Declare
+	function.
+	* testsuite/gcc.target/mips/clear-cache-1.c: New test.
+	* testsuite/gcc.target/mips/clear-cache-2.c: New test.
+
+2007-07-10  Ian Lance Taylor  <iant@google.com>
+
+	* emit-rtl.c (gen_reg_rtx): Check can_create_pseudo_p rather than
+	no_new_pseudos.
+
+2007-07-10  David Daney  <ddaney@avtrex.com>
+
+	* builtins.def (BUILT_IN_CLEAR_CACHE): New builtin.
+	* builtins.c (expand_builtin___clear_cache): New function.
+	(expand_builtin): Call expand_builtin___clear_cache for
+	BUILT_IN_CLEAR_CACHE case.
+	* doc/extend.texi (__builtin___clear_cache): Document new builtin.
+	* doc/md.texi (clear_cache): Document new instruction pattern.
+	* testsuite/gcc.dg/builtins-64.c: New test.
+
+2007-07-11  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.md ("movsi"): Fix typo in last change.
+
+2007-07-09  Geoffrey Keating  <geoffk@apple.com>
+
+	PR 32617
+	* c-common.c (c_alignof_expr): Look at DECL_ALIGN of
+	FUNCTION_DECLs.
+	(handle_aligned_attribute): Allow use on FUNCTION_DECLs.
+	* varasm.c (assemble_start_function): Honor DECL_ALIGN
+	for FUNCTION_DECLs.  Don't use align_functions_log if
+	DECL_USER_ALIGN.
+	* print-tree.c (print_node): Print DECL_ALIGN and DECL_USER_ALIGN
+	even for FUNCTION_DECLs.
+	* c-decl.c (merge_decls): Propagate DECL_ALIGN even for
+	FUNCTION_DECLs.
+	* tree.h (DECL_ALIGN): Update for new location of 'align'.
+	(DECL_FUNCTION_CODE): Update for new location and name of
+	'function_code'.
+	(DECL_OFFSET_ALIGN): Update for new location of 'off_align'.
+	(struct tree_decl_common): Move 'align' and 'off_align' out
+	of union, ensure they're still on a 32-bit boundary.  Remove
+	other fields in union 'u1'.
+	(struct tree_function_decl): Add field 'function_code' replacing
+	'u1.f' in tree_decl_common.
+	* tree.c (build_decl_stat): Set initial value of DECL_ALIGN.
+	* doc/extend.texi (Function Attributes): Add 'aligned' attribute.
+	(Variable Attributes): Cross-reference 'aligned' attribute
+	to Function Attributes.
+	* flags.h (force_align_functions_log): Delete.
+	* toplev.c (force_align_functions_log): Delete.
+
+2007-07-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32708
+	* config/i386/sse.md (vec_concatv2di): Disable for TARGET_64BIT.
+	(*vec_concatv2di_rex): New insn pattern.
+
+2007-07-10  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	PR target/32538
+	* config/mips/iris6.h (LIBGCC_SPEC): Add libm.
+
+2007-07-10  Ian Lance Taylor  <iant@google.com>
+
+	Replace no_new_pseudos in backends.
+	* rtl.h (can_create_pseudo_p): Define.
+	* config/darwin.c (machopic_indirect_data_reference): Use
+	can_create_pseudo_p () instead of no_new_pseudos.
+	(machopic_indirect_data_reference): Likewise.
+	(machopic_legitimize_pic_address): Likewise.
+	* config/alpha/alpha.c (alpha_legitimize_address): Likewise.
+	(alpha_emit_set_const_1): Likewise.
+	(alpha_emit_set_const): Likewise.
+	(alpha_emit_conditional_move): Likewise.
+	(alpha_split_conditional_move): Likewise.
+	* config/alpha/alpha.md (various splitters): Likewise.
+	(movti): Likewise.
+	* config/arm/arm.c (legitimize_pic_address): Likewise.
+	(arm_load_pic_register): Likewise.
+	* config/arm/arm.md (addsi3, subsi3, andsi3, iorsi3): Likewise.
+	(movdi, movsi, movhi, movqi, movsf, movdf): Likewise.
+	* config/bfin/bfin.c (legitimize_pic_address): Likewise.
+	* config/cris/cris.c (cris_expand_pic_call_address): Likewise.
+	* config/cris/cris.md (movsi): Likewise.
+	* config/frv/frv.md (symGOT2reg_hilo): Likewise.
+	(symGOTOFF2reg_hilo): Likewise.
+	(symGPREL2reg, symGPREL2reg_hilo): Likewise.
+	* config/h8300/h8300.md (insv, extzv): Likewise.
+	* config/i386/i386.c (ix86_expand_move): Likewise.
+	(ix86_expand_vector_move): Likewise.
+	(ix86_prepare_fp_compare_args): Likewise.
+	(ix86_expand_carry_flag_compare): Likewise.
+	* config/i386/i386.md (tls_dynamic_gnu2_32): Likewise.
+	(tls_dynamic_gnu2_combine_32): Likewise.
+	(tls_dynamic_gnu2_64, tls_dynamic_gnu2_combine_64): Likewise.
+	* config/ia64/ia64.c (ia64_expand_move): Likewise.
+	(ia64_expand_movxf_movrf): Likewise.
+	* config/m32c/m32c.c (m32c_prepare_move): Likewise.
+	(m32c_split_move): Likewise.
+	(m32c_expand_insv): Likewise.
+	* config/m68k/m68k.md (movsi): Likewise.
+	* config/mips/mips.c (mips_force_temporary): Likewise.
+	(mips_split_symbol): Likewise.
+	(mips_move_integer): Likewise.
+	(mips_legitimize_const_move): Likewise.
+	* config/mn10300/mn10300.md (movsi): Likewise.
+	* config/pa/pa.c (emit_move_sequence): Likewise.
+	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
+	(rs6000_got_register): Likewise.
+	(create_TOC_reference): Likewise.
+	(rs6000_machopic_legitimize_pic_address): Likewise.
+	* config/rs6000/rs6000.md (add<mode>3): Likewise.
+	(various splitters): Likewise.
+	(iorsi3, xorsi3, iordi3, xordi3): Likewise.
+	(movsi_got): Likewise.
+	* config/s390/s390.c (emit_symbolic_move): Likewise.
+	* config/s390/s390.md (movhi, movqi): Likewise.
+	(load_multiple, store_multiple): Likewise.
+	* config/score/score.c (score_force_temporary): Likewise.
+	* config/sh/sh.c (prepare_move_operands): Likewise.
+	(prepare_cbranch_operands): Likewise.
+	(emit_fpu_switch): Likewise.
+	(fpscr_set_from_mem): Likewise.
+	* config/sh/sh.md (movdicc, movsicc, movsicc_umin): Likewise.
+	(adddi3, subsi3): Likewise.
+	(various splitters): Likewise.
+	(divsi_inv_fp_combine): Likewise.
+	(symGOT_load, symGOTOFF2reg, symDTPOFF2reg): Likewise.
+	(seq, slt, sle, sgt, sge, sgtu, sltu, sleu, sgeu): Likewise.
+	(sne): Likewise.
+	* config/sh/predicates.md (xor_operand): Likewise.
+	* config/sparc/sparc.c (legitimize_tls_address): Likewise.
+	* config/sparc/sparc.md (movsi_pic_label_ref): Likewise.
+	(movdi_pic_label_ref): Likewise.
+	* config/spu/spu.c (spu_split_immediate): Likewise.
+	* config/alpha/alpha.md (various splitters): Remove test
+	!no_new_pseudos || reload_completed.
+	* config/ia64/ia64.c (ia64_output_mi_thunk): Don't set
+	no_new_pseudos.
+	* config/m68k/m68k.c (m68k_output_mi_thunk): Likewise.
+	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
+	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+	* config/score/score.c (th_output_mi_thunk): Likewise.
+	* config/sh/sh.c (sh_output_mi_thunk): Likewise.
+	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+
+2007-07-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR rtl-optimization/32664
+	* mode-switching.c (create_pre_exit): Skip barrier insns.
+
+2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-scalar-evolution.c (scev_const_prop): Add arguments to
+	force_gimple_operand_bsi.
+	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr,
+	rewrite_use_compare): Ditto.
+	* tree-ssa-address.c (gimplify_mem_ref_parts, create_mem_ref):
+	Ditto.
+	* tree-ssa-ifcombine.c (ifcombine_ifandif): Ditto.
+	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
+	* lambda-code.c (replace_uses_equiv_to_x_with_y): Ditto.
+	* tree-profile.c (prepare_instrumented_value,
+	tree_gen_interval_profiler, tree_gen_pow2_profiler,
+	tree_gen_one_value_profiler, tree_gen_ic_profiler,
+	tree_gen_ic_func_profiler, tree_gen_average_profiler,
+	tree_gen_ior_profiler): Ditto.
+	* tree-ssa-reassoc.c (negate_value): Ditto.
+	* matrix-reorg.c (transform_access_sites, transform_allocation_sites):
+	Use force_gimple_operand_bsi.
+	* tree-vect-transform.c (vect_update_ivs_after_vectorizer): Ditto.
+	* tree-if-conv.c (add_to_dst_predicate_list,
+	find_phi_replacement_condition): Ditto.
+	* gimplify.c (force_gimple_operand_bsi): Add before and m arguments.
+	Call mark_symbols_for_renaming for new statements.
+	* tree-flow.h (force_gimple_operand_bsi): Declaration changed.
+
+2007-07-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* cfghooks.c (remove_edge): New function.
+	(redirect_edge_and_branch, remove_branch, merge_blocks): Updated
+	loop exit rescans.
+	* cfghooks.h (remove_edge): Declare.
+	* cfg.c (remove_edge): Renamed to remove_edge_raw.
+	* basic-block.h (remove_edge): Declaration changed to remove_edge_raw.
+
+2007-07-09  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+	* optabs.h: Added declaration for signbit_optab.  
+	* optabs.c: (init_optabs): Added initialization for signbit_optab.
+	* genoptinit.c (optabs): Added entry for signbit insns.  
+	* builtins.c (expand_builtin_signbit): Added code to use a signbit
+	insn, if available.  
+	* config/s390/s390.h (S390_TDC_SIGNBIT_SET): New constant.  
+	* config/s390/s390.md (signbit<mode>2): New expander.  
+
+2007-07-09  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32698
+	* fold-const.c (fold_plusminus_mult_expr): Move constant
+	arguments second to allow decomposing.
+
+2007-07-09  Alexandre Oliva  <aoliva@oliva.athome.lsd.ic.unicamp.br>
+
+	Revert:
+	2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
+	PR debug/23551
+	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+	Disregard DECL_FROM_INLINE.
+
+2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/27855
+	* doc/invoke.texi: Add ftree-reassoc flag.
+	* common.opt (ftree-reassoc): New flag.
+	* tree-ssa-reassoc.c (gate_tree_ssa_reassoc): New static function.
+	(struct tree_opt_pass pass_reassoc): Use gate_tree_ssa_reassoc.
+
+2007-07-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32681
+	* tree-if-conv.c (find_phi_replacement_condition): Use the condition
+	saved in second_edge->aux when first_bb is a loop header.
+
+2007-07-09  Jan HUbicka  <jh@suse.cz>
+
+	* cse.c (cse_insn): Avoid invalid sharing on trial replacement.
+
+2007-07-09  Richard Guenther  <rguenther@suse.de>
+
+	* c-decl.c (start_function): Do not promote return type.
+
+2007-07-08  Daniel Franke  <franke.daniel@gmail.com>
+
+	* function.c (do_warn_unused_parameter): Do not warn if
+	TREE_NO_WARNING is set.
+
+2007-07-08  Andreas Schwab  <schwab@suse.de>
+
+	* doc/invoke.texi (DEC Alpha/VMS Options): Fix typo.
+
+2007-07-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+	Revert this patch:
+	2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
+	apply to assembly language, too.
+	* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
+
+2007-07-07  Daniel Berlin  <dberlin@dberlin.org>
+
+	Revert (note the sccvn portions are *not* reverted)
+	2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/23488
+
+	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
+	handles.
+	* tree-flow-inline.h (get_value_handle): Ditto.
+	* tree-ssa-pre.c (decl_vh_map): New.
+	(decl_node_pool): New.
+	(can_value_number_operation): Support DECL_P.
+	(can_PRE_operation): Ditto.
+	(create_expression_by_pieces): Ditto.
+	(find_existing_value_expr): Modify to differnetiate between
+	addressing and top level.
+	(create_value_handle_for_expr): Handle DECL's.
+	(poolify_tree): Ditto.
+	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
+	(make_values_for_stmt): Handle DECL's properly.
+	(init_pre): Reorg to not init useless things during FRE.
+	(fini_pre): Ditto.
+	* tree-flow.h: Include pointer-set.h.
+	(decl_vh_map): Declare.
+	* Makefile.in (TREE_FLOW_H): Add pointer-set.h
+
+2007-07-07 Eric Weddington  <eweddington@cso.atmel.com>
+
+	* config/avr/constraints.md (define_memory_constraint "Q"): Fix
+	the constraint description.
+	* doc/md.texi: Update documentation of AVR constraints.
+
+2007-07-07  Kazu Hirata  <kazu@codesourcery.com>
+
+	* auto-inc-dec.c, config/arm/arm.c,
+	config/m32r/constraints.md, config/mips/mips.md,
+	config/rs6000/rs6000.c, cselib.c, dce.c, df-core.c,
+	df-problems.c, df-scan.c, df.h, dse.c, gimplify.c,
+	tree-if-conv.c, tree-ssa-sccvn.c, tree-ssa.c: Fix comment
+	typos.  Follow spelling conventions.
+	* doc/invoke.texi, doc/rtl.texi: Fix typos.
+
+	* cfgrtl.c (delete_insn_chain_and_edges): Remove.
+	* rtl.h: Remove the prototype for delete_insn_chain_and_edges.
+
+	* tree-ssa-operands.c (realloc_vop, realloc_vdef,
+	realloc_vuse): Remove.
+	* tree-ssa-operands.h: Remove the prototype for realloc_vdef
+	and realloc_vuse.
+
+2007-07-06  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/23488
+
+	* tree-ssa-sccvn.c (expr_has_constants): Handle tcc_declaration.
+	(try_to_simplify): Ditto.
+	(visit_use): Ditto.
+	* tree-vn.c (set_value_handle): Use decl_vh_map for decl value
+	handles.
+	* tree-flow-inline.h (get_value_handle): Ditto.
+	* tree-ssa-pre.c (decl_vh_map): New.
+	(decl_node_pool): New.
+	(can_value_number_operation): Support DECL_P.
+	(can_PRE_operation): Ditto.
+	(create_expression_by_pieces): Ditto.
+	(find_existing_value_expr): Modify to differnetiate between
+	addressing and top level.
+	(create_value_handle_for_expr): Handle DECL's.
+	(poolify_tree): Ditto.
+	(make_values_for_phi): Don't insert into PHI_GEN during FRE.
+	(make_values_for_stmt): Handle DECL's properly.
+	(init_pre): Reorg to not init useless things during FRE.
+	(fini_pre): Ditto.
+	* tree-flow.h: Include pointer-set.h.
+	(decl_vh_map): Declare.
+	* Makefile.in (TREE_FLOW_H): Add pointer-set.h
+		
+2007-07-06  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* c-opts.c (c_common_handle_option): Make DOLLARS_IN_IDENTIFIERS
+	apply to assembly language, too.
+	* doc/tm.texi (DOLLARS_IN_IDENTIFIERS): Update.
+
+2007-07-06  Ian Lance Taylor  <iant@google.com>
+	    Zack Weinberg  <zackw@panix.com>
+
+	PR middle-end/32441
+	* builtins.c (std_expand_builtin_va_start): Don't use make_tree.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/sh/sh.md (*prefetch_i4): Disable for TARGET_VXWORKS_RTP.
+	(prefetch): Likewise if "pref" would be used.
+
+2007-07-06  Josh Conner  <jconner@apple.com>
+
+	PR middle-end/32602
+	PR middle-end/32603
+	* calls.c (store_one_arg): Handle arguments which are partially
+	on the stack when detecting argument overlap.
+
+2007-07-06  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* reload1.c (choose_reload_regs): Set reload_spill_index for regs
+	chosen during find_reloads.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+	* gimplify.c (gimplify_call_expr): Prefer DECL_ARGUMENTS over
+	TYPE_ARG_TYPES for verification of argument types.  Use
+	DECL_ARG_TYPE instead of the PARM_DECL type.  Take excess
+	parameters as variable arguments.
+
+2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* libgcc2.h (word_type): Type definition removed.
+	(cmp_return_type, shift_count_type): Type definitions added.
+	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+	replaced with shift_count_type.
+	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
+	cmp_return_type.
+	* libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
+	changed from word_type to Wtype.
+	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
+	replaced with shift_count_type.
+	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
+	cmp_return_type.
+	* c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return
+	and libgcc_shift_count attribute added.
+	* target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
+	TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
+	(TARGET_INITIALIZER): New target hooks added.
+	* targhooks.c (default_libgcc_cmp_return_mode,
+	default_libgcc_shift_count_mode): Default implementations for the new
+	target hooks added.
+	* targhooks.h (default_libgcc_cmp_return_mode,
+	default_libgcc_shift_count_mode): Function prototypes added.
+	* target.h (struct gcc_target): Fields for the new target hooks added.
+	* optabs.c (expand_binop): Use shift_count_mode when expanding shift
+	as library call.
+	(prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
+	library call.
+
+	* doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
+	TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
+
+	* config/s390/s390.c (s390_libgcc_cmp_return_mode,
+	s390_libgcc_shift_count_mode): Functions added.
+	(TARGET_LIBGCC_CMP_RETURN_MODE,	TARGET_LIBGCC_SHIFT_COUNT_MODE):
+	Target hooks defined.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (compute_frame_size): Restore the original
+	gp_sp_offset for !GENERATE_MIPS16E_SAVE_RESTORE and remove the
+	fp_size term from the GENERATE_MIPS16E_SAVE_RESTORE calculation.
+	Document why the difference is needed.
+
+2007-07-06  Richard Guenther  <rguenther@suse.de>
+
+	* c-common.c (boolean_increment): Use correctly typed
+	constant.
+
+2007-07-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips16e_save_restore_pattern_p): Check that
+	the topmost argument register is not also included in the save mask.
+	(mips16e_collect_argument_save_p): Take a pointer to the argument
+	register, rather than a pointer to the number of arguments.
+	(mips16e_collect_argument_saves): Only include argument saves
+	that aren't in the register mask.
+
+2007-07-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/32450
+	* function.c (thread_prologue_and_epilogue_insns): Emit blockage insn
+	to ensure that instructions are not moved into the prologue when
+	profiling is on.  Remove unused prologue_end variable.
+	(expand_function_end): Emit blockage insn instead of ASM_INPUT rtx
+	as a scheduling barrier.
+
+2007-07-06  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/23551
+	* tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+	Disregard DECL_FROM_INLINE.
+
+2007-07-05  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* rtlanal.c (num_sign_bit_copies1): Improve cases of ANDing or
+	IORing with a constant.
+
+2007-07-05  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR rtl-optimization/32475
+	* df-scan.c (df_def_record_1): Add a use of the stack pointer
+	for every definition of the stack pointer.
+
+2007-07-05  Richard Earnshaw  <rearnsha@arm.com>
+
+	* arm.c (vfp3_const_double_index): Copy signed results of
+	REAL_VALUE_TO_INT into unsigned vars.
+
+2007-07-05  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32639
+	* alias.c (get_alias_set): Tread METHOD_TYPE the same as
+	FUNCTION_TYPE.
+	* tree-ssa.c (useless_type_conversion_p): Check canonical
+	types early.
+
+2007-07-05 Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.md (zero_extendqihi2, zero_extendqisi2, 
+	zero_extendhisi2): Change to define_insn_and_split. 
+	(zero_extendqidi2, zero_extendhidi2, zero_extendsidi2): New.
+
+2007-07-05  Paolo Bonzini  <bonzini@gnu.org>
+
+	* function.c (match_asm_constraints_1, rest_of_match_asm_constraints,
+	pass_match_asm_constraints): New.
+	* passes.c (init_optimization_passes): Add new pass.
+	* stmt.c (expand_asm_operands): Set cfun->has_asm_statement.
+	* function.h (struct function): Add has_asm_statement bit.
+	(current_function_has_asm_statement): New.
+	* tree-pass.h (pass_match_asm_constraints): New.
+
+2007-07-05  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* config/mips/mips.c (mips_file_start): Avoid declaration
+	after code.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* optabs.c (expand_binop_directly): Fix signed/unsigned comparison.
+
+2007-07-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* rtl.def (NOTE): Change print format string to print
+	operand 5 as a note insn name.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* config/mips/mips.c (mips_cpu_info): Add 4ksc and 4ksd processors.
+	* doc/invoke.texi: (MIPS Options): Document them.
+
+2007-07-05  Sandra Loosemore  <sandra@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	Add support for SmartMIPS ASE.
+
+	* optabs.c (expand_binop_directly): New, broken out from...
+	(expand_binop): Here.  Make it try rotating in the other
+	direction even when the second operand isn't constant.
+	* config/mips/mips.md (*lwxs): New.
+	* config/mips/mips.opt (msmartmips): New.
+	* config/mips/mips.c (mips_lwxs_address_p): New.
+	(mips_rtx_costs): Make it recognize scaled indexed addressing.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define
+	__mips_smartmips when compiling for TARGET_SMARTMIPS.
+	(ISA_HAS_ROR): Define for TARGET_SMARTMIPS.
+	(ISA_HAS_LWXS): New.
+	(ASM_SPEC): Add -msmartmips/-mno-smartmips.
+	* doc/invoke.texi (MIPS Options): Document -msmartmips/-mno-smartmips.
+	* testsuite/gcc.target/mips/smartmips-lwxs.c: New test case.
+	* testsuite/gcc.target/mips/smartmips-ror-1.c: New test case.
+	* testsuite/gcc.target/mips/smartmips-ror-2.c: New test case.
+	* testsuite/gcc.target/mips/smartmips-ror-3.c: New test case.
+	* testsuite/gcc.target/mips/smartmips-ror-4.c: New test case.
+
+2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vectorizer.c (new_loop_vec_info): Initialize
+	LOOP_VINFO_COST_MODEL_MIN_ITERS.
+	* tree-vectorizer.h (_loop_vec_info): Added new filed
+	min_profitable_iters.
+	(LOOP_VINFO_COST_MODEL_MIN_ITERS): New access macro to above new field.
+	(TARG_SCALAR_TO_VEC_COST): Define cost of scalar to vector operation.
+	* tree-vect-analyze.c (vect_analyze_operations): Set
+	LOOP_VINFO_COST_MODEL_MIN_ITERS.
+	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Use
+	VEC_length to determine if there are any LOOP_VINFO_MAY_MISALIGN_STMTS.
+	Fix calculation of peel_iters_prologue. Move consideration of epilogue
+	and prologue cost to after they are computed.
+	(vect_model_induction_cost): Use TARG_SCALAR_TO_VEC_COST instead of
+	TARG_VEC_STMT_COST.
+	(vect_model_simple_cost): Takes additional argument dt. Consider cost
+	of creating vectors from scalars according to dt.
+	(vect_model_store_cost): Likewise.
+	(vectorizable_call): Use dt array instead of scalar dt. Call
+	vect_model_simple_cost with additional argument dt.
+	(vectorizable_assignment): Likewise.
+	(vectorizable_operation): Likewise.
+	(vectorizable_type_demotion): Likewise.
+	(vectorizable_type_promotion): Likewise.
+	(vectorizable_store): Use dt array instead of scalar dt. Call
+	vect_model_store_cost with additional argument dt.
+	(vect_do_peeling_for_loop_bound): Don't call
+	vect_estimate_min_profitable_iters. Instead, lookup
+	LOOP_VINFO_COST_MODEL_MIN_ITERS. Don't always print
+	"may not be profitable".
+
+2007-07-05  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR testsuite/32014
+	* config/rs6000/altivec.md (UNSPEC_VUPKHS_V4SF, UNSPEC_VUPKLS_V4SF):
+	(UNSPEC_VUPKHU_V4SF, UNSPEC_VUPKLU_V4SF): New.
+	(vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi): New patterns.
+	(vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): New patterns. 
+
+2007-07-05  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* config/i386/i386.c (ix86_address_cost): Do not consider more complex
+	addressing modes cheaper.
+
+2007-07-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2out.c (dw_ranges_by_label_ref): New typedef.
+	(dw_ranges_struct): Rename block_num to num.  Adjust.
+	(dw_ranges_by_label_struct): New.
+	(ranges_by_label, ranges_by_label_allocated,
+	ranges_by_label_in_use): New variables.
+	(add_ranges_num): Factored most of the code out of...
+	(add_ranges): ... this one.  Rewrite in terms of the former.
+	(add_ranges_by_labels): New.
+	(output_ranges): Output by-label ranges.
+	(dwarf2out_finish): Output range for multiple-section
+	compile_unit.  Output standard DW_AT_low_pc in addition to
+	unexpected DW_AT_entry_pc.
+
+2007-07-04  Daniel Berlin  <dberlin@dberlin.org>
+
+	PR tree-optimization/32604
+	PR tree-optimization/32606
+
+	* tree-ssa-pre.c (bb_bitmap_sets): Removed antic_safe_loads.
+	(compute_antic_safe): Removed.
+	(ANTIC_SAFE_LOADS): Ditto.
+	(compute_antic_aux): Don't print ANTIC_SAFE_LOADS.
+	(execute_pre): Don't call compute_antic_safe.
+	(vuse_equiv): New function.
+	(make_values_for_stmt): Use it
+	* tree-ssa-sccvn.c (set_ssa_val_to): Remove assert, since it is
+	not always true.
+
+2007-07-04 Anatoly Sokolov <aesok@post.ru>
+
+	PR target/31331
+	* config/avr/avr.c (avr_naked_function_p): Handle receiving a type
+	rather than a decl. 
+	(avr_attribute_table): Make "naked" attribute apply to function types
+	rather than to decls.
+	(avr_handle_fntype_attribute): New function.
+
+2007-07-04  Joseph Myers  <joseph@codesourcery.com>
+
+	* target-def.h (TARGET_INITIALIZER): Remove trailing whitespace
+	after \.
+
+2007-07-04  David Ung  <davidu@mips.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/mips.md (type): Add logical, signext and move.
+	(one_cmpl<mode>2, *and<mode>3, *and<mode>3_mips16, *ior<mode>3,
+	*ior<mode>3_mips16, two unnamed insns after *ior<mode>3_mips16,
+	*nor<mode>3, "Combiner patterns to optimize truncate/zero_extend
+	combinations", *zero_extend<SHORT:mode><GPR:mode>2,
+	*zero_extendqihi2, *extend<SHORT:mode><GPR:mode>2_mips16e,
+	*extend<SHORT:mode><GPR:mode>2_se<SHORT:size>, *movdi_64bit,
+	*movdi_64bit_mips16, *movsi_internal, *movsi_mips16, movcc,
+	*movhi_internal, *movhi_mips16, *movqi_internal, *movqi_mips16,
+	*movsf_hardfloat, *movsf_softfloat, *movsf_mips16,
+	*movdf_hardfloat_64bit, *movdf_hardfloat_32bit,
+	movv2sf_hardfloat_64bit): Use the new types.
+	(*movdi_32bit, *movdi_gp32_fp64, *movdi_32bit_mips16,
+	*movdf_softfloat, *movdf_mips16): Use "multi".
+	(extendqihi2): Replace with a define_expand.
+	(*extendqihi2_mips16e, *extendqihi2, *extendqihi2_seb): New.
+	Based on extend<SHORT:mode><GPR:mode>2 patterns.
+	* config/mips/74k.md (r74k_int_logical): New reservation and
+	bypasses.
+	(r74k_int_arith): Remove "slt".
+	* config/mips/24k.md, config/mips/4130.md, config/mips/4k.md,
+	config/mips/5400.md, config/mips/5500.md, config/mips/5k.md,
+	config/mips/7000.md, config/mips/9000.md, config/mips/generic.md,
+	config/mips/sb1.md, config/mips/sr71k.md: Add new types to
+	reservations for "arith".
+
+2007-07-04  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa.c (useless_type_conversion_p): Add handling for
+	scalar float and vector types.  Only call the types_compatible_p
+	langhook for aggregate types as last resort.  Follow the
+	rules.
+
+2007-07-04  Richard Guenther  <rguenther@suse.de>
+
+	* tree-inline.c (estimate_num_insns_1): Treat CONVERT_EXPR
+	the same as NOP_EXPR.
+
+2007-07-04  Nick Clifton  <nickc@redhat.com>
+
+	* target.h (struct gcc_target): Add target_help field.
+	* target-def.h (TARGET_HELP): New.
+	(TARGET_INITIALIZER): Use TARGET_HELP.
+	* opts.c (command_handle_option): Invoke target_help function, if
+	defined, when the user has specified --target-help on the command
+	line.
+	* doc/invoke.texi: Mention that --target-help might print
+	additional information.
+	* doc/tm.texi: Document TARGET_HELP hook.
+
+	* arm.c (TARGET_HELP): Override default definition.
+	(arm_target_help): New - display a wrapped list of cores and
+	architectures supported.
+
+2007-07-04  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* config/v850/v850.c (expand_prologue): Make sure
+	GEN_INT() argument is sign extended rather than zero extended.
+	(expand_epilogue): Likewise.
+	(output_move_double): Delete.
+	* config/v850/v850-protos.h (output_move_double): Delete.
+	* config/v850/v850.md (movdi): Delete.
+	(*movdi_internal): Delete.
+	(movdf): Delete.
+	(*movdf_internal): Delete.
+
+2007-07-04  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/sh/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Reject -mrelax
+	unless compiling RTP PIC.
+
+2007-07-04  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32482
+	* tree-ssa-ifcombine.c (recognize_single_bit_test): Use the
+	original ssa name if we didn't find a shift expression.
+	Fix shift constant for bit zero test.
+
+2007-07-04  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/sh/lib1funcs.asm (ic_invalidate): Align constant pool.
+
+2007-07-04  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (arm-wrs-vxworks): Don't include svr4.h.
+	* config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE, TARGET_POSIX_IO): Define.
+	* config/arm/vxworks.h (ASM_SPEC): Delete.
+	(SUBTARGET_EXTRA_ASM_SPEC): Define.
+
+2007-07-04  Sebastian Pop  <sebpop@gmail.com>
+
+	* tree-data-ref.h (data_dependence_relation): New flag reversed_p.
+	(DDR_REVERSED_P): New.
+	* tree-data-ref.c (initialize_data_dependence_relation,
+	build_classic_dist_vector): Set DDR_REVERSED_P.
+
+2007-07-04  Sebastian Pop  <sebpop@gmail.com>
+
+	PR middle-end/32457
+	* tree-data-ref.c (analyze_siv_subscript_cst_affine,
+	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
+	init_omega_for_ddr_1): Use non conservative number of iterations
+	estimations.
+	(analyze_subscript_affine_affine): Use HOST_WIDE_INT instead of int.
+	(analyze_siv_subscript): Remove FIXME and reinitialization of 
+	last_conflicts to chrec_dont_know.
+	* testsuite/gfortran.dg/vect/pr32457.f90: New.
+
+2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* tree.c (maybe_canonicalize_argtypes): Improve description.
+
+2007-07-04  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* tree.c (maybe_canonicalize_argtypes): New.
+	(build_function_type): Set canonical type.
+	(build_method_type_directly): Ditto.
+	(reconstruct_complex_type): Rebuild the METHOD_TYPE node
+	properly.
+
+2007-07-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* tree-ssa-loop-ivopts.c (strip_offset_1): Treat POINTER_PLUS_EXPR
+	like PLUS_EXPR.
+	(rewrite_use_nonlinear_expr): Likewise.
+
+2007-07-03  Seongbae Park  <seongbae.park@gmail.com>
+
+	* rtl.def (UNSPEC, USE, CLOBBER): More comments.
+
+2007-07-04  Ben Elliston  <bje@au.ibm.com>
+
+	* dwarf2out.c: Move DWARF2 abbreviation glossary closer to the top
+	of this file.
+
+	* c-objc-common.c (c_types_compatible_p): Fix indentation.
+
+	* doc/tm.texi (Run-time Target): Capitalise "CPU".
+	(Exception Handling): Likewise.
+
+2007-07-03  Jan Hubicka  <jh@suse.cz>
+
+	* ifcvt.c (find_cond_trap): Avoid invalid RTL sharing.
+
+2007-07-03  Eric Christopher  <echristo@apple.com>
+
+	* doc/cppopts.texi: Add conflicting option note to -dM.
+	* doc/invoke.texi: Add note about possible conflicts with
+	-E for -dCHARS and note that -dM will not produce
+	any results if there is no machine dependent reorg.
+	
+2007-07-03  Geoffrey Keating  <geoffk@apple.com>
+
+	* tree.h (DECL_ALIGN): Back out previous change.
+
+2007-07-03  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac: Test for .dtprelword support on MIPS.
+	* configure, config.in: Regenerate.
+	* config/mips/mips.c (mips_output_dwarf_dtprel): New.
+	(TARGET_ASM_OUTPUT_DWARF_DTPREL): Define.
+
+2007-07-03  Julian Brown  <julian@codesourcery.com>
+
+	* config.gcc (with_fpu): Allow --with-fpu=vfp3.
+	* config/arm/aout.h (REGISTER_NAMES): Add D16-D31.
+	* config/arm/aof.h (REGISTER_NAMES): Add D16-D31.
+	* config/arm/arm.c (FL_VFPV3): New flag for VFPv3 processor
+	capability.
+	(all_fpus): Add FPUTYPE_VFP3.
+	(fp_model_for_fpu): Add VFPv3 field.
+	(arm_rtx_costs_1): Give cost to VFPv3 constants.
+	(vfp3_const_double_index): New function. Return integer index of
+	VFPv3 constant suitable for fconst[sd] insns, or -1 if constant
+	isn't suitable.
+	(vfp3_const_double_rtx): New function. True if VFPv3 is enabled
+	and argument represents a valid RTX for a VFPv3 constant.
+	(vfp_output_fldmd): Split fldmd with > 16 registers in the list into
+	two instructions.
+	(vfp_emit_fstmd): Similar, for fstmd.
+	(arm_print_operand): Implement new code 'G' for VFPv3 floating-point
+	constants, represented as integer indices.
+	(arm_hard_regno_mode_ok): Use VFP_REGNO_OK_FOR_SINGLE,
+	VFP_REGNO_OK_FOR_DOUBLE macros.
+	(arm_regno_class): Handle VFPv3 d0-d7, low, high register split.
+	(arm_file_start): Set float-abi attribute for VFPv3, and output
+	correct ".fpu" assembler directive.
+	(arm_dbx_register_numbering): Add FIXME.
+	* config/arm/arm.h (TARGET_VFP3): New macro. Target supports VFPv3.
+	(fputype): Add FPUTYPE_VFP3.
+	(FIXED_REGISTERS): Add 32 registers for D16-D31.
+	(CALL_USED_REGISTERS): Likewise.
+	(CONDITIONAL_REGISTER_USAGE): Add note about conditional definition
+	of LAST_VFP_REGNUM. Make D16-D31 caller-saved, if present.
+	(LAST_VFP_REGNUM): Extend available VFP registers for VFPv3.
+	(D7_VFP_REGNUM): New.
+	(LAST_LO_VFP_REGNUM, FIRST_HI_VFP_REGNUM, LAST_HI_VFP_REGNUM)
+	(VFP_REGNO_OK_FOR_SINGLE, VFP_REGNO_OK_FOR_SINGLE)
+	(VFP_REGNO_OK_FOR_DOUBLE): Define new macros.
+	(FIRST_PSEUDO_REGISTER): Shift up to 128 to accommodate VFPv3.
+	(REG_ALLOC_ORDER): Adjust for VFPv3.
+	(reg_class): Add VFP_D0_D7_REGS, VFP_LO_REGS, VFP_HI_REGS.
+	(REG_CLASS_NAMES): Add entries corresponding to VFP_D0_D7_REGS,
+	VFP_LO_REGS, VFP_HI_REGS.
+	(REG_CLASS_CONTENTS): Likewise. Extend contents for VFP_REGS.
+	(IS_VFP_CLASS): Define macro.
+	(SECONDARY_OUTPUT_RELOAD_CLASS, SECONDARY_INPUT_RELOAD_CLASS): Use
+	IS_VFP_CLASS.
+	(REGISTER_MOVE_COST): Likewise.
+	* config/arm/arm-protos.h (vfp3_const_double_rtx): Add prototype.
+	* config/arm/vfp.md (VFPCC_REGNUM): Redefine as 127.
+	(*arm_movsi_vfp, *thumb2_movsi_vfp, *movsfcc_vfp)
+	(*thumb2_movsfcc_vfp, *abssf2_vfp, *negsf2_vfp, *addsf3_vfp)
+	(*subsf3_vfp, *divsf_vfp, *mulsf_vfp, *mulsf3negsf_vfp)
+	(*mulsf3addsf_vfp, *mulsf3subsf_vfp, *mulsf3negsfaddsf_vfp)
+	(*extendsfdf2_vfp, *truncdfsf2_vfp, *truncsisf2_vfp)
+	(*truncsidf2_vfp, fixuns_truncsfsi2, fixuns_truncdfsi2)
+	(*floatsisf2_vfp, *floatsidf2_vfp, floatunssisf2)
+	(floatunssidf2, *sqrtsf2_vfp, *cmpsf_split_vfp)
+	(*cmpsf_trap_split_vfp, *cmpsf_vfp, *cmpsf_trap_vfp): Use 't'
+	where appropriate for single-word registers.
+	(*movsf_vfp, *thumb2_movsf_vfp, *movdf_vfp, *thumb2_movdf_vfp):
+	As above. Fix type attributes.
+	* config/arm/constraints.md (register_contraint "t"): Define.
+	(register_constraint "w"): Change to D0-D15, or D0-D31 for
+	VFPv3/NEON.
+	(register_constraint "x"): Define.
+	(constraint "Dv"): Define.
+
+2007-07-03  Geoffrey Keating  <geoffk@apple.com>
+
+	* tree.h (DECL_ALIGN): Prevent use on a FUNCTION_DECL.
+
+2007-07-03  Tom Tromey  <tromey@redhat.com>
+
+	* c-parser.c (objc_pq_context): Removed.
+	(objc_need_raw_identifier): Likewise.
+	(c_parser) <objc_pq_context>: New field.
+	<objc_need_raw_identifier>: Likewise.
+	(OBJC_NEED_RAW_IDENTIFIER): Removed.
+	(c_lex_one_token): Update.
+	(c_parser_objc_protocol_definition): Update.
+	(c_parser_objc_method_definition): Update.
+	(c_parser_objc_methodproto): Update.
+	(c_parser_declspecs): Update.
+
+2007-07-03  David Ung  <davidu@mips.com>
+
+	* config/mips/mips.c (mips_issue_rate): Return 4 for 74K processors.
+
+2007-07-03  David Ung  <davidu@mips.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Document -march=74kf3_2.
+	* config/mips/mips.h (PROCESSOR_74KF3_2): New processor_type.
+	(TUNE_74K): Check for it.
+	* config/mips/mips.c (mips_cpu_info): Add 74kf3_2.
+	(mips_rtx_cost_data): Add an entry for PROCESSOR_74KF3_2.
+	* config/mips/mips.md (cpu): Add 74kf3_2.
+	* config/mips/74k.md (r74k_int_logical, r74k_int_arith, r74k_int_nop)
+	(r74k_int_cmove, r74k_int_mult, r74k_int_mul3, r74k_int_mfhilo)
+	(r74k_int_mthilo, r74k_int_div, r74k_int_call, r74k_int_jump)
+	(r74k_int_load, r74k_int_store, r74k_unknown, r74k_multi): Add
+	74kf3_2 to the CPU list.
+	(r74kf3_2_fadd, r74kf3_2_fmove, r74kf3_2_fload, r74kf3_2_fstore)
+	(r74kf3_2_fmul_sf, r74kf3_2_fmul_df, r74kf3_2_fdiv_sf)
+	(r74kf3_2_fdiv_df, r74kf3_2_frsqrt_sf, r74kf3_2_frsqrt_df)
+	(r74kf3_2_fcmp, r74kf3_2_fcvt, r74kf3_2_fxfer_to_c1)
+	(r74kf3_2_fxfer_from_c1): New insn reservations.
+
+2007-07-03  Richard Sandiford  <richard@codesourcery.com>
+	    David Ung  <davidu@mips.com>
+
+	* doc/invoke.texi: Replace -march=24kf with -march=24kf2_1 and
+	-march=24kx with -march=24kf1_1.  Likewise 24ke[fx], 34k[fx]
+	and 74k[fx].  Document aliases for the new options.
+	* config/mips/mips.h (PROCESSOR_24KF): Rename to...
+	(PROCESSOR_24KF2_1): ...this.
+	(PROCESSOR_24KX): Rename to...
+	(PROCESSOR_24KF1_1): ...this.
+	(PROCESSOR_74KF): Rename to...
+	(PROCESSOR_74KF2_1): ...this.
+	(PROCESSOR_74KX): Rename to...
+	(PROCESSOR_74KF1_1): ...this.
+	(TUNE_74K): Update PROCESSOR_* names.
+	* config/mips/mips.c (mips_cpu_info): Add 24kf2_1 as a synonym
+	for 24kf.  Add 24kf1_1 and 24kfx as synonyms for 24kx.  Likewise
+	the 24ke*, 34k* and 74k* processors.  Update PROCESSOR_* names.
+	(mips_rtx_cost_data): Update processor names in comments.
+	(mips_issue_rate): Update PROCESSOR_* names.
+	* config/mips/mips.md (cpu): Rename 24kf to 24kf2_1, 24kx to
+	24kf1_1, 74kf to 74kf2_1 and 74kx to 74kf1_1.
+	* config/mips/24k.md: Rename FPU-related r24k_* insn reservations
+	to r24kf2_1_*.  Rename r24kx_* insn reservations to r24kf1_1_*.
+	Update cpu attribute names.
+	(r24k_fpu_iss): Rename this reservation to...
+	(r24kf2_1_fpu_iss): ...this and update all uses.
+	(r24kx_fpu_iss): Rename this reservation to...
+	(r24kf1_1_fpu_iss): ...this and update all uses.
+	* config/mips/74k.md: Rename FPU-related r74kf_* insn reservations
+	to r74kf2_1_*.  Rename r74kx_* insn reservations to r74kf1_1_*.
+	Update cpu attribute names.
+
+2007-07-01  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/m32r/constraints.md: New file.
+	* config/m32r/m32r.c: Include tm-constrs.h.
+	(small_data_operand): Use satisfies_constraint_* instead of macro.
+	(addr24_operand, gen_compare): Likewise.
+	* config/m32r/m32r.h (REG_CLASS_FROM_LETTER): Remove.
+	(INT8_P, UPPER16_P, UINT32_P, UINT5_P, INVERTED_SIGNED_8BIT,
+	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+	EXTRA_CONSTRAINT): Likewise.
+	* config/m32r/m32r.md: Include constraints.md.
+	(*movsi_insn): Use satisfies_constraint_* instead of macro.
+	(andsi3, iorsi3, xorsi3, seq_insn+1, sne): Likewise.
+	* config/m32r/predicates.md (conditional_move_operand): Likewise.
+	(two_insn_const_operand, int8_operand, uint16_operand,
+	reg_or_int16_operand, reg_or_uint16_operand,
+	reg_or_cmp_int16_operand, cmp_int16_operand,
+	seth_add3_operand): Likewise.
+
+2007-07-03  Eric Christopher  <echristo@gmail.com>
+
+	* libgcc2.h: Conditionally declare __bswapsi2 and
+	__bswapdi2.
+	
+2007-07-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* ddg.c (check_sccs): Define only if ENABLE_CHECKING is
+	defined.
+
+2007-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+	PR target/28307
+	* gthr-posix.h [SUPPORTS_WEAK && GTHREAD_USE_WEAK]
+	(__gthrw_pragma): Provide default definition.
+	(__gthrw2): Use it.
+	* gthr-posix.c (__gthrw_pragma): Define.
+
+2007-07-03  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-sccvn.c (set_ssa_val_to): Check for operand_equal_p
+	before declaring inequality.
+
+2007-07-03  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* combine.c (recog_for_combine): Log the success or failure of
+	  matching new insn patterns against the machine description in
+	  detailed dumps.
+
+2007-07-03  Revital Eres  <eres@il.ibm.com>
+
+	* ddg.c (print_sccs): New function.
+	(check_sccs): New function.
+	(create_ddg_all_sccs): Use it.
+	* ddg.h (print_sccs): Declare.
+	* modulo-sched.c (sms_order_nodes): Call print_sccs.
+
+2007-07-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* targhooks.h (default_mode_for_suffix): New function declaration.
+	* targhooks.c (default_mode_for_suffix): New default target hook.
+	* target.h (struct c): New structure in the targetm struct.
+	(mode_for_suffix): New target hook as part of struct c.
+	target-def.h (TARGET_C_MODE_FOR_SUFFIX): Define as
+	default_mode_for_suffix.
+	(TARGET_C): New define.
+	* c-lex.c: Include "target.h".
+	(interpret_float): Use targetm.c.mode_for_suffix to determine
+	the mode for a given non-standard suffix.
+	Makefile.in (c-lex.o): Depend on $(TARGET_H).
+
+	* config/i386/i386.c (ix86_c_mode_for_suffix): New static function.
+	(TARGET_C_MODE_FOR_SUFFIX): Define to ix86_c_mode_for_suffix.
+
+	* doc/extend.texi (Floating Types): New node.  Document __float80 and
+	__float128 types.  Document 'w', 'W', 'q' and 'Q' suffixes.
+
+2007-07-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/32506
+	* config/sh/sh.md (udivsi3_i1_media): Use target_reg_operand
+	predicate instead of target_operand.
+	(divsi3_i1_media, divsi3_media_2): Likewise.
+
+2007-07-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.h (alias_sets_might_conflict_p): Rename into
+	alias_sets_must_conflict_p.
+	* alias.c (alias_sets_might_conflict_p): Likewise.
+	(alias_sets_conflict_p): Use it.
+	(objects_must_conflict_p): Likewise.
+	* c-common.c (strict_aliasing_warning): Adjust.
+
+2007-07-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* rtlhooks.c (gen_lowpart_if_possible): Check for
+	invalid subreg before calling gen_lowpart_SUBREG.
+
+2007-07-02  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin9.h: Add copyright notice.
+	(LINK_COMMAND_SPEC): Add comment.
+	(DARWIN_LIBSYSTEM_HAS_UNWIND): Define.
+	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Conditionalise on
+	DARWIN_LIBSYSTEM_HAS_UNWIND.
+
+2007-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/32468
+	* omp-low.c (check_combined_parallel): New function.
+	(lower_omp_parallel): Call it via walk_stmts, set
+	OMP_PARALLEL_COMBINED if appropriate.
+	(determine_parallel_type): If OMP_FOR resp. OMP_SECTIONS
+	isn't the only statement in WS_ENTRY_BB or OMP_RETURN
+	the only one in PAR_EXIT_BB and not OMP_PARALLEL_COMBINED,
+	don't consider it as combined parallel.
+
+2007-07-02  Richard Sandiford  <richard@codesourcery.com>
+
+	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
+	(gcc_tooldir): Likewise.
+	* configure: Regenerate.
+	* Makefile.in (libsubdir_to_prefix): New variable, based on the
+	old configure.ac gcc_tooldir setting.
+	(prefix_to_exec_prefix): New variable.
+	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
+	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
+
+2007-07-02  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/32583
+	Fix PR tree-optimization/32584
+	* tree-ssa-pre.c (phi_translate): Always pass seen bitmap.
+	(phi_translate_set): Use phi_translate directly now.
+	(make_values_for_stmt): Don't value number RHS if we already know
+	it is constant.
+
+2007-07-02  Steve Ellcey  <sje@cup.hp.com>
+	    Jim Wilson <wilson@specifix.com>
+
+	PR target/31684
+	* haifa-sched.c (add_to_speculative_block): Change copy_rtx to
+	copy_insn.
+
+2007-07-02  Sandra Loosemore  <sandra@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips-protos.h (mips16e_save_restore_info): New struct.
+	(mips16e_output_save_restore): Declare.
+	(mips16e_save_restore_pattern_p): Likewise.
+	* config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro.
+	* config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8
+	for GENERATE_MIPS16E_SAVE_RESTORE.  Return 0x400 for TARGET_MIPS16
+	&& !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT.
+	(BITSET_P): New global macro, extracted from...
+	(mips_for_each_saved_reg): ...here.
+	(mips16e_save_restore_info): New struct.
+	(mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables.
+	(mips16e_save_restore_regs): New variable.
+	(mips_split_plus, mips16e_find_first_register): New functions.
+	(mips16e_mask_registers): New function.
+	(compute_frame_size): Expand the commentary before the function.
+	Enforce the MIPS16e save and restore register range restrictions.
+	Pad the general register save area at the low end.
+	(mips16e_save_restore_reg, mips16e_build_save_restore)
+	(mips16e_save_restore_pattern_p, mips16e_add_register_range)
+	(mips16e_output_save_restore, mips16e_collect_propagate_value)
+	(mips16e_collect_argument_save, mips16e_collect_argument_saves):
+	New functions.
+	(mips_expand_prologue, mips_expand_epilogue): Handle
+	GENERATE_MIPS16E_SAVE_RESTORE.
+	* config/mips/mips.md (*mips16e_save_restore): New pattern.
+
+2007-07-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/31966
+	PR tree-optimization/32533
+	* tree-if-conv.c (add_to_dst_predicate_list): Use "edge", not
+	"basic_block" description as its third argument.  Update function
+	calls to get destination bb from "edge" argument.  Save "cond" into
+	aux field of the edge.  Update prototype for changed arguments.
+	(if_convertible_loop_p): Clear aux field of incoming edges if bb
+	contains phi node.
+	(find_phi_replacement_condition): Operate on incoming edges, not
+	on predecessor blocks.  If there is a condition saved in the
+	incoming edge aux field, AND it with incoming bb predicate.
+	Return source bb of the first edge.
+	(clean_predicate_lists): Clean aux field of outgoing node edges.
+	(tree_if_conversion): Do not initialize cond variable. Move
+	variable declaration into the loop.
+	(replace_phi_with_cond_gimple_modify_stmt): Remove unneded
+	initializations of new_stmt, arg0 and arg1 variables.
+
+2007-07-02  Jakub Jelinek  <jakub@redhat.com>
+
+	* tree-nrv.c (dest_safe_for_nrv_p): Grok any handled_component_p,
+	SSA_NAMEs, RESULT_DECLs and PARM_DECLs.
+
+2007-07-02  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa.c (useless_type_conversion_p): Document
+	future intent as defining the middle-end type system.
+	Re-structure to call langhook last, group by type class,
+	mark questionable parts.
+
+2007-07-02  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (types_compatible_p): Declare.
+	* tree-ssa.c (types_compatible_p): New function.
+	* ipa-type-escape.c (discover_unique_type): Use
+	types_compatible_p instead of lang_hooks.types_compatible_p.
+	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Likewise.
+	* tree-vn.c (expressions_equal_p): Likewise.
+	* tree.c (fields_compatible_p): Likewise.
+	* tree-ssa-dom.c (avail_expr_eq): Likewise.
+	(cprop_operand): Use useless_type_conversion_p instead of
+	lang_hooks.types_compatible_p.
+	* tree-inline.c (setup_one_parameter): Likewise.
+	(declare_return_variable): Likewise.
+	* tree-nrv.c (tree_nrv): Likewise.
+	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.
+	(maybe_fold_offset_to_component_ref): Likewise.
+	(maybe_fold_offset_to_reference): Likewise.
+	* tree-ssa-copy.c (may_propagate_copy): Likewise.
+	(merge_alias_info): Likewise.
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+	* tree-ssa-phiopt.c (conditional_replacement): Likewise.
+	* tree-ssa-reassoc.c (optimize_ops_list): Likewise.
+	* tree-tailcall.c (find_tail_calls): Likewise.
+	* tree-vect-generic.c (expand_vector_operations_1): Likewise.
+	* gimplify.c (canonicalize_addr_expr): Likewise.
+	(fold_indirect_ref_rhs): Likewise.
+	(gimplify_addr_expr): Likewise.  Swap parameters to cpt_same_type.
+	(cpt_same_type): Likewise.
+	(check_pointer_types_r): Swap parameters to cpt_same_type
+	where appropriate.
+	* fold-const.c (fold_convert): Revert fix for PR15988.
+	* tree-inline.c (setup_one_parameter): Instead fix it here by
+	using fold_build1 instead of fold_convert and checking for
+	error_mark_node.  Convert only if the conversion is necessary.
+
+2007-07-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac: Check for .gnu_attribute on Power.
+	* configure: Regenerate.
+	* config/rs6000/rs6000.c (rs6000_file_start): If supported, output
+	attribute for floating-point ABI.
+
+2007-07-02  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/32230
+	PR tree-optimization/32477
+	* tree-vect-analyze.c (vect_analyze_data_refs): Fail if base 
+	address is a constant.
+
+2007-07-02  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*)
+	(mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*)
+	(mipsisa64-*-elf*, mipsisa64el-*-elf*): Combine top-level
+	stanzas.  Use the first part of the triplet to set MIPS_ISA_DEFAULT.
+	Remove redundant setting of MASK_FLOAT64 and MASK_64BIT for the
+	64-bit targets.  Add support for *-elfoabi*.
+	* config/mips/t-isa3264 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Use
+	different settings if $(tm_defines) does not select the EABI.
+	(MULTILIB_EXCLUSIONS): Define in those circumstances.
+	* config/mips/mips.h (MIPS_ISA_LEVEL_OPTION_SPEC): New macro.
+	(MIPS_ARCH_OPTION_SPEC): Likewise.
+	(MIPS_ISA_LEVEL_SPEC): Likewise.
+	(OPTION_DEFAULT_SPECS): Use MIPS_ARCH_OPTION_SPEC.
+	* config/mips/elfoabi.h: New file.
+
+2007-07-02  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow.h (tree_ssa_useless_type_conversion_1): Rename to ...
+	(useless_type_conversion_p): ... this.
+	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Rename to ...
+	(useless_type_conversion_p): ... this.
+	* builtins.c (fold_builtin_memory_op): Rename
+	tree_ssa_useless_type_conversion_1 to useless_type_conversion_p.
+	* tree-cfg.c (verify_expr): Likewise.
+	* tree-ssa-address.c (tree_ssa_useless_type_conversion_1): Likewise.
+	* tree-ssa-ccp.c (ccp_fold): Likewise.
+	* tree-ssa-copy.c (may_propagate_copy): Likewise.
+	* tree-ssa-dom.c (eliminate_redundant_computations): Likewise.
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+	* tree-ssa-loop-niter.c (refine_bounds_using_guard): Likewise.
+	* tree-ssa-pre.c (eliminate): Likewise.
+	* tree-ssa.c (delete_tree_ssa): Likewise.
+	(tree_ssa_useless_type_conversion): Likewise.
+	* tree.c (build2_stat): Likewise.
+
+2007-07-01  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/32571
+	* tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid
+	simplifying them.
+
+2007-07-01  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle constants
+	and other expected operations explicitly, change default to
+	gcc_unreachable. 
+
+2007-07-01  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/arm/arm.c (arm_cannot_copy_insn_p): Do not expect a
+	PARALLEL.
+	* config/arm/arm.md (pic_add_dot_plus_four, pic_add_dot_plus_eight)
+	(tls_load_dot_plus_eight): Move the label number into the unspec.
+	* config/arm/thumb2.md (pic_load_dot_plus_four): Likewise.
+
+2007-07-01  Andreas Schwab  <schwab@suse.de>
+
+	* dwarf2out.c (initial_return_save): Define only if used.
+
+2007-07-01  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	Unreverting Richard's Revert of:
+
+	2007-06-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* dce.c (deletable_insn_p_1): New function, split out from...
+	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
+	specially, not those inside PARALLELs.  Remove BODY argument
+	and adjust recursive call accordingly.
+	(prescan_insns_for_dce): Update call to delete_insn_p.
+
+2007-07-01  Vladimir Yanovsky  <yanov@il.ibm.com>
+	    Revital Eres  <eres@il.ibm.com>
+
+	* ddg.c (create_ddg_all_sccs): Fix missed
+	initialization of scc_nodes.
+
+2007-07-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/32559
+	* fold-const.c (fold-binary) [PLUS_EXPR]: Convert ~X + X to 1 or
+	X + ~X to 1 only for INTEGRAL_TYPE_P type.
+
+2007-06-30  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac: Check for .gnu_attribute on MIPS.
+	* configure, config.in: Regenerate.
+	* config/mips/mips.c (mips_file_start): If supported, output
+	attribute for floating-point ABI.
+
+2007-06-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32433
+	* config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
+	(ffs_cmove): New expander to expand using ctz pattern.
+	(*ffs_cmove): Remove pattern.
+	(*ffs_no_cmove): Enable only for !TARGET_CMOVE.
+	(ffsdi2): Expand using ctz pattern.
+	(*ffs_rex64): Remove pattern.
+
+2007-06-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR rtl-optimization/32296
+	* pa.md (return): Delete pattern.
+	(return_internal): Remove "(const_int 1)" from pattern.
+	(epilogue): Use return_internal pattern for trivial returns.
+	* pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
+	* pa.c (hppa_can_use_return_insn_p): Delete function.  Include "df.h".
+
+2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-pre.c (is_exception_related): New function
+	(can_value_number_operation): Use it.
+
+2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
+	
+	Fix PR tree-optimization/32540
+	Fix PR tree-optimization/31651
+
+	* tree-ssa-sccvn.c: New file.
+
+	* tree-ssa-sccvn.h: Ditto.
+	
+	* tree-vn.c: Include tree-ssa-sccvn.h
+	(val_expr_paid_d): Removed.
+	(value_table): Ditto.
+	(vn_compute): Ditto.
+	(val_expr_pair_hash): Ditto.
+	(val_expr_pair_expr_eq): Ditto.
+	(copy_vuses_from_stmt): Ditto.
+	(vn_delete): Ditto.
+	(vn_init): Ditto.
+	(shared_vuses_from_stmt): Ditto.
+	(print_creation_to_file): Moved up.
+	(sort_vuses): Ditto.
+	(sort_vuses_heap): Ditto.
+	(set_value_handle): Make non-static.
+	(make_value_handle): Ditto.
+	(vn_add): Rewritten to use sccvn lookups.
+	(vn_add_with_vuses): Ditto.
+	(vn_lookup): Ditto (and second argument removed).
+	(vn_lookup_with_vuses): Ditto.
+	(vn_lookup_or_add): Ditto (and second argument removed);
+	(vn_lookup_or_add_with_vuses): Ditto.
+	(vn_lookup_with_stmt): New.
+	(vn_lookup_or_add_with_stmt): Ditto.
+	(create_value_handle_for_expr): Ditto.
+
+	* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
+	(seen_during_translate): New function.
+	(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
+	(phi_trans_add): Ditto.
+	(constant_expr_p): FIELD_DECL is always constant.
+	(phi_translate_1): Renamed from phi_translate, add seen bitmap.
+	Use constant_expr_p.
+	Avoid infinite recursion on mutually valued expressions.
+	Change callers of vn_lookup_or_add.
+	(phi_translate): New function.
+	(compute_antic_safe): Allow phi nodes.
+	(create_component_ref_by_pieces): Update for FIELD_DECL change.
+	(find_or_generate_expression): Rewrite slightly.
+	(create_expression_by_pieces): Updated for vn_lookup_or_add
+	change.
+	Update VN_INFO for new names.
+	(insert_into_preds_of_block): Update for new names.
+	(add_to_exp_gen): New function.
+	(add_to_sets): Use vn_lookup_or_add_with_stmt.
+	(find_existing_value_expr): Rewrite to changed vn_lookup.
+	(create_value_expr_from): Ditto, and use add_to_exp_gen.
+	(try_look_through_load): Removed.
+	(try_combine_conversion): Ditto.
+	(get_sccvn_value): New function.
+	(make_values_for_phi): Ditto.
+	(make_values_for_stmt): Ditto.
+	(compute_avail): Rewritten for vn_lookup_or_add changes and to use
+	SCCVN.
+	(init_pre): Update for SCCVN changes.
+	(fini_pre): Ditto.
+	(execute_pre): Ditto.
+
+	* tree-flow.h (make_value_handle): Declare.
+	(set_value_handle): Ditto.
+	(sort_vuses_heap): Ditto.
+	(vn_lookup_or_add_with_stmt): Ditto.
+	(vn_lookup_with_stmt): Ditto.
+	(vn_compute): Remove.
+	(vn_init): Ditto.
+	(vn_delete): Ditto.
+	(vn_lookup): Update arguments.
+
+	* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
+	(tree-vn.o): Ditto.
+	(tree-ssa-sccvn.o): New.
+	(OBJS-common): Add tree-ssa-sccvn.o
+	
+2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/4076
+	* c-typeck.c (build_external_ref): Don't mark as used if called
+	from itself.
+	* calls.c (rtx_for_function_call): Likewise.
+	
+2007-06-30  Richard Sandiford  <richard@codesourcery.com>
+
+	Revert:
+
+	2007-06-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* dce.c (deletable_insn_p_1): New function, split out from...
+	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
+	specially, not those inside PARALLELs.  Remove BODY argument
+	and adjust recursive call accordingly.
+	(prescan_insns_for_dce): Update call to delete_insn_p.
+
+2007-06-30  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
+	(try_combine): Move potential calls to undo_all() so they happen
+	before we commit to using the combined insns.
+
+2007-06-30  Jan Hubicka  <jh@suse.cz>
+
+	* loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit
+	code.
+
+2007-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+	* ipa.c (cgraph_postorder): Cast according to the coding conventions.
+	(cgraph_remove_unreachable_nodes): Likewise.
+	* ipa-cp.c (ipcp_propagate_stage): Use BOTTOM instead of integer 0.
+	* ipa-inline.c (update_caller_keys): Cast according to the coding
+	conventions.
+	(cgraph_decide_recursive_inlining): Likewise.
+	(cgraph_decide_inlining_of_small_function): Likewise.
+	(try_inline): Likewise.
+	(cgraph_decide_inlining_incrementally): Likewise.
+	* ipa-pure-const.c (get_function_state): Likewise.
+	(scan_function): Likewise.
+	(analyze_function): Likewise.
+ 	(static_execute): Likewise.
+	* ipa-reference.c (scan_for_static_refs): Likewise.
+	(merge_callee_local_info): Likewise.
+	(analyze_function): Use type safe memory macros.
+	(static_execute): Likewise. Cast according to the coding conventions.
+	* ipa-type-escape.c (scan_for_regs): Cast according to the coding
+	conventions.
+	* ipa-utils.c (searchc): Likewise. Avoid using C++ keywords as variable
+	names.
+	(ipa_utils_reduced_inorder): Likewise. Use type safe memory macros.
+	* ipa-utils.h (struct ipa_dfa_info): Avoid using C++ keywords as
+	variable names.
+
+2007-06-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/30024
+	* emit-rtl.c (init_emit_once): Intilize const_tiny_rtx[0]
+	for complex modes (both int and real).
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+	* cse.c: Rever accidentally comitted TODO_verify_rtl_sharing change.
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/32372
+	* cse.c (cse_insn): Avoid invalid sharing in between register note and
+	the insn pattern.
+
+2007-06-29  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/32335
+	* config/avr/avr.c: Include dataflow header file.
+	(expand_prologue): Adjust for prologue insn change.
+	* config/avr/avr.md (call_prologue_saves): Only modify REG_SP once
+	inside a insn.
+
+2007-06-29  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32493
+	* gimplify.c (gimplify_call_expr): Ignore variable argument parts
+	during type verification.
+
+2007-06-29  Jan Hubicka  <jh@suse.cz>
+
+	* recog.c (validate_change_rtx_1): Unshare TO argument.
+
+2007-06-29  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/24659
+	* tree-vect-transform.c (vectorizable_call): Handle
+	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
+
+	* config/i386/sse.md (vec_pack_sfix_v2df): New expander.
+	* config/i386/i386.c (enum ix86_builtins)
+	[IX86_BUILTIN_VEC_PACK_SFIX]: New constant.
+	(struct bdesc_2arg) [__builtin_ia32_vec_pack_sfix]: New builtin
+	description.
+	(ix86_init_mmx_sse_builtins): Define all builtins with 2 arguments as
+	const using def_builtin_const.
+	(ix86_expand_binop_builtin): Remove bogus assert() that insn wants
+	input operands in the same modes as the result.
+	(ix86_builtin_vectorized_function): Handle BUILT_IN_LRINT.
+
+2007-06-29  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* df-problems.c (df_set_unused_notes_for_mw): Fix formatting.
+	(df_set_dead_notes_for_mw): Likewise.
+
+2007-06-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* c-common.c (pointer_int_sum): Do the negation in sizetype.
+
+2007-06-28  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/m32c.h (OVERRIDE_OPTIONS): Omit unneeded semicolon.
+
+2007-06-28  Geoffrey Keating  <geoffk@apple.com>
+
+	* doc/invoke.texi (C++ Dialect Options): Document
+	fvisibility-ms-compat.
+	* c.opt (fvisibility-ms-compat): New.
+
+2007-06-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32417
+	* tree-affine.c (aff_combination_add_elt): Handle
+	pointer addition specially.
+
+2007-06-28  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Ensure
+	decl is non-external for AIX ABI.
+
+2007-06-28  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/predicates.md (current_file_function_operand):
+	Ensure the symbol is non-external for AIX ABI.
+
+2007-06-28  Nick Clifton  <nickc@redhat.com>
+
+	* common.opt (fipa-matrix-reorg): Add Optimization attribute.
+	(fdce, fdse, fpredictive-commoning): Likewise.
+
+2007-06-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+	PR other/31400
+	* gcc.c (process_command): Recognize the new -static-libgfortran
+	option.
+
+2007-06-27  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32418
+	* config/m32c/m32c.c (m32c_eh_return_stackadj_rtx): Dataflow fix:
+	Use a call clobbered hard reg instead of a pseudo reg.
+
+2007-06-27  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.md (load_gbr): Use correct operand constraint.
+
+2007-06-27  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/32479
+	* config/sh/sh.md (udivsi3): Don't wrap the sequence with
+	REG_LIBCALL and REG_RETVAL notes.
+	(divsi3, mulsi3): Likewise.
+	(mulhisi3): Likewise.  Use emit_libcall_block.
+	(umulhisi3, smulsi3_highpart, umulsi3_highpart_i): Likewise.
+
+2007-06-27  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR rtl-optimization/32481
+	* combine.c (adjust_for_new_dest): Rescan the changed insn.
+
+2007-06-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* dce.c (deletable_insn_p_1): New function, split out from...
+	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
+	specially, not those inside PARALLELs.  Remove BODY argument
+	and adjust recursive call accordingly.
+	(prescan_insns_for_dce): Update call to delete_insn_p.
+
+2007-06-27  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32492
+	* tree.h (fold_convertible_p): Declare.
+	* fold-const.c (fold_convertible_p): New function.
+	* gimplify.c (gimplify_call_expr): Use fold_convertible_p
+	instead of lang_hooks.types_compatible_p.
+
+2007-06-26  Jan Hubicka  <jh@suse.cz>
+
+	* fwprop.c (try_fwprop_subst): Use validate_unshare_change.
+	* postreload.c (reload_cse_simplify_set): Instead of copying the rtx
+	early use validate_unshare_change.
+	(reload_combine): Likewise.
+	* recog.c (change_t): New field unshare.
+	(validate_change_1): Rename from validate_change; add argument unshare.
+	(validate_change): Turn into wrapper of validate_change_1; update
+	prototype for bools.
+	(validate_unshare_change): New.
+	(confirm_change_group): Unshare changes if asked for; avoid unnecesary
+	calls of df_insn_rescan.
+	* recog.h (validate_change): Replace ints by bools.
+	(validate_unshare_change): Declare.
+
+2007-06-26  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* tree.def (VEC_WIDEN_MULT_LO_EXPR): Corrected string name.
+	
+2007-06-26  Steve Ellcey  <sje@cup.hp.com>
+
+	* builtins.c (expand_builtin_next_arg): Change Pmode to ptr_mode.
+
+2007-06-25  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (cgraph_mark_inline): Assert that we never inline
+	uninlinable call.
+	(cgraph_decide_inlining_of_small_function, cgraph_decide_inlining,
+	cgraph_decide_inlining_incrementally): Move uninlinability checks to
+	places other call site specific checks are performed.
+
+2007-06-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32421
+	* tree-vect-transform.c (vectorizable_operation): Convert
+	POINTER_PLUS_EXPR over to PLUS_EXPR.
+
+2007-06-25  Chao-ying Fu  <fu@mips.com>
+
+	* doc/rtl.texi (Machine Modes): Document QQ, HQ, SQ, DQ, TQ,
+	UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA, USA, UDA, and UTAmodes.
+	Document MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM.
+	Document GET_MODE_IBIT, and GET_MODE_FBIT.
+
+	* machmode.h (VECTOR_MODE_P): Test MODE_VECTOR_FRACT,
+	MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	(SCALAR_FRACT_MODE_P, SCALAR_UFRACT_MODE_P, ALL_SCALAR_FRACT_MODE_P,
+	SCALAR_ACCUM_MODE_P, SCALAR_UACCUM_MODE_P, ALL_SCALAR_ACCUM_MODE_P,
+	SIGNED_SCALAR_FIXED_POINT_MODE_P, UNSIGNED_SCALAR_FIXED_POINT_MODE_P,
+	ALL_SCALAR_FIXED_POINT_MODE_P, FRACT_MODE_P, UFRACT_MODE_P,
+	ALL_FRACT_MODE_P, ACCUM_MODE_P, UACCUM_MODE_P, ALL_ACCUM_MODE_P,
+	SIGNED_FIXED_POINT_MODE_P, UNSIGNED_FIXED_POINT_MODE_P,
+	ALL_FIXED_POINT_MODE_P): New define.
+	(CLASS_HAS_WIDER_MODES_P): Test MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+	MODE_UACCUM.
+	(GET_MODE_IBIT, GET_MODE_FBIT): New define.
+
+	* mode-classes.def (MODE_FRACT, MODE_UFRACT, MODE_ACCUM, MODE_UACCUM,
+	MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+	MODE_VECTOR_UACCUM): New mode classes.
+
+	* machmode.def: Document FRACT_MODE, UFRACT_MODE, ACCUM_MODE,
+	UACCUM_MODE, ADJUST_IBIT, and ADJUST_FBIT.
+	Add QQ, HQ, SQ, DQ, TQ, UQQ, UHQ, USQ, UDQ, UTQ, HA, SA, DA, TA, UHA,
+	USA, UDA, and UTA.
+
+	* genmodes.c (struct mode_data): Add ibit and fbit fields.
+	(blank_mode): Initialize ibit and fbit.
+	(adj_ibit, adj_fbit): New to adjust ibit and fbit.
+	(vector_class): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+	MODE_UACCUM.
+	(new_adjust): Change required_class to required_class_from and
+	required_class_to for testing within a range.
+	(complete_mode): Handle MODE_FRACT, MODE_UFRACT, MODE_ACCUM,
+	MODE_UACCUM, MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM,
+	MODE_VECTOR_UACCUM.
+	(FRACT_MODE, UFRACT_MODE, ACCUM_MODE, UACCUM_MODE): New define.
+	(make_fixed_point_mode): New.
+	(_ADD_ADJUST): Change C to C1 and C2.
+	(ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FLOAT_FORMAT): Change to
+	use a range for machine classes.
+	(ADJUST_IBIT, ADJUST_FBIT): New.
+	(emit_insn_modes_h): Output defines of CONST_MODE_IBIT and
+	CONST_MODE_FBIT.
+	(emit_mode_adjustments): Handle MODE_VECTOR_FRACT, MODE_VECTOR_UFRACT,
+	MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
+	Emit adjustment for ibit and fbit.
+	(emit_mode_ibit, emit_mode_fbit): New.
+	(emit_insn_modes_c): Add emit_mode_ibit and emit_mode_fbit.
+
+2007-06-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/rs6000/spe.md (*frob_ti_tf_2): Specify an input_operand
+	as the source of the set.
+
+2007-06-25  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P,
+	FP_REGNO_P): Use IN_RANGE.
+	(REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
+	(REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P): New.
+	(DATA_REG_P): Use DATA_REGNO_P.
+	(FP_REG_P): Use FP_REGNO_P.
+	(ADDRESS_REG_P): Use ADDRESS_REGNO_P.
+	* config/m68k/m68k.c (m68k_legitimate_base_reg_p): Use
+	REGNO_OK_FOR_INDEX_NONSTRICT_P, REGNO_OK_FOR_BASE_NONSTRICT_P.
+
+2007-06-24  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/30563
+	* cgraphunit.c (cgraph_analyze_function): Fix ordering problem.
+
+2007-06-24  Sebastian Pop  <sebpop@gmail.com>
+
+	PR middle-end/32461
+	* fold-const.c (fold_binary): Strip nops of operand 0
+	of BIT_NOT_EXPR before calling operand_equal_p.
+	* testsuite/gcc.dg/tree-ssa/pr32461-1.c: New.
+	* testsuite/gcc.dg/tree-ssa/pr32461-2.c: New.
+
+2007-06-23  Mark Mitchell  <mark@codesourcery.com>
+
+	* doc/extend.texi: Document that dllimport and dllexport imply
+	default visibility.
+	* tree.c (handle_dll_attribute): Set DECL_VISIBILITY on the
+	imported or exported declaration, including type declarations.
+	* c-common.c (handle_visibility_attribute): Check for conflicts
+	with dllimport/dllexport.
+	(c_determine_visibility): Handle dllimport/dllexport as an
+	explicit visibility atttribute.
+
+2007-06-23  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/16876
+	PR middle-end/29478
+	* tree.h (CALL_CANNOT_INLINE_P): New macro to access static_flag
+	for CALL_EXPRs.
+	* tree-inline.c (initialize_inlined_parameters): Do not call
+	lang_hooks.tree_inlining.convert_parm_for_inlining.
+	* cgraphbuild.c (initialize_inline_failed): Set inline failed
+	reason for mismatched types.
+	* gimplify.c (gimplify_call_expr): Verify the call expression
+	arguments match the called function type signature.  Otherwise
+	mark the call expression to be not considered for inlining
+	using CALL_CANNOT_INLINE_P flag.
+	* ipa-inline.c (cgraph_mark_inline): Honor CALL_CANNOT_INLINE_P on the
+	edges call expression.
+	(cgraph_decide_inlining_of_small_function): Likewise.
+	(cgraph_decide_inlining): Likewise.
+	* c-objc-common.h (LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING):
+	Remove define.
+	* c-tree.h (c_convert_parm_for_inlining): Remove declaration.
+	* c-typeck.c (c_convert_parm_for_inlining): Remove.
+	* langhooks-def.h (lhd_tree_inlining_convert_parm_for_inlining):
+	Remove declaration.
+	(LANG_HOOKS_TREE_INLINING_CONVERT_PARM_FOR_INLINING): Remove define.
+	* langhooks.c (lhd_tree_inlining_convert_parm_for_inlining):
+	Remove.
+	* langhooks.h (struct lang_hooks_for_tree_inlining): Remove
+	convert_parm_for_inlining member.
+
+2007-06-23  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/31152
+	* arm.md (negscc): Match the correct operand for optimized LT0 test.
+	Remove optimization for GT.
+
+2007-06-23  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/32437
+	* dce.c (deletable_insn_p): Add extra parameter and recurse if insn
+	is a PARALLEL.
+	(prescan_insns_for_dce): Add extra parameter.
+	
+2007-06-23  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/31541
+	* gimplify.c (mark_addressable): New function.
+	(gimplify_modify_expr_rhs, gimplify_addr_expr, gimplify_expr): Use it.
+
+2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/32374
+	* expr.c (store_constructor): Do not clobber non-zeroed memory. 
+
+2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32413
+	* config/i386/i386.c (ix86_register_move_cost): Rise the cost of
+	moves between MMX/SSE registers to at least 8 units to prevent
+	ICE caused by non-tieable SI/HI/QImodes in SSE registers. 
+
+2007-06-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (override_options): Correct x86_sahf
+	setting condition.
+
+2007-06-21  David Daney  <ddaney@avtrex.com>
+
+	PR target/32406
+	* config/mips/mips.md (define_constants): Rename UNSPEC_EH_RECEIVER
+	to UNSPEC_NONLOCAL_GOTO_RECEIVER globally.
+	(exception_receiver): Renamed to ...
+	(nonlocal_goto_receiver): ... this.
+
+2007-06-22  Roman Zippel <zippel@linux-m68k.org>
+
+	* df-scan.c (df_read_modify_subreg_p): Use REGMODE_NATURAL_SIZE.
+	(df_def_record_1): Set (DF_REF_READ_WRITE | DF_REF_PARTIAL) for
+	partial register accesses.
+
+2007-06-21  Adam Nemet  <anemet@caviumnetworks.com>
+
+	* fold-const.c (debug_fold_checksum): Move it under
+	ENABLE_FOLD_CHECKING.
+
+2007-06-21  Sebastian Pop  <sebpop@gmail.com>
+
+	PR middle-end/20623
+	* tree.h (debug_fold_checksum): Declared.
+	* fold-const.c (build_fold_addr_expr_with_type_1): New.
+	(build_fold_addr_expr_with_type, build_fold_addr_expr): Use 
+	build_fold_addr_expr_with_type_1.
+	(fold_addr_expr, debug_fold_checksum): New.
+	(fold_checksum_tree): Don't fold TREE_CHAIN of an SSA_NAME.
+	(fold_unary, fold_comparison, split_address_to_core_and_offset):
+	Use fold_addr_expr.
+	
+2007-06-21  Sebastian Pop  <sebpop@gmail.com>
+
+	PR tree-optimization/19590
+	* tree-vrp.c (adjust_range_with_scev): Set the range when the result
+	of scev is a constant.
+
+2007-06-21  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* df-problems.c (df_note_bb_compute): Made computation of live
+	info consistent with df_lr.
+
+2007-06-21  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32453
+	* tree-vrp.c (extract_range_from_assert): Build POINTER_PLUS_EXPR
+	for pointer anti-range.
+
+2007-06-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (processor_target_table): Increase maximum
+	skip from 7 byte to 10 byte for Pentium Pro, Core 2 Duo and
+	default 64bit.
+
+	* config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Ensure 8
+	byte alignment if > 8 byte alignment is preferred.
+	* config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
+
+2007-06-21  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/31866
+	* tree-ssa-coalesce.c (create_outofssa_var_map): Do nothing
+	if ASM_EXPR's input is not a SSA_NAME.
+
+	PR middle-end/32362
+	* omp-low.c (lookup_decl_in_outer_ctx): Don't ICE if t is NULL,
+	but decl is a global var, instead return decl.
+	* gimplify.c (gimplify_adjust_omp_clauses_1): Add shared clauses
+	even for is_global_var decls, if they are private in some outer
+	context.
+
+2007-06-21  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/32451
+	* tree-ssa-threadupdate.c (thread_single_edge): Fixup edge flags.
+
+2007-06-21  Christian Bruel  <christian.bruel@st.com>
+
+	* config/sh/sh-protos.h (sh_loads_bankedreg_p): Declare.
+	* config/sh/sh.c (sh_loads_bankedreg_p): New function.
+	(push_regs): Changed saving order or banked registers.
+	(sh_expand_epilogue): Likewise.
+	* config/sh/sh.h (BANKED_REGISTER_P): New macro.
+	(FIRST_BANKED_REG): Likewise.
+	(LAST_BANKED_REG): Likewise.
+	* config/sh/sh.md (banked) New attribute.
+	(in_delay_slot): Check banked attribute.
+	
+2007-06-20  Sebastian Pop  <sebpop@gmail.com>
+
+	PR tree-optimization/32075
+	* tree-data-ref.c (subscript_dependence_tester_1, 
+	analyze_miv_subscript, analyze_overlapping_iterations,
+	add_distance_for_zero_overlaps, build_classic_dist_vector,
+	subscript_dependence_tester_1, analyze_overlapping_iterations,
+	subscript_dependence_tester, access_functions_are_affine_or_constant_p,
+	compute_affine_dependence, compute_all_dependences): Pass loop_nest 
+	to evolution_function_is_affine_multivariate_p.
+
+2007-06-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* df-scan.c (df_get_call_refs): Be prepared for MEMs inside CLOBBERs.
+
+2007-06-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32335
+	* config/m32c/m32c.c (m32c_emit_epilogue): Use new HImode epilogue
+	for TARGET_A16.
+	* config/m32c/prologue.md (epilogue_exitd_16): New.
+	(epilogue_reit_16): New.
+	(epilogue_exitd): Rename to epilogue_exitd_24.
+	(epilogue_reit): Rename to epilogue_reit_24.
+
+2007-06-20  Seongbae Park  <seongbae.park@gmail.com>
+	    Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	* dbgcnt.def (global_alloc_at_func, global_alloc_at_reg):
+	New counters.
+	* haifa-sched.c (queue_to_ready): Don't requeue next insn
+	if dbg_cnt (sched_insn) reaches the limit.
+	(choose_ready): New parameter INSN_PTR and new return value.
+	(schedule_block): Handle dbg_cnt (sched_insn). Handle
+	the new return value from choose_ready.
+	* global.c (global_aloc): New dbgcnt global_alloc_at_reg.
+	(rest_of_handle_global_alloc): New global_alloc_at_func.
+
+2007-06-20  Adam Nemet  <anemet@caviumnetworks.com>
+
+	PR tree-optimization/25737
+	* tree.h (struct tree_struct_field_tag): Add new field alias_set.
+	(SFT_NONADDRESSABLE_P, SFT_ALIAS_SET): New macros.
+	* tree-flow.h (struct fieldoff): Add new field alias_set.
+	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Add new
+	argument addressable_type.  Set alias_set of fieldoff.
+	* tree-ssa-alias.c (create_sft): Add new argument alias_set.
+	(create_overlap_variables_for): Pass alias_set from fieldoff to
+	create_sft.
+	* alias.c (get_alias_set): Use alias_set from SFT if set.
+
+2007-06-20  Hui-May Chang  <hm.chang@apple.com>
+
+	* config/i386/darwin.h (ASM_OUTPUT_COMMON): Print the size
+	of a variable as an unsigned HOST_WIDE_INT integer.
+
+2007-06-20  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR rtl-optimization/32405
+	* loop-iv.c (iv_get_reaching_def): Fail for partial defs.
+
+2007-06-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* Makefile.in (omega.o): Depend on $(DIAGNOSTIC_H).
+
+	PR middle-end/31959
+	* builtins.c: Include diagnostic.h.
+	(expand_builtin_expect): Make gcc_assert more permissive.
+	* Makefile.in (builtins.o): Depend on $(DIAGNOSTIC_H).
+
+	PR inline-asm/32109
+	* gimplify.c (gimplify_asm_expr): Issue error if type is addressable
+	and !allows_mem.
+
+	PR middle-end/32285
+	* calls.c (precompute_arguments): Also precompute CALL_EXPR arguments
+	if ACCUMULATE_OUTGOING_ARGS.
+
+2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	* config/m68hc11/m68hc11.c: Include dataflow header file.
+	(m68hc11_reorg): Port to dataflow.
+
+2007-06-19  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* df.h (DF_FIRST_OPTIONAL_PROBLEM): Removed.
+	(struct df_problem.free_blocks_on_set_blocks): New field.
+	(struct dataflow.optional_p): New field.
+	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
+	(df_live_set_all_dirty): New function.
+	* df-scan.c (df_scan_alloc): Initialize optional_p.
+	(problem_SCAN): Initialize free_blocks_on_set_blocks.
+	* df-core.c (df_set_blocks): Removed use of
+	DF_FIRST_OPTIONAL_PROBLEM.  Now uses
+	df_problem.free_blocks_on_set_blocks to determine which blocks are
+	recycled.
+	(df_remove_problem): Removed use of DF_FIRST_OPTIONAL_PROBLEM.
+	(df_finish_pass): Removed use of DF_FIRST_OPTIONAL_PROBLEM.  Now
+	uses dataflow.optional_p to determine if problem should be
+	deleted.
+	(rest_of_handle_df_initialize): Only start live problem if 
+	-02 or above.
+	(df_bb_regno_last_use_find, df_insn_regno_def_p): Removed.
+	* 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.
+	(df_lr_bb_local_compute): Recompute luids if df_live problem is
+	not active.
+	(df_live_set_all_dirty, df_note_alloc): New function.
+	* regrename.c (merge_overlapping_regs): Change DF_LIVE_* to
+	df_get_live_*.
+	* sched_ebb.c (compute_jump_reg_dependencies): Ditto.
+	* postreload.c (reload_combine): Ditto.
+	* cse.c (cse_extended_basic_block): Ditto.
+	* regmove.c (mark_flags_life_zones): Ditto.
+	* rtlfactoring.c (split_blocks_after_seqs, split_pattern_seq,
+	erase_matching_seqs): Ditto.
+	* bt-load.c (compute_defs_uses_and_gen): Ditto.
+	* integrate (allocate_initial_values): Ditto.
+	* combine.c (reg_dead_at_p): Ditto.
+	* resource.c (mark_target_live_regs): Ditto.
+	* sched-rgn.c (check_live_1, update_live_1): Ditto.
+	* config/sh/sh.c (find_r0_life_regions): Ditto.
+	* global.c (rest_of_handle_global_alloc): Only add back df_live
+	for -O > 1.
+	* local-alloc.c (rest_of_handle_local_alloc): Only remove
+	df_live for -O > 1.
+	* ifcvt.c (dead_or_predicable): Change DF_LIVE_* to
+	df_get_live_*.
+	(if_convert): Make sure df_live is there at -O == 1.
+	(pass_if_after_combine): Cleanup flags.
+	* init-regs.c (initialize_uninitialized_regs): Make sure df_live
+	is there at -O == 1.
+	
+2007-06-19  Seongbae Park  <seongbae.park@gmail.com>
+
+	* config/arm/arm.c (arm_get_frame_offsets): Set
+	offsets->locals_base to avoid negative stack size.
+	(thumb1_expand_prologue): Assert on negative stack size.
+
+2007-06-19  Sebastian Pop  <sebpop@gmail.com>
+
+	PR tree-optimization/32367
+	* tree-chrec.h (build_polynomial_chrec): Verify that the left hand side 
+	of the chrec has no evolution in that loop.
+	* testsuite/gcc.dg/tree-ssa/pr32367.c: New.
+
+2007-06-19  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c: Include "df.h".
+	(xtensa_builtin_saveregs): Use adjust_address instead of
+	change_address.
+	(xtensa_va_start): Invoke make_tree with sizetype for
+	expand_builtin_saveregs and then convert the result to a pointer.
+	Use POINTER_PLUS_EXPR.  Use size_int instead of build_int_cst.
+	(xtensa_gimplify_va_arg_expr): Use size_int instead of build_int_cst.
+	Subtract argument size from index value as integers and then use
+	POINTER_PLUS_EXPR to add the result to the array address.
+	
+2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32335
+	* config/m32c/m32c.c: Include dataflow header file.
+	(m32c_emit_prologue): Adjust for prologue insn change.
+	* config/m32c/prologue.md (prologue_enter_16): Only modify SP_REGNO
+	once inside a PARALLEL. Assume frame size passed in operand 0
+	includes space to save the fb register.
+	(prologue_enter_24): Likewise.
+	(epilogue_exitd): Only modify SP_REGNO once inside a PARALLEL.
+
+2007-06-19  David Daney  <ddaney@avtrex.com
+
+	PR target/32313
+	* config/mips/mips.md (cprestore): Mark $gp as used.
+
+2007-06-19  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32369
+	* config/frv/frv.c (frv_ifcvt_modify_tests): Dataflow merge fix.
+	(frv_ifcvt_modify_insn): Likewise.
+
+2007-06-19  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (handle_ptr_arith): Make sure to
+	only handle positive offsets that fit in a HOST_WIDE_INT.
+
+2007-06-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_emit_swsqrtsf): Filter out infinity
+	result of rsqrt insn for zero input argument to avoid NaN.
+
+2007-06-19  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/31950
+	* tree-ssa-alias-warnings.c (ffan_walker): Punt on MTAGs.
+
+2007-06-19  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/32353
+	* tree-ssa-structalias.c (set_uids_in_ptset): Also handle RESULT_DECL.
+
+2007-06-19  Nick Clifton  <nickc@redhat.com>
+
+	* config/m32r/linux.h (LIB_SPEC): Always imply -lpthread for -pthread.
+
+2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32389
+	* config/i386/i386.h (enum ix86_stack_slot): Add SLOT_VIRTUAL.
+	* config/i386/i386.c (assign_386_stack_local): Assert that
+	SLOT_VIRTUAL is valid only before virtual regs are instantiated.
+	(ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR, IX86_BUILTIN_STMXCSR]:
+	Use SLOT_VIRTUAL stack slot instead of SLOT_TEMP.
+	* config/i386/i386.md (truncdfsf2, truncxf<mode>2): Ditto.
+
+2007-06-18  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.h (LIBGCC2_TF_CEXT): New.
+
+2007-06-18  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR rtl-optimization/32321
+	* gcse.c (replace_store_insn): Update the note before
+	calling emit_insn_after.
+
+2007-06-18  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/32355
+	* gcse (rest_of_handle_gcse): Add call to df_finish_pass after
+	cse_main.
+	* df-problems.c (df_note_bb_compute): Fix dumping info.
+	
+2007-06-18  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_expand_epilogue): Emit a return
+	insn with emit_jump_insn.
+
+2007-06-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32383
+	* targhooks.c (default_builtin_reciprocal): Add new bool argument.
+	* targhooks.h (default_builtin_reciprocal): Update prototype.
+	* target.h (struct gcc_target): Update builtin_reciprocal.
+	* doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Update description.
+	* tree-ssa-math-opts (execute_cse_reciprocals): Skip statements
+	where arg1 is not SSA_NAME.  Pass true to targetm.builtin_reciprocal
+	when fndecl is in BUILT_IN_MD class.
+	(execute_convert_to_rsqrt): Ditto.
+
+	* config/i386/i386.c (ix86_builtin_reciprocal): Update for new bool
+	argument.  Convert IX86_BUILTIN_SQRTPS code only when md_fn is true.
+	Convert BUILT_IN_SQRTF code only  when md_fn is false.
+
+2007-06-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* bt-load.c (move_btr_def): Fix the order of arguments
+	to validate_replace_rtx.
+
+2007-06-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k-devices.def: Add 54450..54455.
+
+2007-06-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/32366
+	* simplify-rtx.c (simplify_unary_operation_1) [FLOAT_TRUNCATE,
+	FLOAT_EXTEND]: Prevent non-scalar modes from entering
+	significand_size.
+
+2007-06-17  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	PR middle-end/32349
+	* modulo-sched (generate_reg_moves): Added rescan parameter and if
+	this is true, rescan insn being modified.
+	(sms_schedule): Added rescan parameter.
+	(rest_of_handle_sms): Moved freeing of dominance info to before
+	getting out of cfg_layout.
+	
+2007-06-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k.h (ISA_HAS_FF1, ISA_HAS_MVS_MVZ): New.
+	* config/m68k/m68k.md: Use ISA_HAS_FF1 and ISA_HAS_MVS_MVZ as
+	appropriate.
+
+	* config/m68k/m68k.c (all_isas): Remove FL_CF_FPU and
+	FL_CF_EMAC from the entry for isac.
+
+	* config/m68k/predicates.md (const_call_operand): Adjust comment.
+	(const_sibcall_operand): New.
+	(sibcall_operand): Use it.
+	* config/m68k/m68k.c (FL_FOR_isa_c): Not ISA_B compatible.
+	(m68k_isas): ISAC does not imply FPU or EMAC.
+	(override_options): Add ISA_C logic for symbolic jump & call.
+
+2007-06-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* config/sparc/sparc.c (sparc_vis_init_builtins): Retrieve the
+	return mode from the builtin itself.
+	(sparc_fold_builtin): Fix cast of zero constant.
+
+2007-06-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* targhooks.c (default_builtin_reciprocal): New default target hook.
+	* targhooks.h (default_builtin_reciprocal): Add prototype.
+	* hooks.c (hook_tree_tree_bool_null): Remove hook.
+	* hooks.h (hook_tree_tree_bool_null): Remove prototype.
+	* target-def.h (TARGET_BUILTIN_RECIPROCAL): Define as
+	default_builtin_reciprocal.
+
+2007-06-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/31723
+	* hooks.c (hook_tree_tree_bool_null): New hook.
+	* hooks.h (hook_tree_tree_bool_null): Add prototype.
+	* tree-pass.h (pass_convert_to_rsqrt): Declare.
+	* passes.c (init_optimization_passes): Add pass_convert_to_rsqrt.
+	* tree-ssa-math-opts.c (execute_cse_reciprocals): Scan for a/func(b)
+	and convert it to reciprocal a*rfunc(b).
+	(execute_convert_to_rsqrt): New function.
+	(gate_convert_to_rsqrt): New function.
+	(pass_convert_to_rsqrt): New pass definition.
+	* target.h (struct gcc_target): Add builtin_reciprocal.
+	* target-def.h (TARGET_BUILTIN_RECIPROCAL): New define.
+	(TARGET_INITIALIZER): Initialize builtin_reciprocal with
+	TARGET_BUILTIN_RECIPROCAL.
+	* doc/tm.texi (TARGET_BUILTIN_RECIPROCAL): Document.
+
+	* config/i386/i386.h (TARGET_RECIP): New define.
+	* config/i386/i386.md (divsf3): Expand by calling ix86_emit_swdivsf
+	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
+	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
+	and not optimizing for size.
+	(*rcpsf2_sse): New insn pattern.
+	(*rsqrtsf2_sse): Ditto.
+	(rsqrtsf2): New expander.  Expand by calling ix86_emit_swsqrtsf
+	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
+	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
+	and not optimizing for size.
+	(sqrt<mode>2): Expand SFmode operands by calling ix86_emit_swsqrtsf
+	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
+	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
+	and not optimizing for size.
+	* config/i386/sse.md (divv4sf): Expand by calling ix86_emit_swdivsf
+	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
+	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
+	and not optimizing for size.
+	(*sse_rsqrtv4sf2): Do not export.
+	(sqrtv4sf2): Ditto.
+	(sse_rsqrtv4sf2): New expander.  Expand by calling ix86_emit_swsqrtsf
+	for TARGET_SSE_MATH and TARGET_RECIP when flag_finite_math_only and
+	flag_unsafe_math_optimizations are set, flag_trapping_math is unset
+	and not optimizing for size.
+	(sqrtv4sf2): Ditto.
+	* config/i386/i386.opt (mrecip): New option.
+	* config/i386/i386-protos.h (ix86_emit_swdivsf): Declare.
+	(ix86_emit_swsqrtsf): Ditto.
+	* config/i386/i386.c (IX86_BUILTIN_RSQRTF): New constant.
+	(ix86_init_mmx_sse_builtins): __builtin_ia32_rsqrtf: New
+	builtin definition.
+	(ix86_expand_builtin): Expand IX86_BUILTIN_RSQRTF using
+	ix86_expand_unop1_builtin.
+	(ix86_emit_swdivsf): New function.
+	(ix86_emit_swsqrtsf): Ditto.
+	(ix86_builtin_reciprocal): New function.
+	(TARGET_BUILTIN_RECIPROCAL): Use it.
+	(ix86_vectorize_builtin_conversion): Rename from
+	ix86_builtin_conversion.
+	(TARGET_VECTORIZE_BUILTIN_CONVERSION): Use renamed function.
+	* doc/invoke.texi (Machine Dependent Options): Add -mrecip to
+	"i386 and x86_64 Options" section.
+	(Intel 386 and AMD x86_64 Options): Document -mrecip.
+
+2007-06-15  Andrew Pinski <andrew_pinski@playstation.sony.com>
+	    Zdenek Dvorak <dvorakz@suse.cz>
+	    Richard Guenther  <rguenther@suse.de>
+	    Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* tree-vrp.c (compare_values_warnv): Convert val2 to
+	the type of val1.
+	(extract_range_from_assert): Create
+	POINTER_PLUS_EXPR for pointer types.
+	(extract_range_from_binary_expr): Handle
+	only POINTER_PLUS_EXPR, MIN_EXPR, and MAX_EXPR
+	for pointer types.
+	* doc/c-tree.texi (POINTER_PLUS_EXPR): Document.
+	* tree-ssa-loop-niter.c (split_to_var_and_offset): Handle
+	POINTER_PLUS_EXPR as PLUS_EXPR.
+	(number_of_iterations_lt_to_ne):
+	For pointer types, use sizetype when
+	creating MINUS_EXPR/PLUS_EXPRs.
+	(assert_loop_rolls_lt): For pointer types, use sizetype when
+	creating MINUS_EXPR/PLUS_EXPRs.
+	(number_of_iterations_le): Likewise.
+	(expand_simple_operations): POINTER_PLUS_EXPR are simple also.
+	(derive_constant_upper_bound): Handle POINTER_PLUS_EXPR just
+	like PLUS_EXPR and MINUS_EXPR.
+	* tree-pretty-print.c (dump_generic_node): Handle
+	POINTER_PLUS_EXPR.
+	(op_prio): Likewise.
+	(op_symbol_1): Likewise.
+	* optabs.c (optab_for_tree_code): Likewise.
+	* tree-ssa-loop-manip.c (create_iv): Handle pointer base
+	specially.
+	* tree-tailcall.c (process_assignment): Mention
+	POINTER_PLUS_EXPR in a TODO comment.
+	* tree.c (build2_stat): Assert when trying to use PLUS_EXPR or 
+	MINUS_EXPR with a pointer. Also assert for POINTER_PLUS_EXPR
+	not used with a pointer and an integer type.
+	* tree-scalar-evolution.c (add_to_evolution_1): Convert the
+	increment using chrec_convert_rhs instead of chrec_convert.
+	(follow_ssa_edge_in_rhs): Handle POINTER_PLUS_EXPR like
+	PLUS_EXPR except for the right hand side's type will be
+	sizetype.
+	(interpret_rhs_modify_stmt): Handle POINTER_PLUS_EXPR.
+	(fold_used_pointer_cast): Kill.
+	(pointer_offset_p): Kill.
+	(fold_used_pointer): Kill.
+	(pointer_used_p): Kill.
+	(analyze_scalar_evolution_1 <case GIMPLE_MODIFY_STMT>): Don't
+	call fold_used_pointer.
+	(instantiate_parameters_1): Convert the increment
+	using chrec_convert_rhs instead of chrec_convert.
+	Handle POINTER_PLUS_EXPR as PLUS_EXPR.
+	* builtins.c (get_pointer_alignment): Handle POINTER_PLUS_EXPR
+	instead of PLUS_EXPR.
+	(expand_builtin_strcat): Create a POINTER_PLUS_EXPR instead of
+	PLUS_EXPR for pointers.
+	(std_gimplify_va_arg_expr): Likewise.
+	(fold_builtin_memory_op): Likewise.
+	(fold_builtin_strstr): Likewise.
+	(fold_builtin_strchr): Likewise.
+	(fold_builtin_strrchr): Likewise.
+	(fold_builtin_strpbrk): Likewise.
+	(expand_builtin_memory_chk): Likewise.
+	(fold_builtin_memory_chk): Likewise.
+	(std_expand_builtin_va_start): Use
+	sizetype for the call to make_tree and then convert
+	to the pointer type.
+	(fold_builtin_memchr): Use POINTER_PLUS_EXPR
+	instead of PLUS_EXPR for adding to a pointer.
+	(std_gimplify_va_arg_expr): Use fold_build2 for
+	the creating of POINTER_PLUS_EXPR.  For the BIT_AND_EXPR, cast
+	the operands to sizetype first and then cast the BIT_AND_EXPR
+	back to the pointer type.
+	* fold-const.c (build_range_check): Handle pointer types
+	specially.
+	(extract_array_ref): Look for POINTER_PLUS_EXPR instead
+	of PLUS_EXPR's. Make sure the offset is converted to
+	sizetype.
+	(try_move_mult_to_index): Strip the NOPs from the offset.
+	Remove code argument and replace all uses with PLUS_EXPR.
+	(fold_to_nonsharp_ineq_using_bound): Handle pointer types
+	specially. Don't use a pointer type for MINUS_EXPR.
+	(fold_unary): Handle for (T1)(X op Y),
+	only p+ as that is the only as that can be handled for
+	binary operators now.
+	(fold_binary <case POINTER_PLUS_EXPR>): Add folding of
+	POINTER_PLUS_EXPR.
+	<case PLUS_EXPR>: Add folding of PTR+INT into
+	PTR p+ INT.
+	Don't call try_move_mult_to_index.
+	<case MINUS_EXPR>: Fold (PTR0 p+ A) - (PTR1 p+ B)
+	into (PTR0 - PTR1) + (A - B). Fold (PTR0 p+ A) - PTR1 into
+	(PTR0 - PTR1) + A iff (PTR0 - PTR1) simplifies.
+	Don't call try_move_mult_to_index.
+	(tree_expr_nonnegative_warnv_p): Handle POINTER_PLUS_EXPR.
+	(tree_expr_nonzero_p): Likewise.
+	(fold_indirect_ref_1): Look at POINTER_PLUS_EXPR instead
+	of PLUS_EXPR for the complex expression folding.
+	* tree-chrec.c (chrec_fold_plus_poly_poly): If the
+	first chrec is a pointer type, then the second should
+	be sizetype and not the first's type.
+	For POINTER_PLUS_EXPR, use a different right hand side type.
+	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
+	(chrec_fold_plus_1): For POINTER_PLUS_EXPR, use a
+	different right hand side type.
+	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
+	(chrec_fold_plus): For pointer types, use POINTER_PLUS_EXPR
+	instead of PLUS_EXPR.
+	When either operand is zero, convert the other operand.
+	(chrec_apply): Use chrec_convert_rhs
+	on the argument x instead of chrec_convert.
+	(reset_evolution_in_loop): For pointer types, the new_evol
+	should be sizetype.
+	(convert_affine_scev): For POINTER_PLUS_EXPR, use a
+	different right hand side type.
+	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
+	(chrec_convert_rhs): New function.
+	(chrec_convert_aggressive): For POINTER_PLUS_EXPR, use a
+	different right hand side type.
+	Handle POINTER_PLUS_EXPR like PLUS_EXPR.
+	* tree-chrec.h (chrec_convert_rhs): New prototype.
+	(build_polynomial_chrec): For pointer types, the right hand
+	* tree-ssa-ccp.c (maybe_fold_stmt_indirect): Look for
+	POINTER_PLUS_EXPR instead of PLUS_EXPR's.
+	Remove subtraction case as it is always addition now.
+	Make sure the offset is converted to sizetype.
+	(fold_stmt_r): Don't handle PLUS_EXPR/MINUS_EXPR specially.
+	Handle POINTER_PLUS_EXPR like PLUS_EXPR was handled before.
+	* tree-ssa-loop-ivopts.c (determine_base_object): Abort for 
+	PLUS_EXPR in pointer type.
+	Handle POINTER_PLUS_EXPR.
+	(tree_to_aff_combination): Likewise.
+	(force_expr_to_var_cost): Likewise.
+	(force_expr_to_var_cost): Likewise. Create a POINTER_PLUS_EXPR
+	instead of PLUS_EXPR for pointers.
+	* c-format.c (check_format_arg): Handle POINTER_PLUS_EXPR
+	instead of PLUS_EXPR of pointer types.
+	* tree-stdarg.c (va_list_counter_bump): Handle POINTER_PLUS_EXPR
+	as PLUS_EXPR.
+	(check_va_list_escapes): Likewise.
+	(check_all_va_list_escapes): Likewise.
+	* dwarf2out.c (loc_descriptor_from_tree_1):
+	Handle POINT_PLUS_EXPR as a PLUS_EXPR.
+	* expr.c (expand_expr_real_1): Handle POINTER_PLUS_EXPR.
+	(string_constant): Likewise.
+	* tree-ssa-address.c (tree_mem_ref_addr): When adding
+	the offset to the base, use POINTER_PLUS_EXPR.
+	(add_to_parts): Convert the index to sizetype.
+	(create_mem_ref): Create A POINTER_PLUS_EXPR for the one case.
+	* matrix-reorg.c (collect_data_for_malloc_call): Stmt
+	will now only be either INDIRECT_REF and POINTER_PLUS_EXPR.
+	Offset only holds something for PLUS_EXPR.
+	(ssa_accessed_in_tree): Handle POINTER_PLUS_EXPR just as
+	a PLUS_EXPR.
+	(analyze_transpose): POINTER_PLUS_EXPR will only show up now
+	and not PLUS_EXPR.
+	(analyze_accesses_for_modify_stmt): Likewise.
+	Remove comment about the type being integral type as it is
+	wrong now.
+	(can_calculate_expr_before_stmt): Handle POINTER_PLUS_EXPR as
+	PLUS_EXPR.
+	(transform_access_sites): POINTER_PLUS_EXPR will only show up now
+	and not PLUS_EXPR.
+	Correct the type which the artimentic is done in (is now
+	sizetype).
+	Reindent one loop.
+	* tree-data-ref.c (split_constant_offset): Handle
+	POINTER_PLUS_EXPR
+	* tree-affine.c (tree_to_aff_combination): Likewise.
+	* c-typeck.c (build_unary_op): For pointers create the increment
+	as a sizetype. Create a POINTER_PLUS_EXPR instead of PLUS_EXPR
+	for pointers.
+	* gimplify.c (gimplify_self_mod_expr): Create a
+	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
+	(gimplify_omp_atomic_fetch_op): Handle POINTER_PLUS_EXPR.
+	* tree.def (POINTER_PLUS_EXPR): New tree code.
+	* tree-predcom.c (ref_at_iteration): If we have a pointer
+	type do the multiplication in sizetype.
+	* tree-mudflap.c (mf_xform_derefs_1): Create a
+	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
+	* tree-ssa-forwprop.c 
+	(forward_propagate_addr_into_variable_array_index):
+	Don't expect there to be a cast for the index as that
+	does not exist anymore.
+	(forward_propagate_addr_expr_1): Check for POINTER_PLUS_EXPR
+	instead of PLUS_EXPR.
+	Don't check for the first operand of the POINTER_PLUS_EXPR
+	was the index as it cannot be.
+	Call forward_propagate_addr_into_variable_array_index with
+	the SSA_NAME instead of the statement.
+	* varasm.c (const_hash_1): Handle POINTER_PLUS_EXPR.
+	(compare_constant): Likewise.
+	(copy_constant): Likewise.
+	(compute_reloc_for_constant): Likewise.
+	(output_addressed_constants): Likewise.
+	(initializer_constant_valid_p): Likewise.
+	* 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
+	POINTER_PLUS_EXPR instead of PLUS_EXPR.
+	(issue_prefetch_ref): Create a POINTER_PLUS_EXPR instead
+	of PLUS_EXPR for pointers.
+	* tree-inline.c (estimate_num_insns_1): Handle
+	POINTER_PLUS_EXPR.
+	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref): 
+	Create a POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
+	(bump_vector_ptr): Create a POINTER_PLUS_EXPR
+	instead of PLUS_EXPR for the pointer increment statement.
+	(vect_update_ivs_after_vectorizer): For pointer types, create
+	POINTER_PLUS_EXPR instead of PLUS_EXPR and also create
+	MULT_EXPR in sizetype.
+	(vect_gen_niters_for_prolog_loop): Add a cast when creating
+	byte_misalign.
+	* tree-object-size.c (plus_expr_object_size): Handle
+	POINTER_PLUS_EXPR instead of PLUS_EXPR.  Removing all the extra
+	code which is trying to figure out which side is a pointer and 
+	is the index.
+	(check_for_plus_in_loops_1): Likewise.
+	(check_for_plus_in_loops): Likewise.
+	* c-common.c (pointer_int_sum): Create a
+	POINTER_PLUS_EXPR instead of PLUS_EXPR for pointers.
+	* tree-ssa-structalias.c (handle_ptr_arith): Handle
+	only POINTER_PLUS_EXPR.  Removing all the extra
+	code which is trying to figure out which side is a pointer and 
+	is the index.
+	* tree-cfg.c (verify_expr): Add extra checking for pointers and
+	PLUS_EXPR and MINUS_EXPR.
+	Also add checking to make sure the operands of POINTER_PLUS_EXPR
+	are correct.
+	* config/frv/frv.c (frv_expand_builtin_va_start): Use sizetype
+	with make_tree, instead of a pointer type.
+	* config/s390/s390.c (s390_va_start): Use POINTER_PLUS_EXPR
+	for pointers instead of PLUS_EXPR.
+	(s390_gimplify_va_arg): Likewise.
+	* config/spu/spu.c (spu_va_start): Create POINTER_PLUS_EXPR
+	instead of PLUS_EXPR when doing addition on pointer
+	types.  Use sizetype for the second operand.
+	(spu_gimplify_va_arg_expr): Likewise.
+	* config/sparc/sparc.c (sparc_gimplify_va_arg): Use 
+	POINTER_PLUS_EXPR instead of PLUS_EXPR when the operand was
+	a pointer.  Don't create a BIT_AND_EXPR for pointer types.
+	* config/i386/i386.c (ix86_va_start): Use POINTER_PLUS_EXPR
+	for the pointer addition and also use size_int/sizetype
+	for the offset.
+	(ix86_gimplify_va_arg): Likewise.
+	Perform BIT_AND_EXPR on sizetype arguments.
+	* config/sh/sh.c (sh_va_start): Call make_tree with sizetype
+	and convert its result to a pointer type.  Use POINTER_PLUS_EXPR
+	for the pointer additions and also use size_int for the offsets.
+	(sh_gimplify_va_arg_expr): Use POINTER_PLUS_EXPR for the pointer
+	additions and also use size_int for the offsets.  Perform
+	BIT_AND_EXPR on sizetype arguments.
+	* config/ia64/ia64.c (ia64_gimplify_va_arg): Use
+	POINTER_PLUS_EXPR for pointers and create the
+	BIT_AND_EXPR in sizetype.
+	* config/rs6000/rs6000.c (rs6000_va_start): Use POINTER_PLUS_EXPR
+	instead of PLUS_EXPR for pointer addition.
+	(rs6000_va_start): Likewise.
+	Also use sizetype for the offset.
+	* config/pa/pa.c (reloc_needed): Handle POINTER_PLUS_EXPR
+	as PLUS_EXPR/MINUS_EXPR.
+	(hppa_gimplify_va_arg_expr): Don't create MINUS_EXPR or
+	PLUS_EXPR for pointers, instead use POINTER_PLUS_EXPR.
+	Don't use BIT_AND_EXPR on a pointer type, convert the
+	expression to sizetype first.
+	* config/mips/mips.c (mips_va_start): Use POINTER_PLUS_EXPR
+	for pointers.
+	(mips_gimplify_va_arg_expr): Likewise.
+	Don't create BIT_AND_EXPR in a pointer type.
+
+2007-06-15  Eric Christopher  <echristo@apple.com>
+
+	* config.gcc (i?86-*-darwin*): Add t-crtfm and t-crtpc.
+	(x86_64-*-darwin*): Ditto.
+	* config/i386/darwin.h (CRTEND_SPEC): New. Add support
+	for above.
+
+2007-06-15  Matthew Wilcox <matthew@wil.cx>
+
+	* doc/extend.texi: Document behavior of __attribute__((aligned))
+	on typedefs.
+
+2007-06-15  Mark Mitchell  <mark@codesourcery.com>
+
+	* rtlanal.c (note_stores): Improve documentation.
+
+2007-06-15  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/elf.h (ASM_GENERATE_INTERNAL_LABEL,
+	LOCAL_LABEL_PREFIX): Delete.
+	* config/bfin/bfin.c (TARGET_ASM_INTERNAL_LABEL): Delete.
+	(bfin_internal_label): Delete.
+
+2007-06-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* libgcc2.c (CEXT): When compiling L_multc3 and L_divtc3,
+	define to "l" if LIBGCC_LONG_DOUBLE_SIZE == 128,
+	otherwise define to LIBGCC2_TF_CEXT.
+	* config/i386/linux64.h (LIBGCC2_HAS_TF_MODE): New define.
+	(LIBGCC_TF_CEXT): Ditto.
+	(TF_SIZE): Ditto.
+
+2007-06-14  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR rtl-optimization/32339
+	* df-scan.c (df_uses_record): Don't modify flags but just add to
+	it for df_ref_record.
+
+2007-06-14  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* tree-mudflap.c: Fix whitespace issues.
+
+2007-06-15  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (ASM_DOT, ASM_DOTW, ASM_DOTL): Remove.
+
+2007-06-14  Eric Christopher  <echristo@apple.com>
+
+	* config/i386/sse.md (movdi_to_sse): Rewrite body.
+	(movv4sf): Use gcc_unreachable instead of abort.
+
+2007-06-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32268
+	* config/i386/sfp-machine.h (CMPtype): New define.
+	(mach stubs): Use CMPtype instead of int as a return type.
+
+2007-06-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/soft-fp/eqdf2.c, config/soft-fp/eqsf2.c,
+	config/soft-fp/eqtf2.c, config/soft-fp/gedf2.c,
+	config/soft-fp/gesf2.c, config/soft-fp/getf2.c,
+	config/soft-fp/ledf2.c, config/soft-fp/lesf2.c,
+	config/soft-fp/letf2.c, config/soft-fp/unorddf2.c,
+	config/soft-fp/unordsf2.c, config/soft-fp/unordtf2.c,
+	config/soft-fp/soft-fp.h: Update from glibc CVS.
+
+2007-06-14  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/uclinux.h (MFWRAP_SPEC): New.
+
+2007-06-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+	PR target/32341
+	* config/v850/v850.c: Include dataflow header file.
+	(substitute_ep_register): Fix typo.
+
+2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
+
+	* configure.ac: Fix earlier checkin.
+	* configure: Regenerated.
+
+2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
+
+	* acinclude.m4 (gcc_AC_CHECK_PROG_VER): Remove.
+	* aclocal.m4: Regenerate.
+	* configure.ac: Use ACX_PROG_CC_WARNING_OPTS,
+	ACX_PROG_CC_WARNINGS_ARE_ERRORS,
+	ACX_PROG_CC_WARNING_ALMOST_PEDANTIC, ACX_CHECK_PROG_VER.
+	* configure: Regenerate.
+	* Makefile.in (LOOSE_WARN): Subst loose_warn.
+
+	* Makefile.in (quickstrap): Build libgcc too.
+
+2007-06-14  Paolo Bonzini  <bonzini@gnu.org>
+
+	* configure.ac: Add --enable-checking=df.  Explicitly mention that
+	the variables are initialized as for "release".
+	* df-core.c: Use it.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2007-06-14  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_expand_nonlocal_goto): Use
+	validate_replace_rtx instead of replace_rtx.
+	(xtensa_expand_prologue): Call df_insn_rescan after replace_rtx.
+
+2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	* config/i386/cygming.h (DWARF_FRAME_REGNUM): Define.
+	(DWARF2_UNWIND_INFO): Override default if configured with
+	SJLJ EH disabled.
+	* config/i386/cygwin.h (STARTFILE_SPEC): Add crtbegin.o.
+	(ENDFILE_SPEC): Add crtend.o.
+	* config/i386/mingw32.h (STARTFILE_SEC): Add crtbegin.o.
+	(ENDFILE_SPEC): Add crtend.o.
+	(TARGET_USE_JCR_SECTION): Define.
+	(MD_UNWIND_SUPPORT): Define for 32-bit target.
+
+	* config/i386/cygming-crtbegin.c: New file.
+	* config/i386/cygming-crtend.c: New file.
+
+2007-06-14  Pascal Obry Pascal Obry  <obry@adacore.com>
+
+	* config/i386/w32-unwind.h: New file.
+
+2007-06-13  Eric Christopher  <echristo@apple.com>
+
+	* config/i386/darwin.h (PREFERRED_STACK_BOUNDARY): Don't let
+	the user set a value below STACK_BOUNDARY.
+
+2007-06-13  Thiemo Seufer  <ths@networkno.de>
+
+	* config/mips/linux.h, config/mips/linux64.h (LIB_SPEC): Always
+	imply -lpthread for -pthread.
+
+2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
+
+	* basic-block.h: Remove the prototype for
+	free_basic_block_vars.
+	* cfglayout.h: Remove the prototype for
+	insn_locators_initialize.
+	* tree.h: Remove the prototype for emit_line_note.
+
+	* tree-ssa-pre.c (mergephitemp): Remove.
+	(init_pre): Don't use mergephitemp.
+
+2007-06-13  Eric Christopher  <echristo@apple.com>
+
+	* config/i386/i386.c (override_options): If we've specified
+	an arch then don't use TARGET_SUBTARGET_ISA_DEFAULTs.
+
+2007-06-13  Bob Wilson  <bob.wilson@acm.org>
+
+	* df-scan.c (df_get_entry_block_def_set): Check if STATIC_CHAIN_REGNUM
+	is defined.
+
+2007-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (EH_RETURN_HANDLER_RTX): Use gen_frame_mem.
+	* config/bfin/bfin.md (UNSPEC_VOLATILE_STORE_EH_HANDLER): New constant.
+	(eh_store_handler): New pattern.
+	(eh_return): Emit it instead of a plain move.
+
+2007-06-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins)
+	[__builtin_infq, __builtin_fabsq]: Define usign def_builtin.
+	[__builtin_ia32_rsqrtps, __builtin_ia32_rsqrtss]: Define using
+	def_builtin_const.
+
+2007-06-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.c (gen_one_bundle): Delete unused local variables.
+	(find_next_insn_start, find_load): New functions.
+	(bfin_reorg): Use them to deal with the fact that parallel insns are
+	no longer represented as a SEQUENCE.
+
+2007-06-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* config/sparc/sparc.c (sparc_override_options): Initialize
+	fpu mask correctly.
+
+2007-06-13  Dave Korn  <dave.korn@artimi.com>
+
+	* config/i386/i386.c (ix86_eax_live_at_start_p): Use df_get_live_out.
+
+2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
+
+	* auto-inc-dec.c, c-incpath.c, config/c4x/libgcc.S,
+	config/sh/divcost-analysis, dbgcnt.def, df-core.c,
+	df-problems.c, df-scan.c, df.h, dominance.c, dse.c, regstat.c,
+	tree-data-ref.c, tree-ssa-loop-im.c, tree-ssa-loop-prefetch.c,
+	tree-vect-transform.c: Fix comment typos.  Follow spelling
+	conventions.
+
+2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
+
+	* df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
+	to the exit block use set.
+	(df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
+	* gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
+	* config/sparc/sparc.c (sparc_check_64): Check df != NULL.
+
+2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
+
+	* opts.c (common_handle_option): Handle new option -fdbg-cnt-list.
+	* dbgcnt.c (dbg_cnt_set_limit_by_name): Return value
+	to indicate an error.
+	(dbg_cnt_process_single_pair, dbg_cnt_list_all_counters):
+	New functions.
+	(dbg_cnt_process_opt): Print an error on a bad argument.
+	* dbgcnt.h (dbg_cnt_list_all_counters): New function declaration.
+	* common.opt (-fdbg-cnt-list): New.
+	* doc/invoke.texi (-fdbg-cnt-list,-fdbg-cnt=): New.
+
+2007-06-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-alias.c (finalize_ref_all_pointers): Clear pt_anything
+	flag on ref-all pointers.
+
+2007-06-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/31579
+	* expr.c (expand_expr_addr_expr_1): Call expand_expr
+	for the offset with the modifier as EXPAND_INITIALIZER
+	if the modifier is EXPAND_INITIALIZER.
+	(expand_expr_real_1 <case INTEGER_CST>): Don't force to
+	a register if we had an overflow.
+
+2007-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* real.c (real_isfinite): New.
+	(real_sqrt): Use it.
+	* real.h (real_isfinite): New.
+	* builtins.c: Use it.
+
+2007-06-12  Ian Lance Taylor  <iant@google.com>
+	    Daniel Berlin  <dberlin@dberlin.org>
+
+	PR libstdc++/29286
+	* tree.def: Add CHANGE_DYNAMIC_TYPE_EXPR.
+	* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Define.
+	(CHANGE_DYNAMIC_TYPE_LOCATION): Define.
+	(DECL_NO_TBAA_P): Define.
+	(struct tree_decl_common): Add no_tbaa_flag field.
+	* tree-ssa-structalias.c (struct variable_info): Add
+	no_tbaa_pruning field.
+	(new_var_info): Initialize no_tbaa_pruning field.
+	(unify_nodes): Copy no_tbaa_pruning field.
+	(find_func_aliases): Handle CHANGE_DYNAMIC_TYPE_EXPR.
+	(dump_solution_for_var): Print no_tbaa_pruning flag.
+	(set_uids_in_ptset): Add no_tbaa_pruning parameter.  Change all
+	callers.
+	(compute_tbaa_pruning): New static function.
+	(compute_points_to_sets): Remove CHANGE_DYNAMIC_TYPE_EXPR nodes.
+	Call compute_tbaa_pruning.
+	* tree-ssa-alias.c (may_alias_p): Test no_tbaa_flag for pointers.
+	* gimplify.c (gimplify_expr): Handle CHANGE_DYNAMIC_TYPE_EXPR.
+	* gimple-low.c (lower_stmt): Likewise.
+	* tree-gimple.c (is_gimple_stmt): Likewise.
+	* tree-ssa-operands.c (get_expr_operands): Likewise.
+	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+	* tree-inline.c (estimate_num_insns_1): Likewise.
+	(copy_result_decl_to_var): Likewise.
+	* expr.c (expand_expr_real_1): Likewise.
+	* tree-pretty-print.c (dump_generic_node): Likewise.
+	* tree-inline.c (copy_decl_to_var): Copy DECL_NO_TBAA_P flag.
+	* omp-low.c (omp_copy_decl_2): Likewise.
+	* print-tree.c (print_node): Print DECL_NO_TBAA_P flag.
+	* doc/c-tree.texi (Expression trees): Document
+	CHANGE_DYNAMIC_TYPE_EXPR.
+
+2007-06-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* fold-const.c (fold_binary): Guard (X-X) -> 0 transformation
+	with !HONOR_NANS and !HONOR_INFINITIES.
+	* simplify-rtx.c (simplify_binary_operation_1): Likewise.
+
+2007-06-12  Tristan Gingold  <gingold@adacore.com>
+
+	* gcov.c: Comments updated.
+	(source_info): Add file_time field.
+	(source_index): New variable.
+	(mutiple_files): New variable.
+	(generate_results): New function extracted from process_file.
+	(process_file): Save and restore chain of functions, generate
+	results and free structures only if not merging results.
+	(release_structures): File names are now freed in create_file_names
+	(create_file_names): Free previous file names.
+	(find_source): File date is now read here and modifications in
+	source files is checked here.
+	(read_graph_file): Only reverse order of functions for the current
+	object file.
+	(make_gcov_file_name): Do not generate long names if input_name is
+	NULL.
+	(output_lines): If merging results do not display graph, data and
+	runs informations.
+	Checking source file modification is done in find_source.
+
+	* doc/gcov.texi: Append an s to sourcefile.
+
+2007-06-12  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (UNSPEC_NOP): New constant.
+	(forced_nop): New pattern.
+	* config/bfin/bfin.c: Include "df.h".
+	(add_to_reg): Use df_regs_ever_live_p instead of regs_ever_live.
+	(bfin_discover_loop): Use df_get_live_in instead of
+	global_live_at_start.
+	(bfin_reorder_loops): Pass 0 to cfg_layout_initialize.  Call
+	df_analyze when done.
+	(gen_one_bundle): Don't generate SEQUENCE insns, just put modes on
+	the insns.  Use QImode for the final insn in a bundle.  Call
+	df_insn_rescan on generated NOPs; use gen_forced_nop instead of
+	gen_nop.
+	(reorder_var_tracking_notes): New function.
+	(bfin_reorg): Pass no argument to split_all_insns.  Don't call
+	update_life_info.  Call df_analyze after scheduling and bundle
+	generation.  Call reorder_var_tracking_notes if generating these
+	notes.  Call df_finish_pass at the end.
+
+2007-06-12  Dirk Mueller  <dmueller@suse.de>
+
+	* optabs.c (debug_optab_libfuncs): fix gcc_assert to
+	a comparison, not an assignment.
+
+2007-06-12  Olivier Hainque  <hainque@adacore.com>
+
+	* tree-nested.c (convert_local_reference): Handle VIEW_CONVERT_EXPR.
+	Request walking the subtrees only, leaving the current is_lhs/val_only
+	untouched.
+	(convert_non_local_reference): Likewise.
+
+2007-06-12  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k-devices.def (52221, 52223, 5253): New.
+
+2007-06-12  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/15353
+	PR tree-optimization/31657
+	* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
+	* timevar.def: Add TV_TREE_IFCOMBINE.
+	* tree-pass.h (pass_tree_ifcombine): Declare.
+	* tree-ssa-ifcombine.c: New file.
+	* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
+	* tree-flow.h (blocks_in_phiopt_order): Declare.
+	* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
+	(tree-ssa-ifcombine.o): New dependencies.
+
+2007-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR rtl-optimization/32293
+	* combine.c (simplify_if_then_else): Truncate return from
+	nonzero_bits() to correct mode.
+
+2007-06-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* fold-const (fold_binary) [RDIV_EXPR]: Also optimize a/cbrt(b/c)
+	into a*cbrt(c/b) if flag_unsafe_math_optimizations is set.
+
+2007-06-11  Diego Novillo  <dnovillo@google.com>
+
+	* Makefile.in (reload1.o-warn): Remove.
+
+2007-06-11  Seongbae Park <seongbae.park@gmail.com>
+
+	* combine.c (subst): Use reg_overlap_mentioned_p
+	instead of comparing register numbers directly.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* reload1.c (mark_home_live_1): Use the mode parameter.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+	* df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all,
+	df_process_deferred_rescans, df_notes_rescan): Fixed spelling of
+	word "deferred".
+	* df-core.c: Ditto.
+
+2007-06-11  Daniel Berlin  <dberlin@dberlin.org>
+
+	* Merge dataflow-branch into mainline (see ChangeLog.dataflow)
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md ("*movtf_internal): Penalize moves to and
+	from integer registers.
+	(FP mode splitters): Handle TFmode.
+
+2007-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-structalias.c (find_what_p_points_to): Return false
+	for ref-all pointers that point-to anything.
+
+2007-06-11  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/arm/arm.c (arm_output_dwarf_dtprel,
+	TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
+
+2007-06-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
+	movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
+	to memory moves.
+
+2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
+
+	* tree.c (signed_or_unsigned_type_for): New.
+	(unsigned_type_for): Use signed_or_unsigned_type_for.
+	(signed_type_for): Use signed_or_unsigned_type_for.
+	* tree.h (signed_or_unsigned_type_for): New.
+	(get_signed_or_unsigned_type): Remove.
+	* fold-const.c (fold_negate_expr): Use signed_type_for instead of
+	lang_hooks.types.signed_type
+	(size_diffop): Likewise.
+	(all_ones_mask_p): Likewise.
+	(build_range_check): Likewise.
+	(fold_cond_expr_with_comparison): Likewise.
+	(fold_cond_expr_with_comparison): Likewise.
+	(unextend): Likewise.
+	(extract_muldiv_1): Likewise.
+	(fold_single_bit_test_into_sign_test): Likewise.
+	(fold_binary): Likewise.
+	(fold_ternary): Likewise.
+	(operand_equal_for_comparison_p): Use signed_or_unsigned_type_for
+	instead of get_signed_or_unsigned_type.
+	* c-objc-common.h (LANG_HOOKS_SIGNED_TYPE): Remove.
+	(LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+	* expr.c (signed_or_unsigned_type_for): Use
+	signed_or_unsigned_type_for instead of get_signed_or_unsigned_type.
+	* langhooks.c (get_signed_or_unsigned_type): Remove.
+	(lhd_signed_or_unsigned_type): Remove.
+	* langhooks.h (lang_hooks_for_types): Remove signed_type and
+	signed_or_unsigned_type.
+	(lhd_signed_or_unsigned_type): Remove.
+	* expmed.c (make_tree): Use signed_type_for instead of
+	lang_hooks.types.signed_type.
+	* c-common.c (same_scalar_type_ignoring_signedness): Use
+	c_common_signed_type instead of lang_hooks.types.signed_type.
+	(c_common_unsigned_type): New.
+	(c_common_signed_type): Just call c_common_signed_or_unsigned_type.
+	(shorten_compare): Use c_common_unsigned_type instead of
+	c_common_signed_or_unsigned_type.
+	(c_common_nodes_and_builtins): Use c_common_unsigned_type instead of
+	unsigned_type_for.
+	* convert.c (convert_to_integer): Use signed_type_for instead of
+	lang_hooks.types.signed_type.
+	* langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+	(LANG_HOOK_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_SIGNED_TYPE and
+	LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE.
+	* c-format.c (check_format_types): Use c_common_unsigned_type
+	instead of unsigned_type_for.
+	* c-decl.c (groakdeclarator): Likewise.
+	* c-typeck.c (convert_for_assignment): Likewise.
+	* c-common.h (c_common_unsigned_type): New.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32280
+	* config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
+	* config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/32279
+	* fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c)
+	into a*sqrt(c/b) if flag_unsafe_math_optimizations is set.
+
+2007-06-10  Jan Sjodin  <jan.sjodin@amd.com>
+	    Sebastian Pop  <sebpop@gmail.com>
+
+	* lambda-code.c (remove_iv): New.
+	(lambda_loopnest_to_gcc_loopnest): Use remove_iv.
+
+2007-06-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
+	* tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
+	* tree-ssa-loop-prefetch.c: Include optabs.h.
+	(FENCE_FOLLOWING_MOVNT): New macro.
+	(struct mem_ref): Add independent_p and storent_p fields.
+	(record_ref): Initalize the new fields.
+	(gather_memory_references_ref): Return true if the reference
+	could be analysed.
+	(gather_memory_references): Check whether all memory accesses
+	in loop were recorded.
+	(should_issue_prefetch_p): Return false for nontemporal stores.
+	(nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
+	may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
+	(determine_loop_nest_reuse): Detect independent memory references.
+	(loop_prefetch_arrays): Call mark_nontemporal_stores.
+	* tree-flow.h (mark_virtual_ops_for_renaming): Declare.
+	* Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
+	* config/i386/i386.h (x86_mfence): Declare.
+	(FENCE_FOLLOWING_MOVNT): Return x86_mfence.
+	* config/i386/i386.c (x86_mfence): New variable.
+	(ix86_init_mmx_sse_builtins): Initialize x86_mfence.
+
+	* tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
+	* optabs.c (init_optabs): Initialize storent_optab.
+	* optabs.h (enum optab_index): Add OTI_storent.
+	(storent_optab): Declare.
+	* genopinit.c (optabs): Add initialization for storent_optab.
+	* tree.h (MOVE_NONTEMPORAL): New macro.
+	* expr.c (expand_assignment, store_expr, store_constructor_field,
+	store_constructor, store_field, expand_expr_real_1): Propagate
+	nontemporality of the expanded store.
+	(emit_storent_insn): New function.
+	* expr.h (expand_assignment, store_expr): Declaration changed.
+	* function.c (assign_parm_setup_reg): Pass false as nontemporality
+	to expand_assignment.
+	* stmt.c (expand_asm_expr): Ditto.
+	* calls.c (initialize_argument_information): Pass false as
+	nontemporality to store_expr.
+	* config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
+	storentsi): New.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd
+	parameter, use it.
+	(find_what_p_points_to): Pass new parameter to set_uids_in_ptset.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b,
+	and allow DECL_P here.
+
+2007-06-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
+	follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise
+	track of the size of the expression.
+	* cfghooks.c (merge_blocks): Remove block from loops structure only
+	after call of the merge_blocks hook.
+
+2007-06-09  Tom Tromey  <tromey@redhat.com>
+
+	* c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
+	(deprecated_state): Removed.
+	(start_decl): Update.
+	(enum deprecated_states): Moved earlier.
+	(groktypename): Update.
+	(push_parm_decl): Likewise.
+	(grokfield): Likewise.
+	(start_function): Likewise.
+
+2007-06-09  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/32169
+	* tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
+	CONVERT_EXPR, check whether min and max both converted to an
+	overflow infinity representation.
+
+2007-06-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* reload1.c (fixup_abnormal_edges): Clear bb field for insns
+	not inserted on the edge.
+
+2007-06-08  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide
+	instructions if they are supported.
+	(__divsi3, __umodsi3, __modsi3): Likewise.
+	(__ashldi3, __ashrdi3, __lshrdi3): New.
+	* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions.
+
+2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
+	    Tony Linthicum <tony.linthicum@amd.com>
+
+	* doc/invoke.texi: Add fvect-cost-model flag.
+	* common.opt (fvect-cost-model): New flag.
+	* tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
+	cost fields in stmt_vec_info struct for STMT.
+	* tree-vectorizer.h (stmt_vec_info): Define inside and outside cost
+	fields in stmt_vec_info struct and access functions for the same.
+	(TARG_COND_BRANCH_COST): Define cost of conditional branch.
+	(TARG_VEC_STMT_COST): Define cost of any vector operation, excluding
+	load, store and vector to scalar operation.
+	(TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation.
+	(TARG_VEC_LOAD_COST): Define cost of aligned vector load.
+	(TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load.
+	(TARG_VEC_STORE_COST): Define cost of vector store.
+	(vect_estimate_min_profitable_iters): Define new function.
+	* tree-vect-analyze.c (vect_analyze_operations): Add a compile-time
+	check to evaluate if loop iterations are less than minimum profitable
+	iterations determined by cost model or minimum vect loop bound defined
+	by user, whichever is more conservative.
+	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a
+	run-time check to evaluate if loop iterations are less than minimum
+	profitable iterations determined by cost model or minimum vect loop
+	bound defined by user, whichever is more conservative.
+	(vect_estimate_min_profitable_iterations): New function to estimate
+	mimimimum iterartions required for vector version of loop to be
+	profitable over scalar version.
+	(vect_model_reduction_cost): New function.
+	(vect_model_induction_cost): New function.
+	(vect_model_simple_cost): New function.
+	(vect_cost_strided_group_size): New function.
+	(vect_model_store_cost): New function.
+	(vect_model_load_cost): New function.
+	(vectorizable_reduction): Call vect_model_reduction_cost during
+	analysis phase.
+	(vectorizable_induction): Call vect_model_induction_cost during
+	analysis phase.
+	(vectorizable_load): Call vect_model_load_cost during analysis phase.
+	(vectorizable_store): Call vect_model_store_cost during analysis phase.
+	(vectorizable_call, vectorizable_assignment, vectorizable_operation,
+	vectorizable_promotion, vectorizable_demotion): Call
+	vect_model_simple_cost during analysis phase.
+
+2007-06-08  Simon Baldwin  <simonb@google.com>
+
+	* reg-stack.c (get_true_reg): Readability change.  Moved default case
+	label into direct switch statement scope.
+
+2007-06-08  Simon Baldwin  <simonb@google.com>
+
+	* tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment
+	in gcc_assert() with '==' comparison.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and
+	TARGET_ABM handling of x86_popcnt variable.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq,
+	__builtin_copysignq and __builtin_infq built-in functions.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/extend.texi (X86 Built-in Functions): Add missing `@item's in
+	SSE4.2 section.  Correct built-in function names in SSE4A section.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32243
+	* tree-vect-transform.c (vectorizable_type_promotion): Move check
+	for ncopies after ratio check between nunits_out and nunits_in.
+	(vectorizable_type_demotion): Remove single-use variable "scalar_type".
+
+2007-06-08  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/32224
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
+	vectorization upon a non GIMPLE_MODIFY_STMT.
+
+2007-06-08  Christian Bruel  <christian.bruel@st.com>
+
+	PR target/29953
+	* config/sh/sh.md (doloop_end): New pattern and splitter.
+	* loop-iv.c (simple_rhs_p): Check for hardware registers.
+
+2007-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR middle-end/32209
+	* dominance.c (debug_dominance_tree, debug_dominance_tree_1): New
+	functions.
+	(verify_dominators): Do not change dominance tree.
+
+2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/constraints.md: New file.
+	* config/sh/sh.c: Include tm-constrs.h.
+	(reg_class_from_letter): Remove.
+	(prepare_cbranch_operands): Use satisfies_constraint_*
+	function instead of macro.
+	(andcosts, broken_move, sh_secondary_reload): Likewise.
+	* config/sh/predicates.md (trapping_target_operand): Likewise.
+	(and_operand, arith_operand, arith_reg_or_0_operand,
+	cmp_operand, logical_operand, target_operand,
+	ua_address_operand, ua_offset, xor_operand): Likewise.
+	* config/sh/sh.md: Include constraints.md.
+	(*movsicc_t_false): Use satisfies_constraint_* function
+	instead of macro.
+	(*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m,
+	lshrsi3_k, movsi_const_16bit+2, *movhi_media+1,
+	movdi_const_16bit+1, beq, bne, *ptb): Likewise.
+	* config/sh/sh.h (reg_class_from_letter): Remove prototype.
+	(OVERRIDE_OPTIONS): Don't modify reg_class_from_letter.
+	(REG_CLASS_FROM_CONSTRAINT): Remove.
+	(CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I,
+	CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K,
+	CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M,
+	CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P,
+	CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+	(SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_*
+	function instead of macro.
+	(SECONDARY_INPUT_RELOAD_CLASS): Likewise.
+	(EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A,
+	EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B,
+	EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove.
+	(IS_PC_RELATIVE_LOAD_ADDR_P): New macro.
+	(IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise.
+	(IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise.
+	(IS_NON_EXPLICIT_CONSTANT_P): Likewise.
+	(EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W,
+	EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C,
+	EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0,
+	EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S,
+	EXTRA_CONSTRAINT_STR): Likewise.
+	(GO_IF_LEGITIMATE_INDEX): Fix indentation.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/i386/darwin.h (STACK_BOUNDARY): Define.
+
+2007-06-07  Simon Martin  <simartin@users.sourceforge.net>
+
+	PR c++/30759
+	* c-common.h (flag_cpp0x): Replaced by...
+	(cxx_dialect): ... this new variable specifying the C++ dialect that
+	is used.
+	* c-common.c (flag_cpp0x): Removed.
+	(cxx_dialect): Defined.
+	* c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
+	cxx_dialect.
+	* c-opts.c (c_common_post_options): Likewise.
+	(set_std_cxx98): Set cxx_dialect to cxx98.
+	(set_std_cxx0x): Set cxx_dialect to cxx0x.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+	    Hui-May Chang <hm.chang@apple.com>
+
+	* doc/invoke.texi (Darwin Options): Update documentation for
+	-mmacosx-version-min.
+	* config.gcc (*-*-darwin*): Set extra_gcc_objs.
+	* config/darwin-driver.c: New file.
+	* config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New.
+	* config/t-darwin (darwin-driver.o): New rule.
+
+	* config/darwin-c.c (version_as_macro): Ignore low digit.
+
+2007-06-07  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (standard sse constant splitter): Handle TFmode.
+	(negtf2, abstf2, *absnegtf2_sse): New insn patterns.
+	(CSGNMODE): New mode macro.
+	(CSGNVMODE): New mode attribute.
+	(copysign<mode>3): Rename from copysingsf3 and copysigndf3.  Macroize
+	expander using CSGNMODE mode macro.  Handle TFmode.
+	(copysign<mode>3_const): Rename from copysignsf3_const and
+	copysigndf3_const.  Macroize pattern using CSGNMODE mode macro.
+	Handle TFmode.
+	(copysign<mode>3_var): Rename from copysignsf3_var and
+	copysigndf3_var.  Macroize pattern using CSGNMODE mode macro.
+	Handle TFmode.
+	(copysign<mode>3_var splitter): Macroize pattern using CSGNMODE
+	mode macro.  Handle TFmode.
+	* config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns.
+	(iortf3, *iortf3): Ditto.
+	(xortf3, *xortf3): Ditto.
+	* config/i386/i386.c (ix86_build_signbit_mask): Create scalar
+	TFmode and TImode masks.
+	(ix86_expand_copysign): Expand TFmode copysign insn.
+	(IX86_BUILTIN_INFQ): New.
+	(IX86_BUILTIN_FABSQ): Ditto.
+	(IX86_BUILTIN_COPYSIGNQ): Ditto.
+	(ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition.
+	[__builtin_fabsq]: Ditto.
+	[__builtin_copysignq]: Ditto.
+	(ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin.
+	[IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin().
+	[IX86_BUILTIN_COPYSIGNQ]: Expand builtin using
+	ix86_expand_binop_builtin().
+
+2007-06-07  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/lib1funcs.asm: Clean up whitespace.
+
+2007-06-07  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/31850
+	* rtl.h (push_to_sequence2): New.
+	* emit-rtl.c (push_to_sequence2): New.
+	* function.c (assign_parm_data_all): Add new fields.
+	(assign_parm_setup_block): Call push_to_sequence2 instead of
+	push_to_sequence.
+	(assign_parm_setup_reg): Ditto.
+	(assign_parm_setup_stack): Ditto.
+	(assign_parms_unsplit_complex): Ditto.
+	(assign_parms): Change field name.
+
+2007-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/32220
+	* tree-predcom.c (eliminate_temp_copies): Handle the case that loop
+	phi node is reached before defining statement.
+
+2007-06-06  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32231
+	* tree-vect-transform.c (vectorizable_call): Call update_stmt
+	after changing the right hand side of the assignment.
+
+2007-06-06  Eric Christopher  <echristo@apple.com>
+
+	* config.gcc (i?86-*-darwin*): Remove arch parameter.
+	(x86_64-*-darwin*): Ditto.
+	* config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Define.
+	(TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+	* tree-ssa-alias-warnings.c (maybe_add_match): Cast according to the
+	coding conventions.
+	(add_key): Likewise.
+	* tree-ssa.c (init_tree_ssa): Use type safe memory macros.
+	* tree-ssa-ccp.c (ccp_fold_builtin): Avoid using C++ keywords as
+	variable names.
+	* tree-ssa-coalesce.c (find_coalesce_pair): Use type safe memory
+	macros.
+	(add_cost_one_coalesce): Likewise.
+	* tree-ssa-copy.c (merge_alias_info): Avoid using C++ keywords as
+	variable names. Rename orig to orig_name for consistency.
+	* tree-ssa-dom.c (dom_thread_across_edge): Cast according to the
+	coding conventions.
+	(cprop_into_successor_phis): Avoid using C++ keywords as variable
+	names.
+	(record_equivalences_from_stmt): Likewise.
+	* tree-ssa-dse.c (dse_initialize_block_local_data): Cast according to
+	the coding conventions.
+	(memory_ssa_name_same): Likewise.
+	(dse_optimize_stmt): Likewise.
+	(dse_record_phis): Likewise.
+	(dse_finalize_block): Likewise.
+	* tree-ssa-loop-im.c (outermost_invariant_loop_expr): Avoid using C++
+	keywords as variable names.
+	(may_move_till): Cast according to the coding conventions.
+	(force_move_till_expr): Avoid using C++ keywords as variable names.
+	(force_move_till): Cast according to the coding conventions.
+	(memref_hash): Likewise.
+	(memref_eq): Likewise.
+	(gather_mem_refs_stmt): Likewise.
+	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Avoid
+	using C++ keywords as variable names.
+	(idx_find_step): Cast according to the coding conventions.
+	(idx_record_use): Likewise.
+	(find_depends): Likewise.
+	(prepare_decl_rtl): Likewise.
+	(mbc_entry_hash): Likewise.
+	(mbc_entry_eq): Likewise.
+	* tree-ssa-loop-niter.c (SWAP): Use the correct the type for tmp.
+	(simplify_replace_tree): Avoid using C++ keywords as variable names.
+	(idx_infer_loop_bounds): Cast according to the coding conventions.
+	* tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise.
+	* tree-ssa-math-opts.c (occ_new ): Likwise.
+	* tree-ssanames.c (duplicate_ssa_name_ptr_info): Use type safe memory
+	macros.
+	* tree-ssa-operands.c (add_def_op): Avoid using C++ keywords as
+	variable names.
+	(add_use_op): Likewise.
+	(add_vop): Likewise.
+	(add_vuse_op): Likewise.
+	(add_vdef_op): Likewise.
+	(get_expr_operands): Likewise.
+	(push_stmt_changes): Use type safe memory macros.
+	* tree-ssa-phiopt.c (replace_phi_edge_with_variable): Avoid using C++
+	keywords as variable names.
+	(conditional_replacement): Likewise.
+	(minmax_replacement): Likewise.
+	(abs_replacement): Likewise.
+	* tree-ssa-pre.c (create_expression_by_pieces): Cast according to the
+	coding conventions.
+	(insert_fake_stores): Avoid using C++ keywords as variable names.
+	* tree-ssa-reassoc.c (add_to_ops_vec): Cast according to the coding
+	conventions.
+	* tree-ssa-structalias.c (heapvar_lookup): Likewise.
+	(heapvar_insert): Use type safe memory macros.
+	(new_var_info): Cast according to the coding conventions.
+	(new_constraint): Likewise.
+	(remove_preds_and_fake_succs): Use type safe memory macros.
+	* tree-ssa-threadupdate.c (thread_block): Cast according to the coding
+	conventions.
+	(thread_single_edge): Likewise.
+	(thread_through_loop_header): Likewise.
+
+2007-06-06  Eric Christopher  <echristo@apple.com>
+
+	* config/i386/i386.c (override_options): Move handling
+	of TARGET_SUBTARGET* earlier.
+
+2007-06-06  Paolo Bonzini  <bonzini@gnu.org>
+
+	* genmodes.c (tagged_printf, emit_insn_modes_h): Don't
+	use %n on printf.
+
+2007-06-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* haifa-sched.c (restore_bb_notes): Clear bb field of the notes
+	emited outside of basic block.
+	* cfgbuild.c (find_bb_boundaries): Clear bb field for insns between
+	the created blocks.
+	* rtl.h (delete_insn_chain): Declaration changed.
+	* cfgrtl.c (delete_insn_chain): Add option to clear bb field for
+	non-removed insns.
+	(rtl_delete_block, rtl_merge_blocks): Pass true to delete_insn_chain.
+	(delete_insn_chain_and_edges, try_redirect_by_replacing_jump,
+	rtl_tidy_fallthru_edge, cfg_layout_merge_blocks): Pass false
+	to delete_insn_chain.
+	(rtl_verify_flow_info_1): Verify that the insns in header and footer
+	do not have bb field set.
+	(rtl_verify_flow_info): Verify that insns between basic blocks do not
+	have bb field set.
+	* recog.c (peephole2_optimize): Add argument to delete_insn_chain call.
+	* cfgcleanup.c (try_optimize_cfg): Ditto.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+	* lambda-code.c (struct lambda_lattice_s): Add a name to the struct.
+	(lambda_body_vector_new): Use type safe memory macros.
+	(lambda_linear_expression_new): Likewise.
+	(lambda_loopnest_new): Likewise.
+	(lambda_lattice_new): Likewise.
+	(replace_uses_equiv_to_x_with_y): Cast according to the coding
+	conventions. Use type safe memory macros.
+	* lambda.h (struct lambda_trans_matrix_s): Add a name to the struct.
+	(lambda_body_vector_s): Likewise.
+	* lambda-mat.c (lambda_matrix_new): Use type safe memory macros.
+	* lambda-trans.c (lambda_trans_matrix_new): Likewise.
+
+2007-06-06  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (forward_propagate_into_cond): Return 2
+	if we need to schedule cfg_cleanup.
+	(tree_ssa_forward_propagate_single_use_vars): Do so.
+
+2007-06-06  Ian Lance Taylor  <iant@google.com>
+
+	* fold-const.c (merge_ranges): If range_successor or
+	range_predecessor fail, just return 0.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32216
+	* tree-vectorizer.c (supportable_widening_operation): Determine
+	signedness of FIX_TRUNC_EXPR from output operand.
+	(supportable_narrowing_operation): Ditto.
+	* tree-vect-generic.c (expand_vector_operations_1): Determine
+	signedness of VEC_UNPACK_FLOAT_HI_EXPR and VEC_UNPACK_FLOAT_LO_EXPR
+	from input operand.
+
+2007-06-06  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+	* config/i386/i386.c (enum pta_flags): Move out of struct scope...
+	(struct pta): ...from here. Change flags to unsigned to avoid
+	excessive casting (as it is used as a bit mask).
+	(override_options): Add casts according to the coding convenventions.
+	(x86_64_elf_unique_section): Likewise.
+	(examine_argument): Avoid using C++ keywords as variable names.
+	(construct_container): Likewise.
+	(legitimize_pic_address): Likewise.
+	(get_dllimport_decl): Cast according to the coding conventions. Use
+	type safe memory macros.
+	(legitimize_address): Cast according to the coding conventions.
+	(emit_i387_cw_initialization): Corrected the type of slot to enum
+	ix86_stack_slot.
+	(ix86_init_machine_status): Use type safe memory macros.
+	(bdesc_pcmpestr): Use UNKNOWN instead of integer 0.
+	(bdesc_pcmpistr): Likewise.
+	(bdesc_crc32): Likewise.
+	(bdesc_sse_3arg): Likewise.
+	(bdesc_2arg): Likewise.
+	(bdesc_1arg): Likewise.
+	(ix86_expand_sse_pcmpestr): Cast according to the coding conventions.
+	(ix86_expand_sse_pcmpistr): Likewise.
+	(ix86_expand_vec_set_builtin): Use EXPAND_NORMAL instead of integer 0.
+	(ix86_builtin_vectorized_function): Change the type of fn to unsigned
+	int to match the langhook definition.
+	(ix86_builtin_conversion): Change the type of code to unsigned init to
+	match the langhook definition.
+	(ix86_preferred_reload_class): Avoid using C++ keywords as variable
+	names.
+	(ix86_preferred_output_reload_class): Likewise.
+	(ix86_cannot_change_mode_class): Likewise.
+	(ix86_memory_move_cost): Likewise.
+	(ix86_rtx_costs): Cast the outer_code parameter to enum rtx_code to
+	avoid excessive casting later on.
+	(x86_output_mi_thunk): Avoid using C++ keywords as variable names.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (sse4_2_pcmpestr_cconly): Prefer pcmpestrm
+	as flags setting insn.
+	(sse4_2_pcmpistr_cconly): Prefer pcmpistrm as flags setting insn.
+
+2007-06-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (UNSPEC_ROUNDP, UNSPEC_ROUNDS): Remove.
+	(UNSPEC_ROUND): New.
+	("sse4_1_round<mode>2"): New insn pattern.
+	("rint<mode>2"): Expand using "sse4_1_round<mode>2" pattern for
+	SSE4.1 targets.
+	("floor<mode>2"): Rename from floordf2 and floorsf2.  Macroize
+	expander using SSEMODEF mode macro.  Expand using
+	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
+	("ceil<mode>2"): Rename from ceildf2 and ceilsf2.  Macroize
+	expander using SSEMODEF mode macro.  Expand using
+	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
+	("btrunc<mode>2"): Rename from btruncdf2 and btruncsf2.  Macroize
+	expander using SSEMODEF mode macro.  Expand using
+	"sse4_1_round<mode>2" pattern for SSE4.1 targets.
+	* config/i386/sse.md ("sse4_1_roundpd", "sse4_1_roundps"): Use
+	UNSPEC_ROUND instead of UNSPEC_ROUNDP.
+	("sse4_1_roundsd", "sse4_1_roundss"): Use UNSPEC_ROUND instead of
+	UNSPEC_ROUNDS.
+
+2007-06-06  Jan Sjodin  <jan.sjodin@amd.com>
+	    Sebastian Pop  <sebpop@gmail.com>
+
+	* lambda.h (build_linear_expr): New.
+	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression):
+	Use build_linear_expr, call fold and force_gimple_operand.
+	(lambda_loopnest_to_gcc_loopnest): Check that there is
+	something to insert.
+	* testsuite/gcc.dg/tree-ssa/ltrans-6.c: New.
+
+2007-06-05  Joerg Wunsch  <j.gnu@uriah.heep.sax.de>
+
+	PR preprocessor/23479
+	* doc/extend.texi: Document the 0b-prefixed binary integer
+	constant extension.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/32215
+	* tree-vectorizer.c (supportable_widening_operation): Return false
+	for unsupported FIX_TRUNC_EXPR tree code.
+	(supportable_narrowing_operation): Ditto for FLOAT_EXPR tree code.
+
+2007-06-06  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* config/rs6000/rs6000.h (FIXED_SCRATCH): Use r0 as a scratch
+	register on SPE targets.  Change documentation to reflect
+	reality.
+	* config/rs6000/rs6000.c (rs6000_conditional_register_usage):
+	Change FIXED_SCRATCH to 14 and document why we're keeping r14
+	out of the register allocation pool.
+	(rs6000_reg_live_or_pic_offset_p): New function.
+	(rs6000_emit_prologue): Move the actual saving of LR up to free
+	r0 for holding r11.  Split saving of SPE 64-bit registers into
+	its own case.  Ensure that offsets will always be in-range for
+	'evstdd' by using r11 as a scratch register to point at the start
+	of the SPE save area.  Save r11 if necessary, as it is the static
+	chain register.
+	(rs6000_emit_epilogue): Split restoring of SPE 64-bit registers
+	into its own case.  Ensure that offsets will always be in-range
+	for 'evldd' by using r11 as a scratch register to point at the
+	start of the SPE save area.  Also adjust r11 when restoring
+	the stack pointer to compensate for pre-loading r11.
+
+2007-06-05  Thomas Neumann  <tneumann@users.sourceforge.net>
+
+	* cfg.c (init_flow): Use type safe memory macros.
+	(alloc_block): Likewise.
+	(unchecked_make_edge): Likewise.
+	(dump_flow_info): Avoid using C++ keywords as variable names.
+	(copy_original_table_clear): Cast according to the coding conventions.
+	(copy_original_table_set): Likewise.
+	* cfgexpand (label_rtx_for_bb): Likewise.
+	(expand_gimple_basic_block): Likewise.
+	* cfghooks.c (dump_bb): Likewise.
+	(lv_adjust_loop_header_phi): Avoid using C++ keywords as
+	variable names.
+	(lv_add_condition_to_bb): Likewise.
+	* cfglayout (relink_block_chain): Cast according to the coding
+	conventions.
+	(fixup_reorder_chain): Likewise.
+	(fixup_fallthru_exit_predecessor): Likewise.
+	* cfgloop.c (glb_enum_p): Likewise.
+	(get_exit_description): Likewise.
+	(dump_recorded_exit): Likewise.
+	* cfgloop.h (enum loop_estimation): Move out of struct scope...
+	(struct loop): ... from here.
+	* cfgloopmanip.c (rpe_enum_p): Cast according to the coding
+	conventions.
+	* cfgrtl.c (rtl_create_basic_block): Likewise.
+	(rtl_split_block): Likewise.
+	(rtl_dump_bb): Likewise.
+	(cfg_layout_split_block): Likewise.
+	(init_rtl_bb_info): Use typesafe memory macros.
+
+	* graphds.h (struct graph_edge): Renamed edge to graph_edge.
+	* graphds.h: Updated all usages of edge to graph_edge.
+	* graphds.c: Likewise.
+	* cfgloopanal.c: Likewise.
+
+2007-06-05  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (compare_values_warnv): Check TREE_NO_WARNING on a
+	PLUS_EXPR or MINUS_EXPR node before setting *strict_overflow_p.
+	(extract_range_from_assert): Set TREE_NO_WARNING when creating an
+	expression.
+	(test_for_singularity): Likewise.
+
+2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/constraints.md ("Y2"): Replaced by ...
+	("Yt"): This.
+	* config/i386/i386.md: Likewise.
+	* config/i386/mmx.md: Likewise.
+	* config/i386/sse.md: Likewise.
+
+2007-06-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/constraints.md ("z"): Replaced by ...
+	("Y0"): This.
+	* config/i386/sse.md (sse4_1_blendvpd): Likewise.
+	(sse4_1_blendvps): Likewise.
+	(sse4_1_pblendvb): Likewise.
+	(sse4_2_pcmpestr): Likewise.
+	(sse4_2_pcmpestrm): Likewise.
+	(sse4_2_pcmpestr_cconly): Likewise.
+	(sse4_2_pcmpistr): Likewise.
+	(sse4_2_pcmpistrm): Likewise.
+	(sse4_2_pcmpistr_cconly): Likewise.
+
+2007-06-05  Razya Ladelsky  <razya@il.ibm.com>
+
+	* matrix-reorg.c (transform_access_sites): Fix computation.
+	(transform_allocation_sites): Same.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (override_options): Use
+	TARGET_SUBTARGET32_ISA_DEFAULT to select default ix86_isa_flags.
+
+2007-06-05  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/predicates.md (reg_not_xmm0_operand): New predicate.
+	(nonimm_not_xmm0_operand): Ditto.
+	* config/i386/sse.md ("sse4_1_blendvpd"): Use "reg_not_xmm0_operand"
+	as operand[0] and operand[1] predicate.  Use "nonimm_not_xmm0_operand"
+	as operand[2] predicate.  Require "z" class XMM register for
+	operand[3].  Adjust asm template.
+	("sse4_1_blendvpd"): Ditto.
+	("sse4_1_pblendvb"): Ditto.
+ 	* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Do not
+	force op2 into xmm0 register for variable blend instructions.
+
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* c-tree.h (start_enum): Update.
+	(build_enumerator): Likewise.
+	* c-decl.c (enum_next_value): Removed.
+	(enum_overflow): Likewise.
+	(start_enum): Add c_enum_contents argument.  Don't use globals.
+	(build_enumerator): Likewise.
+	* c-tree.h (struct c_enum_contents): New struct.
+
+2007-06-04  Tom Tromey  <tromey@redhat.com>
+
+	* c-common.c (c_common_get_alias_set): Fix indentation.
+
+2007-06-04  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (adjust_range_with_scev): When loop is not expected
+	to overflow, reduce overflow infinity to regular infinity.
+	(vrp_var_may_overflow): New static function.
+	(vrp_visit_phi_node): Check vrp_var_may_overflow.
+
+2007-06-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* stor-layout.c (layout_type): Remove duplicate code.
+
+2007-06-04  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR c/32191
+	* c-common.c (c_define_builtins): Call targetm.init_builtins ()
+	before build_common_builtin_nodes ().
+
+2007-06-04  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/31733
+	* cfgrtl.c (rtl_verify_flow_info): Skip notes when looking for barrier.
+
+2007-06-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-predcom.c (replace_ref_with, initialize_root_vars_lm,
+	reassociate_to_the_same_stmt): Call build_gimple_modify_stmt
+	instead of _stat version.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/32194
+	* tree-predcom.c (determine_offset): Check that both references have
+	the same type.
+
+2007-06-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* cfgloopmanip.c (remove_path, loopify, duplicate_loop_to_header_edge):
+	Change dom_bbs to vector.  Add argument to iterate_fix_dominators call.
+	* loop-unroll.c (unroll_loop_runtime_iterations): Ditto.
+	* tree-cfg.c (tree_duplicate_sese_region): Change doms to vector.
+	Add argument to iterate_fix_dominators call.
+	(remove_edge_and_dominated_blocks): Pass vector to bbs_to_fix_dom.
+	* gcse.c (hoist_code): Change domby to vector.
+	* cfghooks.c (make_forwarder_block): Change doms_to_fix to vector.
+	Add argument to iterate_fix_dominators call.
+	* loop-doloop.c (doloop_modify): Changed recount_dominator to
+	recompute_dominator.
+	* lambda-code.c (perfect_nestify): Ditto.
+	* cfgloopanal.c: Include graphds.h.
+	(struct edge, struct vertex, struct graph, dump_graph, new_graph,
+	add_edge, dfs, for_each_edge, free_graph): Moved to graphds.c.
+	(mark_irreducible_loops): Use graphds_scc.  Remove argument from
+	add_edge call.
+	* graphds.c: New file.
+	* graphds.h: New file.
+	* dominance.c: Include vecprim.h, pointer-set.h and graphds.h.
+	(get_dominated_by, get_dominated_by_region): Change return type to
+	vector.
+	(verify_dominators): Recompute all dominators and compare the results.
+	(recount_dominator): Renamed to ...
+	(recompute_dominator): ... this.  Do not check that the block is
+	dominated by entry.
+	(iterate_fix_dominators): Reimplemented.
+	(prune_bbs_to_update_dominators, root_of_dom_tree,
+	determine_dominators_for_sons): New functions.
+	* et-forest.c (et_root): New function.
+	* et-forest.h (et_root): Declare.
+	* Makefile.in (graphds.o): Add.
+	(cfgloopanal.o): Add graphds.h dependency.
+	(dominance.o): Add graphds.h, vecprim.h and pointer-set.h dependency.
+	* basic-block.h (get_dominated_by, get_dominated_by_region,
+	iterate_fix_dominators): Declaration changed.
+	(recount_dominator): Renamed to ...
+	(recompute_dominator): ... this.
+	* tree-ssa-threadupdate.c (thread_block): Free dominance info.
+	(thread_through_all_blocks): Do not free dominance info.
+
+2007-06-03  Andreas Schwab  <schwab@suse.de>
+
+	* config/m68k/m68k.c (override_options): Don't override
+	REAL_MODE_FORMAT.
+	* config/m68k/m68k-modes.def (SF, DF): Define to use
+	motorola_single_format and motorola_double_format, resp.
+	* real.c (motorola_single_format): Renamed from
+	coldfire_single_format.
+	(motorola_double_format): Renamed from coldfire_double_format.
+	(encode_ieee_extended): Generate a proper canonical NaN image
+	respecting canonical_nan_lsbs_set.
+	(ieee_extended_motorola_format): Set canonical_nan_lsbs_set to
+	true.
+	* real.h: Adjust declarations.
+
+2007-06-03  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/32163
+	* config/sh/sh.md (symGOT_load): Don't schedule insns when
+	the symbol is generated with the stack protector.
+
+2007-06-03  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_attribute_table): Add "interrupt".
+	(m68k_get_function_kind): Return m68k_fk_interrupt_handler on
+	"interrupt".
+	* doc/extend.texi (interrupt): Mention m68k.
+
+2007-06-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Call
+	safe_vector_operand() if input operand is VECTOR_MODE_P operand.
+	(ix86_expand_sse_pcmpestr): Do not check operands for
+	"register_operand", when insn operand predicate is "register_operand".
+	(ix86_expand_sse_pcmpistr): Ditto.
+
+2007-06-02  H.J. Lu  <hongjiu.lu@intel.com>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (enum reg_class) [SSE_FIRST_REG]: New.
+	(SSE_CLASS_P): Use reg_class_subset_p between SSE_REGS.
+	(REG_CLASS_NAMES): Add "FIRST_SSE_REG" string.
+	(REG_CLASS_CONTENTS): Add members of FIRST_SSE_REG class.
+	* config/i386/constraints.md ("z"): New register constraint
+	for members of SSE_FIRST_REG class.
+	* config/i386/i386-modes.def (CCA, CCC, CCO, CCS): New compare modes.
+	* config/i386/i386.c (regclass_map): Change class of %xmm0 to
+	SSE_FIRST_REG class.
+	(put_condition_code) [EQ, NE]: Output suffixes for new compare modes.
+	(ix86_cc_modes_compatible): Handle CCA, CCC, CCO and CCS modes.
+	(IX86_BUILTIN_PCMPESTRI128): New for SSE4.2.
+	(IX86_BUILTIN_PCMPESTRM128): Likewise.
+	(IX86_BUILTIN_PCMPESTRA128): Likewise.
+	(IX86_BUILTIN_PCMPESTRC128): Likewise.
+	(IX86_BUILTIN_PCMPESTRO128): Likewise.
+	(IX86_BUILTIN_PCMPESTRS128): Likewise.
+	(IX86_BUILTIN_PCMPESTRZ128): Likewise.
+	(IX86_BUILTIN_PCMPISTRI128): Likewise.
+	(IX86_BUILTIN_PCMPISTRM128): Likewise.
+	(IX86_BUILTIN_PCMPISTRA128): Likewise.
+	(IX86_BUILTIN_PCMPISTRC128): Likewise.
+	(IX86_BUILTIN_PCMPISTRO128): Likewise.
+	(IX86_BUILTIN_PCMPISTRS128): Likewise.
+	(IX86_BUILTIN_PCMPISTRZ128): Likewise.
+	(struct builtin_description): Change "flag" field to unsigned.
+	(bdesc_pcmpestr): New builtin description table.
+	(bdesc_pcmpistr): Likewise.
+	(ix86_init_mmx_sse_builtins): Define int_ftype_v16qi_int_v16qi_int_int,
+	v16qi_ftype_v16qi_int_v16qi_int_int and int_ftype_v16qi_v16qi_int.
+	Initialize pcmp[ei]str[im] insns for SSE4.2.
+	(ix86_expand_sse_pcmpestr): New subroutine of ix86_expand_builtin.
+	(ix86_expand_sse_pcmpistr): Likewise.
+	(ix86_expand_builtin): Expand pcmp[ei]str[im] builtins for SSE4.2.
+	* config/i386/i386.md (UNSPEC_PCMPESTR): New for SSE4.2.
+	(UNSPEC_PCMPISTR): Likewise.
+	* config/i386/sse.md (sse4_2_pcmpestr): New insn patern and splitter.
+	(sse4_2_pcmpestri):New isns pattern.
+	(sse4_2_pcmpestrm): Likewise.
+	(sse4_2_pcmpestr_cconly): Likewise.
+	(sse4_2_pcmpistr): New insn patern and splitter.
+	(sse4_2_pcmpistri):New isns pattern.
+	(sse4_2_pcmpistrm): Likewise.
+	(sse4_2_pcmpistr_cconly): Likewise.
+	* config/i386/smmintrin.h: Enable pcmp[ei]str[im] intrinsics
+	in SSE4.2.
+
+2007-06-01  David Daney  <ddaney@avtrex.com>
+
+	* config/mips/mips.c (mips_output_mi_thunk): Only load gp if not
+	LOADGP_ABSOLUTE and not binds_local_p.
+
+2007-06-01  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (LINK_SPEC): Pass -fpie through to the linker.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (compare_name_with_value): Always set
+	used_strict_overflow if we get a result from the variable itself.
+
+2007-06-01  Ian Lance Taylor  <iant@google.com>
+
+	PR rtl-optimization/31455
+	* lower-subreg.c (find_decomposable_subregs): Don't decompose
+	subregs which have a cast between modes which are not tieable.
+
+2007-06-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	* expr.c (force_operand) [DIV, MOD, UDIV, UMOD, ASHIFTRT]: Remove
+	breaks after return statements.
+
+2007-06-01  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.c (fpscr_set_from_mem): Call get_free_reg
+	only after no_new_pseudos.
+
+2007-05-31  Eric Christopher  <echristo@apple.com>
+
+	* expr.c (convert_move): Assert that we don't have a BLKmode
+	operand.
+	(store_expr): Handle BLKmode moves by calling emit_block_move.
+
+2007-05-31  Daniel Berlin  <dberlin@dberlin.org>
+
+	* c-typeck.c (build_indirect_ref): Include type in error message.
+	(build_binary_op): Pass types to binary_op_error.
+	* c-common.c (binary_op_error): Take two type arguments, print out
+	types with error.
+	* c-common.h (binary_op_error): Update prototype.
+
+2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c: Correct coments on -mno-sse4.
+
+2007-05-31  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config.gcc (i[34567]86-*-*): Add nmmintrin.h to extra_headers.
+	(x86_64-*-*): Likewise.
+	* config/i386/i386.c (OPTION_MASK_ISA_MMX_UNSET): New.
+	(OPTION_MASK_ISA_3DNOW_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE2_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE3_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSSE3_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE4_1_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE4_2_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE4): Likewise.
+	(OPTION_MASK_ISA_SSE4_UNSET): Likewise.
+	(OPTION_MASK_ISA_SSE4A_UNSET): Likewise.
+	(ix86_handle_option): Use OPTION_MASK_ISA_*_UNSET.  Handle SSE4.2.
+	(override_options): Support SSE4.2.
+	(ix86_build_const_vector): Support SImode and DImode.
+	(ix86_build_signbit_mask): Likewise.
+	(ix86_expand_int_vcond): Support V2DImode.
+	(IX86_BUILTIN_CRC32QI): New for SSE4.2.
+	(IX86_BUILTIN_CRC32HI): Likewise.
+	(IX86_BUILTIN_CRC32SI): Likewise.
+	(IX86_BUILTIN_CRC32DI): Likewise.
+	(IX86_BUILTIN_PCMPGTQ): Likewise.
+	(bdesc_crc32): Likewise.
+	(bdesc_sse_3arg): Likewise.
+	(ix86_expand_crc32): Likewise.
+	(ix86_init_mmx_sse_builtins): Support SSE4.2.
+	(ix86_expand_builtin): Likewise.
+	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
+	__SSE4_2__ for -msse4.2.
+	* config/i386/i386.md (UNSPEC_CRC32): New for SSE4.2.
+	(CRC32MODE): Likewise.
+	(crc32modesuffix): Likewise.
+	(crc32modeconstraint): Likewise.
+	(sse4_2_crc32<mode>): Likewise.
+	(sse4_2_crc32di): Likewise.
+	* config/i386/i386.opt (msse4.2): New for SSE4.2.
+	(msse4): Likewise.
+	* config/i386/nmmintrin.h: New. The dummy SSE4.2 intrinsic header file.
+	* config/i386/smmintrin.h: Add SSE4.2 intrinsics.
+	* config/i386/sse.md (sse4_2_gtv2di3): New pattern for SSE4.2.
+	(vcond<mode>): Use SSEMODEI instead of SSEMODE124.
+	(vcondu<mode>): Likewise.
+	* doc/extend.texi: Document SSE4.2 built-in functions.
+	* doc/invoke.texi: Document -msse4.2/-msse4.
+
+2007-05-31  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/32160
+	* tree-predcom.c (predcom_tmp_var): New function.  Mark created
+	variable as gimple reg.
+	(initialize_root_vars, initialize_root_vars_lm): Use predcom_tmp_var.
+
+2007-05-31  Kazu Hirata  <kazu@codesourcery.com>
+
+	* gcc.c (main): Don't consider linker options when issuing the
+	warning about a linker input file not being used.
+
+2007-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* tree-vrp.c (compare_names): Initialize sop.
+
+2007-05-30  Dirk Mueller  <dmueller@suse.de>
+
+	* cgraphunit.c (cgraph_analyze_function): Remove
+	computation of inline parameters.
+
+2007-05-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Undef before define.
+
+2007-05-30  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (arm-wrs-vxworks): Remove dbxelf.h from tm_file.
+	Add vx-common.h.  Include vxworks.h between vx-common.h and
+	arm/vxworks.h.
+	* config/vx-common.h (DWARF2_UNWIND_INFO): Undefine before
+	redefining.
+	* config/vxworks.h (TARGET_ASM_CONSTRUCTOR): Likewise.
+	(TARGET_ASM_DESTRUCTOR): Likewise.
+	* config/arm/vxworks.h (TARGET_OS_CPP_BUILTINS): Check arm_arch_xscale
+	instead of arm_is_xscale.  Use VXWORKS_OS_CPP_BUILTINS.
+	(OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
+	(CC1_SPEC): Add -tstrongarm.  Line up backslashes.
+	(VXWORKS_ENDIAN_SPEC): Define.
+	(ASM_SPEC): Add VXWORKS_ENDIAN_SPEC.
+	(LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine to their
+	VXWORKS_* equivalents.
+	(LINK_SPEC): Likewise, but add VXWORKS_ENDIAN_SPEC.
+	(ASM_FILE_START): Delete.
+	(TARGET_VERSION): Reformat.
+	(FPUTYPE_DEFAULT, FUNCTION_PROFILER): Define.
+	(DEFAULT_STRUCTURE_SIZE_BOUNDARY): Define.
+	* config/arm/t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Define.
+	(FPBIT, DPBIT): Define.
+	(fp-bit.c, dp-bit.c): New rules.
+	(MULTILIB_OPTIONS): Add strongarm, -mrtp and -mrtp/-fPIC multilibs.
+	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Define.
+	* config/arm/arm-protos.h (arm_emit_call_insn): Declare.
+	* config/arm/arm.h: Include vxworks-dummy.h.
+	* config/arm/arm.c (arm_elf_asm_constructor, arm_elf_asm_destructor):
+	Mark with ATTRIBUTE_UNUSED.
+	(arm_override_options): Do not allow VxWorks RTP PIC to be used
+	for Thumb.  Force r9 to be the PIC register for VxWorks RTPs and
+	make it incompatible with -msingle-pic-base.
+	(arm_function_ok_for_sibcall): Return false for calls that might
+	go through a VxWorks PIC PLT entry.
+	(require_pic_register): New function, split out from...
+	(legitimize_pic_address): ...here.  Do not use GOTOFF accesses
+	for VxWorks RTPs.
+	(arm_load_pic_register): Handle the VxWorks RTP initialization
+	sequence.  Use pic_reg as a shorthand for cfun->machine->pic_reg.
+	(arm_emit_call_insn): New function.
+	(arm_assemble_integer): Do not use GOTOFF accesses for VxWorks RTP.
+	* config/arm/arm.md (UNSPEC_PIC_OFFSET): New unspec number.
+	(pic_offset_arm): New pattern.
+	(call, call_value): Use arm_emit_call_insn.
+	(call_internal, call_value_internal): New expanders.
+	* config/arm/lib1funcs.asm (__PLT__): Define to empty for
+	VxWorks unless __PIC__.
+
+2007-05-30  Eric Christopher  <echristo@gmail.com>
+
+	* genrecog.c: Include regs.h in generated file.
+	* genemit.c: Ditto. Fix up formatting.
+	* config/mn10300/constraints.md: New.
+	* 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/mn10300.h (REG_CLASS_FROM_LETTER): Delete.
+	(CONST_OK_FOR_I): Ditto.
+	(CONST_OK_FOR_J): Ditto.
+	(CONST_OK_FOR_K): Ditto.
+	(CONST_OK_FOR_L): Ditto.
+	(CONST_OK_FOR_M): Ditto.
+	(CONST_OK_FOR_N): Ditto.
+	(CONST_DOUBLE_OK_FOR_LETTER_P): Ditto.
+	(OK_FOR_Q): Ditto.
+	(OK_FOR_R): Ditto.
+	(OK_FOR_T): Ditto.
+	(EXTRA_CONSTRAINT): Ditto.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+	* config/i386/i386.h (MASK_64BIT, MASK_MMX, MASK_3DNOW*, MASK_SSE*):
+	Remove defines.
+	* config/i386/biarch.h (TARGET_64BIT_DEFAULT): Define to
+	OPTION_MASK_ISA_64BIT.
+	* config/i386/i386.c: Rename MASK_* macros to OPTION_MASK_ISA_*.
+
+2007-05-30  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/32152
+	* gimplify.c (gimplify_omp_atomic_pipeline): Use correct
+	types for comparison.
+	* fold-const.c (fold_comparison): Call maybe_canonicalize_comparison
+	with original typed arguments.
+	* config/i386/i386.c (ix86_gimplify_va_arg): Fix type mismatches.
+
+2007-05-30  Jakub Jelinek  <jakub@redhat.com>
+
+	PR tree-optimization/31769
+	* except.c (duplicate_eh_regions): Clear prev_try if
+	ERT_MUST_NOT_THROW region is inside of ERT_TRY region.
+
+2007-05-30  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-scalar-evolution.c (scev_const_prop): Do not create labels.
+	* tree-ssa-sink.c (statement_sink_location): Return basic block and
+	bsi of the location where statements should be inserted.
+	(sink_code_in_bb): Take bsi from statement_sink_location.
+	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use bsi_after_labels
+	instead of bsi_start.
+	* tree-profile.c (tree_gen_ic_func_profiler): Pass BSI_NEW_STMT to
+	bsi_insert_after.
+	* tree-cfg.c (bsi_move_after): Pass BSI_NEW_STMT to bsi_insert_after.
+	(bsi_move_before): Document inconsistency with bsi_move_after.
+	(tree_redirect_edge_and_branch): Do not create labels if not necessary.
+
+2007-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TARGET_ABM): New define.
+	(TARGET_POPCNT): Ditto.
+	(TARGET_64BIT, TARGET_MMX, TARGET_3DNOW, TARGET_3DNOW_A, TARGET_SSE*):
+	New temporary defines to redefine from OPTION_ISA_* defines.
+	(MASK_64BIT, MASK_MMX, MASK_3DNOW, MASK_3DNOW_A, MASK_SSE*):
+	New temporary defines to redefine from OPTION_MASK_ISA_* defines.
+	(ix86_isa_flags): New extern int declaration.
+	(TARGET_SUBTARGET_DEFAULT): New define.
+	(TARGET_SUBTARGET_ISA_DEFAULT): Ditto.
+	(TARGET_SUBTARGET32_DEFAULT): Ditto.
+	(TARGET_SUBTARGET32_ISA_DEFAULT): Ditto.
+	(TARGET_SUBTARGET64_ISA_DEFAULT): Ditto.
+	* config/i386/unix.h: Undef TARGET_SUBTARGET_DEFAULT before define.
+	* config/i386/darwin.h: Change TARGET_64BIT define to
+	OPTION_ISA_64BIT.
+
+	* config/i386/i386.opt (m3dnowa): Define as undocumented option
+	using existing "ix86_isa_flags" varible.
+	(m32, m64): Use existing "ix86_isa_flags" variable.
+	(mmmx, m3dnow): Ditto.
+	(msse, msse2, msse3, mssse3, msse4.1, msse4a): Ditto.
+	(mabm): Define as non-negative option using "x86_abm" variable.
+	(mpopcnt): Define as non-negative option using "x86_popcnt" variable.
+
+	* config/i386/i386.c (ix86_arch_features) [X86_ARCH_CMOVE]:
+	Rewrite feature test bitmap.
+	(ix86_isa_flags): New initialized global int varible.
+	(ix86_isa_flags_explicit): New static int variable.
+	(ix86_handle_option): Set "ix86_isa_flags_explicit" when mmmx, m3dnow,
+	msse, msse2, msse3, msse4.1 and msse4a option is processed.  Change
+	i86_isa_flags and ix86_isa_flags_explicit, not target_flags and
+	target_flags_explicit.
+	(override_options): Remove "target_enable" and "target_disable" fields
+	from "struct ptt". Update processor_target_table accordingly. Remove
+	PTA_PREFETCH_SSE from processor_alias_table entry if PTE_SSE is
+	defined and rearrange PTA_* bits.  Use "ix86_isa_flags" instead of
+	"target_flags" and "ix86_isa_flags_explicit" instead of
+	"target_flags_explicit" when masked with MASK_64BIT, MASK_MMX,
+	MASK_3DNOW, MASK_3DNOW_A or MASK_SSE*.  Set "x86_abm" to true when
+	PTA_ABM is set in processor_alias_table flags entry.  Set "x86_popcnt"
+	to true when either of PTA_POPCNT or PTA_ABM is set in
+	processor_alias_table flags entry.  Set "x86_prefetch_sse" to true
+	when either of PTA_PREFETCH_SSE or PTA_SSE is set in
+	processor_alias_table flags entry.  Remove handling of
+	"target_enable" and "target_disable" fields of processor_target_table.
+	Mask "target_flags" with TARGET_SUBTARGET32_DEFAULT for 32-bit
+	targets or with TARGET_SUBTARGET64_DEFAULT for 64-bit targets.
+	Mask "ix86_isa_flags" with TARGET_SUBTARGET32_ISA_DEFAULT for 32-bit
+	targets or with TARGET_SUBTARGET64_ISA_DEFAULT for 64-bit targets.
+	(def_builtin): Mask "mask" variable with "ix86_isa_flags", not
+	"target_flags".
+	(TARGET_DEFAULT_TARGET_FLAGS): Do not include TARGET_64BIT_DEFAULT.
+
+2007-05-29  David Daney  <ddaney@avtrex.com>
+
+	PR gcc/31975
+	* config/mips/mips.c (mips_output_mi_thunk): Emit
+	NOTE_INSN_PROLOGUE_END at beginning of the thunk.
+
+2007-05-29  Hui-May Chang  <hm.chang@apple.com>
+	* config/i386/i386.c (ix86_function_regparm): Added checking of
+	ix86_force_align_arg_pointer to determine the number of
+	register parameters.
+
+2007-05-29  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-vectorizer.h (DR_MISALIGNMENT): Cast aux to integer.
+	(SET_DR_MISALIGNMENT): New.
+	* tree-vect-analyze.c (vect_compute_data_ref_alignment,
+	vect_update_misalignment_for_peel, vect_enhance_data_refs_alignment):
+	Use SET_DR_MISALIGNMENT.
+	* tree-predcom.c (split_data_refs_to_components): Cast dr->aux from
+	pointer.
+	* tree-data-ref.c (create_data_ref, compute_all_dependences,
+	find_loop_nest): Export.
+	* tree-data-ref.h (struct data_reference): Change aux field to pointer.
+	(create_data_ref, compute_all_dependences, find_loop_nest): Declare.
+	* tree-ssa-loop-prefetch.c: Include tree-data-ref.h.
+	(L1_CACHE_SIZE_BYTES, L2_CACHE_SIZE_BYTES, NONTEMPORAL_FRACTION):
+	New macros.
+	(struct mem_ref): Add field reuse_distance.
+	(find_or_create_group, record_ref): Use XNEW instead of xcalloc.
+	Initialize reuse_distance field.
+	(issue_prefetch_ref): Select temporality of prefetch according to
+	reuse_distance.
+	(volume_of_references, volume_of_dist_vector, add_subscript_strides,
+	self_reuse_distance, determine_loop_nest_reuse): New functions.
+	(loop_prefetch_arrays): Call determine_loop_nest_reuse.
+	(tree_ssa_prefetch_arrays): Dump L2 cache size.
+	* Makefile.in (tree-ssa-loop-prefetch.o): Add TREE_DATA_REF_H
+	dependency.
+
+2007-05-29  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-alias.c: Add aliasing overview.
+
+2007-05-29  Zuxy Meng  <zuxy.meng@gmail.com>
+	    Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/29498
+	* config/i386/t-crtfm: Compile crtfastmath.o with
+	-minline-all-stringops.
+	* config/i386/cygwin.h (ENDFILE_SPECS): Add crtfastmath.o.
+	* config/i386/mingw32.h (ENDFILE_SPECS): Add crtfastmath.o.
+
+2007-05-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* doc/md.texi: Document constraints on HP PA-RISC.
+
+	* pa/constraints.md: New file.
+	* pa.md: Include constraints.md.
+	* pa.c (cint_ok_for_move): Avoid using CONST_OK_FOR_LETTER_P.
+	(integer_store_memory_operand, ldil_cint_p): New functions.
+	* pa-protos.h (integer_store_memory_operand, ldil_cint_p): Declare.
+	* pa.h (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+	IS_RELOADING_PSEUDO_P, EXTRA_CONSTRAINT): Remove.
+	* pa32-regs.h (REG_CLASS_FROM_LETTER): Remove.
+	* pa64-regs.h (REG_CLASS_FROM_LETTER): Remove.
+
+2007-05-28  Andrew Pinski  <Andrew_pinski@playstation.sony.com>
+
+	PR c/31339
+	* c-typeck.c (build_unary_op <case PREINCREMENT_EXPR,
+	case POSTINCREMENT_EXPR, case PREDECREMENT_EXPR,
+	case POSTDECREMENT_EXPR>): Return the error_mark_node
+	if either the real or imaginary parts would an
+	error_mark_node.
+
+2007-05-28  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Release LHS SSA
+	name when we remove it from a call.
+
+2007-05-28  Kazu Hirata  <kazu@codesourcery.com>
+
+	* targhooks.c (default_narrow_bitfield): Remove.
+	* targhooks.h: Remove the prototype for
+	default_narrow_bitfield.
+
+	* langhooks-def.h: Remove the prototype for
+	hook_get_alias_set_0.
+	* langhooks.c (hook_get_alias_set_0): Remove.
+
+	* global.c (EXECUTE_IF_CONFLICT): Remove.
+
+2007-05-28  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32100
+	* fold-const.c (tree_expr_nonnegative_warnv_p): Don't
+	return true when truth_value_p is true and the type
+	is of signed:1.
+
+2007-05-28  Gerald Pfeifer  <gerald@pfeifer.com>
+
+	* doc/install.texi (Prerequisites): We no longer require Autoconf
+	2.13 for the top-level.
+
+2007-05-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* target/i386/i386.c (ix86_expand_vector_move): Expand unaligned
+	memory access via x86_expand_vector_move_misalign() only for
+	TImode values on 32-bit targets.
+
+2007-05-28  Razya Ladelsky  <razya@il.ibm.com>
+
+	* matrix-reorg.c: New file. Implement matrix flattening and
+	transposing optimization.
+	* tree-pass.h: Add matrix reorg pass.
+	* common.opt: Add fipa-mreorg flag.
+	* Makefile.in: Add matrix-reorg.c.
+	* passes.c: Add matrix reorg pass.
+	* varpool.c (add_new_static_var): New function.
+	* cgraph.h (add_new_static_var): Declare.
+
+2007-05-27  Eric Christopher  <echristo@apple.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update
+	sp_offset depending on stack size. Save r12 depending
+	on registers we're saving later.
+	(rs6000_emit_epilogue): Update sp_offset depending only
+	on stack size.
+
+2007-05-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-vrp.c (execute_vrp): Do not check whether current_loops == NULL.
+	* tree-chrec.c (evolution_function_is_invariant_rec_p): Ditto.
+	* ifcvt.c (if_convert): Ditto.
+	* tree-ssa-threadupdate.c (thread_block): Ditto.
+	(thread_through_all_blocks): Ditto.  Assert that loops were analysed.
+	* tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa,
+	verify_loop_closed_ssa): Check number_of_loops instead of
+	current_loops.
+	* predict.c (tree_estimate_probability): Ditto.
+	* tree-if-conv.c (main_tree_if_conversion): Ditto.
+	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
+	* modulo-sched.c (sms_schedule): Ditto.
+	* tree-scalar-evolution.c (scev_const_prop): Ditto.
+	(scev_finalize): Do not do anything if scev analysis was not
+	initialized.
+	* cfgloopanal.c (mark_irreducible_loops): Do not check whether
+	current_loops == NULL.
+	(mark_loop_exit_edges): Check number_of_loops instead of current_loops.
+	* loop-init.c (loop_optimizer_init): Do not free current_loops when
+	there are no loops.
+	(loop_optimizer_finalize): Assert that loops were analyzed.
+	(rtl_move_loop_invariants, rtl_unswitch, rtl_unroll_and_peel_loops,
+	rtl_doloop): Check number_of_loops instead of current_loops.
+	* tree-ssa-loop.c (tree_loop_optimizer_init): Do not check whether
+	current_loops == NULL.
+	(tree_ssa_loop_init, tree_ssa_loop_im, tree_ssa_loop_unswitch,
+	gate_tree_vectorize tree_linear_transform, check_data_deps,
+	tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
+	tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts):
+	Check number_of_loops instead of current_loops.
+	(tree_ssa_loop_done): Do not check whether current_loops == NULL.
+	* tree-ssa-pre.c (fini_pre): Do not take do_fre argument.  Always
+	free loops if available.
+	(execute_pre): Do not pass do_fre to fini_pre.
+
+2007-05-27  Tobias Burnus  <burnus@net-b.de>
+
+	PR middle-end/32083
+	* real.c (mpfr_from_real): Fix sign of -Inf.
+
+2007-05-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* tree-vect-transform.c (vectorizable_conversion): Initialize
+	tree_code variables to ERROR_MARK.
+	(vectorizable_type_demotion): Likewise.
+	(vectorizable_type_promotion): Likewise.
+
+2007-05-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32065
+	* config/i386/i386.md (movti): Handle push operands via
+	ix86_expand_push().
+
+2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
+
+	* basic-block.h: Remove the prototype for merge_seq_blocks.
+	* cfgcleanup.c (merge_seq_blocks): Remove.
+
+	* tree-flow.h: Remove the prototype for is_aliased_with.
+	* tree-ssa-alias.c (is_aliased_with): Remove.
+
+2007-05-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386-protos.h (ix86_expand_sse4_unpack): New.
+
+	* config/i386/i386.c (ix86_expand_sse4_unpack): New.
+
+	* config/i386/sse.md (vec_unpacku_hi_v16qi): Call
+	ix86_expand_sse4_unpack if SSE4.1 is enabled.
+	(vec_unpacks_hi_v16qi): Likewise.
+	(vec_unpacku_lo_v16qi): Likewise.
+	(vec_unpacks_lo_v16qi): Likewise.
+	(vec_unpacku_hi_v8hi): Likewise.
+	(vec_unpacks_hi_v8hi): Likewise.
+	(vec_unpacku_lo_v8hi): Likewise.
+	(vec_unpacks_lo_v8hi): Likewise.
+	(vec_unpacku_hi_v4si): Likewise.
+	(vec_unpacks_hi_v4si): Likewise.
+	(vec_unpacku_lo_v4si): Likewise.
+	(vec_unpacks_lo_v4si): Likewise.
+
+2007-05-26  Kazu Hirata  <kazu@codesourcery.com>
+
+	* c-typeck.c, config/arm/arm.c, config/darwin.c,
+	config/sh/symbian.c, gcc.c, ipa-cp.c, ipa-inline.c, loop-iv.c,
+	omega.c, tree-ssa-loop-niter.c, treestruct.def: Fix typos and
+	follow spelling conventions in various
+	warning/error/diagnostic messages.
+
+	* config/i386/i386.c, config/pa/pa.c, config/spu/spu.c,
+	df-problems.c, df-scan.c, domwalk.c, ebitmap.c, ebitmap.h,
+	fold-const.c, gcc.c, ipa-type-escape.c, omega.c, omega.h,
+	tree-ssa-coalesce.c, tree-ssa-live.c, tree-ssa-structalias.c,
+	tree-vrp.c: Fix comment typos.  Follow spelling conventions.
+	* doc/tm.texi: Follow spelling conventions.
+
+2007-05-25  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR tree-opt/32090
+	* tree-ssa-forwprop.c
+	(forward_propagate_addr_into_variable_array_index): Remove
+	the lhs argument.  Use the type of def_rhs instead of lhs.
+	(forward_propagate_addr_expr_1): Update use of
+	forward_propagate_addr_into_variable_array_index.
+
+2007-05-25  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips.c (mips_attribute_table): Add "near" and "far"
+	function attributes, "far" being an alias for "long_call".
+	(TARGET_COMP_TYPE_ATTRIBUTES): Define as mips_comp_type_attributes.
+	(mips_near_type_p, mips_far_type_p): New.
+	(mips_comp_type_attributes): New function to check that attributes
+	attached to a function type are compatible.
+	(mips_output_mi_thunk): Test SYMBOL_REF_LONG_CALL_P() rather than
+	TARGET_LONG_CALLS when deciding	whether we can do a direct sibcall
+	to the target function of the thunk.
+	(mips_encode_section_info): Check for "near" and "far" function
+	attributes, and always set the SYMBOL_FLAG_LONG_CALL bit explicitly.
+
+	* config/mips/predicates.md (const_call_insn_operand): Test only
+	SYMBOL_REF_LONG_CALL_P() and not TARGET_LONG_CALLS.
+
+	* 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.
+
+2007-05-25  Eric Christopher  <echristo@apple.com>
+
+	* config.gcc: Add i386/t-fprules-softfp64 and soft-fp/t-softfp
+	to x86-darwin configurations.
+	* config/i386/t-darwin: Add softfp support.
+	* config/i386/t-darwin64: Ditto.
+	* config/i386/sfp-machine.h: If mach then don't use
+	aliasing, emit a stub to call.
+
+2007-05-25  Kazu Hirata  <kazu@codesourcery.com>
+
+	* cfglayout.c, cgraphunit.c, config/avr/avr.c, fold-const.c,
+	haifa-sched.c, optabs.h, tree-affine.c, tree-data-ref.c,
+	tree-predcom.c, tree-ssa-alias-warnings.c,
+	tree-ssa-forwprop.c, tree-vect-analyze.c, tree-vrp.c: Fix
+	comment typos.  Follow spelling conventions.
+	* doc/cpp.texi, doc/invoke.texi: Fix typos.
+
+2007-05-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/32065
+	* target/i386/i386.c (ix86_expand_vector_move): Force SUBREGs of
+	constants into memory.  Expand unaligned memory references for
+	SSE modes via x86_expand_vector_move_misalign() function.
+
+2007-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sse.md (*vec_extractv2di_1_sse2): Do not calculate
+	"memory" attribute for "sseishft" type insn without operands[2].
+
+2007-05-25  Dirk Mueller  <dmueller@suse.de>
+	    Marcus Meissner <meissner@suse.de>
+
+	* doc/extend.texi (alloc_size): New attribute.
+	* c-common.c (handle_alloc_size_attribute): New.
+	* tree-object-size.c (alloc_object_size): Use alloc_size
+	attribute, if available.
+
+2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (__builtin_ia32_vec_ext_v2df): Mark it
+	with MASK_SSE2.
+	(__builtin_ia32_vec_ext_v2di): Likewise.
+	(__builtin_ia32_vec_ext_v4si): Likewise.
+	(__builtin_ia32_vec_ext_v8hi): Likewise.
+	(__builtin_ia32_vec_ext_v16qi): Likewise.
+	(__builtin_ia32_vec_set_v8hi): Likewise.
+
+2007-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (*vec_extractv2di_1_sse2): Correct shift.
+
+2007-05-25  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/arm/arm-protos.h (arm_encode_call_attribute): Delete.
+	(arm_is_longcall_p): Rename to...
+	(arm_is_long_call_p): ...this.  Take a single tree argument and
+	return a bool.
+	* config/arm/arm.h (CALL_SHORT, CALL_LONG, CALL_NORMAL): Delete.
+	(CUMULATIVE_ARGS): Remove call_cookie.
+	(SHORT_CALL_FLAG_CHAR, LONG_CALL_FLAG_CHAR, ENCODED_SHORT_CALL_ATTR_P)
+	(ENCODED_LONG_CALL_ATTR_P): Delete.
+	(ARM_NAME_ENCODING_LENGTHS): Remove SHORT_CALL_FLAG_CHAR and
+	LONG_CALL_FLAG_CHAR cases.
+	(ARM_DECLARE_FUNCTION_SIZE): Delete.
+	* config/arm/elf.h (ASM_DECLARE_FUNCTION_SIZE): Don't use
+	ARM_DECLARE_FUNCTION_SIZE.
+	* config/arm/arm.c (arm_init_cumulative_args): Don't set call_cookie.
+	(arm_function_arg): Return const0_rtx for VOIDmode arguments.
+	(arm_encode_call_attribute, current_file_function_operand): Delete.
+	(arm_function_in_section_p): New function.
+	(arm_is_longcall_p): Rename to...
+	(arm_is_long_call_p): ...this.  Take the target function as a single
+	argument and return a bool.  Do not rely on call cookies.  Check
+	whether the target symbol is in the same section as the current
+	function, not just the same compilation unit.
+	(arm_function_ok_for_sibcall): Use arm_is_long_call_p.
+	(arm_encode_section_info): Don't encode a call type.
+	* config/arm/arm.md (call, call_value): Update calls to
+	arm_is_long(_)call_p.  Simplify logic.
+	(*call_symbol, *call_value_symbol, *call_insn, *call_value_insn):
+	Update calls to arm_is_long(_)call_p.
+
+2007-05-25  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31982
+	* tree-ssa-forwprop.c
+	(forward_propagate_addr_into_variable_array_index): Handle arrays
+	with element size one.
+
+2007-05-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
+	(umulsi3_highpart): Likewise.
+
+2007-05-24  Ian Lance Taylor  <iant@google.com>
+
+	PR rtl-optimization/32069
+	* regclass.c (regclass): Don't crash if the entry in regno_reg_rtx
+	is NULL.
+
+2007-05-24  Ollie Wild  <aaw@google.com>
+
+	* doc/cpp.texi (Common Predefined Macros): Add __COUNTER__
+	description.
+
+2007-05-24  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* postreload-gcse.c (reg_changed_after_insn_p): New function.
+	(oprs_unchanged_p): Use it to check all registers in a REG.
+	(record_opr_changes): Look for clobbers in CALL_INSN_FUNCTION_USAGE.
+	(reg_set_between_after_reload_p): Delete.
+	(reg_used_between_after_reload_p): Likewise.
+	(reg_set_or_used_since_bb_start): Likewise.
+	(eliminate_partially_redundant_load): Use reg_changed_after_insn_p
+	and reg_used_between_p instead of reg_set_or_used_since_bb_start.
+	Use reg_set_between_p instead of reg_set_between_after_reload_p.
+	* rtlanal.c (reg_set_p): Check whether REG overlaps
+	regs_invalidated_by_call, rather than just checking the
+	membership of REGNO (REG).
+
+2007-05-24  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* doc/passes.texi: Document predictive commoning.
+	* doc/invoke.texi (-fpredictive-commoning): Document.
+	* opts.c (decode_options): Enable flag_predictive_commoning on -O3.
+	* tree-ssa-loop-im.c (get_lsm_tmp_name): Export.  Allow
+	adding indices to the generated name.
+	(schedule_sm): Pass 0 to get_lsm_tmp_name.
+	* tree-ssa-loop-niter.c (stmt_dominates_stmt_p): Export.
+	* tree-pretty-print.c (op_symbol_1): Renamed to ...
+	(op_symbol_code): ... and exported.
+	(dump_omp_clause, op_symbol): Use op_symbol_code
+	instead of op_symbol_1.
+	* tree-pass.h (pass_predcom): Declare.
+	* timevar.def (TV_PREDCOM): New timevar.
+	* tree-ssa-loop.c (run_tree_predictive_commoning,
+	gate_tree_predictive_commoning, pass_predcom): New.
+	* tree-data-ref.c (find_data_references_in_loop): Find the
+	references in dominance order.
+	(canonicalize_base_object_address): Ensure that the result has
+	pointer type.
+	(dr_analyze_innermost): Export.
+	(create_data_ref): Code to fail for references with invariant
+	address moved ...
+	(find_data_references_in_stmt): ... here.
+	* tree-data-ref.h (dr_analyze_innermost): Declare.
+	* tree-affine.c: Include tree-gimple.h and hashtab.h.
+	(aff_combination_find_elt, name_expansion_hash,
+	name_expansion_eq, tree_to_aff_combination_expand,
+	double_int_constant_multiple_p, aff_combination_constant_multiple_p):
+	New functions.
+	* tree-affine.h (aff_combination_constant_multiple_p,
+	tree_to_aff_combination_expand): Declare.
+	* tree-predcom.c: New file.
+	* common.opt (fpredictive-commoning): New option.
+	* tree-flow.h (op_symbol_code, tree_predictive_commoning,
+	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
+	copy propagation in loop optimizer.  Add predictive commoning
+	to loop optimizer passes.
+
+2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Correct
+	default hook.
+
+2007-05-24  Jan Hubicka  <jh@suse.cz>
+
+	* gengenrtl.c (gendecl, gendef): Output the gens annotated for
+	statistics.
+	(genheader): Include statistics.h.
+
+	* doc/invoke.texi (-fdump-unnumbered): Update docs when line number
+	notes are gone.
+	* print-rtl.c (flag_dump_unnumbered): Update comments.
+	(print_rtl): Fix my previous change.
+	* emit-rtl.c (emit_note_before, emit_note_after): Clear out note
+	specific data.
+
+2007-05-24  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR middle-end/32018
+	* tree-ssa-threadupdate.c (thread_through_loop_header): Use
+	set_loop_copy.
+	(thread_through_all_blocks): Call initialize_original_copy_tables
+	and free_original_copy_tables.
+	* cfgloopmanip.c (duplicate_loop, duplicate_loop_to_header_edge):
+	Use set_loop_copy.
+	* tree-cfg.c (tree_duplicate_sese_region): Ditto.
+	* cfghooks.c (duplicate_block): Use get_loop_copy.
+	* cfg.c: Include cfgloop.h.
+	(loop_copy): New hash table.
+	(initialize_original_copy_tables): Initialize loop_copy table.
+	(free_original_copy_tables): Free loop_copy table.
+	(copy_original_table_clear, copy_original_table_set,
+	set_loop_copy, get_loop_copy): New functions.
+	(set_bb_original, set_bb_copy): Use copy_original_table_set.
+	* cfgloop.h (struct loop): Remove copy field.
+	* Makefile.in (cfg.o): Add CFGLOOP_H dependency.
+	* basic-block.h (set_loop_copy, get_loop_copy): Declare.
+
+2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 for
+	-msse/-msse2/-msse3.
+
+2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Mark
+	__builtin_ia32_vec_set_v2di with MASK_64BIT.
+
+2007-05-24  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/27067
+	* doc/tm.texi (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Document.
+	* targhooks.h (default_mangle_decl_assembler_name): Declare
+	default hook.
+	* targhooks.c (default_mangle_decl_assembler_name): Define
+	default hook.
+	* target-def.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) New. Set to
+	default hook.
+	* target.h (struct gcc_target): Add mangle_decl_assembler_name field.
+	* langhooks.c (lhd_set_decl_assembler_name): Call
+	targetm.mangle_decl_assembler_name for names with global scope.
+
+	* config/i386/cygming.h (TARGET_MANGLE_DECL_ASSEMBLER_NAME) Override
+	default.
+	(ASM_OUTPUT_DEF_FROM_DECLS): Simplify to use DECL_ASSEMBLER_NAME.
+	* config/i386/i386-protos.h (i386_pe_mangle_decl_assembler_name):
+	Declare.
+	* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
+	New. Factored out of i386_pe_encode_section_info.
+	(gen_stdcall_or_fastcall_suffix): Get name identifier as argument.
+	Move check for prior decoration of stdcall
+	symbols to i386_pe_encode_section_info.
+	(i386_pe_encode_section_info): Adjust call to
+	gen_stdcall_or_fastcall_suffix.  Use
+	i386_pe_maybe_mangle_decl_assembler_name, if needed.
+	(i386_pe_mangle_decl_assembler_name): New. Wrap
+	i386_pe_maybe_mangle_decl_assembler_name.
+
+2007-05-16  Rafael Avila de Espindola  <espindola@google.com>
+
+	* c-common.c (c_common_signed_or_unsigned_type): Delay the check for
+	INTEGRAL_TYPE_P and TYPE_UNSIGNED.
+	* langhooks.c (get_signed_or_unsigned_type): Don't check for
+	INTEGRAL_TYPE_P or TYPE_UNSIGNED.
+	(lhd_signed_or_unsigned_type): Check for INTEGRAL_TYPE_P and
+	TYPE_UNSIGNED.
+
+2007-05-23  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	Fix up MIPS16 hard float and add support for complex.
+
+	* config/mips/mips.h (TARGET_HARD_FLOAT_ABI): New.
+	(TARGET_SOFT_FLOAT_ABI): New.
+	(TARGET_CPU_CPP_BUILTINS): Define __mips_hard_float and
+	__mips_soft_float to reflect the ABI in use, not whether the
+	FPU is directly accessible (e.g., in MIPS16 mode).
+	(UNITS_PER_HWFPVALUE): Use TARGET_SOFT_FLOAT_ABI.
+	(UNITS_PER_FPVALUE): Likewise.
+
+	* config/mips/mips.c (mips_expand_call): Remove redundant
+	TARGET_MIPS16 check.
+	(mips_arg_regno): New.
+	(function_arg_advance): When setting bits in cum->fp_code for
+	MIPS16, don't subtract 1 from cum->arg_number, since it is now
+	zero-based.
+	(function_arg): Use mips_arg_regno.
+	(mips_return_mode_in_fpr_p): New.
+	(mips16_call_stub_mode_suffix): New.
+	(mips16_cfun_returns_in_fpr_p): New.
+	(mips_save_reg_p): Use mips16_cfun_returns_in_fpr_p.
+	(mips_output_function_prologue): Test mips16_hard_float, not
+	!TARGET_SOFT_FLOAT, to decide when a function stub is required.
+	(mips_expand_epilogue): Call MIPS16 helper routines to copy
+	return value into a floating-point register.
+	(mips_can_use_return_insn): Use mips16_cfun_returns_in_fpr_p.
+	(mips_function_value): Rewrite to use mips_return_mode_in_fpr_p.
+	(mips16_fp_args): Handle MIPS32r2 ISA which supports
+	TARGET_FLOAT64, and use mfhc1/mthc1 to copy the most significant
+	word of double arguments from or to the high bits of 64-bit
+	floating point registers.
+	(build_mips16_function_stub): Fill in DECL_RESULT for stubdecl.
+	(mips16_fpret_double): New helper function.
+	(build_mips16_call_stub): Use mips16_return_mode_in_fpr_p.  Add
+	support for complex modes.  Fill in DECL_RESULT for stubdecl.
+	(mips_init_libfuncs): Remove redundant TARGET_MIPS16 check.
+
+	* config/mips/mips16.S
+	(RET, ARG1, ARG2): New.
+	(MERGE_GPRf, MERGE_GPRt): New.
+	(DELAYt, DELAYf): New.
+	(MOVE_SF_BYTE0, MOVE_SI_BYTE0): New.
+	(MOVE_SF_BYTE4, MOVE_SF_BYTE8): New.
+	(MOVE_DF_BYTE0, MOVE_DF_BYTE8): New.
+	(MOVE_SF_RET, MOVE_SC_RET, MOVE_DF_RET, MOVE_DC_RET, MOVE_SI_RET): New.
+	(SFOP): Renamed to...
+	(OPSF3): This, and macro-ified.  Updated all uses.
+	(SFOP2): Renamed to...
+	(OPSF2): This, and macro-ified.  Updated all uses.
+	(SFCMP): Renamed to...
+	(CMPSF): This, and macro-ified.  Updated all uses.
+	(SFREVCMP): Renamed to...
+	(REVCMPSF): This, and macro-ified.  Updated all uses.
+	(__mips16_floatsisf, __mips16_fix_truncsfsi): Macro-ified.
+	(LDDBL1, LDDBL2, RETDBL): Deleted.
+	(DFOP): Renamed to...
+	(OPDF3): This, and macro-ified.  Updated all uses.
+	(DFOP2): Renamed to...
+	(OPDF2): This, and macro-ified.  Updated all uses.
+	(__mips16_extendsfdf2, __mips16_truncdfsf2): Macro-ified.
+	(DFCMP): Renamed to...
+	(CMPDF): This, and macro-ified.  Updated all uses.
+	(DFREVCMP): Renamed to...
+	(REVCMPDF): This, and macro-ified.  Updated all uses.
+	(__mips16_floatsidf, __mips16_fix_truncdfsi): Macro-ified.
+	(RET_FUNCTION): New.
+	(__mips16_ret_sf, __mips16_ret_df): Macro-ified.
+	(__mips16_ret_sc, __mips16_ret_dc): New.
+	(STUB_ARGS_0, STUB_ARGS_1, STUB_ARGS_5, STUB_ARGS_9, STUB_ARGS_2,
+	STUB_ARGS_6, STUB_ARGS_10): New.
+	(CALL_STUB_NO_RET): New.
+	(__mips16_call_stub_1): Macro-ified.
+	(__mips16_call_stub_5): Macro-ified.
+	(__mips16_call_stub_2): Macro-ified.
+	(__mips16_call_stub_6): Macro-ified.
+	(__mips16_call_stub_9): Macro-ified.
+	(__mips16_call_stub_10): Macro-ified.
+	(CALL_STUB_RET): New.
+	(__mips16_call_stub_sf_0): Macro-ified.
+	(__mips16_call_stub_sf_1): Macro-ified.
+	(__mips16_call_stub_sf_5): Macro-ified.
+	(__mips16_call_stub_sf_2): Macro-ified.
+	(__mips16_call_stub_sf_6): Macro-ified.
+	(__mips16_call_stub_sf_9): Macro-ified.
+	(__mips16_call_stub_sf_10): Macro-ified.
+	(__mips16_call_stub_df_0): Macro-ified.
+	(__mips16_call_stub_df_1): Macro-ified.
+	(__mips16_call_stub_df_5): Macro-ified.
+	(__mips16_call_stub_df_2): Macro-ified.
+	(__mips16_call_stub_df_6): Macro-ified.
+	(__mips16_call_stub_df_9): Macro-ified.
+	(__mips16_call_stub_df_10): Macro-ified.
+	(__mips16_call_stub_sc_0): New.
+	(__mips16_call_stub_sc_1): New.
+	(__mips16_call_stub_sc_5): New.
+	(__mips16_call_stub_sc_2): New.
+	(__mips16_call_stub_sc_6): New.
+	(__mips16_call_stub_sc_9): New.
+	(__mips16_call_stub_sc_10): New.
+	(__mips16_call_stub_dc_0): New.
+	(__mips16_call_stub_dc_1): New.
+	(__mips16_call_stub_dc_5): New.
+	(__mips16_call_stub_dc_2): New.
+	(__mips16_call_stub_dc_6): New.
+	(__mips16_call_stub_dc_9): New.
+	(__mips16_call_stub_dc_10): New.
+
+	* config/mips/t-elf (LIB1ASMFUNCS): Add MIPS16 floating-point stubs.
+	* config/mips/t-isa3264 (LIB1ASMFUNCS): Likewise.
+	* config/mips/t-r2900 (LIB1ASMFUNCS): Likewise.
+
+2007-05-23  Ian Lance Taylor  <iant@google.com>
+
+	* doc/invoke.texi (Invoking GCC): Document that the order of the
+	-l option matters.
+
+2007-05-23  Chen Liqin  <liqin@sunnorth.com.cn>
+
+	PR target/30987
+	* config/score/misc.md (bitclr_c, bitset_c, bittgl_c): Remove.
+	* config/score/predicate.md (const_pow2, const_npow2): Remove.
+	* config/score/score.h (ASM_OUTPUT_EXTERNAL): Add ASM_OUTPUT_EXTERNAL
+	undef.
+
+	PR target/30474
+	* config/score/score.c (score_print_operand): Make sure that only
+	lower bits are used.
+
+2007-05-22  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (avoid_overflow_infinity): New static function,
+	broken out of set_value_range_to_value.
+	(set_value_range_to_value): Call avoid_overflow_infinity.
+	(extract_range_from_assert): Likewise.
+
+2007-05-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/31095
+	 * builtins.c (expand_builtin_memmove_args): Strip nops that don't
+	change the type before looking for a COMPOUND_EXPR.
+
+2007-05-22  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (decompose_multiword_subregs): If we change an
+	insn, call remove_retval_note on it.
+
+2007-05-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* regs.h (end_hard_regno): New function.
+	(END_HARD_REGNO, END_REGNO): New macros.
+	(add_to_hard_reg_set): New function.
+	(remove_from_hard_reg_set): Likewise.
+	(in_hard_reg_set_p): Likewise.
+	(overlaps_hard_reg_set_p): Likewise.
+	* bt-load.c (find_btr_reference): Use overlaps_hard_reg_set_p.
+	(note_btr_set): Use END_HARD_REGNO.
+	* caller-save.c (setup_save_areas): Use end_hard_regno.
+	(mark_set_regs): Use END_HARD_REGNO.
+	(add_stored_regs): Use end_hard_regno.
+	(mark_referenced_regs): Use add_to_hard_reg_set.
+	* combine.c (update_table_tick): Use END_REGNO.
+	(record_value_for_reg): Likewise.
+	(record_dead_and_set_regs): Likewise.
+	(get_last_value_validate): Likewise.
+	(use_crosses_set_p): Likewise.
+	(reg_dead_at_p_1): Likewise.
+	(reg_dead_at_p): Likewise.
+	(mark_used_regs_combine): Use add_to_hard_reg_set.
+	(move_deaths): Use END_HARD_REGNO.
+	(reg_bitfield_target_p): Use end_hard_regno.
+	(distribute_notes): Use END_HARD_REGNO.
+	* cse.c (mention_regs): Use END_REGNO.
+	(insert): Use add_to_hard_reg_set.
+	(invalidate): Use END_HARD_REGNO.
+	(invalidate_for_call): Likewise.
+	(exp_equiv_p): Use END_REGNO.
+	(cse_insn): Likewise.
+	* cselib.c (cselib_invalidate_regno): Use end_hard_regno.
+	* df-problems.c (df_urec_mark_reg_change): Use END_HARD_REGNO.
+	* df-scan.c (df_ref_record): Use END_HARD_REGNO.
+	* function.c (keep_stack_depressed): Use end_hard_regno.
+	* global.c (global_alloc): Use end_hard_regno.
+	(global_conflicts): Use add_to_hard_reg_set instead of
+	mark_reg_live_nc.
+	(find_reg): Likewise.
+	(mark_reg_store): Likewise.
+	(mark_reg_conflicts): Likewise.
+	(mark_reg_death): Use remove_from_hard_reg_set.
+	(mark_reg_live_nc): Delete.
+	(set_preference): Use end_hard_regno.
+	* local-alloc.c (mark_life): Use add_to_hard_reg_set and
+	remove_from_hard_reg_set.
+	(post_mark_life): Use add_to_hard_reg_set.
+	* mode-switching.c (reg_dies): Use remove_from_hard_reg_set.
+	(reg_becomes_live): Use add_to_hard_reg_set.
+	* recog.c (reg_fits_class_p): Use in_hard_reg_set_p.
+	(peep2_find_free_register): Use add_to_hard_reg_set.
+	* reg-stack.c (convert_regs_exit): Use END_HARD_REGNO.
+	* regclass.c (record_reg_classes): Use in_hard_reg_set_p.
+	* regrename.c (note_sets): Use add_to_hard_reg_set.
+	(clear_dead_regs): Use remove_from_hard_reg_set.
+	(regrename_optimize): Use add_to_hard_reg_set.
+	(find_oldest_value_reg): Use in_hard_reg_set_p.
+	* reload.c (push_reload): Use in_hard_reg_set_p and end_hard_regno.
+	(hard_reg_set_here_p): Use end_hard_regno.
+	(decompose): Likewise.
+	(reg_overlap_mentioned_for_reload_p): Use END_HARD_REGNO.
+	(find_equiv_reg): Use in_hard_reg_set_p and end_hard_regno.
+	* reload1.c (compute_use_by_pseudos): Use add_to_hard_reg_set.
+	(mark_home_live): Use end_hard_regno.
+	(spill_hard_reg): Likewise.
+	(clear_reload_reg_in_use): Likewise.
+	* reorg.c (delete_prior_computation): Use END_REGNO.
+	* resource.c (update_live_status): Use END_HARD_REGNO.
+	(mark_referenced_resources): Use add_to_hard_reg_set.
+	(mark_set_resources): Likewise.
+	(mark_target_live_regs): Likewise.  Use remove_from_hard_reg_set.
+	* rtlanal.c (refers_to_regno_p): Use END_REGNO.
+	(reg_overlap_mentioned_p): Likewise.
+	(dead_or_set_p): Likewise.  Use an exclusive upper loop bound.
+	(covers_regno_no_parallel_p): Use END_REGNO.
+	(find_regno_note): Likewise.
+	(find_reg_fusage): Use END_HARD_REGNO.
+	* stmt.c (decl_overlaps_hard_reg_set_p): Use overlaps_hard_reg_set_p.
+	* var-tracking.c (emit_note_insn_var_location): Use end_hard_regno.
+
+2007-05-22  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+	* mode-switching.c (reg_dies): Change type of second argument to
+	"HARD_REG_SET *".
+	(optimize_mode_switching): Update accordingly.
+
+2007-05-22  Richard Sandiford  <richard@codesourcery.com>
+
+	* hard-reg-set.h (GO_IF_HARD_REG_SUBSET, GO_IF_HARD_REG_EQUAL): Delete
+	in favor of...
+	(hard_reg_subset_p, hard_reg_sets_equal_p, hard_reg_sets_intersect_p)
+	(hard_reg_set_empty_p): ...these new functions.
+	* bt-load.c (choose_btr): Use hard_reg_subset_p instead of
+	GO_IF_HARD_REG_SUBSET.
+	* cfgcleanup.c (old_insns_match_p): Use hard_reg_sets_equal_p
+	instead of GO_IF_HARD_REG_EQUAL.
+	* df-problems.c (df_urec_local_compute): Use hard_reg_set_empty_p
+	instead of GO_IF_HARD_REG_EQUAL.
+	* global.c (find_reg): Use hard_reg_set_empty_p instead of
+	GO_IF_HARD_REG_SUBSET.
+	(modify_reg_pav): Use hard_reg_set_empty_p instead of
+	GO_IF_HARD_REG_EQUAL.
+	* local-alloc.c (find_free_reg): Use hard_reg_subset_p instead
+	of GO_IF_HARD_REG_SUBSET.
+	* reg-stack.c (change_stack, convert_regs_1): Use hard_reg_sets_equal_p
+	instead of GO_IF_HARD_REG_EQUAL.
+	* regclass.c (init_reg_sets_1, reg_scan_mark_refs): Use
+	hard_reg_subset_p instead of GO_IF_HARD_REG_SUBSET.
+	(reg_classes_intersect_p): Use hard_reg_sets_intersect_p instead
+	of GO_IF_HARD_REG_SUBSET,
+	* reload1.c (finish_spills): Use hard_reg_subset_p instead of
+	GO_IF_HARD_REG_SUBSET.
+	* struct-equiv.c (death_notes_match_p): Use hard_reg_sets_equal_p
+	instead of GO_IF_HARD_REG_EQUAL.
+	* config/sh/sh.c (push_regs, calc_live_regs): Use
+	hard_reg_sets_intersect_p instead of hard_regs_intersect_p.
+	(hard_regs_intersect_p): Delete.
+
+2007-05-22  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/sourcebuild.texi (Test Directives) Add dg-message.
+
+2007-05-22  H.J. Lu  <hongjiu.lu@intel.com>
+	    Richard Henderson  <rth@redhat.com>
+
+	* config.gcc (i[34567]86-*-*): Add smmintrin.h to
+	extra_headers.
+	(x86_64-*-*): Likewise.
+
+	* config/i386/i386-modes.def (V2QI): New.
+
+	* config/i386/i386.c (ix86_handle_option): Handle SSE4.1 and
+	SSE4A.
+	(override_options): Support SSE4.1.
+	(IX86_BUILTIN_BLENDPD): New for SSE4.1.
+	(IX86_BUILTIN_BLENDPS): Likewise.
+	(IX86_BUILTIN_BLENDVPD): Likewise.
+	(IX86_BUILTIN_BLENDVPS): Likewise.
+	(IX86_BUILTIN_PBLENDVB128): Likewise.
+	(IX86_BUILTIN_PBLENDW128): Likewise.
+	(IX86_BUILTIN_DPPD): Likewise.
+	(IX86_BUILTIN_DPPS): Likewise.
+	(IX86_BUILTIN_INSERTPS128): Likewise.
+	(IX86_BUILTIN_MOVNTDQA): Likewise.
+	(IX86_BUILTIN_MPSADBW128): Likewise.
+	(IX86_BUILTIN_PACKUSDW128): Likewise.
+	(IX86_BUILTIN_PCMPEQQ): Likewise.
+	(IX86_BUILTIN_PHMINPOSUW128): Likewise.
+	(IX86_BUILTIN_PMAXSB128): Likewise.
+	(IX86_BUILTIN_PMAXSD128): Likewise.
+	(IX86_BUILTIN_PMAXUD128): Likewise.
+	(IX86_BUILTIN_PMAXUW128): Likewise.
+	(IX86_BUILTIN_PMINSB128): Likewise.
+	(IX86_BUILTIN_PMINSD128): Likewise.
+	(IX86_BUILTIN_PMINUD128): Likewise.
+	(IX86_BUILTIN_PMINUW128): Likewise.
+	(IX86_BUILTIN_PMOVSXBW128): Likewise.
+	(IX86_BUILTIN_PMOVSXBD128): Likewise.
+	(IX86_BUILTIN_PMOVSXBQ128): Likewise.
+	(IX86_BUILTIN_PMOVSXWD128): Likewise.
+	(IX86_BUILTIN_PMOVSXWQ128): Likewise.
+	(IX86_BUILTIN_PMOVSXDQ128): Likewise.
+	(IX86_BUILTIN_PMOVZXBW128): Likewise.
+	(IX86_BUILTIN_PMOVZXBD128): Likewise.
+	(IX86_BUILTIN_PMOVZXBQ128): Likewise.
+	(IX86_BUILTIN_PMOVZXWD128): Likewise.
+	(IX86_BUILTIN_PMOVZXWQ128): Likewise.
+	(IX86_BUILTIN_PMOVZXDQ128): Likewise.
+	(IX86_BUILTIN_PMULDQ128): Likewise.
+	(IX86_BUILTIN_PMULLD128): Likewise.
+	(IX86_BUILTIN_ROUNDPD): Likewise.
+	(IX86_BUILTIN_ROUNDPS): Likewise.
+	(IX86_BUILTIN_ROUNDSD): Likewise.
+	(IX86_BUILTIN_ROUNDSS): Likewise.
+	(IX86_BUILTIN_PTESTZ): Likewise.
+	(IX86_BUILTIN_PTESTC): Likewise.
+	(IX86_BUILTIN_PTESTNZC): Likewise.
+	(IX86_BUILTIN_VEC_EXT_V16QI): Likewise.
+	(IX86_BUILTIN_VEC_SET_V2DI): Likewise.
+	(IX86_BUILTIN_VEC_SET_V4SF): Likewise.
+	(IX86_BUILTIN_VEC_SET_V4SI): Likewise.
+	(IX86_BUILTIN_VEC_SET_V16QI): Likewise.
+	(bdesc_ptest): New.
+	(bdesc_sse_3arg): Likewise.
+	(bdesc_2arg): Likewise.
+	(bdesc_1arg): Likewise.
+	(ix86_init_mmx_sse_builtins): Support SSE4.1.  Handle SSE builtins
+	with 3 args.
+	(ix86_expand_sse_4_operands_builtin): New.
+	(ix86_expand_unop_builtin): Support 2 arg builtins with a constant
+	smaller than 8 bits as the 2nd arg.
+	(ix86_expand_sse_ptest): New.
+	(ix86_expand_builtin): Support SSE4.1. Support 3 arg SSE builtins.
+	(ix86_expand_vector_set): Support SSE4.1.
+	(ix86_expand_vector_extract): Likewise.
+
+	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
+	__SSE4_1__ for -msse4.1.
+
+	* config/i386/i386.md (UNSPEC_BLENDV): New for SSE4.1.
+	(UNSPEC_INSERTPS): Likewise.
+	(UNSPEC_DP): Likewise.
+	(UNSPEC_MOVNTDQA): Likewise.
+	(UNSPEC_MPSADBW): Likewise.
+	(UNSPEC_PHMINPOSUW): Likewise.
+	(UNSPEC_PTEST): Likewise.
+	(UNSPEC_ROUNDP): Likewise.
+	(UNSPEC_ROUNDS): Likewise.
+
+	* config/i386/i386.opt (msse4.1): New for SSE4.1.
+
+	* config/i386/predicates.md (const_pow2_1_to_2_operand): New.
+	(const_pow2_1_to_32768_operand): Likewise.
+
+	* config/i386/smmintrin.h: New. The SSE4.1 intrinsic header
+	file.
+
+	* config/i386/sse.md (*vec_setv4sf_sse4_1): New pattern for
+	SSE4.1.
+	(sse4_1_insertps): Likewise.
+	(*sse4_1_extractps): Likewise.
+	(sse4_1_ptest): Likewise.
+	(sse4_1_mulv2siv2di3): Likewise.
+	(*sse4_1_mulv4si3): Likewise.
+	(*sse4_1_smax<mode>3): Likewise.
+	(*sse4_1_umax<mode>3): Likewise.
+	(*sse4_1_smin<mode>3): Likewise.
+	(*sse4_1_umin<mode>3): Likewise.
+	(sse4_1_eqv2di3): Likewise.
+	(*sse4_1_pinsrb): Likewise.
+	(*sse4_1_pinsrd): Likewise.
+	(*sse4_1_pinsrq): Likewise.
+	(*sse4_1_pextrb): Likewise.
+	(*sse4_1_pextrb_memory): Likewise.
+	(*sse4_1_pextrw_memory): Likewise.
+	(*sse4_1_pextrq): Likewise.
+	(sse4_1_blendpd): Likewise.
+	(sse4_1_blendps): Likewise.
+	(sse4_1_blendvpd): Likewise.
+	(sse4_1_blendvps): Likewise.
+	(sse4_1_dppd): Likewise.
+	(sse4_1_dpps): Likewise.
+	(sse4_1_movntdqa): Likewise.
+	(sse4_1_mpsadbw): Likewise.
+	(sse4_1_packusdw): Likewise.
+	(sse4_1_pblendvb): Likewise.
+	(sse4_1_pblendw): Likewise.
+	(sse4_1_phminposuw): Likewise.
+	(sse4_1_extendv8qiv8hi2): Likewise.
+	(*sse4_1_extendv8qiv8hi2): Likewise.
+	(sse4_1_extendv4qiv4si2): Likewise.
+	(*sse4_1_extendv4qiv4si2): Likewise.
+	(sse4_1_extendv2qiv2di2): Likewise.
+	(*sse4_1_extendv2qiv2di2): Likewise.
+	(sse4_1_extendv4hiv4si2): Likewise.
+	(*sse4_1_extendv4hiv4si2): Likewise.
+	(sse4_1_extendv2hiv2di2): Likewise.
+	(*sse4_1_extendv2hiv2di2): Likewise.
+	(sse4_1_extendv2siv2di2): Likewise.
+	(*sse4_1_extendv2siv2di2): Likewise.
+	(sse4_1_zero_extendv8qiv8hi2): Likewise.
+	(*sse4_1_zero_extendv8qiv8hi2): Likewise.
+	(sse4_1_zero_extendv4qiv4si2): Likewise.
+	(*sse4_1_zero_extendv4qiv4si2): Likewise.
+	(sse4_1_zero_extendv2qiv2di2): Likewise.
+	(*sse4_1_zero_extendv2qiv2di2): Likewise.
+	(sse4_1_zero_extendv4hiv4si2): Likewise.
+	(*sse4_1_zero_extendv4hiv4si2): Likewise.
+	(sse4_1_zero_extendv2hiv2di2): Likewise.
+	(*sse4_1_zero_extendv2hiv2di2): Likewise.
+	(sse4_1_zero_extendv2siv2di2): Likewise.
+	(*sse4_1_zero_extendv2siv2di2): Likewise.
+	(sse4_1_roundpd): Likewise.
+	(sse4_1_roundps): Likewise.
+	(sse4_1_roundsd): Likewise.
+	(sse4_1_roundss): Likewise.
+	(mulv4si3): Don't expand for SSE4.1.
+	(smax<mode>3): Likewise.
+	(umaxv4si3): Likewise.
+	(uminv16qi3): Likewise.
+	(umin<mode>3): Likewise.
+	(umaxv8hi3): Rewrite.  Only enabled for SSE4.1.
+
+	* doc/extend.texi: Document SSE4.1 built-in functions.
+
+	* doc/invoke.texi: Document -msse4.1.
+
+2007-05-22  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/linux.h (ASM_SPEC): Add asm_pcrel_spec.
+	* config/m68k/m68k-none.h (ASM_SPEC): Don't override here.
+	* config/m68k/m68k.h (ASM_PCREL_SPEC): New.
+	(ASM_SPEC): Add asm_pcrel_spec.
+	(EXTRA_SPECS): Add asm_pcrel_spec.
+
+2007-05-21  David Daney  <ddaney@avtrex.com>
+
+	* doc/install.texi (Building a cross compiler): Add requirements
+	for Java cross compiler.
+
+2007-05-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/31995
+	* tree-chrec.c (evolution_function_is_affine_multivariate_p):
+	Add loopno argument.  Use evolution_function_is_invariant_rec_p
+	instead of evolution_function_is_constant_p.
+	Update calls to evolution_function_is_affine_multivariate_p.
+	* tree-chrec.h (evolution_function_is_affine_multivariate_p):
+	Add loopno argument.
+	* tree-scalar-evolution.c (gather_chrec_stats): Call
+	evolution_function_is_affine_multivariate_p with a loop
+	number of 0.
+	* tree-data-ref.c (analyze_miv_subscript): Likewise.
+	(analyze_overlapping_iterations): Likewise.
+	(access_functions_are_affine_or_constant_p): Likewise.
+	(build_classic_dist_vector_1): If the access functions
+	are equal, don't do anything.
+
+2007-05-21  Paolo Bonzini  <bonzini@gnu.org>
+	    Paolo Carlini  <pcarlini@suse.de>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	* c-cppbuiltin.c (c_cpp_builtins): Define
+	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2,
+	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8,
+	__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16, if appropriate.
+	* doc/cpp.texi ([Standard Predefined Macros]): Document.
+
+2007-05-21  Mike Stump  <mrs@apple.com>
+
+	* config/darwin.h (LINK_COMMAND_SPEC): Add .cxx/.cp for dsymutil
+	handling as well.
+	* config/darwin9.h (LINK_COMMAND_SPEC): Likewise.
+
+2007-05-21  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/tmmintrin.h (_mm_alignr_epi8): Provide macro
+	implementation if __OPTIMIZE__ is not defined.
+	(_mm_alignr_pi8): Ditto.
+	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
+	(_mm_inserti_si64): Ditto.
+	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
+	(_mm_slli_epi16): Ditto.
+	(_mm_slli_epi32): Ditto.
+	(_mm_slli_epi64): Ditto.
+	(_mm_srai_epi16): Ditto.
+	(_mm_srai_epi32): Ditto.
+	(_mm_srli_si128): Ditto.
+	(_mm_slli_si128): Ditto.
+	(_mm_srli_epi16): Ditto.
+	(_mm_srli_epi32): Ditto.
+	(_mm_srli_epi64): Ditto.
+	(_mm_extract_epi16): Ditto.
+	(_mm_insert_epi16): Ditto.
+	(_mm_shufflehi_epi16): Ditto.
+	(_mm_shufflelo_epi16): Ditto.
+	(_mm_shuffle_epi32): Ditto.
+	* config/i386/xmmintrin.h (_mm_extract_pi16): Ditto.
+	(_m_pextrw): Ditto.
+	(_mm_insert_pi16): Ditto.
+	(_m_pinsrw): Ditto.
+	(_mm_shuffle_pi16): Ditto.
+	(_m_pshufw): Ditto.
+	(_mm_shufle_ps): Ditto.
+	(_mm_prefetch): Ditto.
+
+2007-05-21  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* defaults.h (IBM_FLOAT_FORMAT): Macro definition removed.
+	* doc/tm.texi (IBM_FLOAT_FORMAT): Documentation entry removed.
+	* real.c (encode_i370_single, decode_i370_single,
+	encode_i370_double, decode_i370_double): Functions removed.
+	(i370_single_format, i370_double_format): Initializations removed.
+	(real_maxval, round_for_format, exact_real_truncate, significand_size):
+	Consider the log2_b field to always be one.
+	(ieee_single_format, mips_single_format, coldfire_single_format,
+	ieee_double_format, mips_double_format,	coldfire_double_format,
+	ieee_extended_motorola_format, ieee_extended_intel_96_format,
+	ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
+	ibm_extended_format, mips_extended_format, ieee_quad_format,
+	mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
+	decimal_single_format, decimal_double_format, decimal_quad_format,
+	c4x_single_format, c4x_extended_format, real_internal_format): Remove
+	initialization of log2_b.
+	* real.h (i370_single_format, i370_double_format): Declarations
+	removed.
+	* c-cppbuiltin.c (builtin_define_float_constants): Consider the log2_b
+	field to always be one.
+
+2007-05-21  Andreas Schwab  <schwab@suse.de>
+
+	* config/ia64/ia64.c (emit_predicate_relation_info): Fix use of
+	NOTE_INSN_BASIC_BLOCK_P.
+	(process_for_unwind_directive): Likewise.
+
+2007-05-21  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* builtins.c (expand_builtin_setjmp_setup): Update comment.
+	* function.h (struct function): Move va_list_gpr_size,
+	va_list_fpr_size, function_frequency to front of bitfields.  Add
+	calls_unwind_init.
+	(current_function_calls_unwind_init): New.
+	* except.c (expand_builtin_unwind_init): Set
+	current_function_calls_unwind_init not
+	current_function_has_nonlocal_label.
+	* reload1.c (has_nonexceptional_receiver): New.
+	(reload): Use it and current_function_calls_unwind_init to
+	determine whether call-saved regs must be saved.
+
+2007-05-20  Jan Hubicka  <jh@suse.cz>
+
+	* gengtype.c (adjust_field_rtx_def): Use NOTE_KIND instead of
+	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
+	* ddg.c (create_ddg): LIkewise.
+	* final.c (final): Remove hunk moving line number notes around since
+	they are no longer present at this stage.
+	(final_scan_insn): Use NOTE_KIND instead of
+	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
+	(output_asm_label): Likewise.
+	* reorg.c (dbr_schedule): Likewise.
+	* haifa-sched.c (unlink_other_notes): Likewise.
+	* mode-switching.c (optimize_mode_switching): Likewise.
+	* graph.c (start_bb): Likewise.
+	* rtl.def (NOTE): Update description.
+	* jump.c (squeeze_notes): Delete.
+	(mark_jump_label): Use NOTE_KIND instead of NOTE_LINE_NUMBER; use
+	NOTE_INSN_BASIC_BLOCK_P when possible.
+	* ifcvt.c (dead_or_predicable): Remove call of squeeze_notes.
+	* dwarf2out.c (gen_label_die): Use NOTE_KIND instead of
+	NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P when possible.
+	(dwarf2out_var_location): Likewise.
+	* cfgbuild.c (make_edges): Likewise.
+	(find_basic_blocks_1): Likewise.
+	* function.c (reorder_blocks_1): Likewise.
+	(epilogue_done): Likewise.
+	(reposition_prologue_and_epilogue_notes): Likewise.
+	* print-rtl.c (print_rtx): Likewise; drop code for printing
+	line number notes.
+	(print_rtl): Likewise.
+	(print_rtl_single): Likewise.
+	* gcse.c (insert_insn_start_bb): Likewise.
+	* alias.c (init_alias_analysis): Likewise.
+	* calls.c (fixup_tail_calls): Likewise.
+	* except.c (sjlj_emit_function_enter): Likewise.
+	* emit-rtl.c (add_insn_after): Likeiwse.
+	(emit_label_before): Likewise.
+	(emit_label_after): Likewise.
+	(emit_note_before, emit_note_after, emit_note): Update
+	parameter to be enum insn_note; do not deal with source
+	files.
+	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps):
+	Use NOTE_KIND instead of NOTE_LINE_NUMBER; use NOTE_INSN_BASIC_BLOCK_P
+	when possible.
+	(merge_blocks_move_successor_nojumps): Simplify now when
+	we don't have BLOCK notes.
+	(try_optimize_cfg): Likewise.
+	* cfglayout.c (skip_insns_after_block): Likewise.
+	(record_effective_endpoints): Likewise.
+	(duplicate_insn_chain): Likewise.
+	* varasm.c (output_constant_pool_1): Likewise.
+	* sched-deps.c (sched_analyze): Likewise.
+	* rtl.c (NOTE_INSN_MAX_isnt_negative_adjust_NOTE_INSN_BIAS):
+	Exterminate.
+	(note_insn_name): Simplify now when NOTE_INSN_BIAS is gone.
+	* rtl.h (NOTE_SOURCE_LOCATION, NOTE_EXPANDED_LOCATION): Exterminate.
+	(SET_INSN_DELETED): Simplify.
+	(NOTE_LINE_NUMBER): Exterminate.
+	(NOTE_LINE_KIND): New.
+	(NOTE_INSN_BASIC_BLOCK_P): Update.
+	(enum insn_note): Simplify.
+	(GET_NOTE_INSN_NAME) Simplify.
+	(emit_note_before, emit_note_after, emit_note): Update prototype.
+	(squeeze_notes): Remove.
+	* sched-int.h (NOTE_NOT_BB_P): Update.
+	* resource.c (mark_target_live_regs): Update.
+	* sched-rgn.c (debug_dependencies): Update.
+	* sched-vis.c (print_insn): Update.
+	* config/alpha/alpha.c (alpha_handle_trap_shadows): Update.
+	* config/i386/i386.c (ix86_output_function_epilogue): Update.
+	* config/sh/sh.c (sh_adjust_unroll_max): Function dead since gcc 4.0.0.
+	(TARGET_ADJUST_UNROLL_MAX): Likewise.
+	(split_branches): Update.
+	(sh_optimize_target_register_callee_saved): Remove hunk dead since gcc
+	4.0.0.
+	(sh_adjust_unroll_max): Exterminate.
+	* config/c4x/c4x.c (c4x_reorg): Use SET_INSN_DELETED.
+	* config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Likewise.
+	(m68hc11_reorg): Likewise.
+	* config/ia64/ia64.c (emit_insn_group_barriers): Update.
+	(emit_predicate_relation_info): Update.
+	(process_for_unwind_directive): Update.
+	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Update.
+	(output_call): Update.
+	* config/pa/pa.c (output_lbranch): Update.
+	(output_millicode_call): Update.
+	(output_call): Update.
+	(pa_combine_instructions): Update.
+	* config/mips/mips.c (mips16_gp_pseudo_reg): Update.
+	* config/bfin/bfin.c (gen_one_bundle): Update.
+	* cfgrtl.c (can_delete_note_p): Update.
+	(delete_insn): Update.
+	(rtl_merge_blocks): Update.
+	(commit_one_edge_insertion): Update.
+	(rtl_verify_flow_info): Update.
+	* stmt.c (expand_case): Do not call squeeze_notes.
+
+2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR middle-end/7651
+	PR c++/11856
+	PR c/12963
+	PR c/23587
+	PR other/29694
+	* c.opt (Wtype-limits): New.
+	* doc/invoke.texi (Wtype-limits): Document it.
+	(Wextra): Enabled by -Wextra.
+	* c-opts.c (c_common_post_options): Enabled by -Wextra.
+	* c-common.c (shorten_compare): Warn with Wtype-limits.
+
+2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/tmmintrin.h (_mm_alignr_epi32): Implement as always
+	inlined function, not as a macro.
+	(_mm_alignr_pi8): Ditto.
+	* config/i386/ammintrin.h (_mm_extracti_si64): Ditto.
+	(_mm_inserti_si64): Ditto.
+	* config/i386/emmintrin.h (_mm_shuffle_pd): Ditto.
+	(_mm_extract_epi16): Ditto.
+	(_mm_insert_epi16): Ditto.
+	(_mm_shufflehi_epi16): Ditto.
+	(_mm_shufflelo_epi16): Ditto.
+	(_mm_shuffle_epi32): Ditto.
+	* config/i386/xmmintrin.h (_mm_set_ss): Use 0.0f for float constant.
+	* config/386/mm3dnow.h: Add __attribute__((__always_inline__)) to
+	all functions.
+	(_m_from_float): Add __extension__ to conversion.  Use 0.0f for
+	float constant.
+	(_m_to_float): Use C89 compatible assignment.
+
+2007-05-20  Martin Michlmayr  <tbm@cyrius.com>
+
+	PR target/32007
+	* config/arm/lib1funcs.asm: Define __ARM_ARCH__ on v2/v3 machines.
+
+2007-05-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR middle-end/7651
+	* doc/invoke.texi (Wreturn-type): Complete description.
+	(Wextra): Delete item about return-type warning.
+	* c-decl.c: Delete redundant Wextra warning.
+
+2007-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31585
+	* config/i386/pmmintrin.h: Do not include xmmintrin.h
+	* config/i386/xmmintrin.h (_mm_extract_pi16): Implement as always
+	inlined function, not as a macro.
+	(_mm_prefetch): Ditto.
+	(_m_pextrw): Ditto.
+	(_mm_insert_pi16): Ditto.
+	(_m_pinsrw): Ditto.
+	(_mm_shuffle_pi16): Ditto.  Add const to __N argument.
+	(_m_pshufw): Ditto. Add const to __N argument.
+	(_mm_shufle_ps): Ditto.  Add const to __mask argument.
+	* config/i386/emmintrin.h (_mm_slli_epi16): Add const to __B argument.
+	(_mm_slli_epi32): Ditto.
+	(_mm_srli_si128): Implement as always inlined function, not as a
+	macro.  Add __inline to function declaration.
+	(_mm_slli_si128): Ditto.
+
+2007-05-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/sfp-machine.h (FP_EX_INVALID, FP_EX_DENORM,
+	FP_EXP_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT):
+	New constants.
+	(struct fenv): New structure.
+	(FP_HANDLE_EXCEPTIONS): New define.
+	(FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF, FP_RND_MINF): New constants.
+	(_FP_DECL_EXP): New define.
+	(FP_INIT_ROUNDMODE): New define.
+	(FP_ROUNDMODE): New define.
+
+2007-05-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Warning Options): Add -Wconversion-sign.
+	(Wconversion): Update description.
+	(Wconversion-sign): New.
+	* c.opt (Wconversion-sign): New.
+	* c-opts.c (c_common_post_options): Uninitialized Wconversion-sign
+	means disabled for C++. Otherwise, take the status of Wconversion.
+	* c-common.c (conversion_warning): Warn with either Wconversion or
+	Wconversion-sign.
+	(warnings_for_convert_and_check): Conditions are already checked by
+	conversion_warning.
+	(convert_and_check): Don't check warnings if the conversion failed.
+
+2007-05-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
+	   Anatoly Sokolov <aesok@dol.ru>
+
+	* config/avr/avr-protos.h (expand_prologue, expand_epilogue,
+	avr_epilogue_uses) : Add declaration.
+	* config/avr/predicates.md (avr_sp_immediate_operand): New predicate.
+	* config/avr/constraints.md (R): New constraint.
+	config/avr/avr.md (SREG_ADDR, UNSPEC_SEI, UNSPEC_CLI,
+	UNSPECV_PROLOGUE_SAVES, UNSPECV_EPILOGUE_RESTORES): New constants.
+	(*pop1, *pop2, *pop3, *pop4, *pop5): Combine into ...
+	(*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): ... these patterns.
+	(*movhi_sp, popqi, pophi, enable_interrupt, disable_interrupt,
+	call_prologue_saves, epilogue_restores, return_from_epilogue,
+	return_from_main_epilogue, return_from_interrupt_epilogue,
+	return_from_naked_epilogue, prologue, epilogue): New patterns.
+	(jump): Handle symbol reference.
+	* config/avr/avr.c (out_adj_frame_ptr, out_set_stack_ptr,
+	avr_output_function_prologue, avr_output_function_epilogue): Remove
+	functions.
+	(avr_init_machine_status, expand_prologue, expand_epilogue,
+	avr_asm_function_end_prologue, avr_epilogue_uses,
+	avr_asm_function_begin_epilogue): New functions.
+	(prologue_size, epilogue_size, jump_tables_size): Remove global
+	variables.
+	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
+	(TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
+	(TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): Define.
+	(avr_override_options): Initialise init_machine_status.
+	(output_movhi): Handle all stack pointer loads.
+	(out_movqi_r_mr, out_movqi_mr_r): Handle SREG_ADDR address.
+	(avr_output_addr_vec_elt): Do not use variable jump_tables_size.
+	* config/avr/avr.h (AVR_2_BYTE_PC, AVR_3_BYTE_PC): New.
+	(EPILOGUE_USES) Redefine.
+	(machine_function) Declare.
+
+2007-05-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/mips/mips.c (mips_offset_within_alignment_p): Tweak comment.
+	Use a single return statement.
+
+2007-05-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR middle-end/30250
+	* builtins.c (do_mpfr_lgamma_r): New.
+	(fold_builtin_2): Handle builtin gamma_r/lgamma_r.
+	* tree.h (CASE_FLT_FN_REENT): New.
+
+2007-05-18  Geoffrey Keating  <geoffk@apple.com>
+
+	* dwarf2out.c (print_die): Use '%ld' not '%lu' to print a 'long'.
+	(output_die): Use 'unsigned long' with %x.
+	* sched-vis.c (print_value): Use 'unsigned HOST_WIDE_INT' and
+	HOST_WIDE_INT_PRINT_HEX to print HOST_WIDE_INT.
+	* tree-dump.c (dump_pointer): Use 'unsigned long' for %lx.
+
+	* unwind-dw2.c (uw_identify_context): Use the CFA, not the IP.
+
+2007-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/31989
+	PR target/31681
+	PR target/31666
+	* config/i386/i386.c (init_cumulative_args): Set maybe_vaarg to
+	true if function has no argument.
+
+2007-05-18  DJ Delorie  <dj@redhat.com>
+
+	* config/mips/mips.c (mips_offset_within_alignment_p): New.
+	(mips_symbolic_constant_p): Call it for TPREL and DTPREL symbols.
+
+2007-05-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	* longlong.h (__x86_64__): Add definitions for add_ssaaaa,
+	sub_ddmmss, umul_ppmm, udiv_qrnnd, count_leading_zeros and
+	count_trailing_zeros.
+	(__i386__): Implement count_leading_zeros using __builtin_clz().
+	Implement count_trailing_zeros usign __builtin_ctz().
+
+2007-05-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/i386/vxworks.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine.
+
+2007-05-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/31344
+	* expr.c (emit_move_change_mode): Change mode of push operands here.
+
+2007-05-17  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31953
+	* tree-vrp.c (set_value_range_to_value): Add equiv parameter.
+	Change all callers.
+	(set_value_range_to_null): Call set_value_range_to_value.
+	(extract_range_from_comparison): Likewise.
+
+2007-05-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* toplev.c (print_version): Output GMP/MPFR version info.
+
+	* builtins.c (CASE_MATHFN_REENT): New macro.
+	(mathfn_built_in): Use it.
+	* builtins.def (BUILT_IN_GAMMA_R, BUILT_IN_GAMMAF_R,
+	BUILT_IN_GAMMAL_R, BUILT_IN_LGAMMA_R, BUILT_IN_LGAMMAF_R,
+	BUILT_IN_LGAMMAL_R): New.
+	* doc/extend.texi: Document new builtins.
+
+	PR middle-end/31796
+	* builtins.c (do_mpfr_remquo): New.
+	(fold_builtin_2): Handle BUILT_IN_DREM/BUILT_IN_REMAINDER.
+	(fold_builtin_3): Handle BUILT_IN_REMQUO.
+
+	PR middle-end/30251
+	* builtins.c (fold_builtin_1): Handle y0, y1.
+	(fold_builtin_2): Handle yn.
+
+	PR middle-end/30251
+	* builtins.c (do_mpfr_bessel_n): New.
+	(fold_builtin_1): Handle BUILT_IN_J0 and BUILT_IN_J1.
+	(fold_builtin_2): Handle BUILT_IN_JN.
+
+2007-05-17  Danny Smith  <dannysmith@users.sourceforge.net>
+
+	PR target/31965
+	* config/i386/mingw32.h (_INTEGRAL_MAX_BITS): Define builtin as
+	TYPE_PRECISION (intmax_type_node).
+
+2007-05-17  Steve Ellcey  <sje@cup.hp.com>
+
+	PR target/31850
+	* reload.c (subst_reloads): Remove checking.
+
+2007-05-17  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/31691
+	* combine.c (simplify_set): Build a new src pattern instead of
+	substituting its operands in the COMPARE case.
+
+2007-05-17  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-vrp.c (finalize_jump_threads): Do not care about dominance info.
+	(execute_vrp): Preserve loops through jump threading.
+	* tree-ssa-threadupdate.c (thread_single_edge,
+	dbds_continue_enumeration_p, determine_bb_domination_status,
+	thread_through_loop_header): New functions.
+	(create_edge_and_update_destination_phis,
+	create_edge_and_update_destination_phis): Set loops for the new blocks.
+	(prune_undesirable_thread_requests): Removed.
+	(redirect_edges): Do not pretend that redirect_edge_and_branch can
+	create new blocks.
+	(thread_block): Do not call prune_undesirable_thread_requests.
+	Update loops.
+	(mark_threaded_blocks): Select edges to thread here.
+	(thread_through_all_blocks): Take may_peel_loop_headers argument.
+	Thread edges through loop headers independently.
+	* cfgloopmanip.c (create_preheader, mfb_keep_just): Export.
+	* tree-pass.h (TODO_mark_first_instance): New.
+	(first_pass_instance): Declare.
+	* cfghooks.c (duplicate_block): Put the block to the original loop
+	if copy is not specified.
+	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Preserve loops through
+	jump threading.  Pass may_peel_loop_headers to
+	thread_through_all_blocks according to first_pass_instance.
+	* cfgloop.h (create_preheader): Declare.
+	* tree-flow.h (thread_through_all_blocks): Declaration changed.
+	* basic-block.h (mfb_keep_just, mfb_kj_edge): Declare.
+	* passes.c (first_pass_instance): New variable.
+	(next_pass_1): Set TODO_mark_first_instance.
+	(execute_todo): Set first_pass_instance.
+
+2007-05-17  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/24659
+	* optabs.h (enum optab_index): Add OTI_vec_unpacks_float_hi,
+	OTI_vec_unpacks_float_lo, OTI_vec_unpacku_float_hi,
+	OTI_vec_unpacku_float_lo, OTI_vec_pack_sfix_trunc and
+	OTI_vec_pack_ufix_trunc.
+	(vec_unpacks_float_hi_optab): Define new macro.
+	(vec_unpacks_float_lo_optab): Ditto.
+	(vec_unpacku_float_hi_optab): Ditto.
+	(vec_unpacku_float_lo_optab): Ditto.
+	(vec_pack_sfix_trunc_optab): Ditto.
+	(vec_pack_ufix_trunc_optab): Ditto.
+	* genopinit.c (optabs): Implement vec_unpack[s|u]_[hi|lo]_optab
+	and vec_pack_[s|u]fix_trunc_optab using
+	vec_unpack[s|u]_[hi\lo]_* and vec_pack_[u|s]fix_trunc_* patterns
+	* tree-vectorizer.c (supportable_widening_operation): Handle
+	FLOAT_EXPR and CONVERT_EXPR.  Update comment.
+	(supportable_narrowing_operation): New function.
+	* tree-vectorizer.h (supportable_narrowing_operation): Prototype.
+	* tree-vect-transform.c (vectorizable_conversion): Handle
+	(nunits_in == nunits_out / 2) and (nunits_out == nunits_in / 2) cases.
+	(vect_gen_widened_results_half): Move before vectorizable_conversion.
+	(vectorizable_type_demotion): Call supportable_narrowing_operation()
+	to check for target support.
+	* optabs.c (optab_for_tree_code) Return vec_unpack[s|u]_float_hi_optab
+	for VEC_UNPACK_FLOAT_HI_EXPR, vec_unpack[s|u]_float_lo_optab
+	for VEC_UNPACK_FLOAT_LO_EXPR and vec_pack_[u|s]fix_trunc_optab
+	for VEC_PACK_FIX_TRUNC_EXPR.
+	(expand_binop): Special case mode of the result for
+	vec_pack_[u|s]fix_trunc_optab.
+	(init_optabs): Initialize vec_unpack[s|u]_[hi|lo]_optab and
+	vec_pack_[u|s]fix_trunc_optab.
+
+	* tree.def (VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR,
+	VEC_PACK_FIX_TRUNC_EXPR): New tree codes.
+	* tree-pretty-print.c (dump_generic_node): Handle
+	VEC_UNPACK_FLOAT_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and
+	VEC_PACK_FIX_TRUNC_EXPR.
+	(op_prio): Ditto.
+	* expr.c (expand_expr_real_1): Ditto.
+	* tree-inline.c (estimate_num_insns_1): Ditto.
+	* tree-vect-generic.c (expand_vector_operations_1): Ditto.
+
+	* config/i386/sse.md (vec_unpacks_float_hi_v8hi): New expander.
+	(vec_unpacks_float_lo_v8hi): Ditto.
+	(vec_unpacku_float_hi_v8hi): Ditto.
+	(vec_unpacku_float_lo_v8hi): Ditto.
+	(vec_unpacks_float_hi_v4si): Ditto.
+	(vec_unpacks_float_lo_v4si): Ditto.
+	(vec_pack_sfix_trunc_v2df): Ditto.
+
+	* doc/c-tree.texi (Expression trees) [VEC_UNPACK_FLOAT_HI_EXPR]:
+	Document.
+	[VEC_UNPACK_FLOAT_LO_EXPR]: Ditto.
+	[VEC_PACK_FIX_TRUNC_EXPR]: Ditto.
+	* doc/md.texi (Standard Names) [vec_pack_sfix_trunc]: Document.
+	[vec_pack_ufix_trunc]: Ditto.
+	[vec_unpacks_float_hi]: Ditto.
+	[vec_unpacks_float_lo]: Ditto.
+	[vec_unpacku_float_hi]: Ditto.
+	[vec_unpacku_float_lo]: Ditto.
+
+2007-05-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* soft-fp/README: Update for new files.
+	* soft-fp/floattisf.c: New file.
+	* soft-fp/floattidf.c: New file.
+	* soft-fp/floattitf.c: New file.
+	* soft-fp/floatuntisf.c: New file.
+	* soft-fp/floatuntidf.c: New file.
+	* soft-fp/floatuntitf.c: New file.
+	* soft-fp/fixsfti.c: New file.
+	* soft-fp/fixdfti.c: New file.
+	* soft-fp/fixtfti.c: New file.
+	* soft-fp/fixunssfti.c: New file.
+	* soft-fp/fixunsdfti.c: New file.
+	* soft-fp/fixunstfti.c: New file.
+	* soft-fp/extendxftf.c: New file.
+	* soft-fp/trunctfxf.c: New file.
+
+	* libgcc-std.ver (__extendxftf2): Added to GCC_4.3.0 section.
+	(__trunctfxf2): Ditto.
+
+	* config/i386/libgcc-x86_64-glibc.ver (__addtf3, __divtf3, __eqtf2,
+	__extenddftf2, __extendsftf2, __fixtfdi, __fixtfsi, __fixtfti,
+	__fixunstfdi, __fixunstfsi, __fixunstfti, __floatditf, __floatsitf,
+	__floattitf, __floatunditf, __floatunsitf, __floatuntitf, __getf2,
+	__letf2, __multf3, __negtf2, __subtf3, __trunctfdf2, __trunctfsf2,
+	__unordtf2): Exclude and add to GCC_4.3.0 section for x86_64 targets.
+
+	* config/i386/t-fprules-softfp64: New file.
+	* config/i386/sfp-machine.h: New file.
+	* config.gcc (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu,
+	x86_64-*-knetbsd*-gnu): Add i386/t-fprules-softfp64
+	and soft-fp/t-softfp to tmake_file.
+	(i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
+	i[34567]86-*-knetbsd*-gnu): Ditto for --enable-targets=all.
+
+	* config/i386/t-linux64 (softfp_wrap_start): New.
+	(softfp_wrap_end): New.
+	* config/i386/i386.c (ix86_scalar_mode_supported): TFmode is
+	supported for TARGET_64BIT.
+
+2007-05-16  Rafael Avila de Espindola  <espindola@google.com>
+
+	* c-common.c (c_common_signed_or_unsigned_type): Emulate
+	c_common_unsigned_type behavior.
+
+2007-05-16  Paolo Bonzini  <bonzini@gnu.org>
+
+	* config/i386/i386.c (legitimize_tls_address): Mark __tls_get_addr
+	calls as pure.
+
+2007-05-16  Eric Christopher  <echristo@apple.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Move altivec register
+	saving after stack push. Set sp_offset whenever we push.
+	(rs6000_emit_epilogue): Move altivec register restore before
+	stack push.
+
+2007-05-16  Richard Sandiford  <richard@codesourcery.com>
+
+	* configure.ac: Allow sysroots to be relocated under $prefix as
+	well as $exec_prefix.
+	* configure: Regenerate.
+
+2007-05-16  Richard Sandiford  <richard@codesourcery.com>
+
+	Revert:
+
+	2007-05-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
+	(gcc_tooldir): Likewise.
+	* configure: Regenerate.
+	* Makefile.in (libsubdir_to_prefix): New variable, based on the
+	old configure.ac gcc_tooldir setting.
+	(prefix_to_exec_prefix): New variable.
+	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
+	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
+
+2007-05-14  Janis Johnson  <janis187@us.ibm.com>
+
+	* c-typeck.c (build_binary_op): Return early for error.
+
+2007-05-15  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (record_estimate): Use GGC_NEW to allocate
+	struct nb_iter_bound.
+	(free_numbers_of_iterations_estimates_loop): Use ggc_free.
+	* gengtype.c (open_base_files): Add cfhloop.h to the list of includes.
+	* cfgloopmanip.c (place_new_loop): Vector larray is gc-allocated.
+	* tree-scalar-evolution.c: Include gt-tree-scalar-evolution.h.
+	(struct scev_info_str, scalar_evolution_info): Add GTY markers.
+	(new_scev_info_str): Use GGC_NEW to allocate struct scev_info_str.
+	(del_scev_info): Use ggc_free.
+	(scev_initialize): Allocate scalar_evolution_info in gc memory.
+	* loop-init.c: Include ggc.h.
+	(loop_optimizer_init): Use GGC_CNEW to allocate struct loops.
+	(loop_optimizer_finalize): Use ggc_free.
+	* tree-ssa-loop.c (pass_tree_unswitch, pass_vectorize,
+	pass_linear_transfom, pass_empty_loop, pass_complete_unroll,
+	pass_iv_optimize): Add TODO_ggc_collect.
+	* function.h (struct function): Remove skip marker from
+	x_current_loops.
+	* cfgloop.c: Include ggc.h.
+	(flow_loops_free, flow_loop_free): Free the loop descriptions in gc
+	memory.
+	(establish_preds): Vector superloops is gc allocated.
+	(alloc_loop): Allocate loop using GGC_CNEW.  Allocate head of
+	loop->exits list.
+	(flow_loops_find): Vector larray is gc allocated.
+	(loop_exit_free): Use ggc_free.
+	(rescan_loop_exit): Use GGC_NEW to allocate struct loop_exit.  Reflect
+	that head of exits list is now not a part of struct loop.
+	(record_loop_exits): Allocate exits table in gc memory.
+	(get_loop_exit_edges, verify_loop_structure, single_exit): Reflect
+	that head of exits list is now not a part of struct loop.
+	* cfgloop.h (struct lpt_decision, struct nb_iter_bound,
+	struct loop_exit): Add GTY marker.
+	(struct loop): Add GTY marker.  Make superloops vector gc allocated.
+	Add skip marker to aux field.  Make head of exits list a separate
+	object.
+	(struct loops): Add GTY marker.  Make larray vector gc allocated.
+	Add param marker to exits table.
+	(get_loops): Type changed.
+	* Makefile.in (tree-scalar-evolution.o): Add
+	gt-tree-scalar-evolution.h dependency.
+	(cfgloop.o, loop-init.o): Add ggc.h dependency.
+	(GTFILES): Add cfgloop.h and tree-scalar-evolution.c.
+	* basic-block.h (struct basic_block_def): Remove skip marker from
+	loop_father field.
+
+2007-05-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* builtins.c (expand_builtin_mathfn): Use EXPAND_NORMAL instead
+	of 0 in the call to expand_expr().
+	(expand_builtin_mathfn_3): Ditto.
+	(expand_builtin_interclass_mathfn): Ditto.
+	(expand_builtin_cexpi): Ditto.
+	(expand_builtin_int_roundingfn): Ditto.
+	(expand_builtin_int_roundingfn_2): Ditto.
+	(expand_builtin_pow): Ditto.
+	(expand_builtin_powi): Ditto.
+	(expand_builtin_bswap): Ditto.
+	(expand_builtin_unop): Ditto.
+	(expand_builtin_fabs): Ditto.
+	(get_builtin_sync_mem): Use NULL_RTX instead of NULL in
+	the call to expand_expr().
+	(expand_builtin_sync_operation): Ditto.
+	(expand_builtin_compare_and_swap): Ditto.
+	(expand_builtin_lock_test_and_set): Ditto.
+	* except.c (expand_builtin_eh_return_data_regno): Use EXPAND_NORMAL
+	instead of 0 in the call to expand_expr().
+	(expand_builtin_extract_return_addr): Ditto.
+	(expand_builtin_eh_return): Ditto.
+	(expand_eh_return): Ditto.
+	* explow.c (expr_size): Ditto.
+	* expr.c (optimize_bitfield_assignment_op): Ditto.
+	(expand_assignement): Ditto.
+	(store_expr): Ditto.
+	(store_field): Ditto.
+	(expand_expr_addr_expr_1): Use NULL_RTX instead of NULL in
+	the call to expand_expr().
+	(expand_expr_real_1) [COMPLEX_CST]: Use EXPAND_NORMAL instead of 0
+	in the call to expand_expr().
+	[CONSTRUCTOR, PLUS_EXPR, MINUS_EXPR, NEGATE_EXPR, ABS_EXPR,
+	BIT_NOT_EXPR, LSHIFT_EXPR, LT_EXPR, TRUTH_NOT_EXPR]: Ditto.
+	[VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO]: Use expand_normal() instead
+	of expand_expr().
+	* optabs.c (expand_vec_shift_expr): Ditto.
+	(expand_vec_cond_expr): Ditto.
+	(vector_compare_rtx): Use EXPAND_STACK_PARM instead of 1 in the
+	call to expand_expr().
+	* stmt.c (expand_return): Use EXPAND_NORMAL instead of 0
+	in the call to expand_expr().
+
+2007-05-14  Dave Korn  <dave.korn@artimi.com>
+
+	* genautomata.c (gen_regexp_el): Allocate correct size for regexp.
+
+2007-05-14  Rafael Avila de Espindola  <espindola@google.com>
+
+	* c-common.c (warnings_for_convert_and_check): Use unsigned_type_for
+	instead of c_common_unsigned_type.
+	(c_common_unsigned_type): Remove.
+	(shorten_compare): Use c_common_signed_or_unsigned_type instead of
+	c_common_unsigned_type.
+	(c_common_nodes_and_builtins): Use unsigned_type_for instead of
+	c_common_unsigned_type.
+	* c-common.h (c_common_unsigned_type): Remove.
+	* c-decl.c (grokdeclarator): Use unsigned_type_for instead of
+	c_common_unsigned_type.
+	* c-format.c (check_format_types): Use unsigned_type_for instead of
+	c_common_unsigned_type.
+	* c-objc-common.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+	* c-typeck.c (convert_for_assignment): Use unsigned_type_for instead
+	of c_common_unsigned_type.
+	* convert.c (convert_to_integer): Use unsigned_type_for instead of
+	lang_hooks.types.unsigned_type.
+	* expmed.c (make_tree): Use unsigned_type_for instead of
+	lang_hooks.types.unsigned_type.
+	* fold-const.c (fold_negate_expr): Use unsigned_type_for instead of
+	lang_hooks.types.unsigned_type.
+	(build_range_check): Likewise.
+	(fold_unary): Likewise.
+	(fold_binary): Likewise.
+	(fold_ternary): Likewise.
+	* langhooks-def.h (LANG_HOOKS_UNSIGNED_TYPE): Remove.
+	* langhooks.h (lang_hooks_for_types): Remove unsigned_type.
+	* tree.c (get_unsigned_type): New.
+	(unsigned_type_for): Use get_unsigned_type instead of
+	lang_hooks.types.unsigned_type.
+
+2007-05-14  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k-protos.h: Rename m68k_interrupt_function_p
+	to m68k_get_function_kind.  Update its prototype.
+	* config/m68k/m68k.c (m68k_attribute_table): Add an entry for
+	interrupt_thread.
+	(m68k_interrupt_function_p): Return enum m68k_function_type
+	instead of bool.  Rename to m68k_get_function_kind.
+	(m68k_handle_fndecl_attribute): Reject interrupt_thread if the
+	target is not fido.
+	(m68k_compute_frame_layout): Don't mark any register for save
+	if an interrupt_thread attribute is specified.
+	(m68k_hard_regno_rename_ok): Update a use of
+	m68k_interrupt_function_p.
+	* config/m68k/m68k.h (EPILOGUE_USES): Update a use of
+	m68k_interrupt_function_p.
+	(m68k_function_type): New.
+	* config/m68k/m68k.md (*return): Output a 'sleep' instruction
+	for a function with an interrupt_thread attribute.
+	* doc/extend.texi: Document the interrupt_thread attribute.
+
+2007-05-13  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/31911
+	* tree-ssa-pre.c (phi_translate): Make sure to cache results even
+	if they didn't change the expression.
+
+2007-05-13  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-scalar-evolution.c (resolve_mixers): Exported.
+	* tree-scalar-evolution.h (resolve_mixers): Declare.
+	* tree-data-ref.c (object_analysis, ptr_decl_may_alias_p,
+	ptr_ptr_may_alias_p, may_alias_p, record_ptr_differ_p,
+	record_record_differ_p, record_array_differ_p, array_ptr_differ_p,
+	base_object_differ_p, base_addr_differ_p, analyze_array_indexes,
+	init_array_ref, init_pointer_ref, analyze_indirect_ref,
+	strip_conversion, analyze_offset_expr, address_analysis,
+	object_analysis, analyze_offset): Removed.
+	(dr_analyze_innermost, dr_analyze_indices, dr_analyze_alias,
+	split_constant_offset, canonicalize_base_object_address,
+	object_address_invariant_in_loop_p, disjoint_objects_p,
+	dr_may_alias_p, dr_address_invariant_p): New functions.
+	(create_data_ref): Use dr_analyze_innermost, dr_analyze_indices
+	and dr_analyze_alias.
+	(initialize_data_dependence_relation): Use dr_may_alias_p
+	and object_address_invariant_in_loop_p.
+	(compute_self_dependence): Handle the case when
+	DDR_ARE_DEPENDENT (ddr) is chrec_dont_know.
+	(find_data_references_in_stmt): Restrict the analysis of data
+	references to the given loop nest.
+	(find_data_references_in_loop): Made static.  Pass loop nest to
+	find_data_references_in_stmt.
+	(compute_data_dependences_for_loop): Use DR_VOPS.
+	(free_data_ref): Free DR_VOPS.
+	* tree-data-ref.h (struct first_location_in_loop): Replaced by ...
+	(struct innermost_loop_behavior): ... new.
+	(struct base_object_info): Replaced by ...
+	(struct indices): ... new.
+	(struct dr_alias): New.
+	(enum data_ref_type): Removed.
+	(struct data_reference): Consist of struct innermost_loop_behavior,
+	struct indices and struct dr_alias.
+	(DR_SET_ACCESS_FNS, DR_FREE_ACCESS_FNS): Removed.
+	(DR_MEMTAG): Renamed to ...
+	(DR_SYMBOL_TAG): ... this.
+	(find_data_references_in_loop): Declaration removed.
+	* tree-vect-analyze.c (vect_compute_data_ref_alignment): Use DR_INIT
+	instead of DR_OFFSET_MISALIGNMENT.  DR_ALIGNED_TO is never NULL.
+	(vect_analyze_data_refs): Use DR_SYMBOL_TAG instead of DR_MEMTAG.
+	* tree-vect-transform.c (vect_create_data_ref_ptr): Ditto.
+
+2007-05-13  Revital Eres  <eres@il.ibm.com>
+
+	* tree-ssa-dse.c (get_use_of_stmt_lhs): New function
+	which walks virtual def-use chains to find redundant stores.
+	(dse_optimize_stmt): Call it.
+
+2007-05-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* gcse.c (gcse_main): Do jump bypassing in CPROP2.
+	* passes.c (init_optimization_passes): Move pass_jump_bypass
+	after loop2.
+
+	* basic-block.h (bb_has_eh_pred): Fix style issue.
+
+2007-05-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR rtl-optimization/31848
+	* loop-invariant.c (move_invariant_reg): If we move an insn
+	with a REG_EQUAL note, and that insn is not always executed,
+	remove the REG_EQUAL note.
+
+2007-05-12  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31797
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
+	propagate into a stmt that has volatile ops.
+
+2007-05-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* configure.ac (gcc_gxx_include_dir): Use $(libsubdir_to_prefix).
+	(gcc_tooldir): Likewise.
+	* configure: Regenerate.
+	* Makefile.in (libsubdir_to_prefix): New variable, based on the
+	old configure.ac gcc_tooldir setting.
+	(prefix_to_exec_prefix): New variable.
+	(DRIVER_DEFINES): Use $(libsubdir_to_prefix)$(prefix_to_exec_prefix)
+	rather than $(unlibsubdir)/../ to derive TOOLDIR_BASE_PREFIX.
+
+2007-05-11  Silvius Rus  <rus@google.com>
+
+	* Makefile.in (OBJS-common): Add tree-ssa-alias-warnings.o.
+	* c-common.c (strict_aliasing_warning): Modify -Wstrict-aliasing logic.
+	* c-common.h (strict_aliasing_warning): Change return type.
+	* c-opts.c (c_common_handle_option): Add call to set_Wstrict_aliasing.
+	* c-typeck.c (build_indirect_ref): Add call to strict_aliasing_warning.
+	(build_c_cast): Condition call to strict_aliasing_warning.
+	* doc/invoke.texi: Update description of -Wstrict-aliasing[=n].
+	* flags.h (set_Wstrict_aliasing): Declare.
+	* opts.c (set_Wstrict_alising): Define, add call to.
+	* tree-flow.h (strict_aliasing_warning_backend): Declare.
+	* tree-ssa-alias-warnings.c: New file.
+	* tree-ssa-alias.c (compute_may_aliases): Add call to
+	strict_aliasing_warning_backend.
+
+2007-05-11  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-loop-linear.c (gather_interchange_stats, try_interchange_loops):
+	Use loop_depth and loop_outer accessor functions.
+	* tree-ssa-loop-im.c (outermost_invariant_loop, set_level,
+	determine_invariantness_stmt, move_computations_stmt): Ditto.
+	* cfgloopmanip.c (fix_bb_placement, fix_loop_placement, remove_path,
+	add_loop, loopify, unloop, fix_loop_structure): Ditto.
+	* tree-ssa-loop-manip.c (find_uses_to_rename_use): Ditto.
+	* tree-scalar-evolution.c (interpret_loop_phi,
+	compute_scalar_evolution_in_loop, analyze_scalar_evolution_in_loop,
+	instantiate_parameters_1, scev_const_prop): Ditto.
+	* cfghooks.c (make_forwarder_block): Ditto.
+	* cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
+	* modulo-sched.c (loop_canon_p): Ditto.
+	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
+	slpeel_can_duplicate_loop_p): Ditto.
+	* lambda-code.c (invariant_in_loop_and_outer_loops): Ditto.
+	* tree-cfg.c (tree_duplicate_sese_region): Ditto.
+	* cfgloop.c (flow_loop_dump, flow_loop_nodes_find, rescan_loop_exit,
+	cancel_loop, verify_loop_structure): Ditto.
+	(flow_loop_nested_p, superloop_at_depth, flow_loop_free,
+	add_bb_to_loop, remove_bb_from_loops, find_common_loop): Use the
+	superloops vector instead of "pred" array.
+	(establish_preds): Take father loop as an argument.  Initialize the
+	superloops vector.
+	(flow_loop_tree_node_add): Pass father loop to establish_preds.
+	Do not initialize loop->outer.
+	(flow_loop_tree_node_remove): Truncate the superloops vector.
+	* cfgloop.h (struct loop): Removed field "outer", fields "depth" and
+	"pred" merged to "superloops" vector.
+	(loop_depth, loop_outer): New.
+	(fel_init): Use loop_outer.
+
+2007-05-11  Jan Hubicka  <jh@suse.cz>
+
+	* cgraphunit.c: Include gt-cgraphunit.h
+	(static_ctors, static_dtors): New static vars.
+	(record_cdtor_fn, build_cdtor, cgraph_build_cdtor_fns): New functions,
+	based on implementation in c-common.c
+	(cgraph_finalize_function): Call record_cdtor_fn.
+	(cgraph_optimize): Call cgraph_build_cdtor_fns.
+	* decl.c (finish_function): Do not call c_record_cdtor_fn.
+	(c_write_global_declarations): Do not call c_build_cdtor_fns.
+	* c-common.c (static_ctors, static_dtors, c_record_cdtor_fn,
+	build_cdtor, c_build_cdtor_fns): Remove.
+	* c-common.h (static_ctors, static_dtors, c_record_cdtor_fn,
+	c_build_cdtor_fns): Remove prototype.
+
+2007-05-11  Paolo Carlini  <pcarlini@suse.de>
+
+	PR other/31852
+	* builtin-types.def: Add BT_FN_PTR_CONST_PTR_INT_SIZE.
+	* builtins.def: Add BUILT_IN_MEMCHR, use the latter.
+	* builtins.c (fold_builtin_memchr): New.
+	(expand_builtin_memchr): Call the latter.
+	(expand_builtin, fold_builtin_3): Deal with BUILT_IN_MEMCHR.
+	* doc/extend.texi ([Other built-in functions provided by GCC]):
+	Document memchr.
+
+2007-05-11  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md (GPR0_REGNUM, FPR0_REGNUM, FPR2_REGNUM,
+	PFPO_CONVERT, PFPO_OP_TYPE_SF, PFPO_OP_TYPE_DF, PFPO_OP_TYPE_TF,
+	PFPO_OP_TYPE_SD, PFPO_OP_TYPE_DD, PFPO_OP_TYPE_TD, PFPO_OP0_TYPE_SHIFT,
+	PFPO_OP1_TYPE_SHIFT): Constants added.
+	(DFP_ALL): Mode macro defined.
+	("*trunc<BFP:mode><DFP_ALL:mode>2", "*trunc<DFP_ALL:mode><BFP:mode>2",
+	"*extend<BFP:mode><DFP_ALL:mode>2", "*extend<DFP_ALL:mode><BFP:mode>2"):
+	Insn definitions added.
+	("trunc<BFP:mode><DFP_ALL:mode>2", "trunc<DFP_ALL:mode><BFP:mode>2",
+	"extend<BFP:mode><DFP_ALL:mode>2", "extend<DFP_ALL:mode><BFP:mode>2"):
+	Expanders added.
+
+2007-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/31885
+	* tree-chrec.c (chrec_contains_undetermined): Do not consider
+	NULL_TREE to be undetermined.
+	(automatically_generated_chrec_p): Return false for NULL.
+
+2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (MOVE_RATIO): Define.
+
+2007-05-10  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (sparc-wrs-vxworks): New target.
+	* config/sparc/vxworks.h, config/sparc/t-vxworks: New files.
+	* config/sparc/sparc-protos.h (sparc_emit_call_insn): Declare.
+	* config/sparc/sparc.h: Include vxworks-dummy.h.
+	(PRINT_OPERAND_ADDRESS): Extend SYMBOL_REF handling to
+	include LABEL_REFs too.
+	* config/sparc/sparc.c (sparc_expand_move): Don't assume that
+	_GLOBAL_OFFSET_TABLE_ - label_ref is a link-time constant on
+	VxWorks.
+	(legitimize_pic_address): Handle LABEL_REFs like SYMBOL_REFs
+	on VxWorks.
+	(load_pic_register): Use gen_vxworks_load_got for VxWorks.
+	(sparc_emit_call_insn): New function.
+	(sparc_function_ok_for_sibcall): Restrict sibcalls to locally-binding
+	functions when generating VxWorks PIC.
+	* config/sparc/sparc.md (vxworks_load_got): New pattern.
+	(call, call_value): Use sparc_emit_call_insn instead of
+	emit_call_insn.
+
+2007-05-09  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_output_literal): Don't use #if.
+
+2007-05-09  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (xtensa_output_literal): Mask out high bits
+	for floating-point values if HOST_BITS_PER_LONG > 32.  Use
+	split_double instead of operand_subword.
+
+2007-05-08  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.h (LOCAL_ALIGNMENT): Define.
+	* config/bfin/bfin.c (bfin_local_alignment): New function.
+	* config/bfin/bfin-protos.h (bfin_local_alignment): Declare it.
+
+2007-05-08  Chao-ying Fu  <fu@mips.com>
+
+	* doc/md.texi (msub@var{m}@var{n}4, usub@var{m}@var{n}4): Document.
+	* optabs.h (OTI_smsub_widen, OTI_umsub_widen): New optab_indexes.
+	(smsub_widen_optab, umsub_widen_optab): Define.
+	* optabs.c (init_optabs): Initialize smsub_widen_optab and
+	umsub_widen_optab.
+	* genopinit.c (optabs): Fill in smsub_widen_optab and
+	umsub_widen_optab.
+	* expr.c (expand_expr_real_1): Try to use smsub_widen_optab
+	and umsub_widen_optab to implement multiply-subtract sequences.
+	* config/mips/mips.md (*msac<u>_di): Rename to...
+	(<u>msubsidi4): ...this.  Extend condition to include
+	GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
+	of operand 0 to "ka" and use the three-operand form of msub<u>
+	for TARGET_DSPR2.
+	* config/mips/mips-dspr2.md (mips_msub, mips_msubu): Convert
+	to define_expands.
+
+2007-05-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR rtl-optimization/28011
+	* reload.c (push_reload): Set dont_share if IN appears in OUT
+	also when IN is a PLUS rtx.
+	(reg_overlap_mentioned_for_reload_p): Return true if X and IN
+	are same PLUS rtx.
+
+2007-05-08  Kazu Hirata  <kazu@codesourcery.com>
+
+	* emit-rtl.c (unshare_all_rtl_1): Don't copy DECL_RTL.  Don't
+	call unshare_all_decls.
+	(unshare_all_rtl): Adjust the call to unshare_all_rtl_1.
+	(unshare_all_decls): Remove.
+
+2007-05-08  Simon Martin  <simartin@users.sourceforge.net>
+
+	PR 31847
+	* tree-dump.c (dump_options): Don't use TDF_DIAGNOSTIC in "*-all" tree
+	dumps.
+
+2007-05-08  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips.h (MAX_FPRS_PER_FMT): Renamed from FP_INC.
+	Update comments and all uses.
+	(MIN_FPRS_PER_FMT): Define.
+	* config/mips/mips.c (function_arg): Fix to correctly handle
+	the -mips32r2 -mfp64 -mabi=32 case.
+	(override_options): Enable use of odd-numbered registers for
+	SFmode values on MIPS32.
+	(mips_save_reg_p): Save whole floating-point register pair if
+	either half is used.
+	(compute_frame_size): Fix comment.
+
+2007-05-08  Jie Zhang  <jie.zhang@analog.com>
+
+	* config/bfin/bfin-protos.h (bfin_expand_epilogue): Add a third
+	argument of type bool.
+	* config/bfin/bfin.c (add_to_reg): Add epilogue_p as a fourth
+	argument. Safely select temporary P register according to it.
+	(do_link): Change call site of add_to_reg accordingly.
+	(do_unlink): Add epilogue_p as a fourth argument and pass it
+	to add_to_reg.
+	(expand_interrupt_handler_epilogue): Change call of do_unlink
+	accordingly.
+	(bfin_expand_prologue): Add a third argument sibcall_p.
+	* config/bfin/bfin.md (epilogue): Change call of
+	bfin_expand_epilogue accordingly.
+	(sibcall_epilogue): Likewise.
+	(eh_return_internal): Likewise.
+
+	* config/bfin/bfin-protos.h (enum bfin_cpu): Add
+	BFIN_CPU_BF534, BFIN_CPU_BF536 and BFIN_CPU_BF561.
+	* config/bfin/bfin.c (bfin_handle_option): Handle
+	-mcpu=bf534, -mcpu=bf536 and -mcpu=bf561.
+	* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS):
+	Support bf534, bf536 and bf561.
+	* doc/invoke.texi (Blackfin Options): Document -mcpu and -msim.
+
+2007-05-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31854
+	* config/i386/i386.c (ix86_function_regparm): Process local
+	functions only when TREE_CODE (decl) equals FUNCTION_DECL.
+
+2007-05-07  Mike Stump  <mrs@apple.com>
+
+	* doc/invoke.texi (Warning Options): Document that -Wempty-body
+	also checks for and while statements in C++.
+
+2007-05-07  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* gcc.c (at_file_supplied): New variable.
+	(main): Set it if we expanded argv.
+	(do_spec_1): Pass an @-file to the linker if we were called with
+	an @-file argument and HAVE_GNU_LD.
+	* collect2.c (at_file_supplied): New variable.
+	(response_file): New variable.
+	(collect_exit): Unlink response_file if necessary.
+	(handler): Likewise.
+	(do_wait): Likewise.
+	(main): Set at_file_supplied if we expanded argv.
+	(collect_execute): Pass an @-file to subprocesses if we were called
+	with an @-file argument.
+	* configure.ac: Add define for HAVE_GNU_LD.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2007-05-07  Naveen.H.S  <naveen.hs@kpitcummins.com>
+
+	* config/m32c/muldiv.md (mulhisi3_c): Limit the mode of the 2nd
+	operand to HI mode.
+	(mulsi3): New.
+	(divsi3): New.
+	(udivsi3): New.
+
+2007-05-07  Jayant Sonar  <jayants@kpitcummins.com>
+
+	* config/m32c/m32c.c (SYMBOL_FLAG_FUNCVEC_FUNCTION): Define.
+	(TARGET_ENCODE_SECTION_INFO): Re-define.
+	(m32c_encode_section_info): New
+	(function_vector_handler): New
+	(current_function_special_page_vector): New
+	(m32c_special_page_vector_p): New.
+	* config/m32c/m32c-protos.h (m32c_special_page_vector_p):
+	Prototype.
+	* config/m32c/jump.md: Added instruction JSRS for functions
+	with attribute "function_vector".
+	* doc/extend.texi (function_vector): Added description
+	for M16C, M32C targets.
+
+2007-05-07  DJ Delorie  <dj@redhat.com>
+
+	PR 31794
+	* config/m32c/shift.md (ashlpsi3_i, ashrpsi3_i, ashlpsi3,
+	ashrpsi3, lshrpsi3): Update shift count constraint.
+
+2007-05-07  Danny Smith  <dannysmith@users.sourceforge.net>
+	    Nathan Froyd  <froydnj@codesourcery.com>
+
+	PR 22133
+	* c-incpath.c (add_path): Strip trailing path separators.
+
+2007-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Reset cfg_altered.
+	Free dominance info before purging EH edges.
+	(eliminate_degenerate_phis): Likewise.
+	(propagate_rhs_into_lhs): Set cfg_altered to true instead of 1.
+
+2007-05-07  Jan Hubicka  <jh@suse.cz>
+
+	* gimplify.c (gimplify_expr): Do not crash when folding
+	(void *)(int)&a + 4.
+
+2007-05-07  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+	PR driver/31694
+	* c-opts.c (lang_fortran): Make it non static.
+	* c-common.h (lang_fortran): New prototype.
+	* c-cppbuiltin.c (c_cpp_builtins): Create a __GFORTRAN__ if the
+	-lang-fortran option was passed by the driver.
+
+2007-05-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* timevar.c (timevar_print): Test ENABLE_ASSERT_CHECKING instead
+	of ASSERT_CHECKING.  Tweak message.
+
+2007-05-06  Revital Eres  <eres@il.ibm.com>
+
+	PR 30957
+	* loop-unroll.c (insert_var_expansion_initialization):
+	Initialize the expansions with -zero instead of +zero.
+
+2007-05-05  Aurelien Jarno  <aurelien@aurel32.net>
+
+	* config/pa/pa.md: Split tgd_load, tld_load and tie_load
+	into pic and non-pic versions. Mark r19 as used for
+	tgd_load_pic, tld_load_pic and tie_load_pic. Mark r27 as used
+	for tgd_load, tld_load and tie_load .
+	* config/pa/pa.c (legitimize_tls_address): Emit pic or non-pic
+	version of tgd_load, tld_load and tie_load depending on the
+	value of flag_pic.
+
+2007-05-04  Ulrich Drepper  <drepper@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+
+	* crtstuff.c (HIDDEN_DTOR_LIST_END): New macro.
+	(__do_global_dtors_aux): Use more paranoid loop to run
+	destructors if HIDDEN_DTOR_LIST_END.
+	(__DTOR_END__): Export as a hidden symbol when HIDDEN_DTOR_LIST_END.
+
+2007-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+	* varasm.c (align_variable): Don't increase alignment for
+	DECL_THREAD_LOCAL_P variables above BITS_PER_WORD through
+	DATA_ALIGNMENT or CONSTANT_ALIGNMENT.
+
+2007-05-04  Josh Conner  <jconner@apple.com>
+
+	* basic-block.h (cdi_direction): Assign values to all enumeration
+	constants.
+	(dom_computed): Remove.
+	(dom_info_state): New.
+	(set_dom_info_availability): New.
+	* tree-ssa-loop-im.c (determine_invariantness): Initialize
+	walk_data.dom_direction.
+	* cfghooks.c (delete_basic_block): Use dom_info_available_p()
+	instead of dom_computed[].
+	(split_edge): Likewise.
+	(create_basic_block): Likewise.
+	(merge_blocks): Likewise.
+	* ifcvt.c (find_if_header): Likewise.
+	* tree-cfgcleanup.c (cleanup_tree_cfg): Likewise.
+	* tree-ssa-dce.c (remove_dead_stmt): Likewise.
+	* tree-ssa.c (verify_ssa): Likewise.
+	* tree-cfg.c (tree_verify_flow_info): Likewise.
+	(remove_edge_and_dominated_blocks): Likewise.
+	* dominance.c (dom_computed): Make static.
+	(calc_dfs_tree_nonrec): Change third param to a bool.
+	(calc_dfs_tree): Change second param to a bool.
+	(calc_idioms): Change second param to a bool.  Use
+	dom_convert_dir_to_idx.
+	(init_dom_info): Validate dir before using.
+	(dom_convert_dir_to_idx): New.
+	(calculate_dominance_info): Use dom_convert_dir_to_idx.  New
+	variable 'reverse' used for calling calc_dfs_tree and calc_idoms.
+	(free_dominance_info): Use dom_convert_dir_to_idx.
+	(get_immediate_dominator): Likewise.
+	(set_immediate_dominator): Likewise.
+	(get_dominated_by): Likewise.
+	(redirect_immediate_dominators): Likewise.
+	(nearest_common_denominator): Likewise.
+	(dominated_by_p): Likewise.
+	(bb_dom_dfs_in): Likewise.
+	(bb_dom_dfs_out): Likewise.
+	(recount_dominator): Likewise.
+	(iterate_fix_dominators): Likewise.
+	(add_to_dominance_info): Likewise.
+	(delete_from_dominance_info): Likewise.
+	(first_dom_son): Likewise.
+	(next_dom_son): Likewise.
+	(dom_info_available_p): Likewise.
+	(dom_info_state): New.
+	(set_dom_info_availability): New.
+
+2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md ("fix_trunc<mode>di2", "fix_trunc<mode>si2"):
+	Expander removed.
+	("fix_trunc<DSF:mode><GPR:mode>2"): Expander added.
+
+2007-05-04  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.md (adddi3, adddi_carry): Delete.
+	(subdi3, subdi_carry): Delete.
+
+2007-05-04  Jan Hubicka  <jh@suse.cz>
+	    Richard Guenther  <rguenther@suse.de>
+
+	* opts.c (decode_options): Do not fiddle with inlining
+	parameters in case of optimizing for size.
+	* ipa-inline.c (cgraph_decide_recursive_inlining): When optimizing
+	for size do nothing.
+	(cgraph_decide_inlining_of_small_function): When optimizing for
+	size never inline functions increasing caller size.
+	(cgraph_early_inlining): Inline for size when optimizing for size.
+
+2007-05-04  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (<optab>di3): Now a define_expand which expands
+	logical operations piecewise.
+	(<optab>di_zesidi_di, <optab>di_sesidi_di, negdi2, one_cmpldi2,
+	zero_extendsidi2, subdi_di_zesidi, subdi_zesidi_di, subdi_di_sesidi,
+	subdi_sesidi_di): Delete.
+	(add_with_carry): Produce carry in CC instead of a DREG to shorten
+	the generated sequence.  Allow three-reg add in constraints.  Rewrite
+	the rtl expression for carry to avoid zero_extend of a constant.
+	(sub_with_carry): New pattern.
+	(adddi3, subdi3): Change into define_expand.  For subtract, generate a
+	different sequence not involving jumps.
+	(notbi): Now a named pattern.
+
+2007-05-04  Bradley Lucier  <lucier@math.purdue.edu>
+
+	* doc/invoke.texi (i386 and x86-64 Options) [-mpc32, -mpc64, -mpc80]:
+	Add the note about a significant loss of accuracy of some
+	mathematical routines when these options are used.
+
+2007-05-04  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	* haifa-sched.c (rtx_vec_t): New typedef.
+	(contributes_to_priority_p): Extract piece of priority () into new
+	static function.
+	(priority): Use the function.  Add assertion.
+	(rank_for_schedule, set_priorities): Add assertion to check that
+	insn's priority is initialized.
+	(clear_priorities, calc_priorities): Change signature.  Make it update
+	all relevant insns.  Update all callers ('add_to_speculative_block ()'
+	and 'create_block_check_twin ()').
+	* sched-int.h (struct haifa_insn_data): Remove field 'priority_known'.
+	Add new field 'priority_status'.
+	(INSN_PRIORITY_STATUS): New macro.
+	(INSN_PRIORITY_KNOWN): Change to use INSN_PRIORITY_STATUS.
+
+2007-05-04  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	* sched-ebb.c (debug_ebb_dependencies): New static function.
+	(init_ready_list): Use it.
+
+	* sched-rgn.c (debug_dependencies): Split into 'debug_dependencies ()'
+	with changed signature and 'debug_rgn_dependencies ()'.
+	(debug_rgn_dependencies): New static function.
+	(init_ready_list): Use it.
+
+	* sched-int.h (debug_dependencies): Declare.
+
+2007-05-04  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* libgcc-std.ver (__ffssi2): Added to GCC_4.3.0 section.
+
+2007-05-04  Dirk Mueller  <dmueller@suse.de>
+
+	* c.opt(Wmain,ffreestanding): Enable for C++,ObjC++.
+
+2007-05-03  Jan Hubicka  <jh@suse.cz>
+
+	* fold-const.c (fold_unary): Convert (T1)(X op Y) into
+	((T1)X op (T1)Y), for pointer type in more cases than before.
+
+	* gimplify.c (gimplify_expr): Fold (void *)&a + 4.
+
+	* tree-object-size.c (plus_expr_object_size): When operand size is
+	unknown, return unknown.
+
+2007-05-03  Dirk Mueller  <dmueller@suse.de>
+
+	* doc/invoke.texi (-m386,-m486,-mpentium,-mpentiumpro): Remove.
+
+	* config/i386/i386.h (CC1_CPU_SPEC): Remove handling for deprecated
+	options.
+
+	* config/i386/i386.opt (m386,m486,mpentium,mpentiumpro): Remove.
+
+2007-05-03  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/sourcebuild.texi (Test Directives) Clarify dg-excess-errors.
+
+2007-05-03  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/soft-fp/double.h, config/soft-fp/extended.h,
+	config/soft-fp/floatundidf.c, config/soft-fp/floatundisf.c,
+	config/soft-fp/floatunsidf.c, config/soft-fp/floatunsisf.c,
+	config/soft-fp/op-2.h, config/soft-fp/op-4.h,
+	config/soft-fp/op-common.h, config/soft-fp/quad.h: Update from
+	glibc CVS.
+
+2007-05-03  Ian Lance Taylor  <iant@google.com>
+
+	* config/rs6000/rs6000.c (rs6000_override_options): Don't set
+	MASK_PPC_GFXOPT for 8540 or 8548.
+
+2007-05-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* tree-vect-transform.c (vect_update_inits_of_drs): Use
+	vect_print_dump_info() to output debug information.
+
+2007-05-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31768
+	* config/i386/i386.c (print_operand) ['z']: Output 'w' for
+	operands of size 2 when operand is not MEM_P.
+
+2007-05-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/30565
+	* lambda-code.c (perfect_nestify): Fix updating of dominators.
+
+2007-05-03  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (addpdi3, us_truncpdisi2): New patterns.
+	(umulsi3_highpart): Use them.
+	* config/bfin/lib1funcs.asm (__umulsi3_highpart): Use unsigned move
+	for final accumulator to D regisster tranfser.
+
+2007-05-03  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/31699
+	* tree-vect-analyze.c (vect_update_misalignment_for_peel): Remove
+	wrong code.
+	(vect_enhance_data_refs_alignment): Compute peel amount using
+	TYPE_VECTOR_SUBPARTS instead of vf.
+	* tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Likewise.
+
+2007-05-02  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	PR bootstrap/31776
+	* system.h: Remove inclusion of double-int.h
+	* tree.h: Include double-int.h
+	* gengtype.c: Likewise
+	* cfgloop.h: Likewise
+	* Makefile.in: Adjust dependencies on double-int.h
+
+2007-05-02  Eric Christopher  <echristo@apple.com>
+
+	* config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Translate
+	-shared to -Zdynamiclib.
+
+2007-05-02  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR c++/31663
+	* c-common.c (strip_pointer_or_array_types): New function.
+	* c-common.h (strip_pointer_or_array_types): New function declaration.
+
+2007-05-03  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/31771
+	* tree-cfg.c (move_block_to_fn): Assign bb to the correct index.
+
+2007-05-02  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/bpabi.S (aeabi_lcmp): Fix result on overflow.
+
+2007-05-02  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/29715
+	* fold-const.c (fold_comparision): Remove the "foo++ == CONST"
+	transformation.
+
+2007-05-02  Nick Clifton  <nickc@redhat.com>
+
+	* config/frv/predicates.md (symbolic_operand): Accept CONSTs.
+
+2007-05-02  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31146
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
+	argument, single_use_p.  If we have a single use that is
+	a conversion to the definition rhs type, propagate that rhs.
+	(forward_propagate_addr_expr): Pass single_use_p argument
+	to forward_propagate_addr_expr_1.
+
+2007-05-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_expand_sse_comi): Remove unused
+	variable.
+
+2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
+
+	* doc/invoke.texi: Fix typo, 'AMD Family 10h core' instead of
+	'AMD Family 10 core'.
+
+2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
+
+	* config/i386/i386.c (override_options): Accept k8-sse3, opteron-sse3
+	and athlon64-sse3 as improved versions of k8, opteron and athlon64
+	with SSE3 instruction set support.
+	* doc/invoke.texi: Likewise.
+
+2007-05-01  Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
+
+	* config/i386/i386.c (override_options): Tuning 32-byte loop
+	alignment for amdfam10 architecture. Increasing the max loop
+	alignment to 24 bytes.
+
+2007-05-01  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/constraints.md: New.
+	* config/m68k/m68k.h (REG_CLASS_FROM_LETTER,
+	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P,
+	EXTRA_CONSTRAINT): Remove.
+	* config/m68k/m68k.md: Include constraints.md.
+	* expr.c (expand_expr_real_1): Copy DECL_RTL before using it.
+
+2007-05-01  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31739
+	* tree-vrp.c (vrp_val_is_max): New static function.
+	(vrp_val_is_min): New static function.
+	(set_value_range_to_value): Use TYPE_{MAX,MIN}_VALUE rather than
+	copying the node.
+	(set_value_range): Use vrp_val_is_{max,min}.
+	(extract_range_from_assert): Likewise.
+	(extract_range_from_binary_expr): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	(dump_value_range, vrp_meet): Likewise.
+	(vrp_visit_phi_node): Likewise.
+	* tree.c (build_distinct_type_copy): Revert change of 2007-04-27.
+
+2007-05-01  Mark Mitchell  <mark@codesourcery.com>
+
+	* config/i386/gmon-sol2.c (size_t): New type.
+	(intptr_t): Likewise.
+	(s_textsize): Declare as size_t.
+	(sbrk): Declare.
+	(monstartup): Use size_t for sizes.
+	(_mcount): Save and restore registers.
+	(internal_mcount): Pass 0 as the first argument to monstartup
+	in 64-bit mode.
+	(moncontrol): Convert pointer to appropriately sized integer
+	before passing to profil.
+
+2007-05-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/darwin-ldouble.c (__gcc_qunord): Define if
+	__NO_FPRS__, not just if _SOFT_DOUBLE.
+	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qunord): Likewise.
+	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Use __gcc_qunord
+	also for E500 double.
+	* config/rs6000/rs6000.md (buneq, bunge, bungt, bunle, bunlt,
+	suneq, sunge, sungt, sunle, sunlt): Disable for (TARGET_HARD_FLOAT
+	&& !TARGET_FPRS).
+
+2007-05-01  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-loop-manip.c (ip_normal_pos): Check if last stmt
+	is NULL.
+
+2007-05-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/libgcc-ppc-glibc.ver (__gcc_qgt): Fix typo.
+
+2007-05-01  Jan Hubicka  <jh@suse.cz>
+
+	* tree-vectorize.c (vect_is_simple_use): gimple_min_invariant is
+	invariant.
+
+2007-05-01  Jan Hubicka  <jh@suse.cz>
+
+	* tree.h (maybe_fold_offset_to_component_ref): Remove.
+	(maybe_fold_offset_to_reference): Declare.
+	* fold-const.c (fold_unary): Do not fold
+	(type *)&A into &A->field_of_type_and_offset_0
+	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): When base type
+	size is unknown, give up.
+	(maybe_fold_offset_to_component_ref): Ignore firelds with unknown
+	offsets.
+	(maybe_fold_offset_to_reference): New.
+	(maybe_fold_stmt_indirect): Use it.
+	(fold_stmt_r): Fold (type *)&A+offset into A->field_if_type_and_offset.
+	* gimplify.c (gimplify_conversion): Canonicalize conversions to
+	field references.
+	(gimplify_expr): Likewise for plus_expr.
+
+2007-05-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Use
+	bsi_after_labels.  Always insert statements before bsi.
+	* tree-vect-transform.c (vect_create_epilog_for_reduction): Ditto.
+	* predict.c (apply_return_prediction): Check for empty blocks.
+	* cfgexpand.c (lab_rtx_for_bb): New variable.
+	(label_rtx_for_bb): Do not create new tree labels.
+	(expand_gimple_basic_block): Add labels recorded in lab_rtx_for_bb.
+	(tree_expand_cfg): Initialize lab_rtx_for_bb.
+	* tree-cfg.c (build_tree_cfg): Call cleanup_dead_labels after
+	creating edges.
+	(label_for_bb): Add field used.
+	(update_eh_label, main_block_label): Mark the label used.
+	(cleanup_dead_labels): Remove unused labels.
+
+2007-05-01  Richard Guenther  <rguenther@suse.de>
+
+	* tree-vrp.c (set_value_range): Do not allocate equiv bitmap
+	if it is not about to be set.
+	(get_value_range): Do not pre-allocate equiv bitmap.
+	(update_value_range): No need to clear equiv field.
+	(add_equivalence): Change prototype to get bitmap pointer.
+	Allocate bitmap here if it is not already.
+	(extract_range_from_assert): Do not allocate bitmap here.
+	Update callers to add_equivalence.
+	(extract_range_from_ssa_name): Likewise.
+	(get_vr_for_comparison): New static helper.
+	(compare_name_with_value): Handle NULL equiv bitmap by
+	peeling the first iteration of the comparison loop.
+	Use get_vr_for_comparison.
+	(compare_names): Handle NULL equiv bitmaps by using fake
+	ones.  Use get_vr_for_comparison.
+
+2007-04-30  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* double-int.c (mpz_set_double_int): Moved from
+	tree-ssa-loop-niter.c.
+	(mpz_get_double_int): Likewise; also, add option to wrap
+	out-of-range integers.
+	* double-int.h: New prototypes for above.
+	* tree.c (get_static_type_bounds): Moved from
+	tree-ssa-loop-niter.c; now returns TYPE_MIN_VALUE and
+	TYPE_MAX_VALUE if they exist..
+	* tree.h: New prototype for above.
+	* tree-ssa-loop-niter.c: Adjust mpz_to_double_int and
+	get_type_bounds calls.
+	(mpz_set_double_int): Move to double-int.c.
+	(get_type_bounds): Move to tree.c, rename to
+	get_static_type_bounds.
+	(mpz_to_double_int): Move to double-int.c, rename to
+	mpz_get_double_int.
+
+2007-04-30  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/lib1funcs.asm (__umodsi3, __modsi3): Rearrange so that
+	DIV0 exception can fall through to a normal return.
+
+2007-04-30  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/22156
+	Temporarily revert:
+	2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
+	* tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
+	2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+	* tree-sra.c (try_instantiate_multiple_fields): Needlessly
+	initialize align to silence bogus warning.
+	2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+	* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
+	all_no_warning.
+	(struct sra_walk_fns): Remove use_all parameter from use.
+	(sra_hash_tree): Handle BIT_FIELD_REFs.
+	(sra_elt_hash): Don't hash bitfld blocks.
+	(sra_elt_eq): Skip them in parent compares as well.  Handle
+	BIT_FIELD_REFs.
+	(sra_walk_expr): Don't maintain or pass down use_all_p.
+	(scan_use): Remove use_all parameter.
+	(scalarize_use): Likewise.  Re-expand assignment to
+	BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
+	output, and re-scalarize after output.  Don't mark anything
+	for no warning.
+	(scalarize_ldst): Adjust.
+	(scalarize_walk_gimple_modify_statement): Likewise.
+	(build_element_name_1): Handle BIT_FIELD_REFs.
+	(instantiate_element): Don't warn for any element whose parent
+	is used as a whole.
+	(instantiate_missing_elements_1): Return the sra_elt.
+	(canon_type_for_field): New.
+	(try_instantiate_multiple_fields): New.
+	(instantiate_missing_elemnts): Use them.
+	(mark_no_warning): Removed.
+	(generate_one_element_ref): Handle BIT_FIELD_REFs.
+	(REPLDUP, sra_build_elt_assignment): New.
+	(generate_copy_inout): Use them.
+	(generate_element_copy): Likewise.  Handle bitfld differences.
+	(generate_element_zero): Don't recurse for blocks.  Use
+	sra_build_elt_assignment.
+	(generate_one_element_int): Take elt instead of var.  Use
+	sra_build_elt_assignment.
+	(generate_element_init_1): Adjust.
+	(scalarize_use, scalarize_copy): Use REPLDUP.
+	(scalarize_ldst): Move assert before dereference.
+	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
+
+2007-04-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR C++/31721
+	* tree.c (reconstruct_complex_type): Reconstruct a reference
+	correctly.
+	Also use the same mode for the pointer as the old pointer type.
+
+2007-04-30  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+	* doc/trouble.texi (Interoperation): Remove note about Ultrix
+	Fortran compiler.
+
+2007-04-29  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR rtl-optimization/31676
+	* df-scan.c (record_nonlocal_goto_receiver_defs): New function.
+	(df_refs_record): Call it.
+
+2007-04-29  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* rtl.def (SS_ABS): New code.
+	* config/bfin/bfin.c (print_operand): New modifier 'v'.
+	(enum bfin_builtins): Add BFIN_BUILTIN_SUM_2X16, BFIN_BUILTIN_ABS_1x32,
+	BFIN_BUILTIN_ROUND_1x32, BFIN_BUILTIN_MULT_1x32x32,
+	BFIN_BUILTIN_MULT_1x32x32NS, BFIN_BUILTIN_SSASHIFT_1x32.
+	(bfin_init_builtins): Define them.
+	(bdesc_1arg, bdesc_2arg): Add some of them here, ...
+	(bfin_expand_builtin): ... and handle the others here.
+	* config/bfin/bfin.md (ssabssi2, ssroundsi2, ssashiftsi3,
+	flag_mul_macv2hi_parts_acconly_andcc0): New patterns.
+	(ss_absv2hi2): Renamed from absv2hi; use ss_abs code.
+	(ssashiftv2hi3, ssashifthi3, lshiftv2hi3, lshifthi3): Shift count
+	operand is only HImode.
+
+2007-04-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* regclass.c (scan_one_insn): Remove splitting of
+	two address insns.
+
+2007-04-28  Sandra Loosemore  <sandra@codesourcery.com>
+	    Nigel Stephens  <nigel@mips.com>
+
+	* config/mips/mips.h (SLOW_BYTE_ACCESS): Turn off for MIPS16.
+
+2007-04-28  Jan Hubicka  <jh@suse.cz>
+
+	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): Use
+	insn_locators_alloc instead of insn_locators_initialize;
+	call reset_block_changes.
+	* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
+	* config/sh/sh.c (sparc_output_mi_thunk): Likewise.
+	* config/is64/ia64.c (ia64_output_mi_thunk): Likewise.
+	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+	* config/score/score.c (th_output_mi_thunk): Likewise.
+	* config/mips/mips.c (mips_output_mi_thunk): Likewise.
+	* cfglyaout.c (set_curr_insn_source_location, set_curr_insn_block):
+	tolerate uninitialized locator info.
+
+	Re-apply:
+	* function.c (init_function_start): Don't init line number info.
+	(expand_function_end): Update.
+	(reset_block_changes, record_block_change, finalize_block_changes,
+	check_block_change, free_block_changes): Kill.
+	* function.h (reset_block_changes, record_block_change,
+	finalize_block_changes, check_block_change, free_block_changes):
+	Remove prototypes.
+	(struct function): Remove ib_boundaries_block.
+	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
+	Use curr_insn_locator to initialize locator.
+	(emit_line_note): Remove.
+	* cfgexpand.c (expand_gimple_cond_expr): Update.
+	(construct_exit_block): Likewise.
+	(tree_expand_cfg): Initialize/finalize locators.
+	* expr.c (expand_expr_real): Update.
+	* cfglayout.c (line_locators_locs, line_locators_lines,
+	file_locators_locs, file_locators_files): Remove.
+	(set_block_levels): Move to cfgexpand.c.
+	(insn_locators_initialize): Remove.
+	(pass_insn_locators_initialize): Remove.
+	(locations_locators_locs, locations_locators_vals): New static vars.
+	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
+	Likewise.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	New functions.
+	(locator_location): New.
+	(locator_line, locator_file): Rewrite.
+	* rtl.h (emit_line_note): Kill.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	Declare.
+	* tree-inline.c (initialize_cfun): Do not initialize
+	ib_boundaries_block.
+	* passes.c (pass_insn_locators_initialize): Remove.
+
+2007-04-28  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-cfg.c (move_block_to_fn): Release bb from dominance
+	info.  Update last_basic_block correctly.
+
+2007-04-27  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/31701
+	* config/sh/sh.c (output_stack_adjust): Avoid using the frame
+	register itself to hold the offset constant.  Tell flow the use
+	of r4 and r5 when they are used.
+
+2007-04-27  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (forward_propagate_into_cond): Keep track
+	if we simplified anything.
+	(tree_ssa_forward_propagate_single_use_vars): Defer overflow
+	warnings until we did a simplification and the stmt was not
+	marked as TREE_NO_WARNING.
+
+2007-04-27  Mike Stump  <mrs@apple.com>
+
+	* config/rs6000/darwin.h (ALWAYS_PUSH_CONSTS_USING_REGS_P): Remove.
+
+2007-04-27  Ian Lance Taylor  <iant@google.com>
+
+	PR middle-end/31710
+	* tree.c (build_distinct_type_copy): If TYPE_MIN_VALUE or
+	TYPE_MAX_VALUE exist, convert them to the new type.
+
+2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-cfgcleanup.c (cleanup_tree_cfg): Verify dominance info
+	if it claims to be available.
+	* tree-ssa-dce.c (remove_dead_stmt): Mark cfg as altered when
+	edge is redirected.
+	(perform_tree_ssa_dce): Always free postdominators.
+
+2007-04-27  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/predicates.md (aligned_memory_operand): Mark
+	as define_special_predicate.
+	(unaligned_memory_operand, normal_memory_operand): Likewise.
+	(reg_or_unaligned_mem_operand): Remove.
+	(any_memory_operand): Match the documentation and check for
+	non-renumbered pseudos during reload.
+	* config/alpha/alpha.c (alpha_secondary_reload): Rename from
+	alpha_secondary_reload_class, update to new interface, make static.
+	Handle CQImode like HImode.  Remove FP subreg check.
+	(alpha_expand_mov): Use replace_equiv_address.
+	(alpha_expand_mov_nobwx): Use any_memory_operand.
+	(TARGET_SECONDARY_RELOAD): New.
+	* config/alpha/alpha.h (SECONDARY_INPUT_RELOAD_CLASS): Remove.
+	(SECONDARY_OUTPUT_RELOAD_CLASS): Remove.
+	* config/alpha/sync.md (I12MODE, I48MODE, modesuffix): Move ...
+	* config/alpha/alpha.md: ... here.
+	(RELOAD12, reloadmode): New.
+	(movcqi): New.
+	(reload_in<RELOAD12>): Macro-ize from reload_inqi, reload_inhi.
+	Don't handle the aligned case here.
+	(reload_out<RELOAD12>): Macro-ize from reload_outqi, reload_outhi.
+	(reload_in<I12MODE>_aligned): Macro-ize from reload_inqi_help,
+	reload_inhi_help.  Don't expect a scratch register.
+	(reload_out<I12MODE>_aligned): Macro-ize from reload_outqi_help,
+	reload_outhi_help.
+	* config/alpha/alpha-protos.h (alpha_secondary_reload_class): Remove.
+
+2007-04-27  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-forwprop.c (get_prop_dest_stmt): Fix comment typo.
+
+2007-04-27  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/30965
+	PR tree-optimization/30978
+	* Makefile.in (tree-ssa-forwprop.o): Depend on $(FLAGS_H).
+	* tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove.
+	(find_equivalent_equality_comparison): Likewise.
+	(simplify_cond): Likewise.
+	(get_prop_source_stmt): New helper.
+	(get_prop_dest_stmt): Likewise.
+	(can_propagate_from): Likewise.
+	(remove_prop_source_from_use): Likewise.
+	(combine_cond_expr_cond): Likewise.
+	(forward_propagate_comparison): New function.
+	(forward_propagate_into_cond): Rewrite to use fold for
+	tree combining.
+	(tree_ssa_forward_propagate_single_use_vars): Call
+	forward_propagate_comparison to propagate comparisons.
+
+2007-04-27  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31715
+	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Make
+	sure to do computation on the offset in an appropriate
+	signed type.
+
+2007-04-27  Richard Sandiford  <richard@codesourcery.com>
+
+	* reload.h (elimination_target_reg_p): Declare.
+	* reload.c (find_reloads): Don't apply the reg_rtx move
+	optimization if the SET_DEST satisfies elimination_target_reg_p.
+	* reload1.c (elimination_target_reg_p): New function.
+	(gen_reload): In the move/add2 fallback, make sure that op0
+	does not overlap the destination register.
+
+2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-im.c (determine_invariantness_stmt): Attempt to
+	transform only GIMPLE_MODIFY_STMTs.
+	* tree-complex.c (expand_complex_operations_1): Ditto.
+	(expand_complex_div_wide): Do not create gotos in COND_EXPR branches.
+	* tree-ssa-loop-manip.c (build_if_stmt): Removed.
+	(tree_transform_and_unroll_loop): Do not create gotos in COND_EXPR
+	branches.
+	* value-prof.c (tree_divmod_fixed_value, tree_mod_pow2,
+	tree_mod_subtract, tree_ic, tree_stringop_fixed_value): Ditto.
+	* omp-low.c (expand_parallel_call, expand_omp_for_generic,
+	expand_omp_for_static_chunk, expand_omp_for_static_nochunk): Ditto.
+	* tree-vectorizer.c (slpeel_make_loop_iterate_ntimes,
+	slpeel_add_loop_guard): Ditto.
+	* tree-mudflap.c (mf_build_check_statement_for): Ditto.
+	* lambda-code.c (perfect_nestify): Ditto.
+	* tree-iterator.c (tsi_split_statement_list_before): Fix splitting
+	before the first statement.
+	* tree-optimize.c (execute_free_datastructures): Fix comments.
+	(execute_free_cfg_annotations): Do not call disband_implicit_edges.
+	* tree-flow.h (disband_implicit_edges): Declaration removed.
+	* tree-cfg.c (make_cond_expr_edges): Remove gotos from COND_EXPR
+	branches.
+	(cleanup_dead_labels, tree_redirect_edge_and_branch): Handle
+	COND_EXPRs without gotos.
+	(disband_implicit_edges, has_label_p): Removed.
+	(tree_verify_flow_info): Verify that COND_EXPR branches are empty.
+	(tree_lv_add_condition_to_bb): Do not create gotos in COND_EXPR
+	branches.
+	* tree.c (build3_stat): Mark COND_EXPRs used as statements as having
+	side effects.
+	* tree-pretty-print.c (dump_implicit_edges): Dump implicit edges
+	also for COND_EXPRs.
+	* cfgexpand.c (label_rtx_for_bb): New function.
+	(expand_gimple_cond_expr): Do not expect gotos in COND_EXPR branches.
+	Use label_rtx_for_bb to find the labels.
+	(expand_gimple_basic_block): Remove RETURN_EXPR at the end of the
+	last block.  Detect fallthru edges.
+
+2007-04-26  Ian Lance Taylor  <iant@google.com>
+
+	PR target/28675
+	* reload.c (find_reloads_subreg_address): If the address was valid
+	in the original mode but not in the new mode, reload the whole
+	address.
+
+2007-04-27  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-cfgcleanup.c (cfgcleanup_altered_bbs): New global variable.
+	(remove_fallthru_edge): Use remove_edge_and_dominated_blocks.
+	(cleanup_control_expr_graph): Do not invalidate dominance info.
+	Record altered blocks.
+	(cleanup_control_flow, cleanup_forwarder_blocks): Removed.
+	(cleanup_control_flow_bb, split_bbs_on_noreturn_calls,
+	cleanup_tree_cfg_bb): New functions.
+	(remove_forwarder_block): Do not maintain the worklist of blocks.
+	Record altered blocks.
+	(cleanup_tree_cfg_1): Iterate over cfgcleanup_altered_bbs,
+	not over whole cfg.
+	(cleanup_tree_cfg): Do not iterate cleanup_tree_cfg_1.  Only call
+	delete_unreachable_blocks if dominators are not available.
+	* tree-inline.c (optimize_inline_calls): Free dominance information
+	earlier.
+	* tree-flow.h (remove_edge_and_dominated_blocks,
+	cfgcleanup_altered_bbs): Altered.
+	* tree-cfg.c (replace_uses_by, tree_merge_blocks): Record altered
+	blocks.
+	(get_all_dominated_blocks, remove_edge_and_dominated_blocks): New
+	functions.
+	(tree_purge_dead_eh_edges): Use remove_edge_and_dominated_blocks,
+	do not invalidate dominators.
+
+2007-04-26  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_mcu_types): Add support for ATmega8HVA and
+	ATmega16HVA devices. Move AT90USB82 device to 'avr5' architecture.
+	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
+2007-04-26  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.md (ip_value): Fix itanium_class attribute.
+
+2007-04-26  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31703
+	* tree-ssa-loop-im.c (rewrite_bittest): Make sure to use
+	the right type for the target of the bittest.
+
+2007-04-26  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/i386/vx-common.h (RETURN_IN_MEMORY): Use
+	ix86_sol10_return_in_memory.
+
+2007-04-26  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/i386/i386.c (ix86_sol10_return_in_memory): Remove unused
+	variables.
+
+2007-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/31598
+	* tree-inline.c (copy_body_r): Don't touch TREE_TYPE of OMP_CLAUSE.
+
+	PR tree-optimization/30558
+	* tree-eh.c (lower_eh_filter): If EH_FILTER_MUST_NOT_THROW
+	clear this_state.prev_try.
+
+2007-04-26  Richard Sandiford  <richard@codesourcery.com>
+	    Mark Mitchell  <mark@codesourcery.com>
+
+	* config/i386/i386-protos.h (ix86_sol10_return_in_memory): Declare.
+	* config/i386/i386.c (ix86_sol10_return_in_memory): New function.
+	* config/i386/sol2-10.h (RETURN_IN_MEMORY): Use it.
+
+2007-04-26  Richard Sandiford  <richard@codesourcery.com>
+
+	PR driver/31107
+	* doc/invoke.texi (%:print-asm-header): Document.
+	* gcc.c (asm_options): Use %:print-asm-header() for --target-help
+	and -ftarget-help.
+	(static_spec_functions): Add print-asm-header.
+	(main): Print a banner before the --target-help linker options.
+	(print_asm_header_spec_function): New function.
+
+2007-04-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/31403
+	* config/sh/sh.md (movsi_ie): Fix length for TARGET_SH2A.
+	(movsf_ie): Likewise.
+
+2007-04-25  Paolo Carlini  <pcarlini@suse.de>
+
+	* doc/extend.texi ([Type Traits]): Adjust per N2255.
+
+2007-04-25  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Throw an
+	exception for divide-by-zero.
+	(__umodsi3, __modsi3): Likewise.
+
+2007-04-25  Dirk Mueller  <dmueller@suse.de>
+
+	* c-typeck.c (build_compound_expr): Annotate warning()
+	call with OPT_Wunused_value.
+	* tree-ssa.c (warn_uninit): Annotate warning with
+	OPT_Wunintialized.
+	* c-common.c (handle_sentinel_attribute): Annotate warning
+	call with OPT_Wattributes.
+
+2007-04-25  Thiemo Seufer  <ths@mips.com>
+
+	* config/mips/mips.opt (mdmx, mmt, mno-mdmx): New options.
+	(mips16): Fix typo.
+	* config/mips/mips.h (ASM_SPEC): Pass -mmt/-mno-mt and -mdmx/-mno-mdmx
+	on to the assembler.  Improve handling of -mno-mips16.  Add handling
+	of -mno-mips3d, -mno-dsp, -mno-dspr2.
+	* doc/invoke.texi (MIPS Options): Whitespace cleanup.  Fix wrong use
+	of @itemx.  Document -mno-dsp, -mno-dspr2, -mno-paired-single, -mdmx,
+	-mno-mdmx, -mno-mips3d, -mmt and -mno-mt.
+
+2007-04-25  Danny Smith  <dannysmith.users.sourceforge.net>
+
+	PR target/31680
+	* config/i386/winnt.c (i386_pe_file_end): Strip only
+	USER_LABEL_PREFIX when writing export name.
+
+2007-04-25  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (sh-wrs-vxworks): Don't include dbxelf.h.  Include
+	sh/elf.h, vx-common.h and vxworks.h.
+	* config/sh/sh.h: Include config/vxworks-dummy.h.
+	(SUBTARGET_OVERRIDE_OPTIONS): Define.
+	(OVERRIDE_OPTIONS): Use it.
+	* config/sh/sh.md (GOTaddr2picreg): Add suport for VxWorks RTPs.
+	(vxworks_picreg): New pattern.
+	* config/sh/vxworks.h (TARGET_OS_CPP_BUILTINS): Use
+	VXWORKS_OS_CPP_BUILTINS.
+	(LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Redefine
+	to their VXWORKS_* equivalents.
+	(SUBTARGET_OVERRIDE_OPTIONS, SUBTARGET_CPP_SPEC): Define.
+	(SUBTARGET_LINK_EMUL_SUFFIX, FUNCTION_PROFILER): Define.
+	* config/sh/lib1funcs.asm (NO_FPSCR_VALUES): Define for VxWorks PIC.
+	(set_fpscr, ic_invalidate): Add VxWorks PIC sequences.
+	* config/sh/t-vxworks (MULTILIB_OPTIONS): Add m4a, -mrtp and
+	-mrtp/-fPIC multilibs.
+	(MULTILIB_EXCEPTIONS): Generalize globs accordingly.
+	(MULTILIB_MATCHES, EXTRA_MULTILIB_PARTS): Define.
+	(MULTILIB_OSDIRNAMES): Delete.
+
+2007-04-25  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/18989
+ 	* config/avr/avr.h (ASM_OUTPUT_ALIGN): Redefine.
+
+2007-04-24  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* real.c (mpfr_from_real): Handle Inf and NaN, and allow the
+	rounding mode to be specified by the caller.
+	(real_to_mpfr) Likewise.
+	* real.h: Update mpfr_from_real, mpfr_to_real prototypes to
+	include new arguments.
+	* builtins.c: Update mpfr_from_real, mpfr_to_real calls.
+
+2007-04-24  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31605
+	* tree-vrp.c (set_value_range): Check that min and max are not
+	both overflow infinities.
+	(set_value_range_to_value): New static function.
+	(extract_range_from_binary_expr): Call set_value_range_to_value.
+	(extract_range_from_cond_expr): Likewise.
+	(extract_range_from_expr): Likewise.
+	(extract_range_from_unary_expr): Likewise.  Don't create a range
+	which overflows on both sides.
+	(vrp_meet): Check for a useless range.
+	(vrp_visit_phi_node): If we see a constant which looks like an
+	overflow infinity, turn off the TREE_OVERFLOW flag.
+
+2007-04-24  Ian Lance Taylor  <iant@google.com>
+
+	* flow.c (elim_reg_cond): Handle a comparison of a subreg.
+
+2007-04-24  Simon Martin  <simartin@users.sourceforge.net>
+
+	PR diagnostic/25923
+	* tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a
+	diagnostic message is being built.
+	* tree-pretty-print.c (dump_generic_node): Only write the
+	formatted text into BUFFER's stream if we are not building a
+	diagnostic message.
+	* toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to
+	dump_generic_node.
+	* Makefile.in (toplev.o): Depend on tree-pass.h.
+
+2007-04-24  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31602
+	* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING for
+	conditionals in the copied loop header.
+	* tree-cfg.c (fold_cond_expr_cond): Don't issue undefined overflow
+	warnings if TREE_NO_WARNING is set.
+	* doc/invoke.texi (Warning Options): Clarify that
+	-Wstrict-overflow does not warn about loops.
+
+2007-04-24  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/rs6000/rs6000.c (function_arg_advance): For 32-bit ELF ABI,
+	expand on the comment about _Decimal128 arguments and check the
+	integer result of the modulus operation; for 64-bit ELF ABI, ensure
+	that _Decimal128 argument uses even/odd register pair.
+	(function_arg): Ditto.
+
+2007-04-24  Hui-May Chang <hm.chang@apple.com>
+
+	* reload1.c (merge_assigned_reloads) : Do not merge a RELOAD_OTHER
+	instruction with a RELOAD_FOR_OPERAND_ADDRESS instruction.
+
+2007-04-24  Richard Guenther  <rguenther@suse.de>
+	    Olga Golovanevsky  <olga@il.ibm.com>
+
+	* fold-const.c (multiple_of_p): Check for bottom
+	to be zero.
+
+2007-04-24  Richard Henderson  <rth@redhat.com>
+
+	* libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from
+	IS_IBM_EXTENDED.  Also define in terms of WIDEST_HARDWARE_FP_SIZE.
+	* libgcc2.c (__floatdisf): Avoid double-word arithmetic when
+	looking for non-zero bits shifted out.  Avoid a recursive call
+	when constructing the scalar.
+	(__floatundisf): Likewise.
+
+2007-04-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+	* dwarf2out.c (field_byte_offset): Move the existing logic
+	under the control of PCC_BITFIELD_TYPE_MATTERS and just use
+	the bit offset of the field if !PCC_BITFIELD_TYPE_MATTERS.
+
+2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	PR target/31641
+	* config/s390/s390.c (s390_expand_setmem): Don't ICE for constant
+	length argument of 0 for memset.
+	(s390_expand_movmem, s390_expand_setmem, s390_expand_cmpmem): Use
+	unsigned shift instead of the signed variant.
+
+2007-04-24  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md ("*cmp<mode>_ccs_0_ibm", "*cmp<mode>_ccs_ibm",
+	"fix_trunc<BFP:mode><GPR:mode>2_ieee", "fix_truncdfsi2_ibm",
+	"floatsidf2_ibm", "floatsisf2", "truncdfsf2_ieee", "truncdfsf2_ibm",
+	"*trunctfdf2_ieee", "*trunctfdf2_ibm", "*trunctfsf2_ieee",
+	"*trunctfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+	"*extenddftf2_ieee", "*extenddftf2_ibm", "*extendsftf2_ieee",
+	"*extendsftf2_ibm", "*add<mode>3", "*add<mode>3_ibm", "*sub<mode>3_ibm",
+	"*mul<mode>3", "*mul<mode>3_ibm", "*div<mode>3", "*div<mode>3_ibm",
+	"*neg<mode>2_ibm", "*abs<mode>2_ibm"): Insn definitions removed.
+	("fix_trunc<BFP:mode><GPR:mode>2_bfp", "floatsi<mode>2",
+	"truncdfsf2", "trunctf<mode>2", "add<mode>3", "sub<mode>3",
+	"mul<mode>3", "div<mode>3"): Insn definitions added.
+	("fixuns_trunc<BFP:mode><GPR:mode>2", "fix_trunc<mode>di2",
+	"fix_trunc<mode>si2"): gen_fix_trunc<BFP:mode><GPR:mode>2_ieee renamed
+	to gen_fix_trunc<BFP:mode><GPR:mode>2_bfp.
+	("fix_truncdfsi2", "floatsitf2", "truncdfsf2", "trunctfdf2",
+	"trunctfsf2", "extendsfdf2", "extenddftf2", "extendsftf2", "add<mode>3",
+	"sub<mode>3", "mul<mode>3", "div<mode>3"): Expander removed.
+	("fix_trunc<mode>si2", "extend<DSF:mode><BFP:mode>2"): Expander added.
+	* config/s390/s390.h (TARGET_IBM_FLOAT, TARGET_IEEE_FLOAT,
+	TARGET_FLOAT_FORMAT): Macro definitions removed.
+	(FP_REGNO_P): No special case for !TARGET_IEEE_FLOAT anymore.
+	* config/s390/s390.c (struct processor_costs, z900_cost, z990_cost,
+	z9_109_cost): Remove fields for hexfloat instructions: dxr, ddr and der.
+	(s390_rtx_costs): Remove !TARGET_IEEE_FLOAT special branches.
+	(s390_gen_rtx_const_DI): Function removed.
+	* config/s390/s390-protos.h (s390_gen_rtx_const_DI): Prototype removed.
+
+2007-04-24  Richard Sandiford  <richard@codesourcery.com>
+
+	* optabs.c (set_conv_libfunc): Prefer libgcc2's __ffsMM2 functions
+	over an external ffs function.
+
+2007-04-24  Chao-ying Fu  <fu@mips.com>
+	    Richard Sandiford  <richard@nildram.co.uk>
+
+	* doc/md.texi (madd@var{m}@var{n}4, umadd@var{m}@var{n}4): Document.
+	* optabs.h (OTI_smadd_widen, OTI_umadd_widen): New optab_indexes.
+	(smadd_widen_optab, umadd_widen_optab): Define.
+	* optabs.c (init_optabs): Initialize smadd_widen_optab and
+	umadd_widen_optab.
+	* genopinit.c (optabs): Fill in smadd_widen_optab and
+	umadd_widen_optab.
+	* expr.c (expand_expr_real_1): Try to use smadd_widen_optab
+	and umadd_widen_optab to implement multiply-add sequences.
+	* config/mips/mips.md (*<su>mul_acc_di): Rename to...
+	(<u>maddsidi4): ...this.  Extend condition to include
+	GENERATE_MADD_MSUB and TARGET_DSPR2.  Change the constraint
+	of operand 0 to "ka" and use the three-operand form of madd<u>
+	for TARGET_DSPR2.
+	* config/mips/mips-dspr2.md (mips_madd, mips_maddu): Convert
+	to define_expands.
+	* config/mips/constraints.md (ka): New register constraint.
+
+2007-04-24  Jan Hubicka  <j@suse.cz>
+
+	Revert:
+
+	2007-04-23  Jan Hubicka  <jh@suse.cz>
+	* function.c (init_function_start): Don't init line number info.
+	(expand_function_end): Update.
+	(reset_block_changes, record_block_change, finalize_block_changes,
+	check_block_change, free_block_changes): Kill.
+	* function.h (reset_block_changes, record_block_change,
+	finalize_block_changes, check_block_change, free_block_changes):
+	Remove prototypes.
+	(struct function): Remove ib_boundaries_block.
+	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
+	Use curr_insn_locator to initialize locator.
+	(emit_line_note): Remove.
+	* cfgexpand.c (expand_gimple_cond_expr): Update.
+	(construct_exit_block): Likewise.
+	(tree_expand_cfg): Initialize/finalize locators.
+	* expr.c (expand_expr_real): Update.
+	* cfglayout.c (line_locators_locs, line_locators_lines,
+	file_locators_locs, file_locators_files): Remove.
+	(set_block_levels): Move to cfgexpand.c.
+	(insn_locators_initialize): Remove.
+	(pass_insn_locators_initialize): Remove.
+	(locations_locators_locs, locations_locators_vals): New static vars.
+	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
+	Likewise.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	New functions.
+	(locator_location): New.
+	(locator_line, locator_file): Rewrite.
+	* rtl.h (emit_line_note): Kill.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	Declare.
+	* tree-inline.c (initialize_cfun): Do not initialize
+	ib_boundaries_block.
+	* passes.c (pass_insn_locators_initialize): Remove.
+
+2007-04-24  Daniel Franke  <franke.daniel@gmail.com>
+
+	* doc/invoke.texi: Removed leading '-' from option index entries.
+
+2007-04-23  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-phinodes.c (reserve_phi_args_for_new_edge, remove_phi_node):
+	Use phi_nodes_ptr.
+	(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.
+	* 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.
+	* cfgexpand.c (expand_gimple_basic_block): Use bb_stmt_list.
+	Traverse the statements using tsi iterator.
+	* basic-block.h (struct basic_block_def): Fields stmt_list
+	and phi_nodes moved to ...
+	(struct tree_bb_info): ... new structure.
+	* tree-cfg.c (create_bb): Allocate il.tree.  Use set_bb_stmt_list.
+	(tree_merge_blocks): Use bb_stmt_list and set_bb_stmt_list.
+	(remove_bb): Handle blocks with NULL stmt list.  Clear il.tree field.
+	(tree_verify_flow_info): Verify that il.tree is not set for
+	entry and exit block.
+	(tree_split_block): Use set_bb_stmt_list.
+
+2007-04-23  Mike Stump  <mrs@apple.com>
+
+	* config/i386/i386.c (ix86_tune_features
+	[X86_TUNE_DEEP_BRANCH_PREDICTION]: Prefer call over thunks on
+	nocona and core2.
+
+2007-04-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.md (prefix_extra): New attribute.
+	(length): Add prefix_extra.
+
+	* onfig/i386/sse.md (sse2_movdqu): Set prefix_data16.
+	(sse2_movntv2di): Likewise.
+	(sse2_cvtps2dq): Likewise.
+	(sse2_cvtpd2pi): Likewise.
+	(sse2_cvttpd2pi): Likewise.
+	(*sse2_cvtpd2ps): Likewise.
+	(*add<mode>3): Likewise.
+	(sse2_ssadd<mode>3): Likewise.
+	(sse2_usadd<mode>3): Likewise.
+	(*sub<mode>3): Likewise.
+	(sse2_sssub<mode>3): Likewise.
+	(sse2_ussub<mode>3): Likewise.
+	(*mulv8hi3): Likewise.
+	(*smulv8hi3_highpart): Likewise.
+	(*umulv8hi3_highpart): Likewise.
+	(sse2_umulv2siv2di3): Likewise.
+	(sse2_pmaddwd): Likewise.
+	(ashr<mode>3): Likewise.
+	(lshr<mode>3): Likewise.
+	(ashl<mode>3): Likewise.
+	(sse2_ashlti3): Likewise.
+	(sse2_lshrti3): Likewise.
+	(*umaxv16qi3): Likewise.
+	(*smaxv8hi3): Likewise.
+	(*uminv16qi3): Likewise.
+	(*sminv8hi3): Likewise.
+	(sse2_eq<mode>3): Likewise.
+	(sse2_gt<mode>3): Likewise.
+	(*and<mode>3): Likewise.
+	(sse2_nand<mode>3): Likewise.
+	(*ior<mode>3): Likewise.
+	(*xor<mode>3): Likewise.
+	(sse2_packsswb): Likewise.
+	(sse2_packssdw): Likewise.
+	(sse2_packuswb): Likewise.
+	(sse2_punpckhbw): Likewise.
+	(sse2_punpcklbw): Likewise.
+	(sse2_punpckhwd): Likewise.
+	(sse2_punpcklwd): Likewise.
+	(sse2_punpckhdq): Likewise.
+	(sse2_punpckldq): Likewise.
+	(sse2_punpckhqdq): Likewise.
+	(sse2_punpcklqdq): Likewise.
+	(*sse2_pinsrw): Likewise.
+	(*sse2_pextrw): Likewise.
+	(sse2_pshufd_1): Likewise.
+	(sse2_uavgv16qi3): Likewise.
+	(sse2_uavgv8hi3): Likewise.
+	(sse2_psadbw): Likewise.
+	(sse2_pmovmskb): Likewise.
+	(*sse2_maskmovdqu): Likewise.
+	(*sse2_maskmovdqu_rex64): Likewise.
+	(sse4a_extrqi): Likewise.
+	(sse4a_extrq): Likewise.
+	(sse3_lddqu): Set prefix_rep.
+	(sse3_addsubv4sf3): Likewise.
+	(sse3_haddv4sf3): Likewise.
+	(sse3_hsubv4sf3): Likewise.
+	(sse_cvtss2si): Likewise.
+	(sse_cvtss2si_2): Likewise.
+	(sse_cvtss2siq): Likewise.
+	(sse_cvtss2siq_2): Likewise.
+	(sse_cvttss2si): Likewise.
+	(sse_cvttss2siq): Likewise.
+	(sse2_cvttps2dq): Likewise.
+	(sse3_movshdup): Likewise.
+	(sse3_movsldup): Likewise.
+	(sse2_cvtsd2si): Likewise.
+	(sse2_cvtsd2si_2): Likewise.
+	(sse2_cvtsd2siq): Likewise.
+	(sse2_cvtsd2siq_2): Likewise.
+	(sse2_cvttsd2si): Likewise.
+	(sse2_cvttsd2siq): Likewise.
+	(*sse2_cvtpd2dq): Likewise.
+	(*sse2_cvttpd2dq): Likewise.
+	(sse2_pshuflw_1): Likewise.
+	(sse2_pshufhw_1): Likewise.
+	(sse4a_insertqi): Likewise.
+	(sse4a_insertq): Likewise.
+	(ssse3_phaddwv8hi3): Set prefix_data16 and prefix_extra.
+	(ssse3_phadddv4si3): Likewise.
+	(ssse3_phaddswv8hi3): Likewise.
+	(ssse3_phsubwv8hi3): Likewise.
+	(ssse3_phsubdv4si3): Likewise.
+	(ssse3_phsubswv8hi3): Likewise.
+	(ssse3_pmaddubswv8hi3): Likewise.
+	(ssse3_pmulhrswv8hi3): Likewise.
+	(ssse3_pshufbv16qi3): Likewise.
+	(ssse3_psign<mode>3): Likewise.
+	(ssse3_palignrti): Likewise.
+	(abs<mode>2): Likewise.
+	(ssse3_phaddwv4hi3): Set prefix_extra.
+	(ssse3_phadddv2si3): Likewise.
+	(ssse3_phaddswv4hi3): Likewise.
+	(ssse3_phsubwv4hi3): Likewise.
+	(ssse3_phsubdv2si3): Likewise.
+	(ssse3_phsubswv4hi3): Likewise.
+	(ssse3_pmaddubswv4hi3): Likewise.
+	(ssse3_pmulhrswv4hi3): Likewise.
+	(ssse3_pshufbv8qi3): Likewise.
+	(ssse3_psign<mode>3): Likewise.
+	(ssse3_palignrdi): Likewise.
+	(abs<mode>2): Likewise.
+	(sse2_cvtdq2ps): Set mode to V4SF instead of V2DF.
+	(*vec_dupv2df): Set mode to V2DF instead of V4SF.
+	(sse2_pmovmskb): Set mode to SI instead of V2DF.
+
+2007-04-23  Nick Clifton  <nickc@redhat.com>
+
+	* params.def: Fix formatting of emacs local variables.
+
+2007-04-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (sse2_stored): Don't split to inter-unit
+	move if inter-unit move isn't allowed.
+	Don't split moving the first element of V2DI to DI to inter-unit
+	move if inter-unit move isn't allowed.
+
+2007-04-23  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-sink.c (execute_sink_code): Calculate CDI_DOMINATORS
+	and CDI_POST_DOMINATORS separately.
+
+2007-04-23  Nick Clifton  <nickc@redhat.com>
+
+	* c.opt (Wformat-contains-nul): Add warning attribute.
+
+2007-04-23  Jan Hubicka  <jh@suse.cz>
+
+	* function.c (init_function_start): Don't init line number info.
+	(expand_function_end): Update.
+	(reset_block_changes, record_block_change, finalize_block_changes,
+	check_block_change, free_block_changes): Kill.
+	* function.h (reset_block_changes, record_block_change,
+	finalize_block_changes, check_block_change, free_block_changes):
+	Remove prototypes.
+	(struct function): Remove ib_boundaries_block.
+	* emit-rtl.c (make_insn_raw, make_jump_insn_raw, make_call_insn_raw):
+	Use curr_insn_locator to initialize locator.
+	(emit_line_note): Remove.
+	* cfgexpand.c (expand_gimple_cond_expr): Update.
+	(construct_exit_block): Likewise.
+	(tree_expand_cfg): Initialize/finalize locators.
+	* expr.c (expand_expr_real): Update.
+	* cfglayout.c (line_locators_locs, line_locators_lines,
+	file_locators_locs, file_locators_files): Remove.
+	(set_block_levels): Move to cfgexpand.c.
+	(insn_locators_initialize): Remove.
+	(pass_insn_locators_initialize): Remove.
+	(locations_locators_locs, locations_locators_vals): New static vars.
+	(curr_location, last_location, curr_block, last_block, curr_rtl_loc):
+	Likewise.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	New functions.
+	(locator_location): New.
+	(locator_line, locator_file): Rewrite.
+	* rtl.h (emit_line_note): Kill.
+	(insn_locators_alloc, insn_locators_finalize,
+	set_curr_insn_source_location, set_curr_insn_block, curr_insn_locator):
+	Declare.
+	* tree-inline.c (initialize_cfun): Do not initialize
+	ib_boundaries_block.
+	* passes.c (pass_insn_locators_initialize): Remove.
+
+2007-04-22  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/31448
+	* expr.c (reduce_to_bit_field_precision): Handle
+	CONST_INT rtx's.
+
+2007-04-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/24659
+	* optabs.h (enum optab_index) [OTI_vec_unpacks_hi,
+	OTI_vec_unpacks_lo]: Update comment to mention floating point operands.
+	(vec_pack_trunc_optab): Rename from vec_pack_mod_optab.
+	* genopinit.c (optabs): Rename vec_pack_mod_optab
+	to vec_pack_trunc_optab.
+	* tree-vect-transform.c (vectorizable_type_demotion): Do not fail
+	early for scalar floating point operands for NOP_EXPR.
+	(vectorizable_type_promotion): Ditto.
+	* optabs.c (optab_for_tree_code) [VEC_PACK_TRUNC_EXPR]: Return
+	vec_pack_trunc_optab.
+	(expand_binop): Rename vec_float_trunc_optab to vec_pack_mod_optab.
+
+	* tree.def (VEC_PACK_TRUNC_EXPR): Rename from VEC_PACK_MOD_EXPR.
+	* tree-pretty-print.c (dump_generic_node) [VEC_PACK_TRUNC_EXPR]:
+	Rename from VEC_PACK_MOD_EXPR.
+	(op_prio) [VEC_PACK_TRUNC_EXPR]: Ditto.
+	* expr.c (expand_expr_real_1): Ditto.
+	* tree-inline.c (estimate_num_insns_1): Ditto.
+	* tree-vect-generic.c (expand_vector_operations_1): Ditto.
+
+	* config/i386/sse.md (vec_unpacks_hi_v4sf): New expander.
+	(vec_unpacks_lo_v4sf): Ditto.
+	(vec_pack_trunc_v2df): Ditto.
+	(vec_pack_trunc_v8hi): Rename from vec_pack_mod_v8hi.
+	(vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si.
+	(vec_pack_trunc_v2di): Rename from vec_pack_mod_v2di.
+
+	* config/rs6000/altivec.md (vec_pack_trunc_v8hi): Rename from
+	vec_pack_mod_v8hi.
+	(vec_pack_trunc_v4si): Rename from vec_pack_mod_v4si.
+
+	* doc/c-tree.texi (Expression trees) [VEC_PACK_TRUNC_EXPR]:
+	Rename from VEC_PACK_MOD_EXPR.  This expression also represent
+	packing of floating point operands.
+	[VEC_UNPACK_HI_EXPR, VEC_UNPACK_LO_EXPR]: These expression also
+	represent unpacking of floating point operands.
+	* doc/md.texi (Standard Names) [vec_pack_trunc]: Update documentation.
+	[vec_unpacks_hi]: Ditto.
+	[vec_unpacks_lo]: Ditto.
+
+2007-04-22  Jan Hubicka  <jh@suse.cz>
+
+	* final.c (rest_of_handle_final): Call
+	targetm.asm_out.constructor/targetm.asm_out.destructor
+	* cgraphunit.c (cgraph_build_static_cdtor): Don't do it here; set
+	proper priority via decl_*_priority_insert.
+	* c-common.c (c_expand_body): Likewise.
+
+2007-04-22  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/29789
+	* tree-ssa-loop-im.c (stmt_cost): Adjust cost of shifts.
+	(rewrite_reciprocal): New helper split out from
+	determine_invariantness_stmt.
+	(rewrite_bittest): Likewise.
+	(determine_invariantness_stmt): Rewrite (A >> B) & 1 to
+	A & (1 << B) if (1 << B) is loop invariant but (A >> B)
+	is not.
+
+2007-04-22  Revital Eres  <eres@il.ibm.com>
+
+	* loop-unroll.c (var_to_expand): New field to support also
+	insns of the form x = something + x.
+	(analyze_insn_to_expand_var): Use it.
+	(expand_var_during_unrolling): Likewise.
+
+2007-04-21  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* predict.c: Include pointer-set.h.
+	(bb_predictions): New variable.
+	(tree_predicted_by_p, tree_predict_edge,
+	remove_predictions_associated_with_edge): Use bb_predictions map
+	instead of bb->predictions.
+	(clear_bb_predictions, assert_is_empty): New functions.
+	(combine_predictions_for_bb): Use bb_predictions map.  Call
+	clear_bb_predictions.
+	(tree_estimate_probability): Create and free bb_predictions map.
+	* Makefile.in (predict.o): Add pointer-set.h dependency.
+	* basic-block.h (struct basic_block_def): Remove predictions
+	field.
+	* cfgrtl.c (rtl_verify_flow_info_1): Do not check bb->predictions.
+
+2007-04-21  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/31480
+	* config/sh/sh.md (length): Check if prev_nonnote_insn (insn)
+	is null.
+
+2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* timevar.c (timevar_print): Change reference of --disable-checking to
+	--enable-checking=release.  Also warn if assert checking is disabled.
+
+2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR C/30265
+	* c-gimplifier.c (gimplify_compound_literal_expr): Mark the
+	decl as addressable if the compound literal was marked as
+	addressable.
+	Mark the decl as a gimple register if it is a complex or
+	vector decl and does not live in memory.
+
+2007-04-21  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* tree.h (GIMPLE_TUPLE_P): Also true for PHI_NODEs.
+	(GENERIC_NEXT): New function macro.
+	(PHI_CHAIN): Use phi_node's new chain variable.
+	(tree_phi_node): Change tree_common to tree_base
+	and add the chain field.
+	* tree-phinodes.c (make_phi_node): Don't set
+	TREE_TYPE on the new node.
+	* c-decl.c (lang_tree_node): Use GENERIC_NEXT
+	instead of checking GIMPLE_TUPLE_P in chain_next.
+	* tree-vect-transform.c
+	(get_initial_def_for_induction): Look at
+	PHI_RESULT_TREE for the type of the phi node.
+	(update_vuses_to_preheader): Use PHI_CHAIN
+	instead of TREE_CHAIN on the phi node.
+	* tree-ssa-structalias.c (compute_points_to_sets):
+	Likewise.
+	(ipa_pta_execute): Likewise.
+
+2007-04-21  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/31136
+	* fold-const.c (fold_unary): Call fold_convert_const on the
+	original tree.
+
+2007-04-21  Alexandre Oliva  <aoliva@redhat.com>
+
+	* gcse.c (store_killed_in_insn): Handle PARALLELs.
+	(store_killed_in_pat): New.
+
+2007-04-20  Richard Henderson  <rth@redhat.com>
+
+	PR target/31628
+	* config/i386/i386.c (type_has_variadic_args_p): Look for any
+	TREE_LIST with a void_type_node value, not void_list_node exactly.
+
+2007-04-21  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* doc/standards.texi: Re-arrange into language-specific
+	subsections. Add a C++ section, documenting which standards we
+	support.
+
+2007-04-21  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-structalias.c (delete_points_to_sets): Free graph->complex.
+	* tree-ssa-operands.c (finalize_ssa_vuse_ops): Free new_ops.
+
+2007-04-20  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/rs6000/sysv4.h (STARTFILE_DEFAULT_SPEC): Include
+	ecrti.o and crtbegin.o.
+	(LIB_DEFAULT_SPEC): Include -lc.
+	(ENDFILE_DEFAULT_SPEC): Include crtend.o and ecrtn.o.
+
+2007-04-20  Richard Henderson  <rth@redhat.com>
+
+	PR target/28623
+	* config/alpha/alpha.c (get_unaligned_address): Remove extra_offset
+	argument; update all callers.
+	(get_unaligned_offset): New.
+	* config/alpha/alpha.md (extendqidi2, extendhidi2): Don't use
+	get_unaligned_address, just pass on the address directly.
+	(unaligned_extendqidi): Use gen_lowpart instead of open-coding
+	the subreg in the helper patterns.
+	(unaligned_extendqidi_le): Use get_unaligned_offset.
+	(unaligned_extendqidi_be, unaligned_extendhidi_le): Likewise.
+	(unaligned_extendhidi_be): Likewise.
+	(unaligned_extendhidi): Tidy.
+	* config/alpha/alpha-protos.h: Update.
+
+2007-04-20  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.h (CPP_SPEC, CPP_SUBTARGET_SPEC): Remove.
+	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): Remove.
+	* config/alpha/linux.h (CPP_SPEC): Undef before redefine.
+	* config/alpha/linux-elf.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
+	* config/alpha/freebsd.h (EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
+	(CPP_SPEC): Don't include %(cpp_subtarget).
+	* config/alpha/netbsd.h (CPP_SPEC): Rename CPP_SUBTARGET_SPEC.
+	(EXTRA_SPECS): Rename SUBTARGET_EXTRA_SPECS.
+	* config/alpha/osf.h (CPP_SPEC, EXTRA_SPECS): Similarly.
+
+2007-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (bdesc_2arg): Use ORDERED rather than UNORDERED
+	for __builtin_ia32_cmpordss.
+
+	PR tree-optimization/31632
+	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
+	and arg1 for optimizations of comparison against min/max values.
+	Fold arg0 to arg1's type for optimizations of comparison against
+	min+1 and max-1 values.
+
+2007-04-19  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* reload.c (combine_reloads): When trying to use a dying register,
+	check whether it's uninitialized and don't use if so.
+
+2007-04-19  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* fold-const.c: Remove prototypes for native_encode_expr and
+	native_interpret_expr.
+	(native_encode_expr): Make non-static.
+	(native_interpret_expr): Likewise.
+	* tree.h: Add prototypes for the above.
+
+2007-04-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/spe.md (*frob_tf_ti, *frob_ti_tf, *frob_ti_tf_2,
+	*mov_si<mode>_e500_subreg0, *mov_si<mode>_e500_subreg0_2,
+	*mov_sitf_e500_subreg8, *mov_sitf_e500_subreg8_2, spe_extenddftf2,
+	spe_fix_trunctfsi2_internal, spe_negtf2_internal, cmptfeq_gpr,
+	tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr, tsttflt_gpr):
+	Add length attributes.
+
+2007-04-19  Janis Johnson  <janis187@us.ibm.com>
+
+	* ginclude/float.h: Check that __STDC_WANT_DEC_FP__ is defined,
+	not that it is 1.
+
+	* c-cppbuiltin.c (c_cpp_builtins): Remove definition of
+	__STDC_WANT_DEC_FP__.
+
+2007-04-19  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac: Allow both powerpc*-*-linux* and powerpc*-*-gnu*
+	for long double compatibility.
+	* configure: Regenerate.
+
+2007-04-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/29841
+	* cfgbuild.c (control_flow_insn_p): Return TRUE for unconditional
+	trap instructions.
+	* sched-deps.c (sched_analyze_insn): Prevent all non-jump instructions
+	that may cause control flow transfer from being moved.
+
+2007-04-18  Jan Hubicka  <jh@suse.cz>
+
+	* fold-const.c (div_if_zero_remainder): Do signed divide for pointer
+	types.
+
+2007-04-18  Eric Christopher  <echristo@apple.com>
+
+	* config/rs6000/darwin.md (load_macho_picbase): Use link register
+	only. Update operands.
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Update caller.
+	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Ditto. Move from
+	link register to pic register.
+
+2007-04-18  Dirk Mueller  <dmueller@suse.de>
+
+	PR diagnostic/31227
+	* tree-vrp.c (search_for_addr_array): New.
+	(check_array_bounds): Suppress warning about
+	address taken of array refs if its not de-referenced.
+
+2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vectorizer.c (destroy_loop_vec_info): Set loop->aux to NULL.
+	* tree-vect-analyze.c (vect_analyze_loop_form): Set loop->aux.
+
+	* tree-vectorizer.h (NITERS_KNOWN_P): New.
+	* tree-vect-analyze.c (vect_analyze_loop_form): Call NITERS_KNOWN_P
+	instead of LOOP_VINFO_INT_NITERS to avoid having to geneate loop_info.
+
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Add
+	dump print.
+	(vect_analyze_operations): Fix indenetation.  Fix a comment.  Fix a
+	print message.
+	(vect_analyze_scalar_cycles): Fix indentation.
+	(vect_enhance_data_refs_alignment): Fix check in case of peeling.
+	(vect_mark_relevant): Include phis in relevance analysis.
+
+	* tree-vect-transform.c (vect_transform_loop): Add an assert.
+
+2007-04-18  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (ptrreg_to_str): Replace error() with
+	output_operand_lossage().
+
+2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vect-transform.c (get_initial_def_for_reduction): Clean away
+	the unused code for reduction without adjust-in-epilog to simplify the
+	function.
+
+2007-04-18  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+	* config/s390/s390.h (S390_TDC_POSITIVE_ZERO): New constant.
+	(S390_TDC_NEGATIVE_ZERO): New constant.
+	(S390_TDC_POSITIVE_NORMALIZED_NUMBER): New constant.
+	(S390_TDC_NEGATIVE_NORMALIZED_NUMBER): New constant.
+	(S390_TDC_POSITIVE_DENORMALIZED_NUMBER): New constant.
+	(S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): New constant.
+	(S390_TDC_POSITIVE_INFINITY): New constant.
+	(S390_TDC_NEGATIVE_INFINITY): New constant.
+	(S390_TDC_POSITIVE_QUIET_NAN): New constant.
+	(S390_TDC_NEGATIVE_QUIET_NAN): New constant.
+	(S390_TDC_POSITIVE_SIGNALING_NAN): New constant.
+	(S390_TDC_NEGATIVE_SIGNALING_NAN): New constant.
+	(S390_TDC_INFINITY): New constant.
+	* config/s390/s390.c (s390_canonicalize_comparison): Renamed
+	UNSPEC_CMPINT to UNSPEC_CCU_TO_INT, added a UNSPEC_CCU_TO_INT-like
+	optimization for UNSPEC_CCZ_TO_INT.
+	* config/s390/s390.md ("*TDC_insn_<mode>"): New insn.
+	("*ccz_to_int"): New insn.
+	("isinf<mode>2"): New insn.
+	(UNSPEC_CMPINT): Renamed to UNSPEC_CCU_TO_INT.
+	(UNSPEC_CCU_TO_INT): New constant, replaces UNSPEC_CMPINT.
+	(UNSPEC_CCZ_TO_INT): New constant.
+
+2007-04-18  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/19431
+	PR tree-optimization/21463
+	* tree-pass.h (pass_phiprop): Declare.
+	* passes.c (init_optimization_passes): New phiprop pass.
+	* tree-ssa-forwprop.c (struct phiprop_d): New structure.
+	(phivn_valid_p): New helper function.
+	(phiprop_insert_phi): Likewise.
+	(propagate_with_phi): Likewise.
+	(tree_ssa_phiprop): New propagator propagating loads
+	through phi nodes if profitable.
+
+2007-04-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vect-analyze.c (process_use): New function.
+	(vect_mark_stmts_to_be_vectorized): Factor out code to process_use.
+	Check phis in all bbs.
+	* tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant
+	assert.
+
+2007-04-18  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* reload1.c (eliminte_regs_in_insn): Use REG_EQUIV notes the same way
+	we use REG_EQUAL.
+
+2007-04-17  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/30483
+	* config/avr/avr.c (ptrreg_to_str): Replace gcc_unreachable() with
+	error().
+
+2007-04-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/sse.md (sse_vmaddv4sf3): Use register_operand
+	on "0".
+	(sse_vmmulv4sf3): Likewise.
+	(sse2_vmaddv2df3): Likewise.
+	(sse2_vmmulv2df3): Likewise.
+
+2007-04-17  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR rtl-optimization/31360
+	* cfgloopanal.c (target_small_cost, target_pres_cost): Removed.
+	(target_reg_cost): New.
+	(init_set_costs): Initialize target_reg_cost.  Add comments
+	regarding the rationale of the costs.
+	(global_cost_for_size): Renamed to...
+	(estimate_reg_pressure_cost): ... and simplify.  Decrease importance
+	of register pressure.
+	* 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
+	estimate_reg_pressure_cost.  Removed n_inv_uses argument.
+	(best_gain_for_invariant, find_invariants_to_move): Remove
+	n_inv_uses.
+	* cfgloop.h (target_small_cost, target_pres_cost): Removed.
+	(target_reg_cost): Declare.
+	(global_cost_for_size): Declaration removed.
+	(estimate_reg_pressure_cost): Declare.
+
+2007-04-17  Peter Bergner  <bergner@vnet.ibm.com>
+
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Force TDmode
+	regnos into even/odd register pairs.
+	* config/rs6000/rs6000.h [SLOW_UNALIGNED_ACCESS]: Treat DDmode and
+	TDmode similar to the other floating point modes.
+	[SECONDARY_MEMORY_NEEDED]: Treat DDmode similar to DFmode.
+	* config/rs6000/dfp.md (negdd2, absdd2, negtd2, abstd2): New
+	define_expand's.
+	(negdd2_fpr, absdd2_fpr, nabsdd2_fpr, negtd2_fpr, abstd2_fpr,
+	nabstd2_fpr, movdd_hardfloat64_mfpgpr): New define_insn's.
+	(movdd_hardfloat64): Use TARGET_MFPGPR.
+
+2007-04-17  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* reload1.c (delete_output_reload): Don't count output in n_inherited.
+
+	Revert
+	2005-01-05  Richard Henderson  <rth@redhat.com>
+	PR rtl-opt/10692
+	* reload1.c (do_input_reload): Restrict the optimization deleteing
+	a previous output reload to RELOAD_FOR_INPUT.
+
+2007-04-17  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vectorizer.h (stmt_vec_info_type): Add enum value
+	induc_vec_info_type.
+	(vectorizable_induction): New function declaration.
+	* tree-vect-transform.c (get_initial_def_for_induction): No need to
+	check if already vectorized.  Find first place in BB where new stmts
+	can be inserted.  Takes only one argument.
+	(vectorizable_induction): New function.
+	(vect_transform_stmt): Add case for induc_vec_info_type to call
+	vectorizable_induction.
+	(vect_transform_loop): Consider phis for vectorization.
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
+	condition.
+	(analyze_operations): Call vectorizable_induction when analyzing phis.
+	Fix comment.
+	(vect_mark_stmts_to_be_vectorized): Remove redundant checks.
+	(vect_mark_relevant): Include phis in relevance analysis.
+	(vect_mark_stmts_to_be_vectorize): Likewise.
+	* tree-vect-patterns.c (widened_name_p): Remove obsolete asserts.
+
+2007-04-16  Lawrence Crowl  <crowl@google.com>
+
+	* doc/invoke.texi (Debugging Options): Add documentation for the
+	-femit-struct-debug options -femit-struct-debug-baseonly,
+	-femit-struct-debug-reduced, and
+	-femit-struct-debug-detailed[=...].
+
+	* c-opts.c (c_common_handle_option): Add
+	OPT_femit_struct_debug_baseonly, OPT_femit_struct_debug_reduced,
+	and OPT_femit_struct_debug_detailed_.
+	* c.opt: Add specifications for
+	-femit-struct-debug-baseonly, -femit-struct-debug-reduced,
+	and -femit-struct-debug-detailed[=...].
+	* opts.c (set_struct_debug_option): Parse the
+	-femit-struct-debug-... options.
+	* opts.c (matches_main_base, main_input_basename,
+	main_input_baselength, base_of_path, matches_main_base): Add
+	variables and functions to compare header base name to compilation
+	unit base name.
+	* opts.c (should_emit_struct_debug): Add to determine to emit a
+	structure based on the option.
+	(dump_struct_debug) Also disabled function to debug this
+	function.
+	* opts.c (handle_options): Save the base name of the
+	compilation unit.
+
+	* langhooks-def.h (LANG_HOOKS_GENERIC_TYPE_P): Define.
+	(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add.
+	This hook indicates if a type is generic.  Set it by default
+	to "never generic".
+	* langhooks.h (struct lang_hooks_for_types): Add a new hook
+	to determine if a struct type is generic or not.
+	* cp/cp-tree.h (class_tmpl_impl_spec_p): Declare a C++ hook.
+	* cp/tree.c (class_tmpl_impl_spec_p): Implement the C++ hook.
+	* cp/cp-lang.c (LANG_HOOKS_GENERIC_TYPE_P): Override null C hook
+	with live C++ hook.
+
+	* flags.h (enum debug_info_usage): Add an enumeration to describe
+	a program's use of a structure type.
+	* dwarf2out.c (gen_struct_or_union_type_die): Add a new parameter
+	to indicate the program's usage of the type.  Filter structs based
+	on the -femit-struct-debug-... specification.
+	(gen_type_die): Split into two routines, gen_type_die and
+	gen_type_die_with_usage.  gen_type_die is now a wrapper
+	that assumes direct usage.
+	(gen_type_die_with_usage): Replace calls to gen_type_die
+	with gen_type_die_with_usage adding the program usage of
+	the referenced type.
+	(dwarf2out_imported_module_or_decl): Suppress struct debug
+	information using should_emit_struct_debug when appropriate.
+
+2007-04-16  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31522
+	* tree-vrp.c (vr_phi_edge_counts): New static variable.
+	(vrp_initialize): Allocate vr_phi_edge_counts.
+	(vrp_visit_phi_node): Don't push to infinity if we saw a new
+	executable edge.  Drop test for all constants.
+	(vrp_finalize): Free vrp_phi_edge_counts.
+
+	* doc/cpp.texi (Common Predefined Macros): Clarify description of
+	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
+
+	* tree-ssa-propagate.c (cfg_blocks_add): Insert blocks with fewer
+	predecessors at head rather than tail.
+
+2007-04-16  Matthias Klose  <doko@debian.org>
+
+	* config/alpha/linux.h (CPP_SPEC): Define.
+	* config/arm/linux-gas.h (SUBTARGET_CPP_SPEC): Extend.
+
+2007-04-16  Aldy Hernandez  <aldyh@redhat.com>
+
+	* function.h: Remove sequence_stack extern declaration.
+
+2007-04-16  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Change to 64 on
+	TARGET_FIDOA.
+	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Change to 64 if __mfido__ is
+	defined.
+
+2007-04-16  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_arch_types): Rearranging  array.
+	(enum avr_arch): Add.
+	(avr_mcu_types): Use avr_arch enumeration constants instead of
+	numbers.
+	* config/avr/avr.h (LINK_SPEC): Simplify.
+
+2007-04-16  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_libcall_value,
+	m68k_function_value): Use macros for register names more.
+
+	* config/m68k/m68k.h (FRAME_POINTER_REGNUM): Use A6_REG
+	instead.
+	(M68K_REGNAME): Use A6_REG.
+	* config/m68k/m68k.md (FP_REG): Rename to A6_REG.
+
+2007-04-16  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	PR middle-end/28071
+	* sched-int.h (struct deps): Split field 'pending_lists_length' into
+	'pending_read_list_length' and 'pending_write_list_length'.  Update
+	comment.
+	* sched-deps.c (add_insn_mem_dependence): Change signature.  Update
+	to handle two length counters instead of one.  Update all uses.
+	(flush_pending_lists, sched_analyze_1, init_deps): Update to handle
+	two length counters instead of one.
+	* sched-rgn.c (propagate_deps): Update to handle two length counters
+	instead of one.
+
+2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/31582
+	* config/i386/i386.c (ix86_expand_vec_set_builtin): Make a
+	copy of source, pass it to ix86_expand_vector_set and return
+	it as target.
+
+2007-04-16  David Ung  <davidu@mips.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/mips.h (PROCESSOR_74KC, PROCESSOR_74KF,
+	PROCESSOR_74KX, TUNE_74K, GENERATE_MADD_MSUB): Define.
+	* config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data):
+	Add 74K processor information.
+	* config/mips/mips.md: Include 74k.md.
+	(cpu): Add 74kc,74kf,74kx.
+	(ISA_HAS_MADD_MSUB): Change to GENERATE_MADD_MSUB throughout.
+	* config/mips/74k.md: New.
+	* doc/invoke.texi (MIPS Options): Document 74K support.
+
+2007-04-16  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to
+	vectorizable_* functions.
+	* tree-vect-transform.c (vectorizable_call): Add check for
+	STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P.
+	(vectorizable_store): likewise.
+	(vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE.
+	Add comments.
+	(vectorizable_operation, vectorizable_type_demotion): Likewise.
+	(vectorizable_type_promotion, vectorizable_load): Likewise.
+	(vectorizable_live_operation, vectorizable_condition): Likewise.
+	(vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and
+	STMT_VINFO_LIVE_P.
+	(vect_transform_stmt): Reorganize calls to vectorizable_* functions.
+
+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.
+
+2007-04-07  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/30289
+	* config/avr/avr.md (*clrmemqi, *clrmemhi): Mark operand 4 as
+	earlyclobber.
+
+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
+	  -Wformat setting.
+	(check_format_info_main): Check OPT_Wformat_contains_nul before emitting
+	the NUL byte warning.
+
+2007-04-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (ix86_handle_option): Handle SSSE3.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree.c (staticp): No longer use staticp langhook.
+	* langhooks.c (lhd_staticp): Removed.
+	* langhooks.h (struct lang_hooks): Remove staticp.
+	* c-common.c (c_staticp): Remove.
+	* c-common.h (c_staticp): Ditto.
+	* langhooks-defs.h (lhd_staticp): Ditto.
+	(LHD_HOOKS_STATICP): Ditto
+	* tree.h (gcc_assert_lowered): New macro.
+
+2007-04-06  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
+	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
+	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
+	and expected_loop_iterations_unbounded.
+	* cfgloopanal.c (expected_loop_iterations_unbounded): New function.
+	(expected_loop_iterations): Use expected_loop_iterations_unbounded.
+	* tree-data-ref.c (estimated_loop_iterations): Export.
+	(get_references_in_stmt): Fix -- do not return addresses of local
+	objects.
+	* cfgloop.h (expected_loop_iterations_unbounded,
+	estimated_loop_iterations): Declare.
+
+2007-04-06  Andreas Tobler  <a.tobler@schweiz.org>
+
+	* tree-sra.c (sra_build_elt_assignment): Initialize min/maxshift.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (extend<mode>xf2): Rename from extendsfxf2
+	and extenddfxf2. Macroize expander using X87MODEF12 mode macro.
+	(*truncdfsf_mixed, *truncdfsf_i387, *truncdfsf2_i387_1):
+	Use output_387_reg_move().
+	(*truncxf<mode>2): Rename from *truncxfsf2 and truncxfdf2. Macroize
+	expander using X87MODEF12 mode macro.
+	(*truncxfsf2_mixed): Combine alternatives, ignore "r" alternative when
+	choosing register preferences.  Use output_387_reg_move().
+	(*truncxfdf2_mixed): Combine alternatives, use "r" alternative
+	instead of "x".  Use output_387_reg_move().
+	(*truncxf<mode>2_i387_noop): Rename from *truncxfsf2_i387_noop and
+	*truncxfdf2_i387_noop.  Macroize insn using X87MODEF12 mode macro.
+	(*truncxf<mode>2_i387): Rename from *truncxfsf2_i387 and
+	*truncxfdf2_i387.  Macroize insn using X87MODEF12 mode macro.
+	Use output_387_reg_move().
+	(*truncxf?f_mixed splitter): Macroize splitter using X87MODEF12
+	mode macro.
+	(*truncxf?f_i387 splitter): Ditto.
+
+2007-04-06  Daniel Berlin  <dberlin@dberlin.org>
+
+	* langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+	LANG_HOOKS_SAFE_FROM_P.
+	* expr.c (safe_from_p): Remove langhook call.
+	* 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
+	functions.
+
+2007-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (output_387_reg_move): Handle memory operand[0].
+	* config/i386/i386.md (*movsf_1, *movdf_nointeger,
+	*movdf_integer_rex64, *movdf_integer, *movxf_nointeger,
+	*movxf_integer): Use output_387_reg_move() for x87 reg->mem
+	alternative.
+	(*extendsfdf2_mixed, *extendsfdf2_i387, *extendsfxf2_i387,
+	*extenddfxf2_i387, *truncdfsf_fast_mixed): Ditto.
+
+2007-04-05  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.c (print_operand) [+]: Remove.
+	(alpha_end_function): Print nop if call at end of function.
+	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Remove +.
+	* config/alpha/alpha.md (UNSPEC_LDGP1): New.
+	(call_osf_1_er_noreturn, call_value_osf_1_er_noreturn): New.
+	(call_osf_2_er_nogp, call_value_osf_2_er_nogp): New.
+	(call_osf_2_er, call_value_osf_2_er): Merge the ldgp highpart into
+	the call pattern. Update peepholes to match.
+
+2007-04-05  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/extend.texi (Other Builtins): Add decimal float variants
+	of signbit.
+	* builtins.def: Ditto.
+	* builtins.c (expand_builtin): Ditto.
+
+2007-04-05  Uros Bizjak  <ubizjak@gmail.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	PR target/31478
+	* config/i386/sse.md (sse2_umulv2siv2di3): Use V4SImode instead
+	of V8HImode when calling ix86_binary_operator_ok.
+	(sse2_pmaddwd): Call ix86_binary_operator_ok.
+	(sdot_prodv8hi): Operands 1 and 2 must be register.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-sra.c (try_instantiate_multiple_fields): Needlessly
+	initialize align to silence bogus warning.
+
+2007-04-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR middle-end/22156
+	* tree-sra.c (struct sra_elt): Add in_bitfld_block.  Remove
+	all_no_warning.
+	(struct sra_walk_fns): Remove use_all parameter from use.
+	(sra_hash_tree): Handle BIT_FIELD_REFs.
+	(sra_elt_hash): Don't hash bitfld blocks.
+	(sra_elt_eq): Skip them in parent compares as well.  Handle
+	BIT_FIELD_REFs.
+	(sra_walk_expr): Don't maintain or pass down use_all_p.
+	(scan_use): Remove use_all parameter.
+	(scalarize_use): Likewise.  Re-expand assignment to
+	BIT_FIELD_REF of gimple_reg.  De-scalarize before input or
+	output, and re-scalarize after output.  Don't mark anything
+	for no warning.
+	(scalarize_ldst): Adjust.
+	(scalarize_walk_gimple_modify_statement): Likewise.
+	(build_element_name_1): Handle BIT_FIELD_REFs.
+	(instantiate_element): Don't warn for any element whose parent
+	is used as a whole.
+	(instantiate_missing_elements_1): Return the sra_elt.
+	(canon_type_for_field): New.
+	(try_instantiate_multiple_fields): New.
+	(instantiate_missing_elemnts): Use them.
+	(mark_no_warning): Removed.
+	(generate_one_element_ref): Handle BIT_FIELD_REFs.
+	(REPLDUP, sra_build_elt_assignment): New.
+	(generate_copy_inout): Use them.
+	(generate_element_copy): Likewise.  Handle bitfld differences.
+	(generate_element_zero): Don't recurse for blocks.  Use
+	sra_build_elt_assignment.
+	(generate_one_element_int): Take elt instead of var.  Use
+	sra_build_elt_assignment.
+	(generate_element_init_1): Adjust.
+	(scalarize_use, scalarize_copy): Use REPLDUP.
+	(scalarize_ldst): Move assert before dereference.
+	(dump_sra_elt_name): Handle BIT_FIELD_REFs.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* regmove.c: Fix unused variable warnings due to previous commit.
+
+2007-04-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* regmove.c (STACK_GROWS_DOWNWARD): Don't boolean-ize.
+	(regmove_bb_head): Remove.
+	(copy_src_to_dest): Don't update regmove_bb_head and BB_HEAD.
+	(regmove_optimize): Don't do unnecessary CFG fixes for non-existing
+	problems with fixup_match_1.
+	Don't initialize/free regmove_bb_head.
+
+	(reg_is_remote_constant_p): If an insn is in the same basic block
+	but not before INSN, consider it remote, too.
+
+2007-04-05  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/25448
+	* 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>
+
+	* config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Reformat.
+	(CONDITIONAL_REGISTER_USAGE): Likewise.
+
+2007-04-04  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/lib1funcs.asm: Remove unused file.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	PR other/31356
+	* opts.c (print_specific_help): Fix --help=<language>
+	header line.
+	(common_handle_option): Support --help=common.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	PR other/31353
+	* gcc.c (main): Do not run the linker if
+	print_subprocess_help indicates that it shouldn't be
+	run.
+
+2007-04-04  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	PR doc/31355
+	* doc/invoke.texi (--help=): Document <languages> value, fix
+	formatting in tables of values.
+
+2007-04-04  Danny Smith  <dannysmith.users.sourceforge.net>
+
+	* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Don't ignore
+	dllimport attribute of virtual methods.
+
+2007-04-04  Chen Liqin  <liqin@sunnorth.com.cn>
+
+	* config/score/crti.asm: Change _bss_start to __bss_start.
+	* config/score/score.h (CONDITIONAL_REGISTER_USAGE): Added.
+	(OUTGOING_REG_PARM_STACK_SPACE) update.
+	* config/score/score.opt: add options to make backend support
+	score5, score5u, score7 and score7d.
+	* config/score/score.md: Likewise.
+	* config/score/misc.md: Likewise.
+	* config/score/mac.md: Likewise.
+	* doc/invoke.texi: Likewise.
+	* doc/md.texi: update constraints define.
+
+2007-04-03  Richard Henderson  <rth@redhat.com>
+
+	* expr.c (store_expr): If get_signed_or_unsigned_type doesn't yield
+	an appropriate type, use the mode instead.
+
+2007-04-03  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (mips-wrs-vxworks): Add vx-common.h to tm_file.
+	Set the default --with-arch setting to mips2.
+	* config/mips/t-vxworks (MULTILIB_OPTIONS, MULTILIB_MATCHES)
+	(MULTILIB_EXCEPTIONS): Redefine with new multilibs.
+	(MULTILIB_OSDIRNAMES): Delete.
+	(MULTILIB_DIRNAMES): Define.
+	* config/mips/vxworks.h (LINK_SPEC): Add VXWORKS_LINK_SPEC.
+	(LIB_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Define.
+	(TARGET_OS_CPP_BUILTINS): Incorporate old SUBTARGET_CPP_SPEC
+	definitions, except for _WRS_R3K_EXC_SUPPORT.  Call
+	VXWORKS_OS_CPP_BUILTINS.
+	(SUBTARGET_CPP_SPEC): Redefine to VXWORKS_ADDITIONAL_CPP_SPEC.
+	(MIPS_DEBUGGING_INFO): Undefine.
+	(FUNCTION_PROFILER): Define to VXWORKS_FUNCTION_PROFILER.
+
+2007-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/30704
+	* fold-const.c (native_encode_real): Encode real.c provided longs
+	as a series of 32-bit native integers.
+	(native_interpret_real): Interpret buffer as a series of 32-bit
+	native integers.
+
+2007-04-03  Richard Guenther  <rguenther@suse.de>
+
+	* genpreds.c (write_insn_constraint_len): Write function
+	optimized for CONSTRAINT_LEN implementation.
+	(write_tm_preds_h): Output insn_constraint_len inline and
+	use it for CONSTRAINT_LEN.
+	(write_insn_preds_c): Don't output insn_constraint_len.
+	* doc/md.texi (define_register_constraint): Document multi-letter
+	constraints shall have the same length if they start with the same
+	letter.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31175
+	* config/i386/i386.md (isinf<mode>2): Expand only when
+	TARGET_C99_FUNCTIONS is set.
+
+2007-04-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config.gcc (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
+	(x86_64-*-linux*): Ditto.
+	* config/i386/i386.opt (mpc): New option.
+	* config/i386/i386.c (overrride_options): Handle
+	ix87_precision_string.
+	* config/i386/crtprec.c: New file.
+	* config/i386/t-crtpc: Ditto.
+	* config/i386/linux.h (ENDFILE_SPEC): Add handling of -mpc32, -mpc64
+	and -mpc80 options.
+	* config/i386/linux64.h (ENDFILE_SPEC): Ditto.
+	* config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Add
+	crtprec32.o, crtprec64.o and crtprec80.o.
+
+	* doc/invoke.texi (Machine Dependent Options): Add -mpc32, -mpc64
+	and -mpc80 options.
+	(i386 and x86-64 Options): Document -mpc32, -mpc64 and -mpc80 options.
+
+2007-04-02  Eric Christopher  <echristo@apple.com>
+
+	* doc/invoke.texi (i386 and x86-64 Options): Document -m64
+	limitations on darwin.
+
+2007-04-02  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/31137
+	* config/avr/avr.c (avr_rtx_costs): Add missing 'break' statements.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+	* doc/tm.texi (FUNCTION_MODE): Update and extend documentation.
+
+2007-04-02  Dave Korn  <dave.korn@artimi.com>
+
+	* libgcc2.h (exception_descriptor): Don't forward-declare.
+	(__get_eh_table_language, __get_eh_table_version): Delete
+	prototypes of long-dead functions.
+
+2007-04-01  Daniel Berlin  <dberlin@dberlin.org>
+
+	* ebitmap.h: New file
+	* ebitmap.c: New file
+	* Makefile.in (ebitmap.o): New target.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+	* emit-rtl.c (emit_insn_before_setloc): Do not ICE when asked to emit
+	before very first instruction.
+
+2007-04-01  Jan Hubicka  <jh@suse.cz>
+
+	* ggc-page.c (ggc_print_statistics): Fix formatting string to avoid
+	waring on 64bit hosts.
+	* bitmap.h: Fix typo in bitmap_head_def.
+
+2007-04-01  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR rtl-optimization/31391
+	* cfgcleanup.c (try_optimize_cfg): If a removed label is turned
+	into a DELETED_LABEL note, and the label is in an empty basic
+	block, update BB_END as well as BB_HEAD.
+
+2007-04-01  Richard Henderson  <rth@redhat.com>
+
+	PR tree-optimization/31169
+	* tree-vrp.c (extract_range_from_binary_expr) <RSHIFT_EXPR>: Drop
+	to varying if the range is outside [0,  prec-1].
+
+2007-04-01  Richard Sandiford  <richard@codesourcery.com>
+
+	PR target/31388
+	* config/mips/mips.md (load_const_gp): New insn.
+	* config/mips/mips.c (mips_split_symbol): Avoid using or creating
+	the MIPS16 GP pseudo register if no_new_pseudos.
+	(mips16_gp_pseudo_reg): Use gen_load_const_gp.
+
+2007-03-31  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR target/31364
+	* config/rs6000/rs6000.md (call): Convert to LR hard reg for
+	secureplt.
+	(call_value): Likewise.
+
+2007-03-31  Wolfgang Bangerth  <bangerth@dealii.org>
+	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR 14737
+	* doc/invoke.texi: (optimization options): Reword description
+	of -ffast-math. Document its primary purpose.
+
+2007-03-31  Richard Guenther  <rguenther@suse.de>
+
+	* omp-low.c (splay-tree.h): Include.
+	(lookup_decl): Replace splay-tree usage by pointer-map.
+	(maybe_lookup_decl): Likewise.
+	(new_omp_context): Likewise.
+	(delete_omp_context): Likewise.
+	* gimplify.c (splay-tree.h): Include.
+	* tree-inline.c (insert_decl_map): Replace splay-tree usage by
+	pointer-map.
+	(remap_ssa_name): Likewise.
+	(remap_decl): Likewise.
+	(remap_type_1): Likewise.
+	(remap_type): Likewise.
+	(copy_body_r): Likewise.
+	(expand_call_inline): Likewise.
+	(clone_body): Likewise.
+	(copy_tree_r): Likewise.
+	(remap_save_expr): Likewise.
+	(unsave_r): Likewise.
+	(unsave_expr_now): Likewise.
+	(tree_function_versioning): Likewise.
+	(build_duplicate_type): Likewise.
+	* tree-inline.h (pointer-set.h): Include instead of splay-tree.h.
+	(struct copy_body_data): Replace splay-tree by pointer-map.
+	* Makefile.in (TREE_INLINE_H): Depend on pointer-map.h,
+	not $(SPLAY_TREE_H).
+	(gimplify.o): Depend on $(SPLAY_TREE_H).
+	(omp-low.p): Likewise.
+
+2007-03-31  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/predicates.md (even_register_operand,
+	odd_register_operand): New predicates.
+	* config/avr/avr.md (movw peephole2): New.
+	(movw_r peephole2): New.
+
+2007-03-30  Rafael Avila de Espindola  <espindola@google.com>
+
+	* tree.h (get_signed_or_unsigned_type): New.
+	* fold-const.c (operand_equal_for_comparison_p): Use
+	get_signed_or_unsigned_type instead of
+	lang_hooks.types.signed_or_unsigned_type.
+	* expr.c (store_expr): Ditto.
+	* langhooks.c (get_signed_or_unsigned_type): New.
+	(lhd_signed_or_unsigned_type): New.
+	* langhooks.h (lhd_signed_or_unsigned_type): New.
+	* langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Define.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+
+	* tree-ssa-loop-ivopts.c: Include target.h.
+	(produce_memory_decl_rtl): Pass the rtx through encode_section_info.
+	(get_address_cost): Force SYMBOL_FLAG_LOCAL set.
+	(force_expr_to_var_cost): Use produce_memory_decl_rtl.
+	* Makefile.in (tree-ssa-loop-ivopts.o): Depend on TARGET_H.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+	    Kai Tietz  <kai.tietz@onevision.com>
+
+	* config/i386/cygming.h (DWARF2_DEBUGGING_INFO): Enable by
+	default for 64-bit.
+	(PREFERRED_DEBUGGING_TYPE): Prefer dwarf2 for 64-bit.
+	(TARGET_64BIT_MS_ABI): New.
+	(DBX_REGISTER_NUMBER): Handle 64-bit.
+	(SIZE_TYPE, PTRDIFF_TYPE): Use long long for 64-bit.
+	(LONG_TYPE_SIZE): Force to 32.
+	(REG_PARM_STACK_SPACE): New.
+	(OUTGOING_REG_PARM_STACK_SPACE): New.
+	(REGPARM_MAX, SSE_REGPARM_MAX): New.
+	(HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+	(STACK_BOUNDARY): Use 128 for 64-bit.
+	* config/i386/cygwin.asm: Use push/ret to preserve call stack.
+	Add 64-bit implementation.
+	* config/i386/gthr-win32.c (__gthr_win32_key_create): Mark dtor
+	argument unused.
+	* config/i386/i386.c (x86_64_ms_abi_int_parameter_registers): New.
+	(override_options): Set ix86_cmodel for TARGET_64BIT_MS_ABI.
+	Warn for -mregparm, -mrtd in 64-bit mode; force ix86_regparm
+	for 64-bit; use TARGET_SUBTARGET64_DEFAULT.
+	(ix86_handle_cconv_attribute): Don't warn when ignoring if
+	TARGET_64BIT_MS_ABI.
+	(ix86_function_arg_regno_p): Handle TARGET_64BIT_MS_ABI.
+	(ix86_pass_by_reference): Likewise.
+	(ix86_function_value_regno_p): Likewise.
+	(ix86_build_builtin_va_list): Likewise.
+	(ix86_va_start, ix86_gimplify_va_arg): Likewise.
+	(function_arg_advance_ms_64): New.
+	(function_arg_advance): Call it.
+	(function_arg_ms_64): New.
+	(function_arg): Call it.
+	(function_value_ms_64): New.
+	(ix86_function_value_1): Call it.
+	(return_in_memory_ms_64): New.
+	(ix86_return_in_memory): Call it.
+	(setup_incoming_varargs_ms_64): New.
+	(ix86_setup_incoming_varargs): Call it.
+	(ix86_expand_prologue): Handle 64-bit stack probing.
+	(legitimize_pic_address): Handle TARGET_64BIT_MS_ABI.
+	(output_pic_addr_const): Likewise.
+	(x86_this_parameter): Likewise.
+	(x86_output_mi_thunk): Likewise.
+	(x86_function_profiler): Likewise.
+	(TARGET_STRICT_ARGUMENT_NAMING): New.
+	* config/i386/i386.h (TARGET_SUBTARGET64_DEFAULT): New.
+	(TARGET_64BIT_MS_ABI): New.
+	(CONDITIONAL_REGISTER_USAGE): Handle TARGET_64BIT_MS_ABI.
+	* config/i386/i386.md (allocate_stack_worker): Remove.
+	(allocate_stack_worker_32): Rename from allocate_stack_worker_1;
+	describe the clobber of eax without a match_scratch.
+	(allocate_stack_worker_postreload): Remove.
+	(allocate_stack_worker_64): Rename from allocate_stack_worker_rex64;
+	describe the clobbers of rax, r10, r11 properly; use __chkstk symbol.
+	(allocate_stack_worker_rex64_postreload): Remove.
+	(allocate_stack): Handle 64-bit.
+	* config/i386/i386elf (TARGET_SUBTARGET_DEFAULT): Remove.
+	* config/i386/mingw32.h (TARGET_VERSION): Set correctly for 64-bit.
+	(EXTRA_OS_CPP_BUILTINS): Handle 64-bit.
+	(STANDARD_INCLUDE_DIR): Handle TARGET_64BIT_DEFAULT.
+	(STANDARD_STARTFILE_PREFIX_1): Likewise.
+	* config/i386/unix.h (TARGET_SUBTARGET64_DEFAULT): New.
+	* config.build (x86_64-*-mingw*): New host.
+	* config.host (x86_64-*-mingw*): New host.
+	* config.gcc (x86_64-*-mingw*): New target.
+	* gthr-win32.h (__gthread_key_create): Mark dtor unused.
+
+2007-03-30  Richard Henderson  <rth@redhat.com>
+	    Kai Tietz  <kai.tietz@onevision.com>
+
+	* c-pragma.c (struct def_pragma_macro_value): New.
+	(struct def_pragma_macro): New.
+	(pushed_macro_table): New.
+	(dpm_hash, dpm_eq): New.
+	(handle_pragma_push_macro, handle_pragma_pop_macro): New.
+	(init_pragma): Install them.
+	* doc/tm.texi (HANDLE_PRAGMA_PUSH_POP_MACRO): New.
+
+2007-03-30  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_override_options): Clear
+	'flag_delete_null_pointer_checks'.
+
+2007-03-30  Paolo Carlini  <pcarlini@suse.de>
+
+	PR c++/26099
+	* c-common.h (enum rid): Add RID_HAS_NOTHROW_ASSIGN,
+	RID_HAS_NOTHROW_CONSTRUCTOR, RID_HAS_NOTHROW_COPY,
+	RID_HAS_TRIVIAL_ASSIGN, RID_HAS_TRIVIAL_CONSTRUCTOR,
+	RID_HAS_TRIVIAL_COPY, RID_HAS_TRIVIAL_DESTRUCTOR,
+	RID_HAS_VIRTUAL_DESTRUCTOR, RID_IS_ABSTRACT, RID_IS_BASE_OF,
+	RID_IS_CONVERTIBLE_TO, RID_IS_CLASS, RID_IS_EMPTY, RID_IS_ENUM,
+	RID_IS_POD, RID_IS_POLYMORPHIC, RID_IS_UNION, as
+	C++ extensions.
+	* doc/extend.texi (Extensions to the C++ Language): Add Type Traits.
+
+2007-03-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* regmove.c: Move all of pass_stack_adjustments from here...
+	* combine-stack-adj.c: ...to this new file.
+	* Makefile.in: Add rules for combine-stack-adj.o.
+
+2007-03-30  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/31383
+	* tree-data-ref.c (affine_function_equal_p): Do not require the
+	vectors to have the same length.
+
+2007-03-30  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/30700
+	* dwarf2out.c (reference_to_unused): Ask cgraph for functions
+	availablility; add more sanity checking; ask varpool only about
+	VAR_DECL.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+	* unwind-generic.h (_sleb128_t, _uleb128_t): Don't use HAVE_LONG_LONG
+	to decide, but __SIZEOF_LONG_LONG__.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+	* emutls.c (struct __emutls_array): New.
+	(emutls_destroy): Use it instead of casting element 0 from void*.
+	(__emutls_get_address): Likewise.
+
+2007-03-29  Richard Henderson  <rth@redhat.com>
+
+	* varasm.c (initializer_constant_valid_p): Don't deny
+	DECL_DLLIMPORT_P on functions.
+
+	* config/i386/cygming.h: Remove function declarations.
+	(SUBTARGET_ENCODE_SECTION_INFO): Don't undef first.
+	(ASM_OUTPUT_LABELREF): Remove.
+	(COMMON_ASM_OP): Remove.
+	(ASM_OUTPUT_COMMON): Remove.
+	(ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
+	(ASM_DECLARE_OBJECT_NAME): Use i386_pe_maybe_record_exported_symbol.
+	(ASM_DECLARE_FUNCTION_NAME): Likewise.
+	* config/i386/i386-interix.h (SUBTARGET_ENCODE_SECTION_INFO):
+	Rename from TARGET_ENCODE_SECTION_INFO.
+	* config/i386/netware.h: Likewise.
+	* config/i386/i386-protos.h: Update.
+	* config/i386/i386.c (ix86_function_ok_for_sibcall): Turn ifdef
+	of TARGET_DLLIMPORT_DECL_ATTRIBUTES into straight if.
+	(legitimate_constant_p): Reject dllimports.
+	(dllimport_map, get_dllimport_decl): New.
+	(legitimize_dllimport_symbol): New.
+	(legitimize_address, ix86_expand_move): Use it.
+	(TARGET_BINDS_LOCAL_P): Redefine for TARGET_DLLIMPORT_DECL_ATTRIBUTES.
+	* config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Remove.
+	(SYMBOL_FLAG_DLLIMPORT, SYMBOL_REF_DLLIMPORT_P): New.
+	(SYMBOL_FLAG_DLLEXPORT, SYMBOL_REF_DLLEXPORT_P): New.
+	* config/i386/predicates.md (constant_call_address_operand): Only
+	accept symbols; reject dllimport_p symbols.
+	* config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Use
+	i386_pe_maybe_record_exported_symbol.
+	* config/i386/winnt.c (DLL_IMPORT_PREFIX, DLL_EXPORT_PREFIX): Remove.
+	(i386_pe_determine_dllexport_p): Rename from i386_pe_dllexport_p.
+	(i386_pe_determine_dllimport_p): Rename from i386_pe_dllimport_p;
+	trust the setting of DECL_DLLIMPORT_P.
+	(i386_pe_dllexport_name_p, i386_pe_dllimport_name_p): Remove.
+	(i386_pe_mark_dllexport, i386_pe_mark_dllimport): Remove.
+	(gen_stdcall_or_fastcall_suffix): Return NULL if no change required;
+	tidy the argument scanning loop.
+	(i386_pe_encode_section_info): Set SYMBOL_FLAG_DLLIMPORT and
+	SYMBOL_FLAG_DLLEXPORT in SYMBOL_REF_FLAGS.
+	(i386_pe_strip_name_encoding): Remove.
+	(i386_pe_binds_local_p): New.
+	(i386_pe_strip_name_encoding_full): Use default_strip_name_encoding.
+	(i386_pe_output_labelref): Remove.
+	(i386_pe_asm_output_aligned_decl_common): New.
+	(i386_pe_maybe_record_exported_symbol): Rename from
+	i386_pe_record_exported_symbol; check for dllexported symbols.
+
+2007-03-29  Zack Weinberg  <zack@mrtock.ucsd.edu>
+
+	* gengtype.c (oprintf): Mostly revert changes from 2007-03-26;
+	add comment explaining why vsnprintf cannot be used.
+
+2007-03-29  Douglas Gregor  <doug.gregor@gmail.com>
+
+	PR tree-optimization/30666
+	* tree.c (build_complex_type): When creating type names for DWARF2
+	debug info, create TYPE_DECLs for TYPE_NAME instead of
+	IDENTIFIER_NODEs.
+	(build_common_tree_nodes_2): Use build_complex_type when building
+	predefined complex types, to preserve canonical types.
+
+2007-03-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* ifcvt.c (struct noce_if_info): Add then_else_reversed field.
+	(noce_get_alt_condition): Look at it to determine whether to
+	reverse the condition or not.
+	(noce_get_condition): Substitute the truth for lies.
+	(noce_find_if_block): Set the then_else_reversed field.
+
+2007-03-29  Lars Poeschel <larsi@wh2.tu-dresden.de>
+
+	* config/fr30/fr30.md (movdi): Do not accept immediates as the
+	destination of this insn.
+	* config/fr30/fr30.c (fr30_move_double): Use emit_move_insn rather
+	than calling gen_rtx_SET directly.  Use r0 to hold the value of
+	'address + 4' rather than a stack based temporary which can be
+	mis-optimized away.
+
+2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (s390_secondary_input_reload_class,
+	s390_secondary_output_reload_class): Functions removed.
+	(s390_secondary_reload): New function.
+	(TARGET_SECONDARY_RELOAD): Target macro defined.
+	* config/s390/s390.h (SECONDARY_INPUT_RELOAD_CLASS,
+	SECONDARY_OUTPUT_RELOAD_CLASS): Macro definitions removed.
+	* config/s390/s390.md ("reload_outti", "reload_outdi",
+	"reload_indi", "reload_insi", "reload_out<mode>", "reload_in<mode>",
+	"reload_out<mode>"): Expanders removed.
+	("reload<mode>_plus", "reload<mode>_nonoffmem_in",
+	"reload<mode>_nonoffmem_out"): Expanders added.
+
+2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair
+	action if SRC->DEST replacement failed anyway.
+
+2007-03-28  Mike Stump  <mrs@apple.com>
+
+	* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
+	* config/darwin.h (MAX_OFILE_ALIGNMENT): Fix.
+	* config/rs6000/darwin.h (ASM_OUTPUT_ALIGNED_COMMON): Removed #undef.
+
+2007-03-28  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+
+	* config.gcc: Accept barcelona as a variant of amdfam10.
+	* config/i386/i386.c (override_options): Likewise.
+	* doc/invoke.texi: Likewise.
+
+2007-03-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-dfa.c (get_ref_base_and_extent): Do not expect positive
+	offsets for BIT_FIELD_REF and COMPONENT_REF.
+
+2007-03-28  Richard Guenther  <rguenther@suse.de>
+
+	* tree.c (is_global_var): Move ...
+	* tree-flow-inline.h (is_global_var): ... here.
+	* tree.h (is_global_var): Remove declaration.
+
+2007-03-28  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (X86_TUNE_PROMOTE_HIMODE_IMUL): New tuning
+	option.
+	(TARGET_TUNE_PROMOTE_HIMODE_IMUL): New define. Use new tuning option.
+	* config/i386/i386.c (ix86_tune_features): Initialize new
+	tuning option.
+	* config/i386/predicates.md (promotable_binary_operator): Use
+	TARGET_TUNE_PROMOTE_HIMODE_IMUL.
+
+2007-03-28  Grigory Zagorodnev <grigory_zagorodnev@linux.intel.com>
+
+	PR target/31380
+	* config/i386/sse.md (uminv16qi3): Use UMIN instead of UMAX.
+
+2007-03-28  Lars Poeschel <larsi@wh2.tu-dresden.de>
+
+	* config/fr30/fr30.md (movsi_internal): Change destination
+	constraint from m to V and add m to the end.
+
+2007-03-28  Christian Bruel  <christian.bruel@st.com>
+
+	* config/sh/sh.md (movsi_i): Fix type attribute.
+
+2007-03-28  Christian Bruel  <christian.bruel@st.com>
+
+	* config/sh/sh.md (movsi_ie): Fix memory constraints attribute length.
+	(movsf_ie): Likewise.
+
+2007-03-28  Christian Bruel  <christian.bruel@st.com>
+
+	* config.gcc: Add sh4-300 to multilib.
+	* config/sh/t-mlib-sh4-300: New file.
+
+2007-03-28  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md ("fix_trunc<mode>di2"): New expander.
+	("fix_trunc<DFP:mode>di2_dfp"): New insn definition renamed from
+	fix_trunc<mode>di2.
+	("fixuns_truncdddi2", "fixuns_trunctddi2"): Use
+	fix_trunc<DFP:mode>di2_dfp instead of fix_trunc<mode>di2.
+	("fix_truncdfsi2", "fix_truncsfsi2", "fixuns_truncdddi2",
+	"fixuns_trunctddi2"): Whitespace fix.
+
+2007-03-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.h (CALL_COOKIE_RET_TRAMP_SHIFT): Move after
+	the definition of struct sh_args.
+	(CALL_COOKIE_RET_TRAMP, CALL_COOKIE_STACKSEQ_SHIFT,
+	CALL_COOKIE_INT_REG_GET): Likewise.
+
+2007-03-28  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* ifcvt.c (cond_exec_find_if_block): Return FALSE if no
+	transformations are applied successfully.
+
+2007-03-27  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* tree.c (tree_contains_struct): Permit 512 tree codes.
+	* tree.h (tree_contains_struct): Ditto.
+	(MAX_TREE_CODES): Ditto.
+	(struct tree_base): Make CODE 16 bits, instead of 8 bits. Add
+	SPARE member to store remaining padding bits.
+
+2007-03-27  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_mcu_types): Move at90usb82 device to 'avr4'
+	architecture.
+
+2007-03-27  Janis Johnson  <janis187@us.ibm.com>
+
+	* configure.ac: Fix assembler test for powerpc*-linux decimal float.
+	* configure: Regenerate.
+
+	* configure: Regenerate using the correct version of autoconf.
+
+2007-03-27  Anatoly Sokolov  <aesok@post.ru>
+
+	* config/avr/avr.c (avr_hard_regno_mode_ok): Disallow QImode in stack
+	pointer regs.
+	* config/avr/avr.h (REGISTER_NAMES): Rename "__SPL__" and "__SPH__"
+	regs to "__SP_L__" and "__SP_H__".
+
+2007-03-27  Richard Guenther  <rguenther@suse.de>
+
+	* tree-dfa.c (get_ref_base_and_extent): Replace bit_offset and
+	computations with it with a HOST_WIDE_INT variable.
+
+2007-03-26  Mike Stump  <mrs@apple.com>
+
+	* config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Add
+	objective-c-header, objective-c++-header and objc++-cpp-output
+	support.
+	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
+
+2007-03-26  Richard Henderson  <rth@redhat.com>
+
+	PR target/31361
+	* config/i386/i386.c (IX86_BUILTIN_PSLLDQ128, IX86_BUILTIN_PSLLW128,
+	IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128, IX86_BUILTIN_PSRAW128,
+	IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128, IX86_BUILTIN_PSRLD128,
+	IX86_BUILTIN_PSRLQ128): New.
+	(ix86_init_mmx_sse_builtins): Add them.
+	(ix86_expand_builtin): Expand them.
+	* config/i386/sse.md (ashr<mode>3, lshr<mode>3, ashl<mode>3): Make
+	operand 2 be TImode.
+	* config/i386/emmintrin.h (_mm_slli_epi64, _mm_srai_epi16,
+	_mm_srai_epi32, _mm_srli_epi16, _mm_srli_epi32,
+	_mm_srli_epi64): Mark __B const.
+	(_mm_srli_si128, _mm_srli_si128): Fix disabled inline versions.
+	(_mm_sll_epi16, _mm_sll_epi32, _mm_sll_epi64, _mm_sra_epi16,
+	_mm_sra_epi32, _mm_srl_epi16, _mm_srl_epi32, _mm_srl_epi64): Use
+	new two-vector shift builtins.
+
+2007-03-26  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31345
+	* tree-vrp.c (extract_range_from_binary_expr): Turn ranges like
+	[+INF, +INF(OVF)] into VARYING.
+
+2007-03-26  Zack Weinberg  <zackw@panix.com>
+
+	* gengtype-parse.c: New file.
+	* gengtype-yacc.y: Delete.
+	* gengtype-lex.l: Don't include gengtype-yacc.h.
+	Define YY_DECL and yyterminate appropriately for recursive
+	descent parser.  yylval is now a string out-parameter to yylex.
+	(HWS, EOID): New shorthand.
+	(IWORD): Add a couple more types.
+	(yylex): Add a setup stanza.  Remove the complex rules for
+	detecting GTY'ed types and typedefs; replace with simple
+	keyword detectors.  Adjust everything for the changed
+	definition of yylval.  Ignore all pp-directives, not just #define.
+	(yyerror): Delete.
+	(parse_file): Rename yybegin; do not call yyparse.
+	(yyend): New.
+	* gengtype.c (xasprintf): Export again.
+	(this_file): New.  Use everywhere __FILE__ was being used.
+	(get_lang_bitmap): Special case types defined in gengtype.c.
+	(do_typedef, new_structure): Suppress definition of certain types.
+	(new_structure): Improve diagnostics of duplicate definitions.
+	Make sure location_s is associated with input.h.
+	(nreverse_pairs, define_location_structures): New functions.
+	(main): Improve tagging of kludge types.  Remove old kludges
+	for input.h types; use define_location_structures.
+	* gengtype.h: Update prototypes.  Define token codes here.
+	* Makefile.in: Remove all references to gengtype-yacc.
+	Add rules for gengtype-parse.o.  Adjust rules for gengtype-lex.o
+	and gengtype.
+	* bitmap.h (struct bitmap_head_def): Coalesce definitions,
+	add GTY((skip)) to the field that's only conditionally there.
+	* doc/install.texi: Document that Bison is no longer required
+	unless building treelang.
+
+	* gengtype.c: Don't include gtyp-gen.h.
+	(srcdir): Declare here.
+	(base_files, lang_dir_names): Allocate dynamically.
+	(gt_files, num_gt_files, num_lang_dirs): New globals.
+	(measure_input_list, read_input_line, read_input_list)
+	(set_lang_bitmap): New functions.
+	(get_base_file_bitmap): Rename get_lang_bitmap and drastically
+	simplify, relying on read_input_list to set up the bitmaps.
+	(main): Arguments are no longer unused.  Check for correct number
+	of command line arguments, set srcdir and srcdir_len, then call
+	read_input_list, before doing anything else.  No need to worry
+	about duplicates in main loop.
+	* configure.ac: Simplify the calculation of all_gtfiles.
+	Put language tags in there.  Don't set or substitute
+	all_gtfiles_files_langs or all_gtfiles_files_frags.
+	* Makefile.in: Revamp the way gengtype is invoked, now that it
+	takes a file on its command line with a much simpler format.
+	Remove or replace with gtyp-input.list all references to gtyp-gen.h.
+	(GTFILES): Remove duplicates and C source files.
+	* c-config-lang.in, cp/config-lang.in, objc/config-lang.in
+	* objcp/config-lang.in: Add c-pragma.h to gtfiles.
+	* configure: Regenerate.
+
+	* gengtype.h: Remove all type definitions to gengtype.c; leave
+	only definitions of options_p, type_p, and pair_p as opaque
+	pointers.  Update prototypes.
+	* gengtype.c: Many type definitions moved here from gengtype.h.
+	Consolidate type definitions at the top of the file.
+	(xvasprintf): Delete.
+	(xasprintf): Make static.
+	(create_nested_pointer_option): Add 'next' parameter.
+	(create_field_all, create_field_at): New functions.
+	(create_field): Now a thin wrapper around create_field_all.
+	(create_optional_field): Rename create_optional_field_ and add
+	line argument.  Original name is now a macro which supplies
+	__LINE__.
+	(oprintf): Use vsnprintf directly.
+	(close_output_files): Use fatal rather than perror/exit.
+	(note_def_vec, note_def_vec_alloc): Use create_field_at.
+	(main): Set progname.  Don't use exit.
+	* gengtype-yacc.y (struct_fields): Use create_field_at.
+	(option, optionseqopt): Delete.
+	(optionseq): Consolidate productions from option here so we
+	can use the first argument to create_option.
+
+	* gengtype-lex.l: Distinguish unions from structures in the
+	token type.  Don't call find_structure; return the tag as a string.
+	* gengtype-yacc.y: Add new token types ENT_TYPEDEF_UNION and
+	ENT_UNION.  Type of these, ENT_TYPEDEF_STRUCT, and ENT_STRUCT is
+	string.  Reorganize typedef_struct production accordingly.
+	Use create_nested_ptr_option.
+	* gengtype.c (create_nested_ptr_option): New function.
+	* gengtype.h: Declare it.
+
+	* gengtype.h (struct type): Replace 'sc' with boolean, scalar_is_char.
+	(string_type): Don't declare.
+	(do_scalar_typedef): Declare.
+	(create_scalar_type): Update prototype.
+	* gengtype.c (string_type): Make static.
+	(scalar_nonchar, scalar_char): New.
+	(do_scalar_typedef): Export.  Always use scalar_nonchar for the type.
+	(resolve_typedef): Use scalar_nonchar for error recovery.
+	(create_scalar_type): Remove name_len field.  Return scalar_char
+	or scalar_nonchar as appropriate.
+	(adjust_field_type): Look at scalar_is_char boolean to decide whether
+	to use string_type.
+	(throughout): Use scalar_nonchar instead of calling
+	create_scalar_type, whenever possible.
+	(main): Initialize scalar_char and scalar_nonchar before calling
+	gen_rtx_next.
+	* gengtype-lex.l: Adjust for removal of second argument to
+	create_scalar_type.  Use yylval.s instead of yylval.t when
+	returning SCALAR.
+	* gengtype-yacc.y: Type of SCALAR is string.  Call
+	create_scalar_type from type:SCALAR rule.  Adjust for removal of
+	second argument to create_scalar_type.
+
+	* vec.h: Remove all #if IN_GENGTYPE blocks.
+	Add comment saying that changes may require adjustments to gengtype.
+	* gengtype.c: Don't include coretypes.h or tm.h.
+	Add comment to inclusion of errors.h.
+	(note_def_vec, note_def_vec_alloc): New functions.
+	* gengtype.h: Declare new functions.
+	* gengtype-lex.l: Don't include coretypes.h.
+	(YY_INPUT, macro_input, push_macro_expansion, mangle_macro_name):
+	Delete.
+	(update_lineno): Remove unnecessary prototype.
+	(DEF_VEC_* rules): Simplify using note_def_vec / note_def_vec_alloc.
+	(VEC rule): Just return VEC_TOKEN.
+	* gengtype-yacc.y (VEC_TOKEN): New token type.
+	(type): Add a production for VEC(a,b).
+	* Makefile.in: Update dependencies.
+
+	* gengtype-lex.l: Remove rules for parsing pointer-to-function
+	typedefs that use the old PARAMS macro.
+
+	* gengtype-lex.l: Remove all rules and states relating to yacc
+	input files.
+	* gengtype-yacc.y: Similarly.
+	* gengtype.c (note_yacc_type): Delete function.
+	* gengtype.h: Update prototypes.
+
+2007-03-26  Joseph Myers  <joseph@codesourcery.com>
+
+	* tree-pretty-print.c (dump_generic_node): Report precision of
+	unnamed integer types.
+
+2007-03-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* ifcvt.c (noce_try_store_flag_constants): Don't check
+	no_new_pseudos here.
+	(noce_try_store_flag_constants): Don't check no_new_pseudos.
+	(noce_try_addcc, noce_try_store_flag_mask, noce_try_cmove_arith,
+	noce_try_cmove_arith, noce_try_minmax, noce_try_abs,
+	noce_try_sign_mask): Likewise.
+	(if_convert): Check no_new_pseudos here.
+
+	(cond_exec_process_if_block, noce_process_if_block, find_if_block):
+	Remove prototypes.
+	(struct noce_if_info): Add then_bb, else_bb, join_bb members.
+	(noce_get_condition): Handle new then_else_reversed argument.
+	(noce_init_if_info): Remove, fold into noce_find_if_block.
+	(noce_process_if_block): Take a struct noce_if_info as the
+	argument.  Don't set up one based on ce_if_info.  Update pointer
+	references accordingly.
+	(cond_move_process_if_block): Likewise.
+	(process_if_block): Removed.
+	(find_if_block): Removed.  Move functionality two new functions,
+	noce_find_if_block and cond_exec_find_if_block.
+	(noce_find_if_block): New function.  Be aware of IF-THEN-JOIN
+	blocks and the symmetric IF-ELSE-JOIN case.
+	(cond_exec_find_if_block): Also new function mostly based on old
+	find_if_block and process_if_block.
+	(find_if_header): Replace find_if_block call with separately
+	guarded calls to noce_find_if_block and cond_exec_find_if_block.
+	(find_cond_trap): Update noce_get_condition call.
+	(dead_or_predicable): Likewise.
+
+2007-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.c (IX86_BUILTIN_CMPNEPD, IX86_BUILTIN_CMPNESD):
+	Remove.
+	(IX86_BUILTIN_PSLLW128, IX86_BUILTIN_PSLLD128, IX86_BUILTIN_PSLLQ128,
+	IX86_BUILTIN_PSRAW128, IX86_BUILTIN_PSRAD128, IX86_BUILTIN_PSRLW128,
+	IX86_BUILTIN_PSRLD128, IX86_BUILTIN_PSRLQ128): Remove.
+	(ix86_init_mmx_sse_builtins): Remove v8hi_ftype_v8hi_v2di and
+	v4si_ftype_v4si_v2di.  Remove __builtin_ia32_psllw128,
+	__builtin_ia32_pslld128, __builtin_ia32_psllq128,
+	__builtin_ia32_psrlw128, __builtin_ia32_psrld128,
+	__builtin_ia32_psrlq128, __builtin_ia32_psraw128 and
+	__builtin_ia32_psrad128 builtins.
+
+2007-03-26  Uros Bizjak  <ubizjak@gmail.com>
+
+	* reg-stack.c (replace_reg): Use IN_RANGE macro in gcc_assert().
+	* config/i386/constraints.md
+	(define_constraint "I"): Use IN_RANGE macro.
+	(define_constraint "J"): Ditto.
+	(define_constraint "K"): Ditto.
+	(define_constraint "M"): Ditto.
+	(define_constraint "N"): Ditto.
+	(define_constraint "O"): Ditto.
+	* config/i386/predicates.md
+	(define_predicate "register_no_elim_operand"): Use IN_RANGE macro.
+	(define_predicate "const_0_to_3_operand"): Ditto.
+	(define_predicate "const_0_to_7_operand"): Ditto.
+	(define_predicate "const_0_to_15_operand"): Ditto.
+	(define_predicate "const_0_to_63_operand"): Ditto.
+	(define_predicate "const_0_to_255_operand"): Ditto.
+	(define_predicate "const_1_to_31_operand"): Ditto.
+	(define_predicate "const_2_to_3_operand"): Ditto.
+	(define_predicate "const_4_to_7_operand"): Ditto.
+
+2007-03-25  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/rs6000.c (rs6000_emit_prologue): Always clobber LR
+	in SImode for save_world.
+	* config/rs6000/altivec.md (save_world, restore_world): Convert to
+	LR hard reg.
+
+2007-03-25  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/30784
+	* fold-const.c (fold_ternary): Handle CONSTRUCTOR in case
+	BIT_FIELD_REF.
+
+2007-03-25  Revital Eres  <eres@il.ibm.com>
+
+	* tree-if-conv.c (if_convertible_gimple_modify_stmt_p):
+	  Fold movement_possibility function into it.
+
+2007-03-25  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/darwin.md (load_macho_picbase): Ignore operand 0.
+	(load_macho_picbase_{si,di}): Convert to LR hard reg.
+	(call_indirect_nonlocal_darwin64): Same.
+	(call_nonlocal_darwin64): Same.
+	(call_value_indirect_nonlocal_darwin64): Same.
+	(call_value_nonlocal_darwin64): Same.
+	(sibcall_nonlocal_darwin64): Same.
+	(sibcall_value_nonlocal_darwin64): Same.
+	(sibcall_symbolic_64): Same.
+	(sibcall_value_symbolic_64): Same.
+	* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Remove
+	LR pseudo.
+	(rs6000_emit_load_toc_table): Same.
+	* config/rs6000/altivec.md (restore_world): Convert to LR hard reg.
+	* config/rs6000/rs6000.md (mulh_call): Convert to LR hard reg.
+	(mull_call): Same.
+	(divss_call): Same.
+	(divus_call): Same.
+	(quoss_call): Same.
+	(quous_call): Same.
+	(load_toc_v4_pic_si): Same
+	(load_toc_v4_PIC_1): Same.
+	(load_toc_v4_PIC_1b): Same.
+	(call_indirect_aix{32,64}): Same.
+	(call_value_indirect_aix{32,64}): Same.
+	(call): Same.
+	(call_value): Same.
+	(call_local{32,64}): Same.
+	(call_value_local{32,64}): Same.
+	(call_indirect_nonlocal_aix{32,64}): Same.
+	(call_nonlocal_aix{32,64}): Same.
+	(call_value_indirect_nonlocal_aix{32,64}): Same.
+	(call_value_nonlocal_aix{32,64}): Same.
+	(call_indirect_nonlocal_sysv<mode>): Same.
+	(call_nonlocal_sysv<mode>): Same.
+	(call_value_indirect_nonlocal_sysv<mode>): Same.
+	(call_value_nonlocal_sysv<mode>): Same.
+	(sibcall): Same.
+	(sibcall_local{32,64}): Same.
+	(sibcall_value_local{32,64}): Same.
+	(sibcall_nonlocal_aix{32,64}): Same.
+	(sibcall_value_nonlocal_aix{32,64}): Same.
+	(sibcall_nonlocal_sysv<mode>): Same.
+	(sibcall_value): Same.
+	(sibcall_value_nonlocal_sysv<mode>): Same.
+
+2007-03-24  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/lib1funcs.asm (div0): Use ARM_FUNC_START and do_push.
+	* config/arm/linux-eabi.h: Remove legacy syscall hack.
+
+2007-03-24  Richard Henderson  <rth@redhat.com>
+
+	* config/ia64/constraints.md: New file.
+	* config/ia64/predicates.md: Replace CONST_OK_FOR_? with
+	satisfies_constraint_?.
+	* config/ia64/ia64.c (ia64_move_ok, ia64_legitimate_constant_p,
+	ia64_reload_gp, spill_restore_mem, ia64_expand_prologue,
+	ia64_expand_epilogue, ia64_split_return_addr_rtx, ia64_rtx_costs,
+	ia64_output_mi_thunk): Likewise.
+	(ia64_const_ok_for_letter_p): Remove.
+	(ia64_const_double_ok_for_letter_p): Remove.
+	(ia64_extra_constraint): Remove.
+	* config/ia64/ia64.h (REG_CLASS_FROM_LETTER): Remove.
+	(CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L,
+	CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O, CONST_OK_FOR_P,
+	CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_G,
+	CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_CONSTRAINT,
+	EXTRA_MEMORY_CONSTRAINT): Remove.
+	* config/ia64/ia64.md: Include constriants.md.  Replace
+	CONST_OK_FOR_? with satisfies_constraint_?.
+
+2007-03-23  Michael Meissner  <michael.meissner@amd.com>
+	    H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/dfp-bit.h (DPD_BID_NAME): New macro to give either the
+	DPD or BID name.
+	(name macros): Use DPD_BID_NAME to convert names properly.
+
+	* optabs.c (DECIMAL_PREFIX): Prefix string to use for the current
+	decimal floating point format.
+	(init_floating_libfuncs): Change decimal functions so that they
+	have a "bid_" prefix if the decimal system uses the BID format,
+	and "dpd_" prefix if the decimal system uses the DPD format.
+	(init_interclass_conv_libfuncs): Ditto.
+	(init_intraclass_conv_libfuncs): Ditto.
+
+	* config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are
+	using the BID format.
+
+	* configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say
+	whether we are using the BID decimal format.
+	* configure: Regenerate.
+
+	* c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if
+	the compiler has decimal floating point enabled.  Define
+	__DECIMAL_BID_FORMAT__ if BID decimal floating point is used
+	instead of DPD.
+
+	* config.in (ENABLE_DECIMAL_BID_FORMAT): New macro to say we are
+	using the BID format.
+
+	* configure.ac (ENABLE_DECIMAL_BID_FORMAT): Set to 1/0 to say
+	whether we are using the BID decimal format.
+	* configure: Regenerate.
+
+	* c-cppbuiltin.c (c_cpp_builtins): Define __STDC_WANT_DEC_FP__ if
+	the compiler has decimal floating point enabled.  Define
+	__DECIMAL_BID_FORMAT__ if BID decimal floating point is used
+	instead of DPD.
+
+	* doc/install.texi (--enable-decimal-float): Document BID and DPD
+	options, and that it is enabled for i386/x86_64 systems.
+
+	* Makefile.in (enable_decimal_float): New.
+	(DECNUMFMT): New.
+	(DECNUMINC): Add  -I$(DECNUMFMT).
+	(DECNUM_H): Mov decimal32.h, decimal64.h and decimal128.h
+	to $(DECNUMFMT) from $(DECNUM).
+
+	* configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}.
+	Substitute enable_decimal_float.
+	* configure: Regenerated.
+
+	PR other/30529
+	* config/dfp-bit.c (__dec_byte_swap): Use uint32_t instead of
+	unsigned long.
+
+	* configure.ac: Enable decimal float for x86_64-*-linux*.
+	* configure: Regenerated.
+
+	PR other/30530
+	* dfp.c (decimal_real_arithmetic): Use decimal128FlipSign and
+	decimal128ClearSign to flip and clear the sign bit in decimal128.
+	(decimal_real_maxval): Set decimal128SetSign to set the sign
+	bit in decimal128.
+
+2007-03-23  Ian Lance Taylor  <iant@google.com>
+
+	* fold-const.c (fold_binary): Correct warning for X - c >= X.
+
+2007-03-23  Ian Lance Taylor  <iant@google.com>
+
+	* tree-dump.c (dump_files): Correct comment.
+
+2007-03-23  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (operand_less_p): Ignore fold overflow warnings.
+
+2007-03-23  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* tracer.c (tracer): Don't take FLAGS argument.  Assert we are
+	in cfglayout mode.  Don't go into and out of cfglayout mode.
+	Link the blocks in the order of the constructed traces.
+	(rest_of_handle_tracer): Adjust call to tracer.
+	* loop-init.c (rtl_loop_init): Assert we are in cfglayout mode.
+	Don't go into cfglayout mode.
+	(rtl_loop_done): Don't go out of cfglayout mode.
+	* cfglayout.c (relink_block_chain): New function, split out from...
+	(fixup_reorder_chain): ...here.  Remove redundant checking.
+	(cfg_layout_finalize): Don't clear the header, footer, and aux
+	fields here, move the code to do so to relink_block_chain.  Likewise
+	for free_original_copy_tables.
+	* rtl.h (tracer): Update prototype.
+	* bb-reorder.c (reorder_basic_blocks): Don't take FLAGS argument.
+	Assert we are in cfglayout mode.  Don't go into and out of cfglayout
+	mode.  Use relink_block_chain to serialize the CFG according to the
+	new basic block order.  Move targetm.cannot_modify_jumps_p check from
+	here...
+	(gate_handle_reorder_blocks): ...to here.
+	(duplicate_computed_gotos): Move targetm.cannot_modify_jumps_p check
+	from here...
+	(gate_duplicate_computed_gotos): ...to here.
+	(rest_of_handle_reorder_blocks): Don't see if anything has changed,
+	something always changes when going into and out of cfglayout mode.
+	Perform an expensive cfg cleanup while going into cfglayout mode.
+	Always update liveness information on HAVE_conditional_execution
+	targets.  Reserialize the basic blocks and go out of cfglayout mode.
+	* reg-stack.c: Include cfglayout.h.
+	(rest_of_handle_stack_regs): Go into and out of cfglayout mode around
+	the call to reorder_basic_blocks.
+	* basic-block.h (reorder_basic_blocks): Update prototype.
+	(relink_block_chain): New prototype.
+	* passes.c (pass_outof_cfg_layout_mode): Move after cse2.
+
+2007-03-23  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/mips/mips.md (type, hazard, *movdi_32bit,
+	*movdi_gp32_fp64, *movdi_64bit, *movsi_internal, movcc,
+	*movhi_internal, *movqi_internal, *movsf_hardfloat,
+	*movdf_hardfloat_64bit, *movdf_hardfloat_32bit, *movdf_softfloat,
+	movv2sf_hardfloat_64bit, load_df_low, load_df_high, store_df_high,
+	mthc1, mfhc1): Change xfer instruction type to mfc and mtc, as
+	applicable.
+	(movcc): Change first xfer to multi.
+	* config/mips/24k.md, config/mips/4100.md, config/mips/4300.md,
+	config/mips/5000.md, config/mips/5400.md, config/mips/5500.md,
+	config/mips/5k.md, config/mips/7000.md, config/mips/9000.md,
+	config/mips/generic.md: Change reservations using "xfer" to use
+	"mfc,mtc".
+	* config/mips/sb1.md (ir_sb1_mtxfer): Use "mtc" instead of
+	using match_operand.
+	(ir_sb1_mfxfer): Use "mfc" instead of using match_operand.
+	* config/mips/sr71k.md (ir_sr70_xfer_from): Use "mfc" instead of
+	examining mode.
+	(ir_sr70_xfer_to): Use "mtc" instead of examining mode.
+
+2007-03-22  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.c: Remove unnecessary function declarations.
+	Move targetm definition, and all related macros, to the end of
+	the file.  Resort some functions to put definitions before uses.
+	(ix86_attribute_table): Make static.  Move to end of file.
+	(ix86_gimplify_va_arg): Make static.
+
+2007-03-22  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit;
+	don't increase local_regparm with force_align_arg_pointer check.
+	(ix86_function_sseregparm): Assert 32-bit.
+	(type_has_variadic_args_p): New.
+	(ix86_return_pops_args): Early exit for 64-bit.  Reindent; use
+	type_has_variadic_args_p.
+	(ix86_function_arg_regno_p): Use == 0 instead of ! test for eax.
+	(init_cumulative_args): Remove TARGET_DEBUG_ARG.  Remove zero_cum;
+	use memset instead.  Do maybe_vaarg check first; skip attribute
+	tests if true; skip attribute tests for 64-bit.
+	(construct_container): Remove TARGET_DEBUG_ARG.
+	(function_arg_advance_32, function_arg_advance_64): Split out ...
+	(function_arg_advance): ... from here.
+	(function_arg_32, function_arg_64): Split out ...
+	(function_arg): ... from here.
+	(ix86_pass_by_reference): Tidy.
+	(ix86_function_value_regno_p): Rearrange w/ switch on regno.
+	(function_value_32): New, from parts of ix86_function_value
+	and ix86_value_regno.
+	(function_value_64): New, from parts of ix86_function_value
+	and ix86_libcall_value.
+	(ix86_function_value_1): New.
+	(ix86_function_value, ix86_libcall_value): Use it.
+	(return_in_memory_32, return_in_memory_64): Split out ...
+	(ix86_return_in_memory): ... from here.
+	(ix86_struct_value_rtx): Skip for 64-bit.
+	(ix86_libcall_value, ix86_value_regno): Remove.
+	(setup_incoming_varargs_64): Split out ...
+	(ix86_setup_incoming_varargs): ... from here.
+	(ix86_va_start): Remove TARGET_DEBUG_ARG.
+	(legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR.
+	* config/i386/i386-protos.h (ix86_function_value): Remove.
+	* config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove.
+
+2007-03-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR other/23572
+	* c-lex.c (interpret_float): On overflow, emit pedantic warning if
+	infinities not supported, otherwise emit warning if -Woverflow. On
+	underflow, emit warning if -Woverflow.
+	* real.c (real_from_string): Return -1 if underflow, +1 if overflow
+	and 0 otherwise.
+	* real.h (real_from_string): Update declaration
+
+2007-03-22  Kai Tietz  <kai.tietz@onevision.com>
+	    Richard Henderson  <rth@redhat.com>
+
+	* defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
+	* calls.c (compute_argument_block_size, expand_call,
+	emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE.
+	* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
+	* function.c (STACK_DYNAMIC_OFFSET): Likewise.
+	* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update.
+	* config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h,
+	config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h,
+	config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h,
+	config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE):
+	Set to 1.
+
+2007-03-22  Joseph Myers  <joseph@codesourcery.com>
+
+	* c-incpath.c (add_sysroot_to_chain): New.
+	(merge_include_chains): Add sysroot argument.  Call
+	add_sysroot_to_chain if sysrooted.
+	(register_include_chains): Update call to merge_include_chains.
+	* doc/cppopts.texi: Document use of '=' in include directory
+	arguments.
+
+2007-03-22  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
+	Macroize expander using SSEMODEF mode macro.  Use SSE_FLOAT_MODE_P.
+	(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
+	insn pattern using X87MODEF12 mode macro.
+
+2007-03-21  Seongbae Park <seongbae.park@gmail.com>
+
+	* regmove.c (regmove_optimize): Use reg_mentioned_p
+	instead of reg_overlap_mentioned_p for DST.
+
+2007-03-21  Mike Stump  <mrs@apple.com>
+
+	* c.opt: Fixup for Objective-C/C++.
+
+2007-03-21  Steve Ellcey  <sje@cup.hp.com>
+
+	* explow.c (convert_memory_address): Fold memory reference when
+	POINTERS_EXTEND_UNSIGNED < 0
+
+2007-03-21  Richard Henderson  <rth@redhat.com>
+
+	PR target/31245
+	* config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
+	* config/i386/mmintrin.h (__m64): Likewise.
+	* config/i386/xmmintrin.h (__m128): Likewise.
+
+2007-03-21  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
+	(VXWORKS_OS_CPP_BUILTINS): Define.
+	* config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into...
+	(TARGET_OS_CPP_BUILTINS): ...here.  Use VXWORKS_OS_CPP_BUILTINS.
+
+2007-03-21  Richard Sandiford  <richard@codesourcery.com>
+
+	* rtl.h (constant_pool_reference_p): Delete.
+	(find_constant_src): Declare.
+	* rtlanal.c (find_constant_src): New function.
+	* simplify-rtx.c (constant_pool_reference_p): Delete.
+	* config/i386/i386.md: Use find_constant_src instead of
+	constant_pool_reference_p/avoid_constant_pool_reference pairs.
+
+2007-03-21  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__.
+	* c-cppbuiltin.c (c_cpp_builtins): Define them.
+
+2007-03-20  Mark Mitchell  <mark@codesourcery.com>
+
+	* config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define.
+	* config/arm/arm.c (arm_elf_asm_cdtor): New function.
+	(arm_elf_asm_constructor): Use it.
+	(arm_elf_asm_destructor): New function.
+
+2007-03-20  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* jump.c (mark_jump_label): Treat SEQUENCE specially.
+
+2007-03-20  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks.
+
+2007-03-19  Andrew Haley  <aph@redhat.com>
+
+	PR tree-optimization/31264
+	* tree-vrp.c (register_edge_assert_for_1): Don't look though
+	VIEW_CONVERT_EXPRs.
+
+2007-03-19  Paolo Bonzini  <bonzini@gnu.org>
+
+	PR rtl-optimization/30907
+	* fwprop.c (forward_propagate_into): Never propagate inside a loop.
+	(fwprop_init): Always call loop_optimizer_initialize.
+	(fwprop_done): Always call loop_optimizer_finalize.
+	(fwprop): We always have loop info now.
+	(gate_fwprop_addr): Remove.
+	(pass_fwprop_addr): Use gate_fwprop as gate.
+
+	PR rtl-optimization/30841
+	* df-problems.c (df_ru_local_compute, df_rd_local_compute,
+	df_chain_alloc): Call df_reorganize_refs unconditionally.
+	* df-scan.c (df_rescan_blocks, df_reorganize_refs): Change
+	refs_organized to refs_organized_size.
+	(df_ref_create_structure): Use refs_organized_size instead of
+	bitmap_size if refs had been organized, and keep refs_organized_size
+	up-to-date.
+	* df.h (struct df_ref_info): Change refs_organized to
+	refs_organized_size.
+	(DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of
+	bitmap_size.
+
+2007-03-19  Mark Mitchell  <mark@codesourcery.com>
+
+	* except.c (output_function_exception_table): Do not reference the
+	EH personality routine for functions that do not require an
+	exception table.
+
+2007-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/30762
+	* c-typeck.c (convert_for_assignment): Call comptypes for
+	RECORD_TYPE or UNION_TYPE.
+
+	PR inline-asm/30505
+	* reload1.c (reload): Do invalid ASM checking after
+	cleanup_subreg_operands.
+
+2007-03-19  Jeff Law  <law@redhat.com>
+
+	* tree-cfg.c (find_taken_edge): Tighten conditions for
+	optimizing computed gotos.
+
+2007-03-19  Michael Matz  <matz@suse.de>
+
+	* builtins.c (expand_builtin_sync_operation,
+	expand_builtin_compare_and_swap,
+	expand_builtin_lock_test_and_set): Care for extending CONST_INTs
+	correctly.
+
+	* config/i386/sync.md (sync_double_compare_and_swapdi_pic,
+	sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
+	for operand 3.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* doc/tm.texi: Add brackets around the return type of
+	TARGET_SECONDARY_RELOAD.
+
+2007-03-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+	Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31254
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
+	Use handled_component_p () where appropriate.  Continue
+	propagating into the rhs if we propagated into an INDIRECT_REF
+	on the lhs.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md (op_type attribute): RRR instruction type added.
+	(FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros.
+	(xde, xdee): Mode attributes adjusted to support DFP modes.
+	(RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added.
+	("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters,
+	DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3",
+	"*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3",
+	"*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3",
+	"div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
+	"*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP
+	numbers.
+	("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31",
+	"movsf"): Insn definitions removed.
+	("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp",
+	"*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2",
+	"trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn
+	definitions added.
+	("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>",
+	"reload_in<mode>", "reload_out<mode>"): Expander added.
+	("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"):
+	Expander removed.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md: Only non-functional changes.  Renamed
+	FPR mode macro to BFP all over the file.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.md (UNSPEC_COPYSIGN): New constant.
+	(op_type attribute): RRF instruction type added.
+	(fT0): New mode attribute.
+	("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
+	"*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added.
+	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new
+	instruction no secondary memory is needed when moving DFmode values
+	between GPRs and FPRs.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value
+	inverted and documentation adjusted.
+	("mhard-dfp", "msoft-dfp"): New options.
+	* config/s390/s390.c (s390_handle_arch_option): New architecture
+	switch: z9-ec.
+	(override_options): Sanity checks for the new options added.
+	* config.gcc: New architecture switch: z9-ec.
+	* config/s390/s390.h (processor_flags): PF_DFP added.
+	(TARGET_CPU_DFP, TARGET_DFP): Macro definitions added.
+	(TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled
+	when the bit is NOT set so remove it from the defaults.
+
+2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* genemit.c (main): Print include statement for dfp.h.
+	* dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum
+	is not available.
+
+2007-03-19  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here.
+
+2007-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/31022
+	* config/sh/sh.c (sh_adjust_cost): Use the result of single_set
+	instead of PATTERN.
+
+2007-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.c (output_deferred_plabels, output_bb, output_millicode_call,
+	attr_length_call, output_call, output_indirect_call): Cleanup
+	formatting of targetm calls.
+
+2007-03-19  Hans-Peter Nilsson  <hp@axis.com>
+
+	* config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
+
+2007-03-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.md: Add fpstore_load and store_fpload instruction types.  Provide
+	reservation, bypass and anti-bypass descriptions for these
+	instructions.  Update move patterns.
+	* pa.c (hppa_fpstore_bypass_p): Check for both TYPE_FPSTORE_LOAD and
+	TYPE_FPSTORE.
+
+2007-03-18  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* tree-vect-transform.c (get_initial_def_for_induction): Replace
+	GET_MODE_NUNITS with TYPE_VECTOR_SUBPARTS.
+	(get_initial_def_for_reduction): Likewise.
+
+2007-03-16  Daniel Berlin  <dberlin@dberlin.org>
+
+	Fix PR tree-optimization/29922
+	* tree-ssa-pre.c (bb_bitmap_sets): Remove RVUSE_* members.
+	(get_representative): Removed.
+	(value_dies_in_block_x): Update for rvuse removal.
+	(valid_in_sets): Update for renaming of vuses_dies_in_block_x.
+	(compute_antic_aux): Handle when PHI nodes appear in
+	non-single-successors.
+	(dump_bitmap_of_names): Removed.
+	(compute_antic_safe): Renamed and removed rvuse calculation.
+	Calculate only antic safe.
+	(insert_into_preds_of_block): Remove assert.
+	(execute_pre): Update for renamed functions.
+	(defer_or_phi_translate_block): New function.
+
+2007-03-17  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/arm/arm.c, config/arm/thumb2.md, config/m68k/m68k.c,
+	config/spu/spu.c, omega.h, passes.c, predict.c: Fix comment
+	typos.
+	* doc/cpp.texi, doc/extend.texi, doc/invoke.texi: Fix typos.
+	Follow spelling conventions.
+
+	* tree-data-ref.h: Remove the prototype for analyze_array.
+
+2007-03-17  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/31041
+	* tree-vect-transform.c (get_initial_def_for_induction): Call
+	force_gimple_operand.
+
+2007-03-17  Olga Golovanevsky  <olga@il.ibm.com>
+
+  	* ipa-type-escape.c (look_for_casts) : Revert code to use
+	handled_component_p due to ada test a-numaux.adb.
+
+2007-03-17  Kazu Hirata  <kazu@codesourcery.com>
+
+	* final.c (final_scan_insn): Alter the condition of a
+	conditional trap if we have nonstandard CC.
+
+2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure.ac: Remove excess quoting from asm line 0 test.
+	* configure: Rebuilt.
+
+2007-03-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (-Wconversion): Document warnings specific to C++.
+	* c-common.c (convert_and_check): Move warning logic to...
+	(warnings_for_convert_and_check): ...here. Define.
+	* c-common.h (warnings_for_convert_and_check): Declare.
+
+2007-03-16  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.c (attr_length_call): Partially revert change of 2007-03-09.
+	(output_call): Likewise.
+
+2007-03-16  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vxworks.h (SUPPORTS_INIT_PRIORITY): Define.
+
+2007-03-16  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vx-common.h (WINT_TYPE, WINT_TYPE_SIZE): Define.
+
+2007-03-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (override_options): Add PTA_NO_SAHF to k8,
+	opteron, athlon-64 and athlon-fx processor_alias_table entries.
+
+2007-03-16  Sebastian Pop  <sebastian.pop@inria.fr>
+
+	PR tree-optimization/31183
+	* tree-loop-linear.c (gather_interchange_stats, try_interchange_loops):
+	Use double_int instead of unsigned int for representing access_strides.
+	* testsuite/gcc.dg/tree-ssa/pr31183.c: New.
+
+2007-03-16  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31146
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Restructure
+	to allow recursion of forward_propagate_addr_expr.
+	(forward_propagate_addr_into_variable_array_index): Likewise.
+	(forward_propagate_addr_expr): Likewise.
+	(tree_ssa_forward_propagate_single_use_vars): Likewise.
+	(forward_propagate_addr_expr_1): Recurse on simple copies
+	instead of propagating into them.  Do so for useless conversions
+	as well.
+	(forward_propagate_addr_expr): Clean up unused statements after
+	recursion.
+
+2007-03-16  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (expand_builtin_cexpi): Use the right argument
+	for the expansion via cexp.
+
+2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure.ac: Don't require ELF binutils to tolerate # 0 "".
+	* configure: Rebuilt.
+
+2007-03-16  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/29906
+	* dwarf2out.c (force_type_die): Adjust comment.
+	(dwarf2out_imported_module_or_decl): Handle base AT_import types.
+
+2007-03-15  DJ Delorie  <dj@redhat.com>
+
+	* config/frv/predicates.md (minmax_operator): Don't check operands
+	here.
+
+2007-03-15  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (record_estimate): Add "upper" argument.
+	Update constant estimates of number of iterations.
+	(record_nonwrapping_iv): Add "upper" argument.  "data_size_bounds_p"
+	argument renamed to "realistic".
+	(compute_estimated_nb_iterations): Removed.
+	(record_niter_bound): New function.
+	(idx_infer_loop_bounds): For possible but unlikely tail arrays,
+	call record_nonwrapping_iv with upper = false.
+	(infer_loop_bounds_from_signedness): Pass upper argument to
+	record_nonwrapping_iv.
+	(estimate_numbers_of_iterations_loop): Do not call
+	compute_estimated_nb_iterations.  Record estimate based on profile
+	information.  Initialize the constant estimates of number of
+	iterations.
+	* tree-data-ref.c (estimated_loop_iterations): Return the recorded
+	estimates.
+	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays): Add dump when
+	number of iterations is too small.
+	* cfgloop.h (struct nb_iter_bound): Remove "realistic" field.
+	(EST_NOT_AVAILABLE): Removed.
+	(struct loop): Replace estimated_nb_iterations by any_upper_bound,
+	nb_iterations_upper_bound, any_estimate and nb_iterations_estimate
+	fields.
+
+2007-03-15  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (refine_bounds_using_guard, bound_difference):
+	Handle NE_EXPR guards.
+
+2007-03-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c++/24924
+	* c-opts.c (c_common_post_options): Handle C++ post-processing here.
+	Set also -pedantic-errors by default for the  preprocessor unless
+	-fpermissive is given.
+
+2007-03-15  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/29719
+	PR middle-end/31161
+	* builtins.c (expand_builtin_cexpi): As a fallback if we
+	don't have builtins for sincos or cexp create a function
+	declaration for cexp and expand to a call to that.
+	(expand_builtin_int_roundingfn): Always fall
+	back to floor/ceil and its variants even if they may be
+	not available.
+
+2007-03-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR middle-end/31159
+	* cfglayout.c (fixup_reorder_chain): Postpone deleting dead
+	jump tables, move the call to delete_dead_jumptables from here...
+	(cfg_layout_finalize): ...to here.  But rebuild jump labels first.
+	* cfgrtl.c (cfg_layout_can_merge_blocks_p): When not optimizing,
+	don't allow merging of blocks that try_redirect_by_replacing_jump
+	also does not handle when not optimizing.
+
+2007-03-15  Uros Bizjak  <ubizjak@gmail.com>
+	    Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+	* config/i386/i386.md (x86_sahf_1): Correctly handle
+	HAVE_AS_IX86_SAHF.
+
+2007-03-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31167
+	* config/i386/i386.md (*addti3_1, *addti3_1 splitter): Use
+	x86_64_general_operand as operand[2] predicate.  Remove "iF"
+	from operand constraints and use "e" constraint instead.
+	(*subti3_1, *subti3_1 splitter): Ditto.
+	(*negti2_1, *negti2_1 splitter): Use nonimmediate_operand as
+	operand[1] predicate.
+
+2007-03-14  Sebastian Pop  <sebastian.pop@inria.fr>
+
+	* tree-loop-linear.c (gather_interchange_stats): For multidimensional
+	arrays, multiply the access strides by the size of the sub-array.
+	* testsuite/gcc.dg/tree-ssa/ltrans-5.c: New.
+
+2007-03-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* configure.ac (HAVE_AS_IX86_SAHF): On x86 targets check whether
+	the configured assembler supports the sahf mnemonic.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+	* config/i386/i386.md (x86_sahf_1): Depending on HAVE_AS_IX86_SAHF,
+	emit "sahf" or ".byte\t0x9e" as asm template.
+
+2007-03-14  Michael Meissner  <michael.meissner@amd.com>
+
+	PR 31018
+	* config/i386/i386.h (X86_TUNE_SHORTEN_X87_SSE): New tuning
+	option to replace hard coded TARGET_xxx in md file.
+	(X86_TUNE_AVOID_VECTOR_DECODE): Ditto.
+	(X86_TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
+	(X86_TUNE_SLOW_IMUL_IMM8): Ditto.
+	(X86_TUNE_MOVE_M1_VIA_OR): Ditto.
+	(X86_TUNE_NOT_UNPAIRABLE): Ditto.
+	(X86_TUNE_NOT_VECTORMODE): Ditto.
+	(TUNE_SHORTEN_X87_SSE): Use new tuning option.
+	(TUNE_AVOID_VECTOR_DECODE): Ditto.
+	(TUNE_SLOW_IMUL_IMM32_MEM): Ditto.
+	(TUNE_SLOW_IMUL_IMM8): Ditto.
+	(TUNE_MOVE_M1_VIA_OR): Ditto.
+	(TUNE_NOT_UNPAIRABLE): Ditto.
+	(TUNE_NOT_VECTORMODE): Ditto.
+
+	* config/i386/i386.c (ix86_tune_features): Fill in new tuning
+	options.
+
+	* config/i386/i386.md (fix_trunc?f?1_sse peephole2): Use new
+	tuning options instead of hard coded TARGET_xxx.
+	(fix ssemode peephole2's): Ditto.
+	(imul peephole2's): Ditto.
+	(movsi_or): Ditto.
+	(movdi_or_rex64): Ditto.
+	(move peephole2): Ditto.
+	(not peephole2's): Ditto.
+
+2007-03-14  Dirk Mueller  <dmueller@suse.de>
+
+	* c-common.h (empty_body_warning): Rename to empty_if_body_warning.
+	* c-common.c (empty_if_body_warning): Rephrase diagnostic message.
+	* c-parser.c (c_parser_if_body): Always add an empty statement in case
+	of empty body.
+	* c-parser.c (c_parser_do_statement): Warn about empty body in
+	do/while statement.
+	* c-typeck (c_finish_if_stmt): Call empty_if_body_warning.
+	* doc/invoke.texi (-Wempty-body): Update documentation.
+
+2007-03-14  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/21438
+	* c-common.h (warn_for_div_by_zero): Declare.
+	* c-common.c (warn_for_div_by_zero): Define.
+	* c-typeck.c (build_binary_op): Call warn_for_div_zero instead of
+	warning.
+
+2007-03-14  Richard Sandiford  <richard@codesourcery.com>
+
+	* Makefile.in (PREPROCESSOR_DEFINES): Add directory terminators
+	to PREFIX and STANDARD_PREFIX.
+
+2007-03-14  Richard Sandiford  <richard@codesourcery.com>
+	    Phil Edwards  <phil@codesourcery.com>
+
+	* gthr-vxworks.h: Add an extern "C" wrapper for C++.
+	(__gthread_once_t): Remove busy field for RTPs.
+	(__GTHREAD_ONCE_INIT): Update accordingly.
+
+2007-03-14  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Document VxWorks options.
+
+2007-03-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	* doc/invoke.texi (i386 and x86-64 Options): Clarify -msahf option.
+
+2007-03-13  Seongbae Park <seongbae.park@gmail.com>
+
+	PR tree-optimization/30590
+	* tree-nrv.c (tree_nrv): Check for the partial update of the
+	return value.
+
+2007-03-13  Alexandre Oliva  <aoliva@redhat.com>
+
+	* flags.h (flag_random_seed): Remove declaration, in favor of...
+	* toplev.h (get_random_seed, set_random_seed): ... these.
+	* tree.c (get_file_function_name): Use the former.
+	* opts.c (common_handle_option): Use the latter.
+	* toplev.c
+
+2007-03-13  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR middle-end/31127
+	* cse.c (cse_find_path): Do not bail out if a basic block that
+	we already visited now becomes part of a path that starts at a
+	different basic block.  Just disallow this, to make sure we
+	visit each basic block at most once.
+
+2007-03-13  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (cgraph_maybe_hot_edge_p): Look for hot/cold
+	attributes, when profile esitmate is present, calls with very low
+	frequency are cold.
+
+2007-03-13  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/30730
+	PR tree-optimization/26900
+	* tree-ssa-loop-niter.c: Include gmp.h.
+	(bounds): New type.
+	(mpz_set_double_int, get_type_bounds, mpz_to_double_int,
+	split_to_var_and_offset, determine_value_range,
+	bound_difference_of_offsetted_base, refine_bounds_using_guard,
+	bound_difference, bounds_add, bounds_negate,
+	number_of_iterations_ne_max, dump_affine_iv): New functions.
+	(number_of_iterations_ne, number_of_iterations_lt_to_ne,
+	assert_loop_rolls_lt, assert_loop_rolls_le): Use bounds on the
+	difference of initial and final value of control iv to validate
+	results.
+	(number_of_iterations_cond): Add loop parameter.  Determine bounds
+	on the difference of the extremes of the control iv.  Add dumps.
+	(expand_simple_operations): Handle phi nodes.
+	(simplify_using_initial_conditions): Do not record used conditions.
+	(number_of_iterations_exit): Pass loop to number_of_iterations_cond.
+	Do not set additional_info.
+	(implies_nonnegative_p, implies_ge_p): Removed.
+	(derive_constant_upper_bound): Do not use parameter `additional'.
+	(record_estimate): Parameter `additional' removed.  Parameter
+	`i_bound' added.  Do not call derive_constant_upper_bound.
+	(record_nonwrapping_iv): Use derive_constant_upper_bound to
+	bound the number of iterations estimate.
+	(estimate_numbers_of_iterations_loop): Pass the estimate from
+	the number of iterations analysis to record_estimate.
+	* tree.h (multiple_of_p): Declare.
+	* tree-scalar-evolution.c (expression_expensive_p): Removed.
+	(scev_const_prop): Do not check expression_expensive_p.
+	* fold-const.c (multiple_of_p): Exported.
+	* double-int.c (double_int_mask): Exported.
+	* double-int.h (double_int_mask): Declare.
+	* tree-flow.h (struct tree_niter_desc): Removed additional_info
+	field.  Added max field.
+
+2007-03-13  David Taylor  <taylor@candd.org>
+
+	PR driver/12448
+	* gcc.c (cpp_unique_options): If -MT or -MQ is seen, don't pass
+	default -MQ.
+
+2007-03-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/31123
+	* pa.md (vdepi_ior): Don't allow zero length deposit.  Likewise for
+	two unamed patterns.
+
+2007-03-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.opt (mcx16, msahf): New options.
+	* config/i386/i386.c (x86_cmpxchg16b, x86_sahf): Remove.
+	(ix86_tune_features) [X86_TUNE_USE_SAHF]: Enable for m_GENERIC.
+
+	* config/i386/driver-i386.c (bit_LAHF_LM): New define.
+	(host_detect_local_cpu): Detect cx16 and lahf_lm cpuid bits.
+	Output -mcx16 and -msahf options when corresponding bit is set.
+
+	* doc/invoke.texi (i386 and x86-64 Options): Document -mcx16
+	and -msahf options.
+
+2007-03-13  Alexandre Oliva  <aoliva@redhat.com>
+
+	* configure.ac: Test for assembler tolerance to # 0 "".
+	* configure, config.in: Rebuilt.
+	* final.c (final_scan_insn): Emit it if HAVE_AS_LINE_ZERO.
+
+2007-03-13  Geoffrey Keating  <geoffk@apple.com>
+
+	* doc/invoke.texi (Spec Files): Update for '%{,' spec.
+
+	* config/rs6000/darwin-fallback.c: Compile file only on powerpc.
+	(handle_syscall): Handle direct system calls.
+	* config/rs6000/darwin.h (HAS_MD_FALLBACK_FRAME_STATE_FOR): Delete.
+
+2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* doc/invoke.texi: Fix cpp.info cross-reference.
+	* doc/passes.texi: Fix gcc.info cross-reference.
+
+2007-03-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/30835
+	* lambda-code.c (can_convert_to_perfect_nest): Check whether
+	bb_for_stmt is not NULL before accessing it.
+
+2007-03-12  Joseph Myers  <joseph@codesourcery.com>
+
+	* gcc.c (main): Handle target_sysroot_hdrs_suffix being NULL for
+	some multilibs.
+
+2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	PR 30635
+	* doc/install.texi: Document --enable-stage1-languages
+
+2007-03-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* tree-pass.h (pass_into_cfg_layout_mode,
+	pass_outof_cfg_layout_mode): Declare.
+	* cfglayout.c (into_cfg_layout_mode, outof_cfg_layout_mode,
+	pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode): New.
+	* passes.c (pass_into_cfg_layout_mode): Schedule before jump2.
+	(pass_outof_cfg_layout_mode): Schedule after pass_rtl_ifcvt.
+
+2007-03-12  Seongbae Park <seongbae.park@gmail.com>
+
+	* c-decl.c (warn_variable_length_array): New function.
+	Refactored from grokdeclarator to handle warn_vla
+	and handle unnamed array case.
+	(grokdeclarator): Refactored VLA warning case.
+	* c.opt (Wvla): New flag.
+	* doc/invoke.texi (Wvla): New warning.
+
+2007-03-12  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.c (alpha_elf_section_type_flags): New.
+	(TARGET_SECTION_TYPE_FLAGS): New.
+
+2007-03-12  Richard Henderson  <rth@redhat.com>
+
+	* config/darwin.c (machopic_reloc_rw_mask): New.
+	* config/darwin-protos.h (machopic_reloc_rw_mask): Declare.
+	* config/darwin.h (TARGET_ASM_RELOC_RW_MASK): New.
+
+2007-03-12  Mark Mitchell  <mark@codesourcery.com>
+
+	* cppdefault.c (cpp_EXEC_PREFIX): New variable.
+	* cppdefault.h (cpp_PREFIX): Document.
+	(cpp_PREFIX_len): Likewise.
+	(cpp_EXEC_PREFIX): New variable.
+	* Makefile.in (PREPROCESSOR_DEFINES): Add STANDARD_EXEC_PREFIX.
+	* c-incpath.c (add_standard_paths): Correct logic for relocating
+	paths within prefix.
+
+2007-03-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (fixuns_trunc<mode>hi2): Implement from
+	fixuns_truncsfhi2 and fixuns_truncdfhi2 using SSEMODEF
+	mode macro.
+	(fix_trunc<mode>di_sse): Implement from fix_truncsfdi_sse and
+	fix_truncdfdi_sse using SSEMODEF mode macro.
+	(fix_trunc<mode>si_sse): Implement from fix_truncsfsi_sse and
+	fix_truncdfsi_sse using SSEMODEF mode macro.
+	(fix_trunc?f?i_sse peephole2): Implement using SSEMODEF mode macro.
+	(fix_trunc?f?i_sse K8 peephole2): Fix register constraint.
+
+2007-03-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add
+	elfos.h to tm_file.
+
+2007-03-12  Olga Golovanevsky  <olga@il.ibm.com>
+
+  	* tree.h : Add multiple_of_p declaration.
+  	* fold-const.c (multiple_of_p): Make multiple_of_p public.
+  	* ipa-type-escape.c (results_of_malloc): Redundant.
+  	(visited_stmts): New. Visited stmt for walk_use_def_chains.
+  	(cast_type): Extended with new members.
+  	(check_cast): Returns cast_type.
+  	(cast): New structure for data of walk_use_def_chains.
+  	(is_malloc_result, is_cast_from_non_pointer_1,
+  	is_cast_from_non_pointer,
+  	is_array_access_through_pointer_and_index): New functions.
+  	(look_for_casts): Returns cast types.
+ 	(check_call): Returns void.
+  	(okay_pointer_operation): Use support of pointer plus index,
+  	pointer plus constant and allow all multiplications.
+
+2007-03-11  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/31115
+	* tree-vrp.c (extract_range_from_binary_expr): Make sure
+	the shift count is positive and non-anti-range for RSHIFT_EXPR.
+	A shift count of zero is not special as with *_DIV_EXPR.
+	(vrp_int_const_binop): Handle RSHIFT_EXPR for determining overflow
+	direction.
+
+2007-03-11  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c (vrp_int_const_binop): Handle PLUS_EXPR and
+	the *_DIV_EXPR codes correctly with overflow infinities.
+
+2007-03-11  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-data-ref.c (analyze_offset): Add a return value (bool) to
+	indicate success/failure of the analysis. Add negation to subtrahend
+	in case of subtraction. Fail if both operands contain constants.
+	(create_data_ref): Fail if analyze_offset fails.
+
+2007-03-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (frndintxf2): Rename to ...
+	(rintxf2): ... this. Remove expander having same name.
+	(rintsf2, rintdf2): Implement using SSEMODEF macro.
+	(roundsf2, rounddf2): Ditto.
+	(lrint<mode>di2, lrint<mode>si2): Implement using SSEMODEI24 macro.
+	(lround<mode>di2, lround<mode>si2): Ditto.
+
+2007-03-11  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* lower-subreg.c: Include except.h.
+	(decompose_multiword_subregs): Verify that the only control flow
+	insns we can split are loads to multi-words pseudos.
+	Handle breaking such blocks after splitting, instead of calling
+	find_many_sub_basic_blocks.
+
+	* loop-unroll.c (split_edge_and_insert): Don't set BB_SUPERBLOCK
+	on the new basic block.  Add a lengthy comment explaining why we
+	thought this was necessary.
+	* cfglayout.c (cfg_layout_finalize): Don't break superblocks.
+
+2007-03-10  Mark Mitchell  <mark@codesourcery.com>
+
+	PR c++/30924
+	* tree.c (walk_type_fields): Recurse into the element type of
+	ARRAY_TYPEs if there is a pointer set.
+
+2007-03-10  Dirk Mueller  <dmueller@suse.de>
+
+	* c-common.c (warn_logical_operator): Fix condition.
+
+2007-03-10  Tobias Schl�ter  <tobi@gcc.gnu.org>
+
+	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Add missing
+	quotation mark.
+	* config/darwin.c (machopic_select_section): Remove superfluous
+	argument in call to categorize_decl_for_section.  Remove unused
+	variable shlib.
+
+2007-03-10  Joseph Myers  <joseph@codesourcery.com>
+
+	* configure.ac (glibc_header_dir): Set using with_build_sysroot if
+	defined.
+	* configure: Regenerate.
+
+2007-03-10  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/31101
+	* config/i386/i386.md (UNSPEC_C2_FLAG): New constant.
+	(fpremxf4_i387, fprem1xf4_i387): Use UNSPEC_C2_FLAG.
+	(fmodxf3, fmod<mode>3, remainderxf3, remainder<mode>3):
+	Add LABEL_NUSES to emitted label.
+	* config/i386/i386.c (ix86_emit_fp_unordered_jump): Add
+	branch probability value to emitted jump insn.
+	* reg-stack.c (subst_stack_regs_pat)[UNSPEC]: Handle UNSPEC_C2_FLAG.
+	Do not check life information and do not re-arrange input operands
+	for UNSPEC_FSCALE_EXP, UNSPEC_FPREM_U and UNSPEC_FPREM1_U.
+
+2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/sh.c (sh_insn_length_adjustment): Adjust for
+	the change of decode_asm_operands.
+
+2007-03-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* mode-switching.c (create_pre_exit): Skip blockage insn.
+
+2007-03-09  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-pass.h (TODO_update_smt_usage): Remove.
+	Update all users.
+	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Remove
+	argument SOME.
+	Update all users.
+
+2007-03-09  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.c (attr_length_call): Revise condition for long
+	pc-relative branch.
+	(output_call): Use "LONG_PIC_SDIFF" instruction sequence for long
+	local calls on the SOM target.  Don't use "LONG_PIC_PCREL" call
+	sequence on SOM target.
+
+2007-03-09  Geoffrey Keating  <geoffk@apple.com>
+
+	* gcc.c: Document %{, in big comment at top.
+	(input_suffix_matches): Remove special handling for .s and
+	.S.
+	(input_spec_matches): New.
+	(handle_braces): Handle %{,.
+	(validate_switches): ',' indicates a value which is not a switch.
+	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %{, rather than %{.
+	to detect assembler input.
+	* config/i386/sol2.h (CPP_SPEC): Likewise.
+	* config/rs6000/sysv4.h (ASM_SPEC): Likewise.
+	* config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+	* config/rs6000/lynx.h (ASM_SPEC): Likewise.
+	* config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
+	* config/i386/darwin.h (DARWIN_MINVERSION_SPEC): Objective-C plus
+	-m64 causes deployment target to default to 10.5.
+	* config/rs6000/darwin.h (DARWIN_MINVERSION_SPEC): Likewise.
+
+2007-03-09  Richard Henderson  <rth@redhat.com>
+
+	PR target/26090
+	* target.h (targetm.asm.out.reloc_rw_mask): New.
+	* target-def.h (TARGET_ASM_RELOC_RW_MASK): New.
+	(TARGET_ASM_OUT): Use it.
+	* targhooks.c, targhooks.h (default_reloc_rw_mask): New.
+	* varasm.c (categorize_decl_for_section): Remove shlib argument;
+	use the new reloc_rw_mask target hook instead.
+	(default_section_type_flags_1): Merge into...
+	(default_section_type_flags): ... here.
+	(decl_readonly_section_1): Merge into...
+	(decl_readonly_section): ... here.
+	(default_elf_select_section_1): Merge into...
+	(default_elf_select_section): ... here.
+	(default_unique_section_1): Merge into...
+	(default_unique_section): ... here.
+	(compute_reloc_for_rtx_1, compute_reloc_for_rtx): New.
+	(default_select_rtx_section): Use it.
+	(default_elf_select_rtx_section): Likewise.
+	* output.h: Update to match.
+	* doc/tm.texi (TARGET_ASM_RELOC_RW_MASK): New.
+	* config/alpha/alpha.c (alpha_elf_reloc_rw_mask): New.
+	(TARGET_ASM_RELOC_RW_MASK): New.
+	* config/i386/i386.c (x86_64_elf_select_section): Adjust call
+	to categorize_decl_for_section.
+	(x86_64_elf_unique_section): Likewise.
+	* config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
+	TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Remove.
+	(TARGET_ASM_RELOC_RW_MASK): New.
+	* config/ia64/ia64.c (ia64_rwreloc_select_section,
+	ia64_rwreloc_unique_section, ia64_rwreloc_select_rtx_section): Remove.
+	(ia64_hpux_reloc_rw_mask, ia64_reloc_rw_mask): New.
+	(TARGET_RWRELOC): Remove.
+	(ia64_section_type_flags): Adjust call to default_section_type_flags.
+	* config/ia64/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
+	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Remove.
+	(rs6000_elf_select_section, rs6000_elf_unique_section): Remove.
+	(rs6000_elf_reloc_rw_mask, rs6000_xcoff_reloc_rw_mask): New.
+	(rs6000_xcoff_select_section): Use decl_readonly_section.
+	(rs6000_xcoff_section_type_flags): Use default_section_type_flags.
+	* config/rs6000/sysv4.h (TARGET_ASM_RELOC_RW_MASK): New.
+	(TARGET_ASM_SELECT_SECTION, TARGET_ASM_UNIQUE_SECTION): Remove.
+	(TARGET_SECTION_TYPE_FLAGS): Remove.
+	* config/rs6000/xcoff.h (TARGET_ASM_RELOC_RW_MASK): New.
+
+2007-03-09  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (fold_comparison): Remove compile-time evaluation of
+	complex constant equality/inequality comparisons for here.
+	(fold_binary) <EQ_EXPR>: Simplify complex comparisons that are
+	known at compile-time or can be simplified to a scalar comparison.
+	(fold_relational_const): Move compile-time evaluation of complex
+	constant equality/inequality comparisons to here.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR rtl-optimization/30643
+	* cse.c (cse_insn): Recompute dest_hash after insert_regs for
+	dest_addr_elt.
+	(fold_rtx): Recurse, like before 2006-11-03.
+
+2007-03-09  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/t-m32c (m32c-pragma.o): Add TM_H dependency to
+	m32c-pragma.o.
+
+2007-03-09  Aldy Hernandez  <aldyh@redhat.com>
+
+	PR tree-optimization/30375
+	* tree-ssa-dse.c (dse_possible_dead_store_p): Do not eliminate if
+	LHS of statements is not the same.
+	* testsuite/gcc.dg/tree-ssa/ssa-dse-10.c: New.
+
+2007-03-09  Chao-ying Fu  <fu@mips.com>
+
+	* doc/extend.texi (MIPS DSP Built-in Functions): Document the DSP
+	REV 2.
+	* doc/invoke.texi (-mdspr2): Document new option.
+	* config/mips/mips.md (UNSPEC_ABSQ_S_QB .. UNSPEC_DPSQX_SA_W_PH):
+	New unspec for DSP REV 2.
+	(<u>mulsidi3_32bit_internal): Check if !TARGET_DSPR2, because
+	these instructions are extended in DSP REV 2.
+	(mips-dspr2.md): Include.
+	* config/mips/mips.opt (mdspr2): New option.
+	* config/mips/mips.c (mips_function_type): Add MIPS_V4QI_FTYPE_V4QI,
+	MIPS_SI_FTYPE_SI_SI_SI, MIPS_DI_FTYPE_DI_USI_USI, MIPS_DI_FTYPE_SI_SI,
+	MIPS_DI_FTYPE_USI_USI, MIPS_V2HI_FTYPE_SI_SI_SI.
+	(override_options): Check TARGET_DSPR2 to enable MASK_DSP.
+	(CODE_FOR_mips_mul_ph): Define it to CODE_FOR_mulv2hi3.
+	(dsp_bdesc): Add DSP REV 2 builtins.  Remove 32-bit only DSP builtins.
+	(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
+	dsp_32only_bdesc.
+	(mips_init_builtins): Initialize new function types.
+	Check unsupported_target_fileds to filter out builtins.
+	* config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_dspr2 if
+	TARGET_DSPR2.
+	(ASM_SPEC): Pass mdspr2 to the assembler.
+	* config/mips/mips-dspr2.md: New file.
+
+2007-03-09  Sa Liu  <saliu@de.ibm.com>
+
+	* config/rs6000/altivec.md: Fix vcond patterns using if_then_else.
+
+2007-03-09  Ian Lance Taylor  <iant@google.com>
+
+	* opts.c (common_handle_option): Treat -Wstrict-overflow (with no
+	argument) like -Wstrict-overflow=2.
+	* doc/invoke.texi (Warning Options): Update documentation.
+
+2007-03-09  Dirk Mueller  <dmueller@suse.de>
+
+	PR c++/17946
+	* doc/invoke.texi (-Wlogical-op): Document.
+	* common.opt (-Wlogical-op): New.
+	* c-common.h (warn_logical_operator): Declare.
+	* c-common.c (warn_logical_operator): Define.
+	* c-typeck.c (parser_build_binary_op): Call
+	warn_logical_operator.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* rtl.h (gen_rtx_ASM_INPUT): Use "" instead of NULL file name.
+	* final.c (final_scan_insn): Test for non-"" file name.
+
+2007-03-09  Sebastian Pop  <sebastian.pop@inria.fr>
+
+	* doc/loop.texi: Document the Omega linear constraints solver.
+	* doc/invoke.texi: Document -fcheck-data-deps, omega-max-vars,
+	omega-max-geqs, omega-max-eqs, omega-max-wild-cards,
+	omega-hash-table-size, omega-max-keys, and
+	omega-eliminate-redundant-constraints.
+	* tree-pass.h (pass_check_data_deps): Declared.
+	* omega.c: New.
+	* omega.h: New.
+	* timevar.def (TV_CHECK_DATA_DEPS): Declared.
+	* tree-ssa-loop.c (check_data_deps, gate_check_data_deps,
+	pass_check_data_deps): New.
+	* tree-data-ref.c (init_data_ref): Remove declaration.
+	(dump_data_dependence_relation): Dump DDR_INNER_LOOP.
+	(analyze_array): Renamed init_array_ref, move up initializations.
+	(init_data_ref): Renamed init_pointer_ref.  Moved before its call.
+	Removed arguments that are set to NULL.
+	(analyze_indirect_ref): Correct indentation, correct call to
+	init_pointer_ref.
+	(object_analysis): Call init_array_ref instead of analyze_array.
+	(initialize_data_dependence_relation): Initialize DDR_INNER_LOOP.
+	(access_functions_are_affine_or_constant_p): Use DR_ACCESS_FNS instead
+	of DR_ACCESS_FNS_ADDR.
+	(init_omega_eq_with_af, omega_extract_distance_vectors,
+	omega_setup_subscript, init_omega_for_ddr_1, init_omega_for_ddr,
+	ddr_consistent_p): New.
+	(compute_affine_dependence): Check consistency of ddrs when
+	flag_check_data_deps is passed.
+	(analyze_all_data_dependences): Uncomment.
+	(tree_check_data_deps): New.
+	* tree-data-ref.h: Include omega.h.
+	(DR_ACCESS_FNS_ADDR): Removed.
+	(data_dependence_relation): Add inner_loop.
+	(DDR_INNER_LOOP): New.
+	* common.opt (fcheck-data-deps): New.
+	* tree-flow.h (tree_check_data_deps): Declare.
+	* Makefile.in (TREE_DATA_REF_H): Depend on omega.h.
+	(OBJS-common): Depend on omega.o.
+	(omega.o): Define.
+	* passes.c (pass_check_data_deps): Scheduled.
+	* params.def (PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
+	PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
+	PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS,
+	PARAM_VECT_MAX_VERSION_CHECKS,
+	PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS): New.
+
+2007-03-09  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/30904
+	PR middle-end/31058
+	* tree-vrp.c (extract_range_from_binary_expr): Handle RSHIFT_EXPR
+	the same way as *_DIV_EXPR.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* recog.c (decode_asm_operands): No mixed declarations and code.
+
+2007-03-09  Alexandre Oliva  <aoliva@redhat.com>
+
+	* rtl.def (ASM_INPUT): Add location.
+	* rtl.h (ASM_INPUT_SOURCE_LOCATION): New.
+	(ASM_INPUT_SOURCE_FILE, ASM_INPUT_SOURCE_LINE): New.
+	(decode_asm_operands): Add loc operand.
+	(gen_rtx_ASM_INPUT, gen_rtx_ASM_INPUT_loc): Define.
+	* stmt.c (expand_asm): Rename to...
+	(expand_asm_loc): ... this.  Add locus argument.  Pass it on to
+	gen_rtx_ASM_INPUT_loc.
+	(expand_asm_expr): Adjust.
+	* recog.c (decode_asm_operands): Add loc operand.
+	(check_asm_operands, extract_insn): Adjust.
+	* reload1.c (maybe_fix_stack_asms): Likewise.
+	* final.c (asm_insn_count): Likewise.
+	(final_scan_insn): Output # line before and after asm.
+
+2007-03-09  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-structalias.c (variable_info): Remove
+	finished_solution.
+	(new_var_info): Ditto.
+	(shared_bitmap_info_t): New structure.
+	(shared_bitmap_table): New variable.
+	(shared_bitmap_hash): New function.
+	(shared_bitmap_eq): Ditto
+	(shared_bitmap_lookup): Ditto.
+	(shared_bitmap_add): Ditto.
+	(merge_smts_into): Change to take bitmap directly.
+	(find_what_p_points_to): Rewrite to use shared bitmap hashtable.
+	(init_alias_vars): Init shared bitmap hashtable.
+	(delete_points_to_sets): Delete shared bitmap hashtable.
+	* tree-ssa-operands.c (add_virtual_operand): Partially revert the
+	is_aliased removal as a change that was still necessary was
+	deleted.
+
+2007-03-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (override_options): Conditionally disable
+	x86_sahf for 64bit targets only.
+
+2007-03-08  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR C/31072
+	* c-decl.c (merge_decls): Don't call make_var_volatile.
+	* varasm.c (make_var_volatile): Remove.
+	* output.h (make_var_volatile): Remove.
+
+2007-03-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	PR tree-optimization/31085
+	* tree-ssa-address.c (create_mem_ref): Fix test of type of base.
+
+2007-03-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.def (lceil, lceilf, lceill, lfloor, lfloorf, lfloorl,
+	llceil, llceilf, llceill, llfloor, llfloorf, llfloorl): Mark with
+	ATTR_CONST_NOTHROW_LIST.
+
+	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle
+	FIX_TRUNC_EXPR.
+
+2007-03-08  Diego Novillo  <dnovillo@redhat.com>
+
+	* doc/tree-ssa.texi: Remove documentation for V_MUST_DEF.
+
+2007-03-08  Geoffrey Keating  <geoffk@apple.com>
+
+	PR 31013
+	* gccspec.c (lang_specific_driver): Do nothing when NEXT_OBJC_RUNTIME
+	is declared.
+	* config/darwin.h (REAL_LIBGCC_SPEC): When -fgnu-runtime is
+	passed, use shared libgcc.
+
+2007-03-08  Roger Sayle  <roger@eyesopen.com>
+
+	* tree-eh.c (do_return_redirection): Call build_gimple_modify_stmt
+	instead of calling build2 with a GIMPLE_MODIFY_STMT.
+	(honor_protect_cleanup_actions, lower_try_finally_switch):
+	Likewise.
+	* tree-if-conv.c (replace_phi_with_cond_gimple_modify_stmt,
+	ifc_temp_var): Likewise.
+	* tree-inline.c (setup_one_parameter): Likewise.
+	* tree-mudflap.c (mf_decl_cache_locals,
+	mf_build_check_statement_for): Likewise.
+	* tree-nested.c (init_tmp_var, save_tmp_var,
+	finalize_nesting_tree_1): Likewise.
+	* tree-outof-ssa.c (insert_copy_on_edge,
+	insert_backedge_copies): Likewise.
+	* tree-profile.c (tree_gen_edge_profiler,
+	tree_gen_ic_profiler): Likewise.
+	* tree-scalar-evolution.c (scev_const_prop): Likewise.
+	* tree-sra.c (sra_build_assignment): Likewise.
+	* tree-ssa-loop-im.c (determine_invariantness_stmt): Likewise.
+	* tree-ssa-math-opts.c (insert_reciprocals,
+	execute_cse_sincos_1): Likewise.
+	* tree-tailcall.c (adjust_accumulator_values,
+	adjust_return_value): Likewise.
+	* tree-vect-patterns.c (vect_pattern_recog_1): Likewise.
+	* tree-vect-transform.c (vect_create_data_ref_ptr,
+	bump_vector_ptr, vect_init_vector, get_initial_def_for_induction,
+	vect_create_epilog_for_reduction, vectorizable_reduction,
+	vectorizable_call, vectorizable_conversion,
+	vectorizable_assignment, vectorizable_operation,
+	vectorizable_type_demotion, vect_gen_widened_results_half,
+	vect_permute_store_chain, vectorizable_store,
+	vect_setup_realignment, vect_permute_load_chain,
+	vectorizable_load, vectorizable_condition,
+	vect_create_cond_for_align_checks): Likewise.
+	* tree-vrp.c (build_assert_expr_for): Likewise.
+
+2007-03-08  Ian Lance Taylor  <iant@google.com>
+
+	* tree-vrp.c: Include "intl.h".
+	(usable_range_p): New static function.
+	(compare_values_warnv): Don't test TYPE_OVERFLOW_UNDEFINED for
+	overflowed values, juts set *strict_overflow_p.
+	(compare_values): Only return -2 if one of the operands is not a
+	constant.
+	(compare_ranges): Call usable_range_p.
+	(compare_range_with_value): Likewise.
+	(vrp_evaluate_conditional_warnv): Rename from
+	vrp_evaluate_conditional.  Make static.  Change all callers.
+	(vrp_evaluate_conditional): New function.
+	(simplify_div_or_mod_using_ranges): Issue warning about reliance
+	on signed overflow.
+	(simplify_abs_using_ranges): Likewise.
+	(simplify_stmt_for_jump_threading): Add within_stmt parameter.
+	* tree-ssa-dom.c (simplify_stmt_for_jump_threading): Add
+	within_stmt parameter.
+	* tree-ssa-propagate.c (fold_predicate_in): Update call to
+	vrp_evaluate_conditional.
+	* tree-ssa-threadedge.c
+	(record_temporary_equivalences_from_stmts_at_dest): Change
+	simplify parameter to take a second tree parameter.
+	(simplify_control_stmt_condition): Likewise.
+	(thread_across_edge): Likewise.
+	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
+	(thread_across_edge): Likewise.
+	* Makefile.in (tree-vrp.o): Depend upon intl.h.
+
+2007-03-08  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TARGET_SAHF): New define.
+	* config/i386/i386.c (ix86_tune_features) [X86_TUNE_USE_SAHF]:
+	Also enable for m_K8, m_AMDFAM10 and m_CORE2.
+	(x86_sahf): New global variable.
+	(override_options): Add PTA_NO_SAHF to pta_flags enum.  Recode
+	pta_flags masks using shifts.  Add PTA_NO_SAHF to x86_64 and
+	nocona processor flags.  Set x86_sahf when PTA_NO_SAHF is not set
+	in processor flags.  Do not unconditionally disable TARGET_USE_SAHF
+	for 64-bit.
+	(ix86_fp_comparison_sahf_cost): Return high value for !TARGET_SAHF.
+	(ix86_expand_fp_compare): Check for TARGET_CMOVE or TARGET_SAHF
+	when expanding fcomi/sahf based tests.
+	(ix86_emit_fp_unordered_jump): Check for TARGET_SAHF when
+	expanding sahf based alternative. Emit sahf based sequence when
+	optimizing for code size.
+	* config/i386/i386.md (x86_sahf_1): Do not disable for
+	TARGET_64BIT, enable for TARGET_SAHF.
+
+2007-03-08  Martin Michlmayr  <tbm@cyrius.com>
+
+	* tree-ssa-coalesce.c (fail_abnormal_edge_coalesce): Remove
+	spurious whitespace from error message.
+
+2007-03-08  Volker Reichelt  <reichelt@netcologne.de>
+
+	PR c++/30852
+	* c-common.c (fold_offsetof_1): Handle COMPOUND_EXPR.
+
+2007-03-08  Alexandre Oliva  <aoliva@redhat.com>
+
+	* c-decl.c (grokdeclarator): Disable warnings for anonymous
+	bitfields.
+	* tree-sra.c (instantiate_element): Propagate disabled warnings
+	from the element itself to the created variable.
+
+2007-03-07  Richard Henderson  <rth@redhat.com>
+
+	PR target/30848
+	* reg-stack.c (emit_swap_insn): If a malformed asm was seen,
+	silently fix up the stack in the case of a missing register.
+
+2007-03-07  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/libunwind.S: Add .arch/.object_arch for armv4 builds.
+
+2007-03-07  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/arm/unwind-arm.c (struct wmmxd_regs, struct wmmxc_regs):
+	New.
+	(phase1_vrs): Use them.
+	(DEMAND_SAVE_WMMXD, DEMAND_SAVE_WMMXC): New.
+	(__gnu_Unwind_Save_WMMXD, __gnu_Unwind_Restore_WMMXD,
+	__gnu_Unwind_Save_WMMXC, __gnu_Unwind_Restore_WMMXC): Declare.
+	(restore_non_core_regs): Call __gnu_Unwind_Restore_WMMXD and
+	__gnu_Unwind_Restore_WMMXC if required.
+	(_Unwind_VRS_Pop): Implement iWMMXt support.
+	* config/arm/libunwind.S (gnu_Unwind_Restore_WMMXD,
+	gnu_Unwind_Save_WMMXD, gnu_Unwind_Restore_WMMXC,
+	gnu_Unwind_Save_WMMXC): Define.
+
+2007-03-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vxworks.h (vxworks_override_options): Declare.
+	(VXWORKS_OVERRIDE_OPTIONS): Use it.
+	* config/vxworks.c: Include target.h and toplev.h.
+	(vxworks_override_options): New function.
+	* config/t-vxworks (vxworks.o): Depend on $(TARGET_H) and toplev.h.
+
+2007-03-07  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (override_options): Don't emit an error when
+	-mstack-size is used without providing -mstack-guard.
+	(s390_emit_prologue): Choose stack_guard value automatically if not
+	provided via command line.
+	* doc/invoke.texi: Adjust description of -mstack-guard and
+	-mstack-size.
+
+2007-03-07  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/i386/i386.c (output_set_got): Add a GOT initialization
+	sequence for VxWorks PIC.
+	(legitimate_pic_address_disp_p): Allow UNSPEC_GOT wrappers
+	around labels as well as symbols.  Use gotoff_operand instead
+	of local_symbolic_operand.
+	(legitimize_pic_address): Use gotoff_operand instead of
+	local_symbolic_operand.  Use @GOT accesses for labels as
+	well as symbols.
+	(ix86_output_addr_diff_elt): Use PC-relative rather than
+	GP-relative offsets for VxWorks PIC.
+	(ix86_expand_move): Pass NULL_RTX to legitimize_pic_address unless
+	no_new_pseudos.  Check whether the returned register is op0.
+	* config/i386/i386.md (tablejump): Use PC-relative rather than
+	GP-relative offsets for VxWorks PIC.
+	* config/i386/predicates.md (gotoff_operand): New predicate.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/vxworks.h (VXWORKS_GOTT_BASE, VXWORKS_GOTT_INDEX): Undefine
+	before defining.
+	* config/vxworks-dummy.h: New file.
+	* config/i386/i386.h: Include it.
+
+2007-03-07  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2out.c (is_inlined_entry_point): New
+	(add_high_low_attributes): Emit DW_AT_entry_pc along with
+	DW_AT_ranges if the first subblock is the entry point.
+
+2007-03-06  David Daney  <ddaney@avtrex.com>
+
+	* doc/install.texi (mips-*-*): Change recommended binutils
+	version.
+
+2007-03-06  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.c (avr_mcu_types): Add support for ATmega325P,
+	ATmega3250P, ATmega329P, ATmega3290P, AT90USB82 and AT90USB162
+	devices.
+	* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+	* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+	* errors.h (warning, error, fatal, internal_error): Mark as cold.
+	* predict.c (maybe_hot_bb): Cold functions are never hot; hot
+	functions are hot.
+	(probably_cold_bb_p): Cold functions are cold.
+	(probably_never_executed_bb_p): Cold functions are cold.
+	(tree_bb_level_predictions): Predict calls to cold functions as not
+	taken.
+	(compute_function_frequency): Check hot/cold attributes.
+	* function.h (function_frequency): Update comments.
+	* predict.def (PRED_COLD_FUNCTION): Predict cold function.
+	* c-common.c (handle_hot_attribute, handle_cold_attribute): New.
+	(c_common_att): Add cold and hot.
+
+	* doc/extend.texi (hot,cold attributes): Document.
+
+2007-03-06  Andrew Haley  <aph@redhat.com>
+
+	* function.c (expand_function_end): Move blockage to just after we
+	emit the label for the naked return from the function.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/i386/att.h (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Undefine
+	before redefining.
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+	* reg-stack.c (reg_to_stack): Large models don't allow NAN to be
+	loaded for constant large models.  Non-large 64bit PIC can do.
+	* config/i386/i386.h (CASE_VECTOR_MODE): Large PIC cases are 64bit.
+	* cmodel.h: Add LARGE PIC.
+	* config/i386/i386.md (UNSPEC_PLTOFF): New.
+	(UNSPEC_SET_RIP, UNSPEC_SET_GOT_OFFSET): New; renumber other
+	unspecs as needed.
+	(*call_1_rex64): Disable for large models.
+	(*call_1_rex64_large): New.
+	(*call_value_1_rex64): Disable for large models.
+	(*call_value_1_rex64_large): New.
+	(set_rip_rex4): New.
+	(set_got_offset_rex64): New.
+	* config/i386/predicates.md (constant_call_address_operand): For
+	large model constant calls are not possible.
+	* config/i386/i386-protos.h (construct_plt_address): Declare.
+	* config/i386/i386.c (override_options): Accept large models.
+	(ix86_expand_prologue): Expand large PIC GOT pointer load.
+	(legitimate_constant_p): Add new UNSPECs.
+	(legitimate_pic_operand_p): Likewise.
+	(legitimate_pic_address_disp_p): Disallow local symbols for large PICs.
+	(legitimize_pic_address): Do easy RIP relative way for TLS only for
+	non-large model.
+	(output_pic_addr_const): Add PLTOFF.
+	(ix86_output_addr_diff_elt): Output 64bit tables when needed.
+	(ix86_expand_move): Legitimize pic address when in PIC mode.
+	(construct_plt_address): New function.
+	(ix86_expand_call): Offload the address to register and use GOT
+	pointer for large model.
+	* invoke.texi (mcmodel=large): Update documentation.
+
+2007-03-06  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.c (x86_use_leave, x86_push_memory,
+	x86_zero_extend_with_and, x86_movx, x86_double_with_add,
+	x86_use_bit_test, x86_unroll_strlen, x86_deep_branch,
+	x86_branch_hints, x86_use_sahf, x86_partial_reg_stall,
+	x86_partial_flag_reg_stall, x86_use_himode_fiop, x86_use_simode_fiop,
+	x86_use_mov0, x86_use_cltd, x86_read_modify_write, x86_read_modify,
+	x86_split_long_moves, x86_promote_QImode, x86_fast_prefix,
+	x86_single_stringop, x86_qimode_math, x86_promote_qi_regs,
+	x86_himode_math, x86_promote_hi_regs, x86_sub_esp_4, x86_sub_esp_8,
+	x86_add_esp_4, x86_add_esp_8, x86_integer_DFmode_moves,
+	x86_partial_reg_dependency, x86_memory_mismatch_stall,
+	x86_prologue_using_move, x86_epilogue_using_move, x86_shift1,
+	x86_sse_partial_reg_dependency, x86_sse_split_regs,
+	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
+	x86_sse_load0_by_pxor, x86_use_ffreep, x86_use_incdec,
+	x86_inter_unit_moves, x86_ext_80387_constants, x86_four_jump_limit,
+	x86_schedule, x86_use_bt, x86_pad_returns,
+	x86_use_xchgb): Merge into ...
+	(ix86_tune_features): ... here.  New array.
+	(x86_cmove, x86_cmpxchg, x86_cmpxchg8b,	x86_xadd,
+	x86_bswap): Merge into ...
+	(ix86_arch_features): ... here.  New array.
+	(x86_3dnow_a): Remove.
+	(x86_accumulate_outgoing_args): Make static.
+	(x86_arch_always_fancy_math_387): Make static.
+	(ix86_tune_mask, ix86_arch_mask): Move ...
+	(override_options): ... to local variables here.  Apply the
+	appropriate mask to each element of ix86_arch_features and
+	ix86_tune_features.  Adjust TARGET_CMOVE and TARGET_USE_SAHF
+	as were done in the old macros.
+	(standard_80387_constant_p): Use TARGET_EXT_80387_CONSTANTS.
+	* config/i386/i386.h (x86_use_leave, x86_push_memory,
+	x86_zero_extend_with_and, x86_use_bit_test, x86_cmove, x86_deep_branch,
+	x86_branch_hints, x86_unroll_strlen, x86_double_with_add,
+	x86_partial_reg_stall, x86_movx, x86_use_himode_fiop,
+	x86_use_simode_fiop, x86_use_mov0, x86_use_cltd, x86_use_xchgb,
+	x86_read_modify_write, x86_read_modify, x86_split_long_moves,
+	x86_promote_QImode, x86_single_stringop, x86_fast_prefix,
+	x86_himode_math, x86_qimode_math, x86_promote_qi_regs,
+	x86_promote_hi_regs, x86_integer_DFmode_moves, x86_add_esp_4,
+	x86_add_esp_8, x86_sub_esp_4, x86_sub_esp_8,
+	x86_partial_reg_dependency, x86_memory_mismatch_stall,
+	x86_accumulate_outgoing_args, x86_prologue_using_move,
+	x86_epilogue_using_move, x86_decompose_lea,
+	x86_arch_always_fancy_math_387, x86_shift1,
+	x86_sse_partial_reg_dependency, x86_sse_split_regs,
+	x86_sse_unaligned_move_optimal, x86_sse_typeless_stores,
+	x86_sse_load0_by_pxor, x86_use_ffreep, x86_inter_unit_moves,
+	x86_schedule, x86_use_bt, x86_cmpxchg, x86_cmpxchg8b, x86_xadd,
+	x86_use_incdec, x86_pad_returns, x86_bswap,
+	x86_partial_flag_reg_stall): Remove.
+	(enum ix86_tune_indices): New.
+	(ix86_tune_features): New.
+	(TARGET_USE_LEAVE, TARGET_PUSH_MEMORY, TARGET_ZERO_EXTEND_WITH_AND,
+	TARGET_USE_BIT_TEST, TARGET_UNROLL_STRLEN,
+	TARGET_DEEP_BRANCH_PREDICTION, TARGET_BRANCH_PREDICTION_HINTS,
+	TARGET_DOUBLE_WITH_ADD, TARGET_USE_SAHF, TARGET_MOVX,
+	TARGET_PARTIAL_REG_STALL, TARGET_PARTIAL_FLAG_REG_STALL,
+	TARGET_USE_HIMODE_FIOP, TARGET_USE_SIMODE_FIOP, TARGET_USE_MOV0,
+	TARGET_USE_CLTD, TARGET_USE_XCHGB, TARGET_SPLIT_LONG_MOVES,
+	TARGET_READ_MODIFY_WRITE, TARGET_READ_MODIFY, TARGET_PROMOTE_QImode,
+	TARGET_FAST_PREFIX, TARGET_SINGLE_STRINGOP, TARGET_QIMODE_MATH,
+	TARGET_HIMODE_MATH, TARGET_PROMOTE_QI_REGS, TARGET_PROMOTE_HI_REGS,
+	TARGET_ADD_ESP_4, TARGET_ADD_ESP_8, TARGET_SUB_ESP_4,
+	TARGET_SUB_ESP_8, TARGET_INTEGER_DFMODE_MOVES,
+	TARGET_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REG_DEPENDENCY,
+	TARGET_SSE_UNALIGNED_MOVE_OPTIMAL, TARGET_SSE_SPLIT_REGS,
+	TARGET_SSE_TYPELESS_STORES, TARGET_SSE_LOAD0_BY_PXOR,
+	TARGET_MEMORY_MISMATCH_STALL, TARGET_PROLOGUE_USING_MOVE,
+	TARGET_EPILOGUE_USING_MOVE, TARGET_SHIFT1, TARGET_USE_FFREEP,
+	TARGET_INTER_UNIT_MOVES, TARGET_FOUR_JUMP_LIMIT, TARGET_SCHEDULE,
+	TARGET_USE_BT, TARGET_USE_INCDEC, TARGET_PAD_RETURNS,
+	TARGET_EXT_80387_CONSTANTS): Use it.
+	(enum ix86_arch_indices): New.
+	(ix86_arch_features): New.
+	(TARGET_CMOVE, TARGET_CMPXCHG, TARGET_CMPXCHG8B, TARGET_XADD,
+	TARGET_BSWAP): Use it.
+	(ix86_tune_mask, ix86_arch_mask): Remove.
+
+2007-03-06  Joseph Myers  <joseph@codesourcery.com>
+
+	PR bootstrap/31020
+	* configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir):
+	Define using $${sysroot_headers_suffix}.
+	* configure: Regenerate.
+	* cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a
+	multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC
+	defined.
+	* doc/invoke.texi (-print-sysroot-headers-suffix): Document.
+	* gcc.c (print_sysroot_headers_suffix): New.
+	(option_map): Include --print-sysroot-headers-suffix.
+	(display_help): Mention -print-sysroot-headers-suffix.
+	(process_command): Handle -print-sysroot-headers-suffix.
+	(do_spec_1): Append multilib directory to include-fixed path if
+	sysroot suffixes in use.
+	(main): Handle -print-sysroot-headers-suffix.
+	* Makefile.in (start.encap): Don't depend on xlimits.h
+	(xlimits.h): Remove.
+	(stmp-int-hdrs): Don't depend on xlimits.h.  Inline generation of
+	limits.h for each multilib in fixinc_list.
+	(fixinc_list, s-fixinc_list): New.
+	(stmp-fixinc): Depend on fixinc_list.  If not copying headers,
+	generate them for each multilib in fixinc_list.
+	(stmp-fixproto): Use include-fixed.  Run fixproto for each
+	multilib in fixinc_list.
+	(mostlyclean): Don't remove xlimits.h.
+	(clean): Remove include-fixed.
+	(real-install-headers-tar, real-install-headers-cpio,
+	real-install-headers-cp): Don't copy include, only include-fixed.
+	(install-mkheaders): Depend on fixinc_list.  Don't depend on
+	xlimits.h.  Save limits.h files for each multilib in fixinc_list.
+	Always save mkinstalldirs.  Preserve ${sysroot_headers_suffix} in
+	SYSTEM_HEADER_DIR setting in mkheaders.conf.
+
+2007-03-06  Jan Hubicka  <jh@suse.cz>
+
+	* regstack.c (reg_to_stack): When in 64bit PIC mode, we still can load
+	NANs easilly.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* configure.ac: Allow tm_file to contain build-directory files.
+	* configure: Regenerate.
+	* config.gcc (m68k-*-uclinux*): Add ./sysroot-suffix.h to tm_file.
+	* config/m68k/t-uclinux (sysroot-suffix.h): New target.
+	* config/m68k/print-sysroot-suffix.sh: New file.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (PIC_OFFSET_TABLE_REGNUM): Use the REGNO
+	of pic_offset_table_rtx if reload_completed.
+	(CONDITIONAL_REGISTER_USAGE): Use PIC_REG instead of
+	PIC_OFFSET_TABLE_REGNUM.
+	* config/m68k/m68k.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Always
+	return true.
+	(m68k_save_reg): Use PIC_REG instead of PIC_OFFSET_TABLE_REGNO.
+	(m68k_output_mi_thunk): Rewrite to use RTL.  Honor vcall_offset.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
+	functions that call eh_return.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_save_reg): Save the PIC register in
+	functions that need a constant pool.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	PR target/28181
+	* config/m68k/m68k-protos.h (m68k_secondary_reload_class): Declare.
+	(m68k_preferred_reload_class): Likewise.
+	* config/m68k/m68k.h (HARD_REGNO_MODE_OK): Remove duplicated comment.
+	(SECONDARY_RELOAD_CLASS): Define.
+	(PREFERRED_RELOAD_CLASS): Use m68k_preferred_reload_class.
+	(LIMIT_RELOAD_CLASS): Delete.
+	* config/m68k/m68k.c (m68k_regno_mode_ok): Don't prevent address
+	registers from storing bytes.
+	(m68k_secondary_reload_class): New function.
+	(m68k_preferred_reload_class): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_save_reg): Remove special case for
+	leaf functions.
+	(m68k_expand_prologue): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k-protos.h (output_sibcall): Declare.
+	(mips_expand_epilogue): Add a bool parameter.
+	(m68k_legitimize_sibcall_address): Declare.
+	* config/m68k/m68k.c (TARGET_FUNCTION_OK_FOR_SIBCALL): Define.
+	(m68k_expand_epilogue): Add a parameter to select between sibling
+	and normal epilogues.  Only generate a return for the latter.
+	(m68k_ok_for_sibcall_p): New function.
+	(m68k_legitimize_sibcall_address, output_sibcall): New functions.
+	* config/m68k/m68k.md (sibcall, *sibcall): New patterns.
+	(sibcall_value, *sibcall_value): Likewise.
+	(*call, *call_value): Require !SIBLING_CALL_P.
+	(epilogue): Update call to m68k_expand_epilogue.
+	(sibcall_epilogue): New pattern.
+	* config/m68k/predicates.md (const_call_operand): Say that this
+	predicate applies to sibling calls too.
+	(sibcall_operand): New predicate.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (movsf_cf_soft): Provide the same non-mov3q
+	alternatives as movsi_cf.
+	(movsf_cf_hard): Add commentary.
+
+2007-03-06  Kazu Hirata  <kazu@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k-protos.h (m68k_interrupt_function_p): Declare.
+	(m68k_movem_pattern_p, m68k_output_movem): Likewise.
+	(m68k_expand_prologue, m68k_expand_epilogue): Likewise.
+	* config/m68k/m68k.h (EPILOGUE_USES): Define.  Treat all registers
+	as being live on exit from an interrupt function.
+	(PRINT_OPERAND_PUNCT_VALID_P): Return true for '?'.
+	* config/m68k/m68k.c (MIN_MOVEM_REGS, MIN_FMOVEM_REGS): New macros.
+	(m68k_frame): Remove reg_rev_mask and fpu_rev_mask.
+	(TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Delete.
+	(m68k_interrupt_function_p): Globalize.
+	(m68k_compute_frame_layout): Remove reverse mask code.
+	(m68k_emit_movem, m68k_set_frame_related): New functions.
+	(m68k_output_function_prologue): Delete in favor of...
+	(m68k_expand_prologue): ...this new function.
+	(m68k_output_function_epilogue): Delete in favor of...
+	(m68k_expand_epilogue): ...this new function.
+	(m68k_split_offset, m68k_movem_pattern_p, m68k_output_movem): New
+	functions.
+	(print_operand): Handle %?.
+	* config/m68k/m68k.md (UNSPEC_SIN, UNSPEC_COS): Remove excess space.
+	(UNSPEC_GOT, A1_REG, PIC_REG, FP0_REG): New constants.
+	(prologue, epilogue): New patterns.
+	(return): Turn into a define_expand.
+	(*return): New pattern, derived from old "return" pattern.  Use rte
+	rather than rts for interrupt functions.  Only use rtd if the pop
+	count is nonzero.
+	(*m68k_store_multiple, *m68k_store_multiple_automod): New patterns.
+	(*m68k_load_multiple, *m68k_load_multiple_automod): Likewise.
+	(link, *link, unlink, *unlink, load_got): Likewise.
+
+2007-03-06  Richard Sandiford  <richard@codesourcery.com>
+
+	PR target/23482
+	PR target/17114
+	* config/m68k/m68k-protos.h (m68k_legitimate_base_reg_p): Declare.
+	(m68k_legitimate_index_reg_p, m68k_legitimate_address_p): Likewise.
+	(m68k_matches_q_p, m68k_matches_u_p): Likewise.
+	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Use m68k_matches_q_p
+	and m68k_matches_u_p.
+	(PCREL_GENERAL_OPERAND_OK, LEGITIMATE_BASE_REG_P): Delete.
+	(INDIRECTABLE_1_ADDRESS_P, GO_IF_NONINDEXED_ADDRESS): Delete.
+	(GO_IF_INDEXABLE_BASE, GO_IF_INDEXING, GO_IF_INDEXED_ADDRESS): Delete.
+	(LEGITIMATE_INDEX_REG_P, LEGITIMATE_INDEX_P): Delete.
+	(GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Delete.
+	(REG_STRICT_P): New macro.
+	(LEGITIMATE_PIC_OPERAND_P): Use REG_STRICT_P rather than
+	PCREL_GENERAL_OPERAND_OK.
+	(REG_OK_FOR_BASE_P): Merge definitions.  Use REG_STRICT_P and
+	m68k_legitimate_base_reg_p.
+	(REG_MODE_OK_FOR_INDEX_P): Likewise m68k_legitimate_index_reg_p.
+	(GO_IF_LEGITIMATE_ADDRESS): Likewise m68k_legitimate_address_p.
+	(PIC_CASE_VECTOR_ADDRESS): Update comment.
+	* config/m68k/m68k.c (m68k_address): New structure.
+	(m68k_legitimate_base_reg_p, m68k_legitimate_index_reg_p)
+	(m68k_decompose_index, m68k_legitimate_constant_address_p)
+	(m68k_jump_table_ref_p, m68k_decompose_address)
+	(m68k_legitimate_address_p, m68k_legitimate_mem_p, m68k_matches_q_p)
+	(m68k_matches_u_p): New functions.
+	(print_operand_address): Rewrite to use m68k_decompose_index.
+
+2007-03-05  David Taylor  <dtaylor@emc.com>
+
+	* gcc.c: Correct copyright date in --version output.
+
+2007-03-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.md: In unamed move patterns, disparge copies between general
+	and floating point registers using '?' modifier.  Don't include 'f'
+	constraint for register preferences in DImode, SImode, HImode and
+	QImode patterns.  Likewise for 'r' in DFmode and SFmode patterns.
+	Remove constraints for copies between general and floating registers
+	in soft-float DFmode pattern.
+	(movdf): Fail if operand1 is a CONST_DOUBLE and operand0 is a hard
+	floating register.
+	(movsf): Likewise.
+
+2007-03-05  Mike Stump  <mrs@apple.com>
+
+	* c-common.c (targetcm): Add.
+	* c-opts.c (c_common_handle_option): Handle language specific
+	target options.
+	* opts.c (handle_option): Verify language for target options, if
+	any are given.
+	* opth-gen.awk: Add CL_LANG_ALL.
+	* target-def.h (TARGET_HANDLE_C_OPTION): Add.
+	(TARGETCM_INITIALIZER): Add.
+	* target.h (struct gcc_targetcm): Add.
+	(targetcm): Add.
+	* targhooks.c (default_handle_c_option): Add.
+	* targhooks.h (default_handle_c_option): Add.
+	* doc/tm.texi (TARGET_HANDLE_C_OPTION): Add.
+
+	* config/darwin.opt (iframework): Add.
+	* config/darwin.h (TARGET_HAS_TARGETCM): Add.
+	* config/darwin-c.c (handle_c_option): Add.
+	(TARGET_HANDLE_C_OPTION): Add.
+	(targetcm): Add.
+	* doc/invoke.texi (Darwin Options): Add -iframework.
+
+2007-03-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* convert.c (convert_to_integer): Fix nearbyint/rint -> *lrint
+	conversion.
+
+2007-03-05  Ian Lance Taylor  <iant@google.com>
+
+	* c.opt (fgnu89-inline): New option.
+	* c-opts.c (c_common_post_options): Set default value for
+	flag_gnu89_inline.
+	* c-decl.c (WANT_C99_INLINE_SEMANTICS): Remove.
+	(pop_scope): Check flag_gnu89_inline rather than flag_isoc99 for
+	inline functions.
+	(diagnose_mismatched_decls, merge_decls, start_decl): Likewise.
+	(grokdeclarator, start_function): Likewise.
+	* c-cppbuiltin.c (c_cpp_builtins): Define either
+	__GNUC_GNU_INLINE__ or __GNUC_STDC_INLINE__.
+	* doc/invoke.texi (Option Summary): Mention -fgnu89-inline.
+	(C Dialect Options): Document -fgnu89-inline.
+	* doc/extend.texi (Function Attributes): Explain what the
+	gnu_inline attribute does.
+	* doc/cpp.texi (Common Predefined Macros): Document
+	__GNUC_GNU_INLINE__ and __GNUC_STDC_INLINE__.
+
+2007-03-05  Ian Lance Taylor  <iant@google.com>
+
+	PR tree-optimization/31034
+	* tree-vrp.c (extract_range_from_assert): Don't try to handle a
+	half-range if the other side is an overflow infinity.
+
+2007-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config.gcc (bfin*-uclinux*): Use t-bfin-uclinux.
+	(bfin*-linux-uclibc*): New configuration.
+	* config/linux.h (LINK_GCC_C_SEQUENCE_SPEC): Undefined before
+	defining.
+	* config/bfin/linux.h: New file.
+	* config/bfin/libgcc-bfin.ver: New file.
+	* config/bfin/t-bfin-uclinux: New file.
+	* config/bfin/t-bfin-linux: New file.
+	* config/bfin/uclinux.h (LINUX_TARGET_OS_CPP_BUILTINS): New macro.
+	(TARGET_OS_CPP_BUILTINS): New macro.
+
+2007-03-05  Richard Guenther  <rguenther@suse.de>
+
+	* fold-const.c (fold_binary): Remove duplicate folding
+	of comparison of non-null ADDR_EXPR against null.
+
+2007-03-05  Richard Guenther  <rguenther@suse.de>
+	    Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/26420
+	* tree-vectorizer.c (vectorize_loops): Bail out early if there
+	are no loops in the function.  Only print the number of
+	vectorized loops if it is greater than zero or we are supposed
+	to print information about unvectorized loops.
+
+2007-03-05  Revital Eres  <eres@il.ibm.com>
+
+	* gcc.dg/var-expand1.c: New test.
+	* loop-unroll.c (analyze_insn_to_expand_var): Add dump info
+	when an accumulator is expanded.
+
+2007-03-04  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR other/30465
+	* c-common.c (convert_and_check): Don't give warnings for
+	conversion if 'expr' already overflowed.
+
+2007-03-04  Roger Sayle  <roger@eyesopen.com>
+
+	PR middle-end/30744
+	* fold-const.c (fold_comparison): Enforce type consistency when
+	transforming ~X op ~Y to Y op X, and ~X op C to X op' ~C.
+
+2007-03-04  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-address.c (create_mem_ref): Do not put an expression
+	containing a cast to the base of TARGET_MEM_REF.
+
+2007-03-04  Martin Michlmayr  <tbm@cyrius.com>
+
+	* tree.c (tree_contains_struct_check_failed): Remove spurious
+	whitespace from error message.
+
+2007-03-04 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+	PR target/30406
+	* config/rs6000/rs6000.c (rs6000_function_value): Look at bit size
+	instead of precision.
+
+2007-03-04  Roman Zippel <zippel@linux-m68k.org>
+	    Nathan Sidwell  <nathan@codesourcery.com>
+
+	* emit-rtl.c (find_auto_inc): New.
+	(try_split): recreate REG_INC notes,
+	Use regular for loops rather than whiles.
+
+2007-03-03  Andreas Schwab  <schwab@suse.de>
+
+	* configure.ac (HAVE_AS_REL16): Move test back to correct place.
+	* configure: Regenerate.
+
+2007-03-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.def (ATTR_MATHFN_FPROUNDING): Rely on
+	flag_rounding_math, not flag_unsafe_math_optimizations.
+
+	* c-pretty-print.c (pp_c_direct_abstract_declarator): Use
+	fold_build2.
+	* config/alpha/alpha.c (alpha_fold_builtin_zapnot,
+	alpha_fold_vector_minmax): Likewise.
+	* config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+	* config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
+
+2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-sra.c (sra_walk_fns) <ldst>: Document new restriction.
+	(sra_walk_modify_expr) <rhs_elt>: Treat the reference as a use
+	if the lhs has side-effects.
+	<lhs_elt>: Treat the reference as a use if the rhs has side-effects.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (TUNEMASK): Remove define.
+	(ARCHMASK): Remove define.
+	(TARGET_*): Use ix86_tune_mask variable instead of TUNEMASK.
+	 Use ix86_arch_mask variable instead of ARCHMASK.
+	* config/i386/i386.c (override_options): Ditto.
+	(standard_80387_constant_p): Ditto.
+
+2007-03-02  Ian Lance Taylor  <iant@google.com>
+
+	Used signed infinities in VRP.
+	* tree-vrp.c (uses_overflow_infinity): New static function.
+	(supports_overflow_infinity): New static function.
+	(make_overflow_infinity): New static function.
+	(negative_overflow_infinity): New static function.
+	(positive_overflow_infinity): New static function.
+	(is_negative_overflow_infinity): New static function.
+	(is_positive_overflow_infinity): New static function.
+	(is_overflow_infinity): New static function.
+	(overflow_infinity_range_p): New static function.
+	(compare_values_warnv): New function split out of compare_values.
+	(compare_value): Call it.
+	(set_value_range_to_nonnegative): Add overflow_infinity
+	parameter.  Change caller.
+	(vrp_expr_computes_nonnegative): Add strict_overflow_p parameter.
+	Change callers.
+	(vrp_expr_computes_nonzero): Likewise.
+	(compare_ranges, compare_range_with_value): Likewise.
+	(compare_name_with_value, compare_names): Likewise.
+	(vrp_evaluate_conditional): Likewise.
+	(set_value_range): Handle infinity
+	(vrp_operand_equal_p, operand_less_p): Likewise.
+	(extract_range_from_assert): Likewise.
+	(vrp_int_const_binop): Likewise.
+	(extract_range_from_binary_expr): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	(extract_range_from_comparison): Likewise.
+	(extract_range_from_expr): Likewise.
+	(dump_value_range): Likewise.
+	(vrp_visit_cond_stmt, vrp_visit_phi_node): Likewise.
+	(test_for_singularity): Likewise.
+	(vrp_int_const_binop): Remove inline qualifier.
+	(adjust_range_with_scev): Add comment.
+	* tree-flow.h (vrp_evaluate_conditional): Update declaration.
+
+2007-03-02  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-ssa-structalias.c (could_have_pointers): Tidy.
+	(get_constraint_for): Likewise.
+	(do_structure_copy): Likewise.
+	(find_func_aliases): Fix references to MODIFY_EXPR.
+	(intra_create_variable_infos): Tidy.
+	* tree-ssa-operands.c (add_virtual_operand): Add argument
+	IS_CALL_SITE.
+	When adding members of alias sets, if IS_CALL_SITE is true and
+	the symbol is not call-clobbered, skip it.
+	Adjust all callers.
+
+2007-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* config/alpha/alpha.c (alpha_gp_save_rtx): Insert the insns at the
+	entry by means of emit_insn_at_entry.
+
+2007-03-02  Richard Henderson  <rth@redhat.com>
+
+	* expr.h (promoted_input_arg): Remove decl.
+	* function.c (promoted_input_arg): Merge into ...
+	* combine.c (setup_incoming_promotions): ... only caller.
+	Rearrange to avoid double loop.
+
+2007-03-02  Ben Elliston  <bje@au.ibm.com>
+	    Peter Bergner  <bergner@vnet.ibm.com>
+	    Janis Johnson  <janis187@us.ibm.com>
+
+	* config/rs6000/dfp.md: New file.
+	* config/rs6000/rs6000.md: Include dfp.md.
+	(add<mode>3_internal1): Disable for DECIMAL_FLOAT_MODE_P operands.
+	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Handle DDmode
+	and TDmode decimal float modes in FP registers.
+	(num_insns_constant): Likewise.
+	(rs6000_legitimate_offset_address_p): Likewise.
+	(rs6000_legitimize_address): Likewise.
+	(rs6000_legitimize_reload_address): Likewise.
+	(rs6000_legitimate_address): Likewise.
+	(rs6000_emit_move): Likewise.
+	(function_arg_boundary): Likewise.
+	(function_arg_advance): Likewise.
+	(rs6000_darwin64_record_arg_recurse): Likewise.
+	(function_arg): Likewise.
+	(rs6000_gimplify_va_arg): Likewise.
+	(rs6000_split_multireg_move): Likewise.
+	(rs6000_output_function_epilogue): Likewise.
+	(rs6000_output_function_epilogue): Likewise.
+	(rs6000_register_move_cost): Likewise.
+	(rs6000_function_value): Likewise.
+	(rs6000_libcall_value): Likewise.
+
+2007-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/t-vxworks (LIMITS_H_TEST): Define to true for VxWorks.
+
+2007-03-02  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/t-vxworks (LIBGCC2_INCLUDES): Pass -nostdinc.
+	Use $MULTIDIR to choose between the kernel and RTP headers,
+	and use $WIND_BASE and $WIND_USR to locate them.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (override_options): Put initialization of
+	ix86_tune_mask and ix86_arch_mask to the correct place.
+
+2007-03-02  Uros Bizjak  <ubizjak@gmail.com>
+	    Michael Meissner  <michael.meissner@amd.com>
+
+	PR target/31019
+	* config/i386/i386.h (TUNEMASK): Redefine to use ix86_tune_mask.
+	(ARCHMASK): Define.
+	(TARGET_CMOVE): Use ARCHMASK.
+	(TARGET_CMPXCHG): Ditto.
+	(TARGET_CMPXCHG8B): Ditto.
+	(TARGET_XADD): Ditto.
+	(TARGET_BSWAP): Ditto.
+	* config/i386/i386.c (ix86_tune_mask): New global variable.
+	(ix86_arch_mask): Ditto.
+	(override_options): Initialize ix86_tune_mask and
+	ix86_arch_mask. Use ARCHMASK to clear MASK_NO_FANCY_MATH_387 in
+	target_flags.
+
+2007-03-02  Ben Elliston  <bje@au.ibm.com>
+
+	PR 30992
+	* config/dfp-bit.c (DFP_TO_INT): Initialise qval with "1.".
+
+2007-03-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* target.h (init_dwarf_reg_sizes_extra): New target hook.
+	* target-def.h (TARGET_INIT_DWARF_REG_SIZES_EXTRA): New default.
+	* doc/tm.texi (TARGET_INIT_DWARF_REG_SIZES_EXTRA): Document.
+	* dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Call this
+	hook.
+	* config/rs6000/rs6000.c (TARGET_INIT_DWARF_REG_SIZES_EXTRA,
+	rs6000_init_dwarf_reg_sizes_extra): New.
+	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Support
+	SPE register high parts.
+
+2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* Makefile.in: Add install-pdf target as
+	copied from automake v1.10 rules.
+	* configure.ac: Add install-pdf to target list.
+	* configure: Regenerate.
+
+2007-03-01  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_legitimate_index_p): Limit iWMMXt addressing
+	modes to LDRD for DImode.
+	(output_move_double): Fixup out of range ldrd/strd.
+	(vfp_secondary_reload_class): Rename...
+	(coproc_secondary_reload_class): ... to this.  Add wb argument.
+	* config/arm/arm.h (SECONDARY_OUTPUT_RELOAD_CLASS): Use
+	coproc_secondary_reload_class for CLASS_IWMMXT.
+	(SECONDARY_INPUT_RELOAD_CLASS): Ditto.
+	* arm-protos.h (coproc_secondary_reload_class): Update prototype.
+
+2007-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* 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.
+
+	* config/i386/driver-i386.c (describe_cache, detect_caches_amd,
+	decode_caches_intel, detect_caches_intel): New functions.
+	(host_detect_local_cpu): Use detect_caches_amd and
+	detect_caches_intel.
+
+2007-03-01  Richard Henderson  <rth@redhat.com>
+
+	* expr.c (emit_move_complex_push): Export.
+	(emit_move_complex_parts): Split out from ...
+	(emit_move_complex): ... here.
+	* expr.h (emit_move_complex_push, emit_move_complex_parts): Declare.
+	* config/i386/i386.md (movcdi): New.
+
+2007-03-01  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (ix86_modes_tieable_p): Fix typo, use also
+	size of mode1 to check for tieable modes in MMX case.
+
+2007-03-01  Richard Sandiford  <richard@codesourcery.com>
+
+	* Makefile.in (rtlanal.o): Depend on tree.h.
+	* rtl.h (offset_within_section_p, split_const): Declare.
+	* rtlanal.c: Include tree.h.
+	(offset_within_block_p): New function, taken from
+	mips_offset_within_object_p.
+	(split_const): New function, taken from mips_split_const.
+	* config/m68k/m68k-protos.h (m68k_illegitimate_symbolic_constant_p):
+	Declare.
+	* config/m68k/m68k.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): Define.
+	(CONSTANT_ADDRESS_P): Only accept legitimate constants.
+	(LEGITIMATE_CONSTANT_P): Check m68k_illegitimate_symbolic_constant_p.
+	* config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Define.
+	(m68k_illegitimate_symbolic_constant_p): New function.
+	* config/m68k/m68k.md (movsi): Remove misleading predicates.
+	If M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P and the source is a
+	symbolic constant that might be outside the symbol's section,
+	move the symbol first and then add the offset.
+	* config/m68k/uclinux.h (M68K_OFFSETS_MUST_BE_WITHIN_SECTIONS_P):
+	Override.
+	* config/mips/mips.c (mips_split_const): Delete.
+	(mips_offset_within_object_p): Delete.
+	(mips_symbolic_constant_p): Use offset_within_section_p and
+	split_const instead of mips_offset_within_object_p and
+	mips_split_const.
+	(mips_cannot_force_const_mem, mips_const_insns, mips_unspec_address)
+	(mips_legitimize_const_move, print_operand_reloc)
+	(mips_dangerous_for_la25_p): Use split_const instead of
+	mips_split_const.
+
+2007-02-28  Eric Christopher  <echristo@apple.com>
+
+	* Makefile.in (install-include-dir): Don't rm -rf include.
+
+2007-02-28  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30364
+	* fold-const.c (fold_binary): Do not associate expressions
+	with more than one variable for integer types that do not wrap.
+
+2007-02-28  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* builtins.c (fold_builtin_call_list, fold_builtin_call_valist):
+	Delete, and replace with...
+	(fold_builtin_call_array): This.  Update callers to use it.
+	* fold-const.c (fold_build_call_list): Delete, and replace with...
+	(fold_build_call_array): This.
+	(fold_build_call_list_initializer): Delete, and replace with...
+	(fold_build_call_array_initializer): This.
+	* tree.h: Update declarations to reflect above changes.
+
+	* c-typeck.c (build_function_call): Store converted arguments
+	in a stack-allocated array instead of building a list.
+	(convert_arguments): Store arguments in the array passed in as an
+	argument, and return the actual number of arguments.
+	* c-format.c: (check_function_format): Pass arguments in an
+	array instead of a list.
+	* c-common.c (check_function_nonnull): Likewise.
+	(check_function_sentinel): Likewise.
+	(check_function_arguments): Likewise.
+	* c-common.h: Update declarations to reflect above changes.
+
+2007-02-28  Jan Hubicka  <jh@suse.cz>
+
+	* predict.def (PRED_TREE_EARLY_RETURN, PRED_CONST_RETURN,
+	PRED_NEGATIVE_RETURN): Update outcomes.
+
+2007-02-28  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* calls.c (emit_library_call_value_1): Handle partial registers
+	correctly when building up CALL_INSN_FUNCTION_USAGE.
+
+2007-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa/predicates.md (move_src_operand): Allow zero for mode.
+	* pa/pa.md: Fix constraints for zero CONST_DOUBLE in 64-bit DFmode
+	move pattern.
+
+2007-02-27  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/30970
+	* config/i386/sse.md (*mov<mode>_internal, *movv4sf_internal,
+	*movv2df_internal): Enable pattern only for valid operand
+	combinations.
+	* config/i386/i386.c (ix86_modes_tieable_p): For SSE registers,
+	tie only 128bit modes. For MMX registers, tie only 64bit modes.
+
+2007-02-27  Mike Stump  <mrs@apple.com>
+
+	* config/darwin-crt3.c: Avoid compilation when compiling for a
+	kext multilib.
+
+2007-02-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* Makefile.in (PREPROCESSOR_DEFINES, test-protoize-simple): Define
+	FIXED_INCLUDE_DIR.
+	(stmp-int-hdrs, stmp-fixinc, install-headers): Use include-fixed
+	for fixed headers and limits.h.
+	(install-include-dir, install-headers-tar, install-headers-cpio,
+	install-headers-cp, real-install-headers-tar,
+	real-install-headers-cpio, real-install-headers-cp): Handle
+	include-fixed as well as include.
+	(install-mkheaders): Don't install files that go only in include
+	not include-fixed.
+	* cppdefault.c (cpp_include_defaults): Separate FIXED_INCLUDE_DIR
+	from GCC_INCLUDE_DIR.
+	* gcc.c (process_command): Remove special -BstageN/ handling.
+	(do_spec_1): Add include-fixed directories.
+
+2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add _umulsi3_highpart and
+	_smulsi3_highpart.
+	* config/bfin/lib1funcs.asm (___umulsi3_highpart, ___smulsi3_highpart):
+	New functions.
+	* config/bfin/bfin.md (smulsi3_highpart, umulsi3_highpart): New
+	patterns.
+
+2007-02-27  Mark Mitchell  <mark@codesourcery.com>
+
+	* c-common.c (get_priority): Add check for
+	SUPPORTS_INIT_PRIORITY.
+
+2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (doloop_end): FAIL if counter reg isn't SImode.
+
+	* config/bfin/bfin.c: Include "cfglayout.h".
+	(MAX_LSETUP_DISTANCE): New macro.
+	(struct loop_info): New members incoming, incoming_src and
+	incoming_dest.  Delete member predecessor.
+	(length_for_loop): New function.
+	(bfin_optimize_loop): Handle more different loop structures.
+	(bfin_discover_loop): Rework detection of predecessor blocks by
+	examining incoming edges.
+	(bfin_discover_loops, bfin_free_loops): New functions, broken out of
+	bfin_reorg_loops.
+	(bfin_reorder_loops): New function.
+	(bfin_reorg_loops): Use these three new functions.
+
+	* config/bfin/bfin.h (enum reg_class, REG_CLASS_NAMES,
+	REG_CLASS_CONTENTS): Add D0REGS through D7REGS.
+	(CONSTRAINT_LEN): Add entry for 'q'.
+	(REG_CLASS_FROM_CONSTRAINT): Renamed from REG_CLASS_FROM_LETTER.
+	Add 'q' constraints.
+	(REGNO_REG_CLASS): For R0 through R7, return corresponding regclass.
+	(CLASS_LIKELY_SPILLED_P): True for R0, R1 and R2.
+
+	* config/bfin/bfin.md (add_with_carry): New pattern.
+	(s_or_u, su_optab, su_modifier): New code macros/attrs.
+	(<su_optab>hisi_ll, <su_optab>hisi_lh, <su_optab>hisi_hl,
+	<su_optab>hisi_hh): Renamed from mulhisi_xx patterns; macroized to
+	support unsigned multiplies too.  Removed incorrect commutativity from
+	operand 1 constraint where appropriate.
+	(usmulhisi_ull, usmulhisi_ulh, usmulhisi_uhl, usmulhisi_uhh): New
+	patterns.
+	(<su_optab>hisi_ll_lh, <su_optab>hisi_ll_hl, <su_optab>hisi_ll_hh,
+	<su_optab>hisi_lh_hl, <su_optab>hisi_lh_hh, <su_optab>hisi_hl_hh):
+	New patterns.
+	(usmulhisi_ll_lul, usmulhisi_ll_luh, usmulhisi_ll_hul,
+	usmulhisi_ll_huh, usmulhisi_lh_lul, usmulhisi_lh_luh, usmulhisi_lh_hul,
+	usmulhisi_lh_huh, usmulhisi_hl_lul, usmulhisi_hl_luh, usmulhisi_hl_hul,
+	usmulhisi_hl_huh, usmulhisi_hh_lul, usmulhisi_hh_luh, usmulhisi_hh_hul,
+	usmulhisi_hh_huh): New patterns.
+
+	* config/bfin/bfin.md (ssashiftv2hi3, ssashifthi3, lshiftv2hi3,
+	lshifthi3): Fix output template to use half reg for operand 2.
+
+	* config/bfin/bfin.c (bfin_output_mi_thunk): Use R3 as scratch reg
+	instead of R2.
+
+	* config/bfin/bfin.md (rotl16, rotlsi3, rotrsi3): New patterns.
+
+2007-02-27  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-common.texi.
+
+2007-02-27  Jan Hubicka  <jh@suse.cz>
+
+	* predict.c (last_basic_block_p): Remove.
+	(tree_estimate_probability): Update return heuristic for commonized
+	return blocks.
+
+2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* Makefile.in (TEXI_GCCINSTALL_FILES): Add gcc-vers.texi dependency.
+
+2007-02-26  Brooks Moses  <brooks.moses@codesourcery.com>
+
+	* doc/include/gcc-common.texi (versionsubtitle): New macro.
+	* doc/cpp.texi: Standardize title page.
+	* doc/cppinternals.texi: Likewise.
+	* doc/gcc.texi: Standardize title page, remove version number
+	from copyright page.
+	* doc/gccint.texi: Likewise.
+	* doc/install.texi: Standardize title page, add table of
+	contents.
+
+2007-02-26  Jan Hubicka  <jh@suse.cz>
+
+	* predict.def: Set outcomes according to more recent results.
+	(PRED_LOOP_CONDITION, PRED_LOOP_PRECONDITIONING, PRED_LOOP_HEADER):
+	Remove dead predictors.
+	* predict.c (return_prediction): Fix pasto.
+
+2007-02-27  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* loop-iv.c (simplify_using_initial_values): Fix oversight in previous
+	change; avoid a memory leak when returning early.
+
+2007-02-26  Mark Mitchell  <mark@codesourcery.com>
+
+	* c-decl.c (static_ctors): Move to c-common.c.
+	(static_dtors): Likewise.
+	(finish_function): Use c_record_cdtor_fn.
+	(build_cdtor): Move to c-common.c.
+	(c_write_global_declarations): Use c_build_cdtor_fns.
+	* c-common.h (static_ctors): Declare.
+	(static_dtors): Likewise.
+	(c_record_cdtor_fn): Likewise.
+	(c_build_cdtor_fns): Likewise.
+	* c-common.c (static_ctors): New variable.
+	(static_dtors): Likewise.
+	(c_record_cdtor_fn): New function.
+	(build_cdtor): Move from c-decl.c
+	(c_build_cdtor_fns): New function.
+
+	* output.h (assemble_addr_to_section): Declare.
+	(get_cdtor_priority_section): Likewise.
+	* varasm.c (assemble_addr_to_section): New function.
+	(get_cdtor_priority_section): Likewise.
+	(default_named_section_asm_out_destructor): Use them.
+	(destor_dtor_section_asm_out_destructor): Likewise.
+	(default_named_section_asm_out_constructor): Likewise.
+	(default_ctor_section_asm_out_constructor): Likewise.
+	* config.gcc (*-*-vxworks*): Include vxworks.o.
+	* config/t-vxworks (vxworks.o): New target.
+	* config/vxworks.h (ALWAYS_NUMBER_CTORS_SECTIONS): Remove.
+	(TARGET_ASM_CONSTRUCTOR): Define.
+	(TARGET_ASM_DESTRUCTOR): Likewise.
+	(vxworks_asm_out_constructor): Declare.
+	(vxworks_asm_out_destructor): Likewise.
+
+	* c-common.c (get_priority): Check that we have not just an
+	INTEGER_CST, but an integer constant with integeral type.
+
+2007-02-25  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR tree-optimization/30938
+	* tree-vect-transform.c (vectorizable_call): Fix off-by-one error:
+	use &dt[nargs-1] instead of &dt[nargs] in the call to
+	vect_is_simple_use().
+
+2007-02-25  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* reload.c (find_reloads_address_1): Handle PLUS expressions resulting
+	from register elimination as PRE_MODIFY / POST_MODIFY increments.
+	Do not attempt to handle MEM inside auto-inc expressions.
+	* reload1.c (eliminate_regs_1): Do not attempt to handle elimination
+	of a register modified by an auto-inc expression.  However, do handle
+	elimination of a register used as PRE_MODIFY / POST_MODIFY increment.
+	(elimination_effects): Prohibit elimination of a register modified
+	by an auto-inc expression.  Disable register elimination rules whose
+	target register is modified by an auto-inc expression with variable
+	increment.
+
+2007-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-ssa-loop-niter.c (compute_estimated_nb_iterations): Fix
+	off-by-one error.
+	(array_at_struct_end_p): New function.
+	(idx_infer_loop_bounds): Use it.
+	(estimate_numbers_of_iterations_loop): Export.
+	* predict.c (predict_loops): Use estimated_loop_iterations_int.
+	Do not use PRED_LOOP_EXIT on exits predicted by # of iterations.
+	(tree_estimate_probability): Call record_loop_exits.
+	* tree-data-ref.c (get_number_of_iters_for_loop): Replaced by ...
+	(estimated_loop_iterations, estimated_loop_iterations_int,
+	estimated_loop_iterations_tree): New functions.
+	(analyze_siv_subscript_cst_affine,
+	compute_overlap_steps_for_affine_1_2,
+	analyze_subscript_affine_affine): Use estimated_loop_iterations_int.
+	(analyze_miv_subscript): Use estimated_loop_iterations_tree.
+	* predict.def (PRED_LOOP_ITERATIONS): Update comment.
+	(PRED_LOOP_ITERATIONS_GUESSED): New.
+	* cfgloop.c (record_loop_exits): Do nothing if there are no loops.
+	* cfgloop.h (estimate_numbers_of_iterations_loop,
+	estimated_loop_iterations_int): Declare.
+
+2007-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+	* doc/extend.texi: Document optional priority argument to
+	constructors and destructors.
+	* tree.c (init_priority_for_decl): Adjust GTY markers.
+	(init_ttree): Use priority-info hash functions for
+	init_priority_for_decl.
+	(tree_map_eq): Rename to ...
+	(tree_map_base_eq): ... this.
+	(tree_map_marked_p): Rename to ...
+	(tree_map_base_marked_p): ... this.
+	(tree_map_base_hash): New function.
+	(decl_init_priority_lookup): Rework.
+	(decl_fini_priority_lookup): New function.
+	(decl_priority_info): New function.
+	(decl_init_priority_insert): Use it.
+	(decl_fini_priority_insert): Likewise.
+	(decl_restrict_base_lookup): Adjust for refactoring of tree_map
+	hierarchy.
+	(decl_restrict_base_insert): Likewise.
+	(decl_debug_expr_insert): Likewise.
+	(decl_value_expr_lookup): Likewise.
+	(decl_value_expr_insert): Likewise.
+	* tree.h (priority_type): New type.
+	(decl_init_priority_lookup): Use priority_type.
+	(decl_fini_priority_lookup): New function.
+	(decl_init_priority_insert): Use priority_type.
+	(decl_fini_priority_insert): New function.
+	(DECL_HAS_INIT_PRIORITY): Tweak comments.
+	(DECL_INIT_PRIORITY): Likewise.
+	(SET_DECL_INIT_PRIORITY): Add comment.
+	(DECL_FINI_PRIORITY): New macro.
+	(SET_DECL_FINI_PRIORITY): Likewise.
+	(DEFAULT_INIT_PRIORITY): Document.
+	(MAX_INIT_PRIORITY): Likewise.
+	(MAX_RESERVED_INIT_PRIORITY): Likewise.
+	(tree_map_base): New type.
+	(tree_map_base_eq): New function.
+	(tree_map_base_hash): Likewise.
+	(tree_map_base_marked_p): Likewise.
+	(tree_map): Inherit from tree_map_base.
+	(tree_map_eq): Make it a macro.
+	(tree_map_marked_p): Likewise.
+	(tree_int_map): Inherit from tree_map_base.
+	(tree_int_map_eq): Make it a macro.
+	(tree_int_map_hash): Likewise.
+	(tree_int_map_marked_p): Likewise.
+	(tree_priority_map): New type.
+	(tree_priority_map_eq): New macro.
+	(tree_priority_map_hash): Likewise.
+	(tree_priority_map_marked_p): Likewise.
+	* varasm.c (emults_decl): Adjust for refactoring of tree_map
+	hierarchy.
+	(emutls_common_1): Likewise.
+	* lambda-code.c (replace_uses_equiv_to_x_with_y): Likewise.
+	* tree-ssa-structalias.c (heapvar_lookup): Adjust for refactoring
+	of tree_map hierarchy.
+	* tree-cfg.c (move_stmt_r): Likewise.
+	(new_label_mapper): Likewise.
+	* c-tree.h (c_expand_body): Move to ...
+	* c-common.h (c_expand_body): ... here.
+	* c-decl.c (c_expand_body): Move to ...
+	* c-common.c (c_expand_body): ... here.
+	(c_common_attribute_table): Allow 1 argument for the constructor
+	and destructor attributes.
+	(get_priority): New function.
+	(handle_constructor_attribute): Set DECL_INIT_PRIORITY.
+	(handle_destructor_attribute): Set DECL_FINI_PRIORITY.
+
+2007-02-24  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/30509
+	* tree-inline.c (copy_bb): Produce exact copy of EH info when
+	copying for inlining.
+
+2007-02-24  Uros Bizjak  <ubizjak@gmail.com>
+	    Jan Hubicka  <jh@suse.cz>
+
+	PR target/30778
+	* cofnig/i386/i386.c (counter_mode): New function.
+	(expand_set_or_movmem_via_loop): Use it.
+	(expand_movmem_epilogue): Likewise; fix pasto.
+	(ix86_expand_movmem): Do emit guard even for constant counts.
+	(ix86_expand_setmem): Likewise.
+
+2007-02-25  Nick Clifton  <nickc@redhat.com>
+
+	* config/frv/frv.h (ASM_OUTPUT_CASE_LABEL): Delete.
+	(JUMP_TABLES_IN_TEXT_SECTION): Define.
+
+2007-02-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/30770
+	* config/i386/i386.md (expand_movmem_epilogue): Fix typo, mask
+	count argument with 0x10, not with 0x16.
+	(expand_setmem_epilogue): Ditto.
+
+2007-02-24  Mike Stump  <mrs@apple.com>
+
+	* config/i386/i386.c (output_pic_addr_const): Stubify optimized
+	symbols.
+
+2007-02-24  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30951
+	* fold-const.c (fold_binary): Fold x +- CST op x for
+	EQ_EXPR and NE_EXPR.
+
+2007-02-24  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.md (muldi3): Force subregs to registers in 64-bit expander.
+
+2007-02-24  Jan Hubicka  <jh@suse.cz>
+
+	* cgraphunit.c (decide_is_function_needed): Honor
+	-fkeep-inline-functions.
+
+2007-02-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_modf): New.
+	(fold_builtin_2): Use it.
+
+2007-02-24  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* loop-iv.c (implies_p): Detect additional cases where A implies B.
+	(determine_max_iter): Take additional LOOP arg; all callers changed.
+	Lose broken logic dealing with PLUS.  Try to limit the upper bound by
+	one using simplifications.
+	(simplify_using_initial_values): Return if the expression becomes
+	invalid due to altered regs.
+
+2007-02-23  DJ Delorie  <dj@redhat.com>
+
+	* doc/tm.h (BIGGEST_ALIGNMENT): Clarify the purpose of this macro.
+
+2007-02-23  Mike Stump  <mrs@apple.com>
+
+	* tlink.c (scan_linker_output): Parse linker messages from
+	darwin9's linker better.
+
+2007-02-23  Steve Ellcey  <sje@cup.hp.com>
+
+	PR debug/29614
+	* varpool.c (varpool_assemble_pending_decls): Set
+	varpool_last_needed_node to null.
+
+2007-02-23  DJ Delorie  <dj@redhat.com>
+
+	* config/i386/i386.c (ix86_data_alignment): Don't specify an
+	alignment bigger than the object file can handle.
+
+2007-02-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/30825
+	* config/i386/i386.md (*movdi_1_rex64, zero_extendsidi2_32,
+	zero_extendsidi2_rex64): Penalize MMX register<->memory moves.
+	(*movsf_1): Penalize MMX moves.
+
+2007-02-23  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+	* config/bfin/bfin.md (doloop_end): Fail for loops that can iterate
+	2^32-1 or more times unless flag_unsafe_loop_optimizations.
+
+	* loop-iv.c (determine_max_iter): Moved in front of its sole user.
+
+2007-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_logb, fold_builtin_significand): New.
+	(fold_builtin_1): Use them.
+	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle
+	BUILT_IN_SIGNIFICAND.
+
+2007-02-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/i386/i386.c (bdesc_1arg): Initialize
+	IX86_BUILTIN_MOVSHDUP and IX86_BUILTIN_MOVSLDUP with
+	"__builtin_ia32_movshdup" and "__builtin_ia32_movsldup".
+	(ix86_init_mmx_sse_builtins): Remove IX86_BUILTIN_MOVSHDUP
+	and IX86_BUILTIN_MOVSLDUP.
+
+2007-02-22  Paolo Bonzini  <bonzini@gnu.org>
+
+	PR rtl-optimization/30841
+	* fwprop.c (propagate_rtx_1): Accept a VOIDmode replacement address.
+
+2007-02-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_frexp): New.
+	(fold_builtin_2): Use it.
+
+2007-02-22  Mark Mitchell  <mark@codesourcery.com>
+
+	* doc/invoke.texi (Spec Files): Document getenv spec function.
+
+	* gcc.c (getenv_spec_function): New function.
+	(static_spec_functions): Add it.
+	* config/vxworks.h (VXWORKS_TARGET_DIR): Remove.
+	(VXWORKS_ADDITIONAL_CPP_SPEC): Use getenv to find the VxWorks
+	header files.
+
+2007-02-22  Michael Matz  <matz@suse.de
+
+	PR c++/29433
+	* dwarf2out.c (add_AT_string): Call ggc_strdup once per string.
+	(type_tag): Use lang_hooks.dwarf_name instead of DECL_NAME.
+
+2007-02-22  Ian Lance Taylor  <iant@google.com>
+
+	PR debug/30898
+	* dwarf2out.c (concatn_mem_loc_descriptor): New static function.
+	(mem_loc_descriptor): Call it.
+
+2007-02-22  Zdenek Dvorak  <dvorakz@suse.cz>
+	    Ira Rosen  <irar@il.ibm.com>
+
+	* tree-data-ref.c (ptr_ptr_may_alias_p): Take alias sets into account.
+
+2007-02-22  Ira Rosen  <irar@il.ibm.com>
+
+	PR tree-optimization/30843
+	* tree-vect-transform.c (vect_transform_loop): Remove strided scalar
+	stores only after all the group is vectorized.
+
+2007-02-22  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/30858
+	* tree-vectorizer.c (vect_is_simple_reduction): Check that the stmts
+	in the reduction cycle have a single use in the loop.
+	* tree-vectorizer.h (relevant): Add documentation.
+
+2007-02-20  Mike Stump  <mrs@apple.com>
+
+	* configure.ac (powerpc*-*-darwin*): #include <sys/cdefs.h>.
+	* configure: Regenerate.
+
+2007-02-21  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+	Change the defaults of some parameters and options.
+	* config/spu/spu-protos.h (spu_optimization_options): Declare.
+	* config/spu/spu.c (spu_optimization_options): Add.
+	(spu_override_options): Change params in spu_optimization_options.
+	* config/spu/spu.h (OPTIMIZATION_OPTIONS): Define.
+
+	Register 127 is only 16 byte aligned when used as a frame pointer.
+	* 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
+	aligned when frame_pointer_needed is true.
+	(spu_init_expanders): New.  Set alignment of HARD_FRAME_POINTER_REGNUM
+	to 8 bits.
+	* config/spu/spu.h (INIT_EXPANDERS): Define.
+
+	Make sure shift and rotate instructions have valid immediate operands.
+	* config/spu/predicates.md (spu_shift_operand): Remove.
+	* config/spu/spu.c (print_operand): Add [efghEFGH] modifiers.
+	* config/spu/constraints.md (W, O): Extend range.
+	* config/spu/spu.md (umask, nmask): Define.
+	(ashl<mode>3, ashldi3, ashlti3_imm, shlqbybi_ti, shlqbi_ti, shlqby_ti,
+	lshr<mode>3, rotm_<mode>, lshr<mode>3_imm, rotqmbybi_<mode>,
+	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.
+
+	Make sure mulhisi immediate operands are valid.
+	* config/spu/predicates.md (imm_K_operand): Add.
+	* config/spu/spu.md (mulhisi3_imm, umulhisi3_imm): Use imm_K_operand.
+
+	Generate constants using fsmbi and andi.
+	* config/spu/spu.c (enum immediate_class): Add IC_FSMBI2.
+	(print_operand, spu_split_immediate, classify_immediate,
+	fsmbi_const_p): Handle IC_FSMBI2.
+
+	Correctly handle a CONST_VECTOR containing symbols.
+	* 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
+	with symbols when flag_pic is set.
+	(const_vector_immediate_p): New.
+	(logical_immediate_p, iohl_immediate_p, arith_immediate_p): Don't
+	accept a CONST_VECTOR with symbols.
+	(spu_legitimate_constant_p): Use const_vector_immediate_p.  Don't
+	accept a CONST_VECTOR with symbols when flag_pic is set.  Handle HIGH
+	correctly.
+	* config/spu/spu.md (high, low): Delete.
+	(low_<mode>): Define.
+
+	Remove INTRmode and INTR_REGNUM, which didn't work.
+	* config/spu/spu.c (spu_conditional_register_usage): Remove reference
+	of INTR_REGNUM.
+	* config/spu/spu-builtins.md (spu_idisable, spu_ienable, set_intr,
+	set_intr_pic, set_intr_cc, set_intr_cc_pic, set_intr_return, unnamed
+	peephole2 pattern): Don't use INTR or 131.
+	(movintrcc): Delete.
+	* config/spu/spu.h (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS,
+	CALL_USED_REGISTERS, REGISTER_NAMES, INTR_REGNUM): Remove INTR_REGNUM.
+	* config/spu/spu.md (UNSPEC_IDISABLE, UNSPEC_IENABLE): Remove.
+	(UNSPEC_SET_INTR): Add.
+	* config/spu/spu-modes.def (INTR): Remove.
+
+	More accurate warnings about run-time relocations.
+	* config/spu/spu.c (reloc_diagnostic): Test in_section.
+
+	Correctly warn about immediate arguments to specific intrinsics.
+	* config/spu/spu.c (spu_check_builtin_parm): Handle CONST_VECTORs.
+	(spu_expand_builtin_1): Call spu_check_builtin_parm before checking
+	the instruction predicate.
+
+	Fix tree check errors with latest update.
+	* config/spu/spu.c (expand_builtin_args, spu_expand_builtin_1): Use
+	CALL_EXPR_ARG.
+	(spu_expand_builtin): Use CALL_EXPR_FN.
+
+	Add missing specific intrinsics.
+	* config/spu/spu-builtins.def: Add si_bisled, si_bisledd and
+	si_bislede.
+	* 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.
+
+	Optimize one case of zero_extend of a vec_select.
+	* config/spu/spu.md (_vec_extractv8hi_ze): Add.
+
+	Accept any immediate for hbr.
+	* config/spu/spu.md (hbr): Change s constraints to i.
+
+2007-02-21  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (thumb2_final_prescan_insn): Don't incrememnt
+	condexec_count when skipping USE and CLOBBER.
+
+2007-02-21  Nick Clifton  <nickc@redhat.com>
+
+	* common.opt (Warray-bounds): Add Warning attribute.
+	(Wstrict-overflow, Wstrict-overflow=, Wcoverage-mismatch):
+	Likewise.
+	(fsized-zeroes): Add Optimization attribute.
+	(fsplit-wide-types, ftree-scev-cprop): Likewise.
+	* c.opt (Wc++0x-compat): Add Warning attribute.
+
+2007-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	PR middle-end/30761
+	* reload1.c (eliminate_regs_in_insn): In the single_set special
+	case, attempt to re-recognize the insn before falling back to
+	having reload fix it up.
+
+2007-02-20  Eric Christopher  <echristo@gmail.com>
+
+	* config/frv/frv.c (frv_read_argument): Take a tree and int argument.
+	Rewrite accordingly.
+	(frv_read_iacc_argument): Ditto.
+	(frv_expand_set_builtin): Take a call instead of arglist, update for
+	above changes.
+	(frv_expand_unop_builtin): Ditto.
+	(frv_expand_binop_builtin): Ditto.
+	(frv_expand_cut_builtin): Ditto.
+	(frv_expand_binopimm_builtin): Ditto.
+	(frv_expand_voidbinop_builtin): Ditto.
+	(frv_expand_int_void2arg): Ditto.
+	(frv_expand_prefetches): Ditto.
+	(frv_expand_voidtriop_builtin): Ditto.
+	(frv_expand_voidaccop_builtin): Ditto.
+	(frv_expand_load_builtin): Ditto.
+	(frv_expand_store_builtin): Ditto.
+	(frv_expand_mdpackh_builtin): Ditto.
+	(frv_expand_mclracc_builtin): Ditto.
+	(frv_expand_mrdacc_builtin): Ditto.
+	(frv_expand_mwtacc_builtin): Ditto.
+	(frv_expand_builtin): Remove usage of CALL_EXPR_ARGS, update
+	calls for above.
+
+2007-02-20  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcmpb and -mdfp.
+	* configure.ac (HAVE_GAS_CMPB): Check for assembler support of the
+	cmpb instruction.
+	(HAVE_GAS_DFP): Check for assembler support of decimal floating
+	point instructions.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+	* config/rs6000/rs6000.opt (mcmpb, mdfp): New.
+	* config/rs6000/rs6000.c (rs6000_override_options): Add CMPB and DFP
+	masks to power6 and power6x and to POWERPC_MASKS.
+	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+	_ARCH_PWR6.
+	* config/rs6000/rs6000.h: Check assembler support for CMPB and DFP.
+	* config/rs6000/sysv4.opt (mprototype): Use variable, not mask.
+	* config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
+	Access PROTOTYPE as variable, not mask.
+
+2007-02-20  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* rtl.h (remove_reg_equal_equiv_notes): New prototype.
+	* rtlanal.c (remove_reg_equal_equiv_notes): New function.
+	* combine.c (adjust_for_new_dest): Use it.
+	* postreload.c (reload_combine): Likewise.
+
+2007-02-20  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* rtlanal.c (find_reg_equal_equiv_note): Do not find REG_EQ*
+	notes on an insn with multiple sets, even if single_set returns
+	non-NULL for that insn.
+
+2007-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* fold-const.c (tree_expr_nonnegative_warnv_p): Handle scalb,
+	scalbn and scalbln.
+
+2007-02-20  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (LINK_SPEC): Default -mmacosx-version-min only
+	if user didn't pass it.
+	* config/i386/darwin.h (CC1_SPEC): Likewise.
+	* config/rs6000/darwin.h (CC1_SPEC): Likewise.
+	(DARWIN_MINVERSION_SPEC): Don't depend on user's setting of
+	-mmacosx-version-min.
+
+2007-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+	    Uros Bizjak  <ubizjak@gmail.com>
+
+	* optabs.h (enum optab_index): Add new OTI_scalb.
+	(scalb_optab): Define corresponding macro.
+	* optabs.c (init_optabs): Initialize scalb_optab.
+	* genopinit.c (optabs): Implement scalb_optab using scalb?f3
+	patterns.
+	* builtins.c (expand_builtin_mathfn_2, expand_builtin): Handle
+	BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L} and BUILT_IN_SCALBLN{,F,L}.
+	(expand_builtin): Expand BUILT_IN_SCALB{,F,L}, BUILT_IN_SCALBN{,F,L}
+	and BUILT_IN_SCALBLN{,F,L} using expand_builtin_mathfn_2 if
+	flag_unsafe_math_optimizations is set.
+
+	* config/i386/i386.md (scalbxf3, scalb<mode>3): New expanders
+	to implement scalbf, scalb and scalbl built-ins as inline x87
+	intrinsics.
+
+2007-02-20  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+	    DJ Delorie <dj@redhat.com>
+
+	PR other/30824
+	* diagnostic.c (diagnostic_count_diagnostic): Move -Werror logic to...
+	(diagnostic_report_diagnostic): ... here, and turn them into real
+	errors. If warnings are inhibited, no need to do anything.
+
+2007-02-20  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (expm1xf2): Reorder insn sequence for
+	better code generation.
+
+2007-02-20  Ben Elliston  <bje@au.ibm.com>
+
+	* config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove extra ;.
+
+2007-02-20  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/alpha/alpha.c, config/alpha/alpha.md,
+	config/alpha/lib1funcs.asm, config/alpha/vms-crt0-64.c,
+	config/alpha/vms-psxcrt0-64.c, config/arc/arc.c,
+	config/arc/arc.h, config/arm/arm.c, config/arm/arm.md,
+	config/arm/lib1funcs.asm: Follow spelling conventions.
+
+	* config/c4x/c4x.md, config/cris/cris.c, config/crx/crx.c,
+	config/fr30/fr30.md, config/i386/i386.h,
+	config/iq2000/iq2000.h, config/iq2000/predicates.md,
+	config/pa/milli64.S, config/pa/pa.c, config/pa/pa.h,
+	config/pa/pa.md, config/pa/pa32-regs.h, config/pa/pa64-regs.h,
+	config/pdp11/pdp11.c, config/pdp11/pdp11.h,
+	config/rs6000/altivec.md, config/rs6000/rs6000.c,
+	config/s390/s390-modes.def, config/sparc/netbsd-elf.h,
+	config/sparc/sparc.c, config/sparc/sparc.h,
+	config/sparc/sparc.md, config/spu/constraints.md,
+	config/spu/spu.c, config/stormy16/stormy16.md: Follow spelling
+	conventions.
+
+2007-02-20  Alan Modra  <amodra@bigpond.net.au>
+
+	PR target/29943
+	* varasm.c (use_blocks_for_decl_p): Return false for decls with
+	alias attribute.
+
+2007-02-19  Kazu Hirata  <kazu@codesourcery.com>
+
+	* doc/invoke.texi (-ftree-lrs): Remove.
+
+2007-02-19  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree-ssa-pre.c (create_value_expr_from): Initialize POOL to
+	NULL.
+
+2007-02-19  Lee Millward  <lee.millward@codesourcery.com>
+
+	* config/ia64/ia64.c (ia64_expand_builtin): Use the
+	new CALL_EXPR_FN macro for retrieving the function
+	declaration of the input expression.
+
+2007-02-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* c.opt (Waddress): New.
+	* common.opt (Walways-true): Delete.
+	(Wstring-literal-comparison): Delete.
+	* doc/invoke.texi (Warning Options): Delete -Walways-true and
+	-Wstring-literal-comparison. Add -Waddress.
+	(Waddress): New.
+	(Walways-true): Delete.
+	(Wstring-literal-comparison): Delete.
+	* doc/extend.texi (#pragma GCC diagnostic): Use -Wformat
+	consistently instead of -Walways-true in example.
+	* c-opts.c (c_common_handle_option): -Waddress is enabled by -Wall.
+	* c-typeck.c (parser_build_binary_op): Replace
+	-Wstring-literal-comparison and -Walways-true with -Waddress.
+	* c-common.c (c_common_truthvalue_conversion): Replace -Walways-true
+	with -Waddress.
+
+2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-cfg.c (dump_function_to_file): Be prepared for functions
+	without DECL_STRUCT_FUNCTION initialized.
+
+2007-02-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap
+	due to calls to functions taking pointers as parameters.
+
+2007-02-19  Richard Henderson  <rth@redhat.com>
+
+	PR debug/29558
+	* var-tracking.c (track_expr_p): Disallow AGGREGATE_TYPE_P
+	in memory.
+
+2007-02-19  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* config/s390/s390.c (s390_call_saved_register_used,
+	s390_function_ok_for_sibcall): Adjust the way CALL_EXPR arguments are
+	accessed to the new scheme.
+
+2007-02-19  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
+
+	* config/cris/cris.c (cris_movem_load_rest_p, cris_store_multiple_op_p)
+	(cris_print_index, cris_print_operand, cris_print_operand_address)
+	(cris_reload_address_legitimized, cris_rtx_costs, cris_address_cost)
+	(cris_side_effect_mode_ok, cris_valid_pic_const, cris_split_movdx)
+	(cris_expand_pic_call_address): Use xxx_P predicate macros instead of
+	GET_CODE () == xxx.
+	* config/cris/cris.h (SECONDARY_RELOAD_CLASS, EXTRA_CONSTRAINT_Q,
+	EXTRA_CONSTRAINT_T, BDAP_INDEX_P, BIAP_INDEX_P, SIMPLE_ADDRESS_P,
+	GO_IF_LEGITIMATE_ADDRESS): Ditto.
+	* config/cris/cris.md (define_insns: *btst, movdi, *mov_side<mode>)
+	(*mov_sidesisf, *mov_side<mode>_mem, *mov_sidesisf_mem)
+	(*clear_side<mode>, movsi, *movsi_internal, *ext_sideqihi)
+	(*ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>, addsi3)
+	(*extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side)
+	(*extop<mode>si_swap_side, addi_mul, *addi,andsi3, andhi3, ashl<mode>3)
+	(uminsi3, call, call_value): Ditto.
+	(define_split: indir_to_reg_split, unnamed): Ditto.
+
+2007-02-19  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/30975
+	* tree-vect-trasnform.c (vect_get_vec_def_for_stmt_copy): Remove
+	wrong assert.
+
+2007-02-18  Eric Christopher  <echristo@gmail.com>
+
+	* mips.c (mips_prepare_builtin_arg): Add argnum parameter.
+	Remove use of arglist.
+	(mips_expand_builtin): Remove use of arglist, pass in expr.
+	(mips_expand_builtin_direct): Rewrite handling for arglist removal.
+	(mips_expand_builtin_movtf): Ditto.
+	(mips_expand_builtin_compare): Ditto.
+
+2007-02-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-sra.c (sra_build_assignment): Replace assertion
+	checking with a comment explaining why it can't be done.
+
+2007-02-18  Sandra Loosemore  <sandra@codesourcery.com>
+
+	PR middle-end/30833
+	* tree-dump.c (dequeue_and_dump): Add tcc_vl_exp case missed
+	during CALL_EXPR representation conversion.
+	* tree-ssa-propagate.c (set_rhs): Likewise.
+
+2007-02-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-sra.c (sra_build_assignment): Disable assertion checking
+	for now.
+
+2007-02-18  Roger Sayle  <roger@eyesopen.com>
+
+	* function.c (gimplify_parameters): Call build_gimple_modify_stmt
+	instead of calling build2 with a GIMPLE_MODIFY_STMT.
+	* gimple-low.c (lower_function_body, lower_builtin_setjmp):
+	Likewise.
+	* gimplify.c (build_stack_save_restore, gimplify_return_expr,
+	gimplify_decl_expr,  gimplify_self_mod_expr, gimplify_cond_expr,
+	gimplify_init_ctor_eval_range, gimple_push_cleanup,
+	gimplify_omp_for, gimplify_omp_atomic_pipeline,
+	gimplify_omp_atomic_mutex, gimplify_expr, gimplify_one_sizepos,
+	force_gimple_operand): Likewise.
+	* ipa-cp.c (constant_val_insert): Likewise.
+	* lambda-code.c (lbv_to_gcc_expression, lle_to_gcc_expression,
+	lambda_loopnest_to_gcc_loopnest, replace_uses_equiv_to_x_with_y,
+	perfect_nestify): Likewise.
+	* langhooks.c (lhd_omp_assignment): Likewise.
+	* omp-low.c (lower_rec_input_clauses, lower_reduction_clauses,
+	lower_copyprivate_clauses, lower_send_clauses,
+	lower_send_shared_vars, expand_parallel_call,
+	expand_omp_for_generic, expand_omp_for_static_nochunk,
+	expand_omp_for_static_chunk, expand_omp_sections,
+	lower_omp_single_copy, lower_omp_for_lastprivate,
+	lower_omp_parallel, init_tmp_var, save_tmp_var): Likewise.
+	* value-prof.c (tree_divmod_fixed_value, tree_mod_pow2,
+	tree_mod_subtract, tree_ic, tree_stringop_fixed_value):
+	Likewise.
+
+2007-02-19  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/sh/divtab.c, config/sh/sh.c, config/sh/sh.h,
+	config/sh/sh.md: Follow spelling conventions.
+
+	* config/frv/frv.c, config/frv/frv.h, config/frv/frv.md,
+	config/frv/predicates.md: Follow spelling conventions.
+
+	* config/m68k/linux-unwind.h: Fix a comment typo.
+	* target.h: Follow spelling conventions.
+
+2007-02-18  Roger Sayle  <roger@eyesopen.com>
+
+	PR rtl-optimization/28173
+	* 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.
+	<AND>: Canonicalize (X | C1) & C2 as (X & C2) | (C1 & C2).
+
+2007-02-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_load_exponent): New.
+	(fold_builtin_2): Use it.
+
+2007-02-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+	PR rtl-optimization/30773
+	* local-alloc.c (update_equiv_regs): Do not set reg_equiv_init
+	if we fail to attach a REG_EQUIV note.
+
+2007-02-18  David Edelsohn  <edelsohn@gnu.org>
+	    Roger Sayle  <roger@eyesopen.com>
+
+	* config/rs6000/rs6000.md (bswapsi2): New define_insn and splitter.
+
+2007-02-18  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* calls.c (initialize_argument_information): Pass original EXP
+	and STRUCT_VALUE_ADDR_VALUE instead of a list of arguments.  Move
+	code to split complex arguments here, as part of initializing the
+	ARGS array.
+	(expand_call): Remove code that builds a list of arguments and
+	inserts implicit arguments into it.  Instead, just count how many
+	implicit arguments there will be so we can determine the size of
+	the ARGS array, and let initialize_argument_information do the work.
+	(split_complex_values): Delete unused function.
+
+2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-eh.c (tree_could_trap_p): Handle VIEW_CONVERT_EXPR.
+
+2007-02-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* calls.c (mem_overlaps_already_clobbered_arg_p): Return true
+	for arg pointer based indexed addressing.
+
+2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/ia64/ia64.h, config/ia64/ia64.md,
+	config/ia64/predicates.md, config/ia64/sysv4.h: Follow
+	spelling conventions.
+
+2007-02-18  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.c (split_di): New.
+	* config/m68k/m68k-protos.h: Declare split_di.
+	* config/m68k/m68k.md (extendsidi2*,ashldi3*,ashrdi3*,lshrdi3*):
+	  Improve predicate handling and split constant shifts.
+
+2007-02-18  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/m68k.md (extv,extzv,insv): disable dynamic
+	parameter for register bitfield operations, general predicates
+	cleanup
+
+2007-02-18  Roman Zippel <zippel@linux-m68k.org>
+
+	* config/m68k/linux.h (MD_UNWIND_SUPPORT): Define.
+	* config/m68k/linux-unwind.h: New file.
+
+2007-02-18  Kazu Hirata  <kazu@codesourcery.com>
+
+	* cfgloop.c, config/alpha/alpha.c, config/bfin/bfin.c,
+	config/i386/athlon.md, config/ia64/ia64.md,
+	config/rs6000/rs6000.c, config/s390/s390.c, config/spu/spu.md,
+	df-problems.c, df.h, fold-const.c, ipa-cp.c, ipa-inline.c,
+	ipa-prop.h, see.c, struct-equiv.c, tree-inline.c,
+	tree-ssa-loop-niter.c, tree-vect-analyze.c,
+	tree-vect-transform.c: Fix comment typos.
+
+2007-02-17  Kazu Hirata  <kazu@codesourcery.com>
+
+	* sched-deps.c (find_insn_list): Remove.
+	* sched-int.h: Remove the prototype for find_insn_list.
+
+2007-02-16  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/darwin.h (LINK_SPEC): Always pass -macosx_version_min
+	to linker.
+	(DARWIN_EXTRA_SPECS): Add %(darwin_minversion).
+	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Just call
+	darwin_rs6000_override_options.
+	(C_COMMON_OVERRIDE_OPTIONS): Expect
+	darwin_macosx_version_min to be non-NULL always.
+	(TARGET_C99_FUNCTIONS): Likewise.
+	(CC1_SPEC): Always pass -mmacosx-version-min to cc1*.
+	(DARWIN_MINVERSION_SPEC): New.
+	* config/rs6000/rs6000.c (darwin_rs6000_override_options): New.
+	* config/i386/darwin.h (CC1_SPEC): Always pass -mmacosx-version-min
+	to cc1*.
+	(DARWIN_MINVERSION_SPEC): New.
+	* config/darwin.opt (mmacosx-version-min): Initialize to non-NULL
+	value.
+	* config/darwin-c.c (darwin_cpp_builtins): Expect
+	darwin_macosx_version_min to be non-NULL always.
+
+	* config/rs6000/rs6000.c: Clean up trailing whitespace.
+
+2007-02-16  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.h (x86_use_xchgb): New.
+	(TARGET_USE_XCHGB): New macro.
+	* config/i386/i386.c (x86_use_xchgb): Set for PENT4.
+	* config/i386/i386.md (*rotlhi3_1 splitter, *rotrhi3_1 splitter):
+	Split after reload into bswaphi for shifts of 8.
+	(bswaphi_lowpart): Generate rolw insn for HImode byte swaps.
+	(*bswaphi_lowpart_1): Generate xchgb for Q registers for TARGET_XCHGB
+	or when optimizing for size.
+
+2007-02-16  Richard Guenther  <rguenther@suse.de>
+	    Christian Bruel  <christian.bruel@st.com>
+
+	* fold-const.c (tree_swap_operands_p): Treat SSA_NAMEs like
+	DECLs but prefer SSA_NAMEs over DECLs.
+
+2007-02-16  Richard Guenther  <rguenther@suse.de>
+
+	* tree-flow-inline.h (single_imm_use_p): Remove.
+	(zero_imm_uses_p): Likewise.
+	* tree-ssa-coalesce.c (create_outofssa_var_map): Use has_single_use
+	instead of single_imm_use_p.
+	* tree-cfg.c (replace_uses_by): Use has_zero_use instead of
+	zero_imm_uses_p.
+
+2007-02-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	PR other/27843
+	* Makefile.in (SYSTEM_HEADER_DIR): Use single quotes to avoid
+	nested double- and backquotes.
+
+2007-02-15  Roger Sayle  <roger@eyesopen.com>
+
+	PR middle-end/30391
+	* tree.c (expr_align): Handle MODIFY_EXPR.  GIMPLE_MODIFY_STMT
+	should be unreachable.
+	(build2_stat): Allow construction of MODIFY_EXPR at any time.
+	For the time being redirect GIMPLE_MODIFY_STMT to the new
+	(renamed) build_gimple_modify_stmt_stat.
+	(build2_gimple_stat): Rename to...
+	(build_gimple_modify_stmt_stat): Now longer take a CODE argument.
+	Always build a GIMPLE_MODIFY_STMT node.
+	* tree.h (build2_gimple, build2_gimple_stat): Delete.
+	(build_gimple_modify_stmt, build_gimple_modify_stmt_stat): New
+	declarations.
+
+	* tree-cfg.c (factor_computed_gotos, tree_merge_blocks,
+	gimplify_val): Use build_gimple_modify_stmt instead of build2_gimple.
+	* tree-complex.c (set_component_ssa_name, expand_complex_move,
+	expand_complex_div_wide): Likewise.
+	* tree-ssa-dom.c (record_equivalences_from_stmt): Likewise.
+	* tree-ssa-loop-im.c (schedule_sm): Likewise.
+	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Likewise.
+	* tree-ssa-loop-manip.c (create_iv): Likewise.
+	* tree-ssa-phiopt.c (conditional_replacement, minmax_replacement,
+	abs_replacement): Likewise.
+	* tree-ssa-pre.c (create_expression_by_pieces, poolify_modify_stmt,
+	realify_fake_stores): Likewise.
+
+	* builtins.c (std_expand_builtin_va_start): Build a MODIFY_EXPR
+	node rather than a GIMPLE_MODIFY_STMT node.
+	(std_gimpify_va_arg_expr, expand_builtin_va_copy,
+	fold_builtin_memset, fold_builtin_memory_op, do_mpfr_sincos):
+	Likewise.
+	(integer_valued_real_p): Handle MODIFY_EXPR, not GIMPLE_MODIFY_STMT.
+	* expr.c (expand_expr_real_1): Handle both MODIFY_EXPR and
+	GIMPLE_MODIFY_STMT.
+
+2007-02-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/30433
+	* fold-const.c (fold_comparison): Add back the
+	folding of constant complex comparisions.
+
+2007-02-15  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/30729
+	* stmt.c (warn_if_unused_value): VA_ARG_EXPR has side
+	effects unknown to this function, return early.
+
+2007-02-15  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (move_eh_region_note): New static function.
+	(resolve_simple_move): Call it.
+	(decompose_multiword_subregs): Track blocks for which we resolve a
+	simple move which is also a control flow insn.  Pass them to
+	find_many_sub_basic_blocks.
+	(pass_lower_subreg): Add TODO_verify_flow.
+	(pass_lower_subreg2): Likewise.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+	    Brooks Moses  <brooks.moses@codesourcery.com>
+	    Lee Millward  <lee.millward@codesourcery.com>
+
+	* tree.h (enum tree_code_class): Add tcc_vl_exp.
+	(VL_EXP_CLASS_P): New.
+	(TREE_OPERAND_CHECK): Use TREE_OPERAND_LENGTH instead of
+	TREE_CODE_LENGTH.
+	(TREE_OPERAND_CHECK_CODE): Likewise.
+	(GIMPLE_STMT_OPERAND_CHECK): Likewise.
+	(TREE_RTL_OPERAND_CHECK): Likewise.
+	(tree_operand_check_failed): Make second parameter the whole tree
+	instead of its code.  Fixed callers.
+	(VL_EXP_CHECK): New.
+	(TREE_OPERAND_LENGTH): New.
+	(VL_EXP_OPERAND_LENGTH): New.
+	(CALL_EXPR_FN): New.
+	(CALL_EXPR_STATIC_CHAIN): New.
+	(CALL_EXPR_ARGS): New.
+	(CALL_EXPR_ARG): New.
+	(call_expr_nargs): New.
+	(CALL_EXPR_ARGP): New.
+	(build_nt_call_list): Declare.
+	(build_vl_exp_stat): Declare.
+	(build_vl_exp): New.
+	(build_call_list): Declare.
+	(build_call_nary): Declare.
+	(build_call_valist): Declare.
+	(build_call_array): Declare.
+	(call_expr_arg): Declare.
+	(call_expr_argp): Declare.
+	(call_expr_arglist): Declare.
+	(fold_build_call_list): Declare.
+	(fold_build_call_list_initializer): Declare.
+	(fold_call_expr): Declare to replace fold_builtin.
+	(fold_builtin_fputs): Update to agree with modified definition.
+	(fold_builtin_strcpy): Likewise.
+	(fold_builtin_strncpy): Likewise.
+	(fold_builtin_memory_chk): Likewise.
+	(fold_builtin_stxcpy_chk): Likewise.
+	(fold_builtin_strncpy_chk): Likewise.
+	(fold_builtin_next_arg): Likewise.
+	(fold_build_call_expr): Declare.
+	(fold_builtin_call_list): Declare.
+	(fold_builtin_call_valist): Declare.
+	(build_call_expr): Declare.
+	(validate_arglist): Update to agree with modified definition.
+	(tree_operand_length): New.
+	(call_expr_arg_iterator): New.
+	(init_call_expr_arg_iterator): New.
+	(next_call_expr_arg): New.
+	(first_call_expr_arg): New.
+	(more_call_expr_args_p): New.
+	(FOR_EACH_CALL_EXPR_ARG): New.
+
+	* tree.c (tree_code_class_string): Add entries for tcc_vl_exp
+	and tcc_gimple_stmt.
+	(tree_code_size): Update documentation.  Use sizeof (tree) rather
+	than sizeof (char *).
+	(tree_size): Likewise.  Add case for tcc_vl_exp.
+	(tree_node_structure): Add case for tcc_vl_exp.
+	(contains_placeholder_p): Likewise.
+	(substitute_in_expr): Likewise.
+	(substitute_placeholder_in_expr): Likewise.
+	(stabilize_reference_1): Likewise.
+	(build3_stat): Remove logic for CALL_EXPRs.  Replace with assertion
+	to diagnose breakage of this interface for constructing CALL_EXPRs.
+	(build_nt): Add similar assertion here.
+	(build_nt_call_list): New.
+	(simple_cst_equal) <CALL_EXPR>: Rewrite to use new accessors.
+	(iterative_hash_expr): Use TREE_OPERAND_LENGTH instead of
+	TREE_CODE_LENGTH.
+	(get_callee_fndecl): Use new CALL_EXPR accessors.
+	(tree_operand_check_failed): Change parameters to pass entire node
+	instead of its code, so that we can call TREE_OPERAND_LENGTH on it.
+	(process_call_operands): New.
+	(build_vl_exp_stat): New.
+	(build_call_list): New.
+	(build_call_nary): New.
+	(build_call_valist): New.
+	(build_call_array): New.
+	(walk_tree): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+	(call_expr_arglist): New.
+
+	* tree.def (CALL_EXPR): Change representation of CALL_EXPRs to use
+	tcc_vl_exp instead of a fixed-size tcc_expression.
+
+	* doc/c-tree.texi (CALL_EXPR): Document new representation and
+	accessors for CALL_EXPRs.
+	(AGGR_INIT_EXPR): Likewise.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+	    Brooks Moses  <brooks.moses@codesourcery.com>
+	    Lee Millward  <lee.millward@codesourcery.com>
+
+	* builtins.c (c_strlen): Return NULL_TREE instead of 0.
+	(expand_builtin_nonlocal_goto): Change parameter to be entire
+	CALL_EXPR instead of an arglist.  Use new CALL_EXPR accessors.
+	(expand_builtin_prefetch): Likewise.
+	(expand_builtin_classify_type): Likewise.
+	(mathfn_built_in): Return NULL_TREE instead of 0.
+	(expand_errno_check): Use new CALL_EXPR accessors.
+	(expand_builtin_mathfn): Use new CALL_EXPR accessors and constructors.
+	Return NULL_RTX instead of 0.
+	(expand_builtin_mathfn_2): Likewise.
+	(expand_builtin_mathfn_3): Likewise.
+	(expand_builtin_interclass_mathfn): Likewise.
+	(expand_builtin_sincos): Likewise.
+	(expand_builtin_cexpi): Likewise.
+	(expand_builtin_int_roundingfn): Likewise.
+	(expand_builtin_int_roundingfn_2): Likewise.
+	(expand_builtin_pow): Likewise.
+	(expand_builtin_powi): Likewise.
+	(expand_builtin_strlen): Pass entire CALL_EXPR as parameter instead
+	of arglist, fixing callers appropriately.  Use new CALL_EXPR
+	accessors and constructors.  Return NULL_RTX instead of 0.
+	(expand_builtin_strstr): Likewise.
+	(expand_builtin_strchr): Likewise.
+	(expand_builtin_strrchr): Likewise.
+	(expand_builtin_strpbrk): Likewise.
+	(expand_builtin_memcpy): Likewise.
+	(expand_builtin_mempcpy): Likewise.
+	(expand_builtin_mempcpy_args): New.
+	(expand_builtin_memmove): Similarly to expand_builtin_mempcpy.
+	(expand_builtin_memmove_args): New.
+	(expand_builtin_bcopy): Similarly to expand_builtin_mempcpy.
+	(expand_movstr): Likewise.
+	(expand_builtin_strcpy): Likewise.
+	(expand_builtin_strcpy_args): New.
+	(expand_builtin_stpcpy): Similarly to expand_builtin_strcpy.
+	(expand_builtin_strncpy): Likewise.
+	(expand_builtin_memset): Likewise.
+	(expand_builtin_memset_args): New.
+	(expand_builtin_bzero): Similarly to expand_builtin_memset.
+	(expand_builtin_memcmp): Likewise.
+	(expand_builtin_strcmp): Likewise.
+	(expand_builtin_strncmp): Likewise.
+	(expand_builtin_strcat): Likewise.
+	(expand_builtin_strncat): Likewise.
+	(expand_builtin_strspn): Likewise.
+	(expand_builtin_strcspn): Likewise.
+	(expand_builtin_args_info): Likewise.
+	(expand_builtin_va_start): Likewise.
+	(gimplify_va_arg_expr): Likewise.
+	(expand_builtin_va_end): Likewise.
+	(expand_builtin_va_copy): Likewise.
+	(expand_builtin_frame_address): Likewise.
+	(expand_builtin_alloca): Likewise.
+	(expand_builtin_bswap): Likewise.
+	(expand_builtin_unop): Likewise.
+	(expand_builtin_fputs): Likewise.
+	(expand_builtin_expect): Likewise.
+	(expand_builtin_fabs): Likewise.
+	(expand_builtin_copysign): Likewise.
+	(expand_builtin_printf): Likewise.
+	(expand_builtin_fprintf): Likewise.
+	(expand_builtin_sprintf): Likewise.
+	(expand_builtin_init_trampoline): Likewise.
+	(expand_builtin_signbit): Likewise.
+	(expand_builtin_fork_or_exec): Likewise.
+	(expand_builtin_sync_operation): Likewise.
+	(expand_builtin_compare_and_swap): Likewise.
+	(expand_builtin_lock_test_and_set): Likewise.
+	(expand_builtin_lock_release): Likewise.
+	(expand_builtin): Likewise.
+	(builtin_mathfn_code): Likewise.
+
+	(fold_builtin_constant_p): 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_expect): Likewise.
+	(fold_builtin_classify_type): Likewise.
+	(fold_builtin_strlen): Likewise.
+	(fold_builtin_nan): Likewise.
+	(integer_valued_real_p): Likewise.
+	(fold_trunc_transparent_mathfn): Likewise.
+	(fold_fixed_mathfn): Likewise.
+	(fold_builtin_cabs): Likewise.
+	(fold_builtin_sqrt): Likewise.
+	(fold_builtin_cbrt): Likewise.
+	(fold_builtin_cos): Likewise.
+	(fold_builtin_cosh): Likewise.
+	(fold_builtin_tan): Likewise.
+	(fold_builtin_sincos): Likewise.
+	(fold_builtin_cexp): Likewise.
+	(fold_builtin_trunc): Likewise.
+	(fold_builtin_floor): Likewise.
+	(fold_builtin_ceil): Likewise.
+	(fold_builtin_round): Likewise.
+	(fold_builtin_int_roundingfn): Likewise.
+	(fold_builtin_bitop): Likewise.
+	(fold_builtin_bswap): Likewise.
+	(fold_builtin_logarithm): Likewise.
+	(fold_builtin_hypot): Likewise.
+	(fold_builtin_pow): Likewise.
+	(fold_builtin_powi): Likewise.
+	(fold_builtin_exponent): Likewise.
+	(fold_builtin_memset): Likewise.
+	(fold_builtin_bzero): Likewise.
+	(fold_builtin_memory_op): Likewise.
+	(fold_builtin_bcopy): Deleted; call site changed to invoke
+	fold_builtin_memory_op directly.
+	(fold_builtin_strcpy): Similarly as for fold_builtin_memory_op.
+	(fold_builtin_strncpy): Likewise.
+	(fold_builtin_memcmp): Likewise.
+	(fold_builtin_strcmp): Likewise.
+	(fold_builtin_strncmp): Likewise.
+	(fold_builtin_signbit): Likewise.
+	(fold_builtin_copysign): Likewise.
+	(fold_builtin_isascii): Likewise.
+	(fold_builtin_toascii): Likewise.
+	(fold_builtin_isdigit): Likewise.
+	(fold_builtin_fabs): Likewise.
+	(fold_builtin_abs): Likewise.
+	(fold_builtin_fmin_fmax): Likewise.
+	(fold_builtin_carg): Likewise.
+	(fold_builtin_classify): Likewise.
+	(fold_builtin_unordered_cmp): Likewise.
+
+	(fold_builtin_0, fold_builtin_2, fold_builtin_3, fold_builtin_4):
+	New functions split out from fold_builtin_1.
+	(fold_builtin_n): New.
+	(fold_builtin_varargs): New.
+	(fold_builtin): Deleted.  Most callers changed to use fold_call_expr
+	instead.
+	(fold_call_expr): New.
+	(build_function_call_expr): Rewrite to use new helper function.
+	(fold_builtin_call_list): New.
+	(build_call_expr): New.
+	(fold_builtin_call_valist): New.
+	(rewrite_call_expr): New.
+	(validate_arg): New.
+	(validate_arglist): Change parameter to be entire CALL_EXPR instead
+	of an arglist.  Change return type to bool.  Use new CALL_EXPR
+	accessors.
+
+	(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.
+	(fold_builtin_strrchr): Likewise.
+	(fold_builtin_strpbrk): Likewise.
+	(fold_builtin_strcat): Likewise.
+	(fold_builtin_strncat): Likewise.
+	(fold_builtin_strspn): Likewise.
+	(fold_builtin_strcspn): Likewise.
+	(fold_builtin_fputs): Likewise.
+	(fold_builtin_next_arg): Likewise.
+	(fold_builtin_sprintf): Likewise.
+
+	(expand_builtin_object_size): Use new CALL_EXPR accessors.  Use
+	NULL_RTX instead of 0.
+	(expand_builtin_memory_chk): Likewise.
+	(maybe_emit_chk_warning): Likewise.
+	(maybe_emit_sprintf_chk_warning): Likewise.
+
+	(fold_builtin_object_size): 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_memory_chk): Likewise.
+	(fold_builtin_stxcpy_chk): Likewise.
+	(fold_builtin_strncpy_chk): Likewise.
+	(fold_builtin_strcat_chk): Likewise.
+	(fold_builtin_strcat_chk): Likewise.
+	(fold_builtin_strncat_chk): Likewise.
+	(fold_builtin_sprintf_chk): Likewise.
+	(fold_builtin_snprintf_chk): Likewise.
+	(fold_builtin_printf): Likewise.
+	(fold_builtin_vprintf): Likewise.
+
+	* fold-const.c (negate_expr_p): Use new CALL_EXPR accessors and
+	constructors.
+	(operand_equal_p): Add separate tcc_vl_exp/CALL_EXPR case.
+	(make_range): Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+	(extract_muldiv_1): Add VL_EXP_CLASS_P case.
+	(fold_mathfn_compare): Use new CALL_EXPR accessors and constructors.
+	(fold_unary): Likewise.
+	(fold_binary): Likewise.
+	(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
+	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+	(fold_build3_stat): Add assertion to flag broken interface for
+	constructing CALL_EXPRs.
+	(fold_build_call_list): New.
+	(fold_build_call_list_initializer): New.
+	(tree_expr_nonnegative_p): Use new CALL_EXPR accessors and
+	constructors.
+	(fold_strip_sign_ops): Likewise.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+	    Brooks Moses  <brooks.moses@codesourcery.com>
+	    Lee Millward  <lee.millward@codesourcery.com>
+
+	* tree-dump.c (dequeue_and_dump) <CALL_EXPR>: Use new CALL_EXPR
+	accessors and dump arguments explicitly.
+
+	* tree-pretty-print.c (do_niy): Use TREE_OPERAND_LENGTH instead of
+	TREE_CODE_LENGTH.
+	(dump_generic_node): Use new CALL_EXPR accessors and walk arguments
+	explicitly.
+	(print_call_name): Use new CALL_EXPR accessors.
+
+	* print-tree.c (print_node): Add case tcc_vl_exp.  Print
+	CALL_EXPR arguments explicitly instead of as a list.  Use
+	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+
+	* 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
+	know about tcc_vl_exp.  Use TREE_OPERAND_LENGTH instead of
+	TREE_CODE_LENGTH.
+	(force_move_till_expr): Likewise.
+
+	* targhooks.c (default_external_stack_protect_fail): Use
+	build_call_expr instead of build_function_call_expr.
+	(default_hidden_stack_protect_fail): Likewise.
+
+	* tree-complex.c (expand_complex_libcall): Use build_call_expr to
+	build the call.
+
+	* cgraphbuild.c (build_cgraph_edges): Use new CALL_EXPR accessors
+	and walk arguments explicitly.
+
+	* tree-ssa-loop-niter.c (simplify_replace_tree): Use
+	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+	(expand_simple_operations): Likewise.
+	(infer_loop_bounds_from_array): Use new CALL_EXPR accessors.
+
+	* gengtype.c (adjust_field_tree_exp): Use TREE_OPERAND_LENGTH instead
+	of TREE_CODE_LENGTH.
+	(walk_type): Tweak walking of arrays not to blow up on CALL_EXPRs.
+
+	* optabs.c (expand_widen_pattern-expr): Use TREE_OPERAND_LENGTH
+	instead of TREE_CODE_LENGTH.
+
+	* value_prof.c (tree_ic): Use new CALL_EXPR accessors.
+	(tree_ic_transform): Likewise.
+	(interesting_stringop_to_profile_p): Pass entire CALL_EXPR as
+	parameter instead of arglist.  Fix callers.
+	(tree_stringop_fixed_value): Use new CALL_EXPR accessors.
+	(tree_stringops_transform): Likewise.
+	(tree_indirect_call_to_profile): Likewise.
+	(tree_stringops_values_to_profile): Likewise.
+
+	* tree-tailcall.c (find_tail_calls): Use new CALL_EXPR iterator.
+	(eliminate_tail_call): Likewise.
+
+	* ipa-cp.c (ipcp_update_callgraph): Use new CALL_EXPR accessors.
+
+	* tree-scalar-evolution.c (chrec_contains_symbols_defined_in_loop):
+	Use TREE_OPERAND_LENGTH and generalize to handle any number of
+	operands.
+	(instantiate_parameters_1): Can't handle tcc_vl_exp here.
+
+	* omp-low.c (build_omp_barrier): Use build_call_expr.
+	(lower_rec_input_clauses): Likewise.
+	(lower_reduction_clauses): Likewise.
+	(expand_parallel_call): Likewise.
+	(maybe_catch_exception): Likewise.
+	(expand_omp_for_generic): Likewise.
+	(expand_omp_for_static_nochunk): Likewise.
+	(expand_omp_sections): Likewise.
+	(lower_omp_single_simple): Likewise.
+	(lower_omp_single_copy): Likewise.
+	(lower_omp_master): Likewise.
+	(lower_omp_ordered): Likewise.
+	(lower_omp_critical): Likewise.
+
+	* ipa-reference.c (check-call): Use new CALL_EXPR iterator.
+	(scan_for_static_refs): Create tcc_vl_exp case for CALL_EXPR.
+
+	* tree-gimple.c (is_gimple_call_addr): Fix doc.
+	(recalculate_side_effects): Use TREE_OPERAND_LENGTH instead of
+	TREE_CODE_LENGTH.  Add tcc_vl_exp case.
+
+	* tree-chrec.c (chrec_contains_symbols): Use TREE_OPERAND_LENGTH
+	and generalize to handle any number of operands.
+	(chrec_contains_undetermined): Likewise.
+	(tree_contains_chrecs): Likewise.
+	(evolution_function_is_invariant_rec_p): Use TREE_OPERAND_LENGTH.
+
+	* cgraphunit.c (update_call_expr): Use new CALL_EXPR accessors.
+
+	* tree-ssa-ccp.c (ccp_fold): Use new CALL_EXPR accessors.  Use
+	fold_call_expr instead of fold_builtin.
+	(ccp_fold_builtin): Likewise.  Update calls into builtins.c to
+	match declarations there.
+	(fold_stmt): Use new CALL_EXPR constructor and accessors.  Doc
+	updates.
+
+	* tree-ssa-loop-ivopts.c (expr_invariant_in_loop_p): Use
+	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+
+	* ipa-pure-const.c (check_call): Use new CALL_EXPR accessors.
+	(scan_function): Add case tcc_vl_exp for CALL_EXPR.
+
+	* tree-stdarg.c (execute_optimize_stdarg): Use new CALL_EXPR
+	accessors.
+
+	* tree-ssa-math-opts.c (execute_cse_sincos_1): Use build_call_expr.
+	(execute_cse_sincos): Use new CALL_EXPR accessors.
+
+	* tree-ssa-alias.c (find_used_portions): Use new CALL_EXPR iterator.
+
+	* gimple-low.c (lower_function_body): Use build_call_expr.
+	(lower_builtin_setjmp): Likewise.
+
+	* expr.c (emit_block_move_via_libcall): Use build_call_expr.
+	(set_storage_via_libcall): Likewise.
+	(safe_from_p): Add tcc_vl_exp case.  Use TREE_OPERAND_LENGTH
+	instead of TREE_CODE_LENGTH.
+	(expand_expr_real_1): Use new CALL_EXPR accessors.
+
+	* tree-browser.c (store_child_info): Use TREE_OPERAND_LENGTH and
+	generalize to handle any number of operands.
+	(TB_parent_eq): Likewise.
+
+	* predict.c (expr_expected_value): Use new CALL_EXPR accessors.
+	(strip_builtin_expect): Likewise.
+
+	* function.c (gimplify_parameters): Use build_call_expr.
+
+	* tree-vectorizer.c (vect_is_simple_reduction): Use
+	TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+
+	* ipa-type-escape.c (check_call): Use new CALL_EXPR iterators.
+	(scan_for_refs): Add case tcc_vl_exp for CALL_EXPR.
+
+	* tree-data-ref.c (get_references_in_stmt): Use new CALL_EXPR
+	iterators.
+
+	* gimplify.c (build_stack_save_restore): Use build_call_expr.
+	(gimplify_decl_expr): Likewise.
+	(gimplify_call_expr): Use fold_call_expr instead of fold_builtin.
+	Use new CALL_EXPR iterators.
+	(gimplify_modify_expr_to_memcpy): Use build_call_expr.
+	(gimplify_modify_expr_to_memset): Likewise.
+	(gimplify_variable_sized_compare): Likewise.
+	(gimplify_omp_atomic_fetch_op): Likewise.
+	(gimplify_omp_atomic_pipeline): Likewise.
+	(gimplify_omp_atomic_mutex): Likewise.
+	(gimplify_function_tree): Likewise.
+
+	* calls.c (alloca_call_p): Use new CALL_EXPR accessors.
+	(call_expr_flags): Likewise.
+	(expand_call): Likewise.
+
+	* except.c (expand_builtin_eh_return_data_regno): Pass entire
+	CALL_EXPR as parameter instead of arglist.  Use new CALL_EXPR
+	accessors.
+
+	* coverage.c (create_coverage): Use build_call_expr.
+
+	* tree-ssa-pre.c (expression_node_pool, list_node_pool): Delete.
+	(temp_call_expr_obstack): New.
+	(pool_copy_list): Delete.
+	(temp_copy_call_expr): New.
+	(phi_translate): Add case tcc_vl_exp for CALL_EXPR.  Use new
+	CALL_EXPR accessors.  Get rid of special goo for copying argument
+	lists and use temp_copy_call_expr instead.
+	(valid_in_sets): Add case tcc_vl_exp for CALL_EXPR.  Use new
+	CALL_EXPR accessors.
+	(create_expression_by_pieces): Likewise.  Use build_call_array
+	to construct the result instead of fold_build3.
+	(create_value_expr_from): Add tcc_vl_exp.  Delete special goo for
+	dealing with argument lists.
+	(init_pre): Remove references to expression_node_pool and
+	list_node_pool.  Init temp_call_expr_obstack instead.
+	(fini_pre): Remove references to expression_node_pool and
+	list_node_pool.
+
+	* tree-sra.c (sra_walk_call_expr): Use new CALL_EXPR accessors
+	and walk arguments explicitly instead of as a list.
+
+	* tree-mudflap.c (mf_build_check_statement_for): Use build_call_expr.
+	(mx_register_decls): Likewise.
+	(mudflap_register_call): Likewise.
+	(mudflap_finish_file): Likewise.
+
+	* ipa-prop.c (ipa_callsite_compute_count): Use new CALL_EXPR accessors.
+	(ipa_callsite_compute_param): Likewise.
+
+	* tree-vect-patterns.c (vect_recog_pow_pattern): Use new CALL_EXPR
+	accessors and constructor.
+
+	* tree-nested.c (convert_nl_goto_reference): Use new CALL_EXPR
+	accessors and constructor.
+	(convert_tramp_reference): Likewise.
+	(convert_call_expr): Likewise.
+	(finalize_nesting_tree_1): Likewise.
+
+	* tree-ssa.c (tree_ssa_useless_type_conversion): Use new CALL_EXPR
+	accessors.
+
+	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Use build_call_expr.
+
+	* tree-inline.c (initialize_inlined_parameters): Pass entire
+	CALL_EXPR as parameter instead of arglist.  Use new CALL_EXPR
+	accessors.
+	(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_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+	(vectorizable_reduction): Likewise.
+	(vectorizable_call): Use new CALL_EXPR iterators.
+	(vectorizable_conversion): Use build_call_expr.
+	(vectorizable_operation): Use TREE_OPERAND_LENGTH.
+	(vect_gen_widened_results_half): Use build_call_expr.
+	(vect_setup_realignment): Likewise.
+	(vectorizable_live_operation): Use TREE_OPERAND_LENGTH.
+
+	* tree-object-size.c (alloc_object_size): Use new CALL_EXPR accessors.
+	(pass_through_call): Likewise.
+	(compute_object_sizes): Likewise.  Use fold_call_expr instead of
+	fold_builtin.
+
+	* tree-profile.c (tree_gen_interval_profiler): Use build_call_expr.
+	(tree_gen_pow2_profiler): Likewise.
+	(tree_gen_one_value_profiler): Likewise.
+	(tree_gen_ic_func_profiler): Likewise.
+	(tree_gen_average_profiler): Likewise.
+	(tree_gen_ior_profiler): Likewise.
+
+	* tree-ssa-structalias.c (get_constraint_for): Add case tcc_vl_exp.
+	(find_func_aliases): Use new CALL_EXPR accessors.  Add case
+	tcc_vl_exp.  Use TREE_OPERAND_LENGTH instead of TREE_CODE_LENGTH.
+
+	* tree-ssa-reassoc.c (get_rank): Use TREE_OPERAND_LENGTH instead
+	of TREE_CODE_LENGTH.
+
+	* stmt.c (warn_if_unused_value): Use TREE_OPERAND_LENGTH instead
+	of TREE_CODE_LENGTH.
+
+	* convert.c (convert_to_real): Use new CALL_EXPR accessors and
+	constructor.
+	(convert_to_integer): Likewise.
+
+	* tree-ssa-operands.c (get_call_expr_operands): Use new CALL_EXPR
+	accessors.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+	    Brooks Moses  <brooks.moses@codesourcery.com>
+	    Lee Millward  <lee.millward@codesourcery.com>
+
+	* config/alpha/alpha.c (alpha_expand_builtin): Use new CALL_EXPR
+	accessors.
+	* config/frv/frv.c (frv_expand_builtin): Likewise.
+	* config/s390/s390.c (s390_expand_builtin): Likewise.
+
+	* config/sparc/sparc.c (sparc_gimplify_va_arg): Use build_call_expr.
+	(sparc_expand_builtin): Use new CALL_EXPR accessors.
+
+	* config/i386/i386.c (ix86_function_ok_for_sibcall): Likewise.
+	(ix86_expand_binop_builtin): Pass entire CALL_EXPR as parameter
+	instead of arglist.  Use new CALL_EXPR accessors on it.  Fix callers.
+	(ix86_expand_store_builtin): Likewise.
+	(ix86_expand_unop_builtin): Likewise.
+	(ix86_expand_unop1_builtin): Likewise.
+	(ix86_expand_sse_compare): Likewise.
+	(ix86_expand_sse_comi): Likewise.
+	(ix86_expand_vec_init_builtin): Likewise.
+	(ix86_expand_vec_ext_builtin): Likewise.
+	(ix86_expand_vec_set_builtin): Likewise.
+	(ix86_expand_builtin): Use new CALL_EXPR accessors.
+
+	* config/sh/sh.c (sh_expand_builtin): Use new CALL_EXPR accessors.
+	* config/c4x/c4x.c (c4x_expand_builtin): Likewise.
+
+	* config/iq2000/iq2000.c (expand_one_builtin): Pass entire CALL_EXPR
+	instead of arglist.  Use new CALL_EXPR accessors.  Fix callers.
+	(iq2000_expand_builtin): Use new CALL_EXPR accessors.
+
+	* config/rs6000/rs6000-c.c (altivec_build_resolved_builtin): Use
+	build_call_expr.
+	* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Likewise.
+	(rs6000_expand_unop_builtin): Pass entire CALL_EXPR instead of
+	arglist.  Use new CALL_EXPR accessors.  Fix callers.
+	(altivec_expand_abs_builtin): Likewise.
+	(rs6000_expand_binop_builtin): Likewise.
+	(altivec_expand_predicate_builtin): Likewise.
+	(altivec_expand_lv_builtin): Likewise.
+	(spe_expand_stv_builtin): Likewise.
+	(altivec_expand_stv_builtin): Likewise.
+	(rs6000_expand_ternop_builtin): Likewise.
+	(altivec_expand_ld_builtin): Use new CALL_EXPR accessors.
+	(altivec_expand_st_builtin): Likewise.
+	(altivec_expand_dst_builtin): Likewise.
+	(altivec_expand_vec_init_builtin): Pass entire CALL_EXPR instead of
+	arglist.  Use new CALL_EXPR accessors.  Fix callers.
+	(altivec_expand_vec_set_builtin): Likewise.
+	(altivec_expand_vec_ext_builtin): Likewise.
+	(altivec_expand_builtin): Use new CALL_EXPR accessors.
+	(spe_expand_builtin): Likewise.
+	(spe_expand_predicate_builtin): Pass entire CALL_EXPR instead of
+	arglist.  Use new CALL_EXPR accessors.  Fix callers.
+	(spe_expand_evsel_builtin): Likewise.
+	(rs6000_expand_builtin): Use new CALL_EXPR accessors.  VCFUX and
+	FCFSX cases must construct whole new CALL_EXPR, not just arglist.
+
+	* config/arm/arm.c (arm_expand_binop_builtin): Pass entire CALL_EXPR
+	instead of arglist.  Use new CALL_EXPR accessors.  Fix callers.
+	(arm_expand_unop_builtin): Likewise.
+	(arm_expand_builtin): Use new CALL_EXPR accessors.
+
+	* config/mips/mips.c (mips_expand_builtin): Use new CALL_EXPR
+	accessors.
+
+	* config/bfin/bfin.c (bfin_expand_binop_builtin): Pass entire
+	CALL_EXPR instead of arglist.  Use new CALL_EXPR accessors.
+	Fix callers.
+	(bfin_expand_unop_builtin): Likewise.
+	(bfin_expand_builtin): Use new CALL_EXPR accessors.
+
+2007-02-15  Sandra Loosemore  <sandra@codesourcery.com>
+	    Brooks Moses  <brooks.moses@codesourcery.com>
+	    Lee Millward  <lee.millward@codesourcery.com>
+
+	* c-semantics.c (build_stmt): Add internal diagnostic check.
+
+	* c-pretty-print.c (pp_c_postfix_expression): Use new CALL_EXPR
+	accessors.  Print arguments explicitly instead of as a list.
+
+	* c-typeck.c (build_function_call): Use new CALL_EXPR constructors.
+
+	* c-omp.c (c_finish_omp_barrier): Use build_call_expr.
+	(c_finish_omp_flish): Likewise.
+
+	* c-common.c (verify_tree): Use new CALL_EXPR accessors.  Traverse
+	arguments explicitly instead of as a list.  Use TREE_OPERAND_LENGTH
+	instead of TREE_CODE_LENGTH.
+	(check_function_arguments_recurse): Use new CALL_EXPR accessors.
+	(c_warn_unused_result): Likewise.
+
+2007-02-15  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/26494
+	* doc/invoke.texi (Warning Options): Remove
+	-Werror-implicit-function-declaration.
+	(Wimplicit-function-declaration): Update description.
+	* opts.c (common_handle_option): Move handling of -Werror=* to...
+	(enable_warning_as_error): ...here.
+	* opts.h (enable_warning_as_error): Declare.
+	* c-decl.c (implicit_decl_warning): Unless
+	-Wno-implicit-function-declaration is given, emit a pedwarn if
+	-std=c99 or emit a warning if -Wimplicit-function-declaration.
+	* c.opt (Wimplicit-function-declaration): Replace
+	mesg_implicit_function_declaration with
+	warn_implicit_function_declaration.
+	* c-opts.c (c_common_handle_option):
+	-Werror-implicit-function-declaration is exactly equal as
+	-Werror=implicit-function-declaration.
+	(set_Wimplicit): Replace mesg_implicit_function_declaration with
+	warn_implicit_function_declaration.
+	(c_common_post_options): -Wimplict-function-declaration is enabled
+	by default by -std=c99, otherwise is disabled by default.
+	* c-objc-common.c (c_objc_common_init): Remove flawed logic.
+
+2007-02-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gimplify.c (gimplify_modify_expr): During gimplification, attach a
+	DECL on the rhs to a DECL on the lhs for debug info purposes if the
+	former is ignored but not the latter.
+
+2007-02-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* expr.c (expand_expr_real_1) <normal_inner_ref>: If a temporary
+	is made and the reference doesn't use the alias set of its type,
+	do not create the temporary using that type.
+
+2007-02-15  Aldy Hernandez  <aldyh@redhat.com>
+
+	* jump.c: Remove prototypes for delete_computation and
+	delete_prior_computation.
+
+2007-02-15  Paolo Bonzini  <bonzini@gnu.org>
+
+	* jump.c (get_label_after): Delete.
+	(get_label_before, delete_computation, delete_jump,
+	delete_prior_computation, follow_jumps): Move...
+	* reorg.c (delete_computation, delete_prior_computation): ... here...
+	(get_label_before, delete_jump): ... making these static ...
+	(follow_jumps): ... and simplifying this since it only runs after
+	reload.
+	* rtl.h (get_label_after, get_label_before, delete_jump,
+	follow_jumps): Delete prototypes.
+
+2007-02-15  Paolo Bonzini  <bonzini@gnu.org>
+
+	* caller-save.c (save_call_clobbered_regs): Do not process sibcalls.
+
+2007-02-15  Nick Clifton  <nickc@redhat.com>
+
+	* varasm.c (default_asm_output_anchor): Prepend * to . symbol in
+	order to prevent it from being munged by the target.
+
+2007-02-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md: Remove misleading comment.
+
+2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* config/frv/frv.md (reload_incc, reload_outcc, reload_incc_uns,
+	reload_outcc_uns, reload_incc_nz, reload_outcc_nz): Remove
+	invalid patterns.
+
+2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-sra.c (instantiate_missing_elements): Canonicalize
+	bit-field types.
+	(sra_build_assignment): New.
+	(generate_copy_inout, generate_element_copy,
+	generate_element_zero, generate_one_element_init): Use it.
+
+2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* tree-sra.c (instantiate_missing_elements): Canonicalize
+	bit-field types.
+	(sra_build_assignment): New.
+	(generate_copy_inout, generate_element_copy,
+	generate_element_zero, generate_one_element_init): Use it.
+
+2007-02-15  Alexandre Oliva  <aoliva@redhat.com>
+
+	* dwarf2out.c (dwarf2out_finish): Accept namespaces as context of
+	limbo die nodes.
+
+2007-02-14  Joseph Myers  <joseph@codesourcery.com>
+
+	* emit-rtl.c (set_mem_attributes_minus_bitpos): Treat complex
+	types as aggregates not scalars.
+	* function.c (assign_stack_temp_for_type): Likewise.
+
+2007-02-14  Roger Sayle  <roger@eyesopen.com>
+	    Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* tree-dump.c (dump_switch_p_1): Require exact match of the option
+	name.
+
+2007-02-14  Zdenek Dvorak  <dvorakz@suse.cz>
+
+	* passes.c (next_pass_1): Clear the next field of the copied
+	pass structure.
+
+2007-02-14  Richard Henderson  <rth@redhat.com>
+
+	* tree-sra.c (early_sra): New.
+	(decl_can_be_decomposed_p): Deny va_list if early_sra.
+	(tree_sra_early, pass_sra_early): New.
+	* tree-pass.h (pass_sra_early): Declare.
+	* passes.c (init_optimization_passes): Use it.
+
+2007-02-14  Richard Guenther  <rguenther@suse.de>
+
+	* flags.h (issue_strict_overflow_warning): Convert to a macro.
+
+2007-02-14  Dorit Nuzman  <dorit@il.ibm.com>
+
+	 PR tree-optimization/30771
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Traverse
+	also phi nodes.
+	(vect_analyze_operations): Induction phis can now be marked as
+	used_in_loop.
+	(vect_mark_stmts_to_be_vectorized): No special treatment for phis.
+	Update documentation accordingly.
+
+2007-02-14  Nick Clifton  <nickc@redhat.com>
+
+	* builtin-types.def (DEF_FUNCTION_TYPE_x): Do not imply that at
+	most 3 arguments are supported.
+	(DEF_FUNCTION_TYPE_VAR_5): Fix typo in its description.
+
+2007-02-13  Seongbae Park <seongbae.park@gmail.com>
+
+	* bitmap.c (bitmap_and, bitmap_and_compl, bitmap_xor):
+	Ensure dst->current is valid.
+
+2007-02-13  Paul Brook  <paul@codesourcery.com>
+
+	* config.gcc: Add arm*-*-uclinux-*eabi.
+	* config/arm/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Define.
+	(SUBTARGET_EXTRA_LINK_SPEC): Define.
+	(STARTFILE_SPEC, ENDFILE_SPEC): Remove broken -shared handling.
+	(LINK_GCC_C_SEQUENCE_SPEC): Undef.
+	(LINK_SPEC): Define.
+	(LIB_SPEC): Define.
+	* config/arm/arm.c (arm_override_options): Use r9 as EABI PIC
+	register.
+	* config/arm/uclinux-eabi.h: New file.
+	* config/arm/linux-eabi.h (WCHAR_TYPE): Remove.
+	* config/arm/linux-gas.h (WCHAR_TYPE): Use unsigned long on AAPCS
+	based targets.
+
+2007-02-13  Ian Lance Taylor  <iant@google.com>
+
+	* common.opt: Add Wstrict-overflow and Wstrict-overflow=.
+	* flags.h (warn_strict_overflow): Declare.
+	(enum warn_strict_overflow_code): Define.
+	(issue_strict_overflow_warning): New static inline function.
+	* opts.c (warn_strict_overflow): New variable.
+	(common_handle_option): Handle OPT_Wstrict_overflow and
+	OPT_Wstrict_overflow_.
+	* c-opts.c (c_common_handle_option): Set warn_strict_overflow for
+	OPT_Wall.
+	* fold-const.c: Include intl.h.
+	(fold_deferring_overflow_warnings): New static variable.
+	(fold_deferred_overflow_warning): New static variable.
+	(fold_deferred_overflow_code): New static variable.
+	(fold_defer_overflow_warnings): New function.
+	(fold_undefer_overflow_warnings): New function.
+	(fold_undefer_and_ignore_overflow_warnings): New function.
+	(fold_deferring_overflow_warnings_p): New function.
+	(fold_overflow_warning): New static function.
+	(make_range): Add strict_overflow_p parameter.  Change all
+	callers.
+	(extract_muldiv, extract_muldiv_1): Likewise.
+	(fold_unary) [ABS_EXPR]: Check ABS_EXPR before calling
+	tree_expr_nonnegative_p.
+	(fold_negate_expr): Call fold_overflow_warning.
+	(fold_range_test): Likewise.
+	(fold_comparison): Likewise.
+	(fold_binary): Likewise.  Call tree_expr_nonnegative_warnv_p
+	instead of tree_expr_nonnegative_p.
+	(tree_expr_nonnegative_warnv_p): Rename from
+	tree_expr_nonnegative_p, add strict_overflow_p parameter.
+	(tree_expr_nonnegative_p): New function.
+	(tree_expr_nonzero_warnv_p): Rename from tree_expr_nonzero_p, add
+	strict_overflow_p parameter.
+	(tree_expr_nonzero_p): New function.
+	* passes.c (verify_interpass_invariants): New static function.
+	(execute_one_pass): Call it.
+	* tree-ssa-loop-niter.c (expand_simple_operations): Ignore fold
+	warnings.
+	(number_of_iterations_exit, loop_niter_by_eval): Likewise.
+	(estimate_numbers_of_iterations): Likewise.
+	(scev_probably_wraps_p): Likewise.
+	* tree-ssa-ccp.c: Include "toplev.h".
+	(evaluate_stmt): Defer fold overflow warnings until we know we are
+	going to optimize.
+	(struct fold_stmt_r_data): Add stmt field.
+	(fold_stmt_r): Defer fold overflow warnings until we know we
+	optimized.
+	(fold_stmt): Initialize stmt field of fold_stmt_r_data.
+	(fold_stmt_inplace): Likewise.
+	* tree-cfgcleanup.c: Include "toplev.h" rather than "errors.h".
+	(cleanup_control_expr_graph): Defer fold overflow warnings until
+	we know we are going to optimize.
+	* tree-cfg.c (fold_cond_expr_cond): Likewise.
+	* tree-ssa-threadedge.c (simplify_control_stmt_condition):
+	Likewise.
+	* tree-vrp.c (vrp_expr_computes_nonnegative): Call
+	tree_expr_nonnegative_warnv_p instead of tree_expr_nonnegative_p.
+	* tree-ssa-loop-manip.c (create_iv): Likewise.
+	* c-typeck.c (build_conditional_expr): Likewise.
+	(build_binary_op): Likewise.
+	* tree-vrp.c (vrp_expr_computes_nonzero): Call
+	tree_expr_nonzero_warnv_p instead of tree_expr_nonzero_p.
+	(extract_range_from_unary_expr): Likewise.
+	* simplify-rtx.c (simplify_const_relational_operation): Warn when
+	assuming that signed overflow does not occur.
+	* c-common.c (pointer_int_sum): Ignore fold overflow warnings.
+	* tree.h (tree_expr_nonnegative_warnv_p): Declare.
+	(fold_defer_overflow_warnings): Declare.
+	(fold_undefer_overflow_warnings): Declare.
+	(fold_undefer_and_ignore_overflow_warnings): Declare.
+	(fold_deferring_overflow_warnings_p): Declare.
+	(tree_expr_nonzero_warnv_p): Declare.
+	* doc/invoke.texi (Option Summary): Add -Wstrict-overflow to list
+	of warning options.
+	(Warning Options): Document -Wstrict-overflow.
+	* Makefile.in (tree-ssa-threadedge.o): Depend on toplev.h.
+	(tree-ssa-ccp.o): Likewise.
+	(tree-cfgcleanup.o): Change errors.h dependency to toplev.h.
+	(fold-const.o): Depend on intl.h.
+
+2007-02-13  Ian Lance Taylor  <iant@google.com>
+
+	PR middle-end/30751
+	* lower-subreg.c (resolve_simple_move): Decompose subregs in
+	addresses.
+
+2007-02-13  Stuart Hastings  <stuart@apple.com>
+
+	* config/i386/i386.md (fixuns_truncdfhi2): Require SSE2.
+
+2007-02-13  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.c (alpha_stdarg_optimize_hook): Strip
+	handled_component_p before looking for the indirect_ref.
+
+2007-02-13  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.md (bswapsi_1): Rename from bswapsi2,
+	remove flags clobber.
+	(bswapsi2): New expander, emit code for !TARGET_BSWAP.
+	(bswaphi_lowpart): New.
+	(bswapdi2): Rename from bswapdi2_rex, remove flags clobber,
+	remove TARGET_BSWAP test.  Delete expander of the same name.
+
+	* optabs.c (widen_bswap, expand_doubleword_bswap): New.
+	(expand_unop): Use them.
+
+2007-02-13  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (cmpdi_ccno_1_rex64, *cmpsi_ccno_1,
+	*cmphi_ccno_1, *cmpqi_ccno_1, *movsi_xor, *movstricthi_xor,
+	*movstrictqi_xor, *movdi_xor_rex64, *ashldi3_1_rex64,
+	*ashldi3_cmp_rex64, *ashldi3_cconly_rex64, ashlsi3, *ashlsi3_1_zext,
+	*ashlsi3_cmp, *ashlsi3_cconly, *ashlsi3_cmp_zext, *ashlhi3_1_lea,
+	*ashlhi3_1, *ashlhi3_cmp, *ashlhi3_cconly, *ashlqi3_1_lea,
+	*ashlqi3_1, *ashlqi3_cmp, *ashlqi3_cconly): Remove equivalent
+	assembler dialect choice from asm templates.
+
+2007-02-12  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.md (fixuns_trunc<SSEMODEF>si_1): New insn.
+	(fixuns_trunc<SSEMODEF>si2): Use it.
+	* config/i386/sse.md (vec_setv4sf_0): Export.
+	* config/i386/i386.c (ix86_build_const_vector): Export.
+	(ix86_split_convert_uns_si_sse): Rename from
+	ix86_expand_convert_uns_si_sse and rewrite as a splitter.
+	* config/i386/i386-protos.h: Update.
+
+2007-02-13  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/29521
+	* c-typeck.c (c_finish_return): Improve warning message.
+
+2007-02-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* alias.c (find_symbolic_term): Delete unused function.
+
+2007-02-12  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (paritydi2, paritysi2): New expanders.
+	(paritydi2_cmp, paritydi2_cmp): New insn and split patterns.
+	(*parityhi2_cmp, *parityqi2_cmp): New insn patterns.
+
+2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree.h (DECL_IGNORED_P): Document further effect for FUNCTION_DECL.
+	* cgraphunit.c (cgraph_expand_function): If DECL_IGNORED_P is set on
+	the function, temporarily point the debug interface to the null one.
+
+2007-02-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* dwarf2out.c (round_up_to_align): New static function.
+	(field_byte_offset): Use it to round the offset.
+
+2007-02-12  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/alpha.md (bswapsi2, bswapdi2): New.
+	(inswl_const): Export.
+
+2007-02-12  Richard Henderson  <rth@redhat.com>
+
+	* calls.c (emit_library_call_value_1): If PROMOTE_MODE modifed the
+	result mode of the libcall, convert back to outmode.
+
+2007-02-12  Roger Sayle  <roger@eyesopen.com>
+
+	* config/i386/i386.md (*bswapdi2_rex): Renamed from bswapdi2.
+	(bswapdi2): New define_expand to implement 32-bit implementation.
+
+2007-02-12  Nick Clifton  <nickc@redhat.com>
+
+	* doc/invoke.texi (Overall Options): Document --help=.
+	* gcc.c (target_help_flag): Rename to print_subprocess_flag.
+	(cc1_options): Pass --help= on to cc1.
+	(display_help): Add description of --help=.
+	(process_command): Add code to handle --help=.  Allow translated
+	--help and --target-help switches to be passed on to compiler
+	sub-process.
+	(main): Remove unused if statement.
+	* opts.c (columns): Remove.
+	(LEFT_COLUMN): Define.
+	(wrap_help): Add columns argument.
+	(print_filtered_help): Change parameters to be an include bitmask,
+	an exclude bitmask, an any bitmask and the column width.  Move the
+	code to display the params list here.  Add code to display the
+	status of options rather than their descriptions if the quiet flag
+	is not active.
+	(print_specific_help): Change parameters to be an include bitmask,
+	an exclude bitmask and an any bitmask.  Move code to look up the
+	column width here.  Decide upon the title for an options listing.
+	(common_handle_options): Add code to handle --help=.  Adapt code
+	for --help and --target-help to use the revised form of the
+	print_specific_help function.
+	(print_help): Delete.
+	(print_param_help): Delete.
+	(print_switch): Delete.
+	* opts.h (cl_lang_count): Add prototype.
+	(CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_MIN_OPTION_CLASS,
+	CL_MAX_OPTION_CLASS): New defines.
+	* optc-gen.awk: Add construction of cl_lang_count.
+	* c.opt: Add Warning attribute to warning options and Optimization
+	attribute to optimization options.
+	* common.opt: Likewise.
+	Add --help=.
+	Add -fhelp and -ftarget-help as aliases for the transformed --help
+	and --target-help options.
+	* opt-functions.awk: Add code to handle Warning and Optimization
+	attributes.
+
+2007-02-12  Richard Henderson  <rth@redhat.com>
+
+	* config/alpha/constraints.md: New file.
+	* config/alpha/alpha.c: Include tm-constrs.h.
+	(alpha_const_ok_for_letter_p, alpha_const_double_ok_for_letter_p,
+	alpha_extra_constraint): Remove.
+	(alpha_emit_conditional_branch): Use satisfies_constraint_*.
+	* config/alpha/alpha-protos.h: Update.
+	* config/alpha/alpha.h (REG_CLASS_FROM_LETTER): Remove.
+	(CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Remove.
+	(EXTRA_CONSTRAINT): Remove.
+	* config/alpha/alpha.md: Include constraints.md.
+	(adddi splitter): Use satisfies_constraint_*.
+	* config/alpha/predicates.md (add_operand): Likewise.
+	(sext_add_operand, addition_operation): Likewise.
+
+2007-02-12  Dorit Nuzman  <dorit@il.ibm.com>
+
+	PR tree-optimization/29145
+	* tree-data-ref.c (base_addr_differ_p): Make us more conservative
+	in our handling of restrict qualified pointers.
+
+2007-02-12  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR middle-end/7651
+	* doc/invoke.texi (Wunused-value): Update description.
+	(Wextra): Delete item.
+	* opts.c (set_Wextra): Don't use the value of Wextra to set the
+	value of Wunused-value.
+	* c-typeck.c (c_process_expr_stmt): Don't check extra_warnings.
+	(c_finish_stmt_expr): Don't check extra_warnings.
+	(emit_side_effect_warnings): The caller is responsible to check
+	warn_unused_value.
+
+2007-02-11  Roger Sayle  <roger@eyesopen.com>
+	    Matt Thomas  <matt@3am-software.com>
+
+	* simplify-rtx.c (simplify_relational_operation_1): Correct typo.
+
+2007-02-11  Roger Sayle  <roger@eyesopen.com>
+
+	* simplify-rtx.c (simplify_relational_operation_1): Optimize
+	comparisons of POPCOUNT against zero.
+	(simplify_const_relational_operation): Likewise.
+
+2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* doc/invoke.texi (Wextra): Delete outdated paragraph.
+
+2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* dwarf2out.c (root_type): Delete unused function.
+
+2007-02-11  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* genattrtab.c (contained_in_p): Delete unused function.
+	(write_expr_attr_cache): Likewise.
+
+2007-02-11  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (cgraph_edge_badness): Add "else" missing in the
+	previous patch.
+
+2007-02-11  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* fwprop.c (try_fwprop_subst): Use set_unique_reg_note
+	to add the REG_EQ* note.
+	* see.c (see_merge_one_use_extension): Likewise.
+	* local-alloc.c (update_equiv_regs): Likewise.  Also don't
+	turn REG_EQUAL notes into REG_EQUIV notes if the target
+	register may have more than one set.
+	* function.c (assign_parm_setup_reg): Use set_unique_reg_note.
+	* gcse.c (try_replace_reg): Likewise.
+	* alias.c (init_alias_analysis): Use find_reg_equal_equiv_note.
+	* calls.c (fixup_tail_calls): Likewise.  Abort if there is
+	more than one REG_EQUIV note.
+	* reload1.c (gen_reload): Use set_unique_reg_note.
+
+2007-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Define.
+	(ix86_builtin_conversion): New function.
+
+2007-02-06  Mark Mitchell  <mark@codesourcery.com>
+
+	PR target/29487
+	* tree.h (DECL_REPLACEABLE_P): New macro.
+	* except.c (set_nothrow_function_flags): Likewise.
+
+2007-02-11  Tehila Meyzels  <tehila@il.ibm.com>
+	    Ira Rosen  <irar@il.ibm.com>
+	    Dorit Nuzman  <dorit@il.ibm.com>
+
+	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): New target hook.
+	* targhooks.c (default_builtin_vectorized_conversion): New.
+	* targhooks.h (default_builtin_vectorized_function): New declaration.
+	* target.h (struct vectorize): Add builtin_conversion field.
+	* tree-vectorizer.h (type_conversion_vec_info_type): New enum
+	stmt_vec_info_type value.
+	(vectorizable_conversion): New declaration.
+	* tree-vect-analyze.c (vect_analyze_operations): Add
+	vectorizable_conversion call.
+	* target-def.h (TARGET_VECTORIZE_BUILTIN_CONVERSION): New.
+	* tree-vect-transform.c (vectorizable_conversion): New function.
+	(vect_transform_stmt): Add case for type_conversion_vec_info_type.
+	* tree-vect-generic.c (expand_vector_operations_1): Consider correct
+	mode.
+	* config/rs6000/rs6000.c (rs6000_builtin_conversion): New.
+	(TARGET_VECTORIZE_BUILTIN_CONVERSION): Defined.
+	(rs6000_expand_builtin): Add handling a case of ALTIVEC_BUILTIN_VCFUX
+	or ALTIVEC_BUILTIN_VCFSX.
+
+2007-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	PR target/30634
+	* pa.md (movdf): For 64-bit target, fail if operand 1 is a non-zero
+	CONST_DOUBLE and operand 0 is a hard register.
+	(movdi): For 64-bit target, remove code to force CONST_DOUBLE to
+	memory.  Fail if operand 1 is a non-zero CONST_INT and operand 0
+	is a hard floating-point register.
+
+2007-02-10  Richard Henderson  <rth@redhat.com>
+	    Jakub Jelinek  <jakub@redhat.com>
+	    Alexandre Oliva  <aoliva@redhat.com>
+
+	* Makefile.in (libgcc-support, libgcc.mvars): 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.
+	* 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.
+	* varpool.c (decide_is_variable_needed): Look at force_output.
+	Recurse for emulated tls.
+	(cgraph_varpool_remove_unreferenced_decls): Remove checks redundant
+	with decide_is_variable_needed.
+	* emutls.c: New file.
+	* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
+	tls_object for real tls.
+
+2007-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR rtl-optimization/29599
+	* reload1.c (eliminate_regs_in_insn): Take the destination
+	mode into account when computing the offset.
+
+2007-02-09  Stuart Hastings  <stuart@apple.com>
+	    Richard Henderson  <rth@redhat.com>
+
+	* config/i386/i386.h (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
+	* config/i386/darwin.h: (TARGET_KEEPS_VECTOR_ALIGNED_STACK): New.
+	* config/i386/i386.md (fixuns_trunc<mode>si2, fixuns_truncsfhi2,
+	fixuns_truncdfhi2): New.
+	(fix_truncsfdi_sse): Call ix86_expand_convert_sign_didf_sse.
+	(floatunsdidf2): Call ix86_expand_convert_uns_didf_sse.
+	(floatunssisf2): Add call to ix86_expand_convert_uns_sisf_sse.
+	(floatunssidf2): Allow nonimmediate source.
+	* config/i386/sse.md (movdi_to_sse): New.
+	(vec_concatv2di): Drop '*'.
+	* config/i386/i386-protos.h (ix86_expand_convert_uns_si_sse,
+	ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
+	ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse):
+	New.
+	* config/i386/i386.c (ix86_expand_convert_uns_si_sse,
+	ix86_expand_convert_uns_didf_sse, ix86_expand_convert_uns_sidf_sse,
+	ix86_expand_convert_uns_sisf_sse, ix86_expand_convert_sign_didf_sse,
+	ix86_build_const_vector, ix86_expand_vector_init_one_nonzero): New.
+	(ix86_build_signbit_mask): Fix decl of v, refactor to call
+	ix86_build_const_vector.
+	(x86_emit_floatuns): Rewrite.
+
+2007-02-10  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* genautomata.c (longest_path_length): Delete unused function.
+	(struct state): Delete unused longest_path_length.
+	(UNDEFINED_LONGEST_PATH_LENGTH): Delete unused macro.
+	(get_free_state): Delete unused.
+
+2007-02-09  Jan Hubicka  <jh@suse.cz>
+
+	* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 30.
+	* doc/invoke.texi (inline-unit-growth): Update default value.
+
+	* Makefile.in (passes.o, ipa-inline.o): Add dependencies.
+	* cgraphbuild.c (build_cgraph_edges): Compute frequencies.
+	(rebuild_cgraph_edges): Likewise.
+	* cgraph.c (cgraph_set_call_stmt): Add new argument frequency.
+	(dump_cgraph_node): Dump frequencies.
+	(cgraph_clone_edge): Add frequency scales.
+	(cgraph_clone_node): Add freuqnecy.
+	* cgraph.h (cgraph_edge): Add freuqnecy argument.
+	(CGRAPH_FREQ_BASE, CGRAPH_FREQ_MAX): New constants.
+	(cgraph_create_edge, cgraph_clone_edge, cgraph_clone_node): Update.
+	* tree-pass.h (TODO_rebuild_frequencies): New constant.
+	* cgraphunit.c (verify_cgraph_node): Verify frequencies.
+	(cgraph_copy_node_for_versioning): Update call of cgraph_clone_edge.
+	(save_inline_function_body): Likewise.
+	* ipa-inline.c: inluce rtl.h
+	(cgraph_clone_inlined_nods): Update call of cgraph_clone_node.
+	(cgraph_edge_badness): Use frequencies.
+	(cgraph_decide_recursive_inlining): Update clonning.
+	(cgraph_decide_inlining_of_small_function): Dump frequency.
+	* predict.c (estimate_bb_frequencies): Export.
+	* predict.h (estimate_bb_frequencies): Declare.
+	* tree-inline.c (copy_bb): Watch overflows.
+	(expand_call_inline): Update call of cgraph_create_edge.
+	(optimize_inline_calls): Use TODO flags to update frequnecies.
+	* passes.h: Include predict.h
+	(init_optimization_passes): Move profile ahead.
+	(execute_function_todo): Handle TODO_rebuild_frequencies.
+
+2007-02-09  Roger Sayle  <roger@eyesopen.com>
+
+	* config/alpha/alpha.c (emit_insxl): Force the first operand of
+	the insbl or inswl pattern into a register.
+
+2007-02-09  Roger Sayle  <roger@eyesopen.com>
+
+	* config/ia64/ia64.md (bswapdi2): New define_insn.
+
+2007-02-09  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/constraints.md (Ym): New constraint.
+	* config/i386/i386.md (movsi_1): Change Y2 to Yi constraints.
+	(movdi_1_rex64): Split sse and xmm general register moves from
+	memory move alternatives.  Use conditional register constraints.
+	(movsf_1, movdf_integer): Likewise.
+	(zero_extendsidi2_32, zero_extendsidi2_rex64): Likewise.
+	(movdf_integer_rex64): New.
+	(pushsf_rex64): Fix output constraints.
+	* config/i386/sse.md (sse2_loadld): Split rm alternative, use Yi.
+	(sse2_stored): Likewise.
+	(sse2_storeq_rex64): New.
+	* config/i386/i386.c (x86_inter_unit_moves): Enable for not
+	amd and not generic.
+	(ix86_secondary_memory_needed): Don't bypass TARGET_INTER_UNIT_MOVES
+	for optimize_size.  Remove SF/DFmode hack.
+
+2007-02-09  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+
+	* config/i386/driver-i386.c: Turn on -mtune=native for AMDFAM10.
+	(bit_SSE4a): New.
+
+2007-02-09  Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (m68010-*-netbsdelf*, m68k*-*-netbsdelf*)
+	(m68k*-*-openbsd*, m68k-*-linux*): Set default_cf_cpu.
+	(m68k-*-aout*, m68k-*-coff*, m68k-*-uclinux*, m68k-*-rtems*): Add
+	m68k/t-mlib to tmake_file.
+	(m68020-*-elf*, m68k-*-elf*): Likewise.  Add t-m68kbare as well.
+	(m68k*-*-*): Use --with-arch to pick a default for --with-cpu.
+	(m680[012]0-*-*, m68k*-*-*): Add support for --with-arch.
+	Allow it to be cf or m68k.  Set m68k_arch_family.  If that
+	variable is not empty, add t-$m68k_arch_family to tmake_file.
+	Add t-mlibs to tmake_file.
+	* doc/install.texi: Document --with-arch=m68k and --with-arch=cf.
+	* config/m68k/t-cf: New file.
+	* config/m68k/t-m68k: Likewise.
+	* config/m68k/t-mlibs: Likewise.
+	* config/m68k/t-m68kbare (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
+	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
+	(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
+	* config/m68k/t-m68kelf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
+	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS, LIBGCC, INSTALL_LIBGCC):
+	Delete.
+	* config/m68k/t-openbsd (MULTILIB_OPTIONS, LIBGCC): Delete.
+	(INSTALL_LIBGCC): Delete.
+	(M68K_MLIB_DIRNAMES, M68K_MLIB_OPTIONS): Define.
+	* config/m68k/t-rtems (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
+	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
+	(M68K_MLIB_CPU): Define.
+	* config/m68k/t-uclinux (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
+	(MULTILIB_MATCHES, MULTILIB_EXCEPTIONS): Delete.
+	(M68K_MLIB_CPU, M68K_MLIB_OPTIONS, M68K_MLIB_DIRNAMES): Define.
+
+2007-02-09  Zdenek Dvorak  <dvorakz@suse.cz>
+	    Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/23361
+	* fold-const.c (fold_comparison): Handle obfuscated comparisons
+	against INT_MIN/INT_MAX.
+	* tree-ssa-loop-ivcanon.c (remove_empty_loop): Print to dump
+	file if a loop is removed.
+
+2007-02-09  Joseph Myers  <joseph@codesourcery.com>
+
+	* calls.c (store_one_arg): Pass correct alignment to
+	emit_push_insn for non-BLKmode values.
+	* expr.c (emit_push_insn): If STRICT_ALIGNMENT, copy to an
+	unaligned stack slot via a suitably aligned slot.
+
+2007-02-08  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/m32c.c (m32c_unpend_compare): Add default to silence
+	warnings.
+	(legal_subregs): Use unsigned char, make const.
+	(m32c_illegal_subreg_p): Use ARRAY_SIZE.  Delete unused variables.
+
+2007-02-08  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/lib1funcs.asm (RETLDM): Pop directly into PC when no
+	special interworking needed.
+
+2007-02-08  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/xmmintrin.h: Make inclusion of emmintrin.h
+	conditional to __SSE2__.
+	(Entries below should have been added to first ChangeLog
+	entry for amdfam10 dated 2007-02-05)
+	* config/i386/emmintrin.h: Generate #error if __SSE2__ is not
+	defined.
+	* config/i386/pmmintrin.h: Generate #error if __SSE3__ is not
+	defined.
+	* config/i386/tmmintrin.h: Generate #error if __SSSE3__ is not
+	defined.
+
+2007-02-08  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/m32c-protos.h (m32c_illegal_subreg_p): New.
+	* config/m32c/m32c.c (legal_subregs): New.
+	(m32c_illegal_subreg_p): New.
+	* config/m32c/predicates.md (m32c_any_operand): Use it to reject
+	unsupported subregs of hard regs.
+
+2007-02-08  Jan Hubicka  <jh@suse.cz>
+
+	* tree-cfg.c (bsi_replace): Shortcut when replacing the statement with
+	the same one; always update histograms.
+
+2007-02-08  Diego Novillo  <dnovillo@redhat.com>
+
+	* passes.c (init_optimization_passes): Tidy comment.
+
+2007-02-08  Roger Sayle  <roger@eyesopen.com>
+
+	* simplify-rtx.c (simplify_unary_operation_1) <POPCOUNT>: We can
+	strip zero_extend, bswap and rotates from POCOUNT's argument.
+	<PARITY>: Likewise, we can strip not, bswap, sign_extend,
+	zero_extend and rotates from PARITY's argument.
+	<BSWAP>: A byte-swap followed by a byte-swap is an identity.
+	(simplify_const_unary_operation) <BSWAP>: Evaluate the byte-swap
+	of an integer constant at compile-time.
+
+2007-02-08  Diego Novillo  <dnovillo@redhat.com>
+
+	PR 30562
+	* tree-flow.h (struct var_ann_d): Remove field 'is_used'.
+	Update all users.
+	* tree-ssa-alias.c (compute_is_aliased): Remove.  Update all
+	users.
+	(init_alias_info):
+	* tree-ssa-live.c (remove_unused_locals): Do not remove
+	TREE_ADDRESSABLE variables.
+	* tree-ssa-structalias.c (compute_points_to_sets): Tidy.
+	* tree-ssa-operands.c (add_virtual_operand): Remove argument
+	FOR_CLOBBER.  Update all users.
+	If VAR has an associated alias set, add a virtual operand for
+	it if no alias is found to conflict with the memory reference.
+
+2007-02-07  Jan Hubicka  <jh@suse.cz>
+	    Robert Kidd <rkidd@crhc.uiuc.edu>
+
+	* value-prof.c (visit_hist, free_hist): Return 1 instead of 0.
+
+2007-02-07  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (simple_move): Reject PARTIAL_INT modes.
+
+2007-02-07  Roger Sayle  <roger@eyesopen.com>
+
+	* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
+	parity<mode>2, smulsi3_highpart, abstf2_internal, allocate_stack,
+	tablejumpdi, movsi_to_cr_one): Remove constraints from
+	define_expand's match_operands.
+
+2007-02-07  Roger Sayle  <roger@eyesopen.com>
+
+	* global.c (compute_regsets): Move declatation of "i" inside of
+	#ifdef ELIMINABLE_REGS to avoid unused variable bootstrap failure.
+
+2007-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c++/30703
+	* gimplify.c (gimplify_scan_omp_clauses): Remove special casing
+	of INDIRECT_REF <RESULT_DECL>.
+
+	* config/i386/i386.c (override_options): Set PTA_SSSE3 for core2.
+
+2007-02-06  J"orn Rennecke  <joern.rennecke@arc.com>
+	    Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	PR target/29746
+	* config/sh/sh.c (expand_cbranchdi4): Use scratch register
+	properly.
+	(sh_initialize_trampoline): Add parentheses to avoid a warning.
+
+2007-02-06  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* doc/loop.texi: Document possibility not to perform disambiguation
+	of loops with multiple latches.
+	* cfgloopmanip.c (alp_enum_p): Removed.
+	(add_loop): Handle subloops.  Use get_loop_body_with_size.
+	(create_preheader): Do not allow ENTRY_BLOCK_PTR to be preheader.
+	* cfghooks.c (redirect_edge_and_branch_force): Set dominator for
+	the new forwarder block.
+	(make_forwarder_block): Only call new_bb_cbk if it is not NULL.
+	Handle the case latch is NULL.
+	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Avoid cfg
+	modifications when marking loop exits.
+	* ifcvt.c (if_convert): Ditto.  Mark loop exits even if cfg cannot
+	be modified.
+	* loop-init.c (loop_optimizer_init): Do not modify cfg.  Call
+	disambiguate_loops_with_multiple_latches.
+	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Calculate dominators
+	before fix_loop_structure.
+	* cfgloop.c: Include pointer-set.h and output.h.
+	(canonicalize_loop_headers, HEADER_BLOCK, LATCH_EDGE,
+	update_latch_info, mfb_keep_just, mfb_keep_nonlatch): Removed.
+	(get_loop_latch_edges, find_subloop_latch_edge_by_profile,
+	find_subloop_latch_edge_by_ivs, find_subloop_latch_edge,
+	mfb_redirect_edges_in_set, form_subloop, merge_latch_edges,
+	disambiguate_multiple_latches, get_loop_body_with_size,
+	disambiguate_loops_with_multiple_latches): New functions.
+	(flow_loop_dump): Dump multiple latch edges.
+	(flow_loop_nodes_find): Handle loops with multiple latches.
+	(flow_loops_find): Ditto. Do not call canonicalize_loop_headers.
+	(glb_enum_p): Modified.
+	(get_loop_body): Use get_loop_body_with_size.
+	* cfgloop.h (LOOPS_HAVE_RECORDED_EXITS): New flag.
+	(AVOID_CFG_MODIFICATIONS): New constant.
+	(disambiguate_loops_with_multiple_latches, add_loop,
+	get_loop_body_with_size): Declare.
+	* Makefile.in (cfgloop.o): Add pointer-set.h and output.h.
+
+2007-02-06  Seongbae Park <seongbae.park@gmail.com>
+
+	PR inline-asm/28686
+	* global.c (compute_regsets): New function.
+	(global_alloc): Refactored ELIMINABLE_REGSET
+	and NO_GLOBAL_ALLOC_REGS computation out.
+	(rest_of_handle_global_alloc): Call compute_regsets()
+	for non-optimizing case.
+
+2007-02-06  Richard Henderson  <rth@redhat.com>
+
+	* config/i386/constraints.md (Y2): Rename from Y.
+	(Yi): New constraint.
+	* config/i386/i386.md (movsi_1, movdi_2, pushdf_nointeger,
+	pushdf_integer, movdf_nointeger, movdf_integer, zero_extendsidi2_32,
+	zero_extendsidi2_rex64, truncxfdf2_mixed): Change Y constraints to Y2.
+	(extendsfdf2_mixed, extendsfdf2_sse, truncdfsf_fast_mixed,
+	truncdfsf_fast_sse, truncdfsf_mixed, fix_truncdfdi_sse,
+	fix_truncdfsi_sse, floatsidf2_mixed, floatsidf2_sse,
+	floatdidf2_mixed, floatdidf2_sse, absnegdf2_mixed,
+	absnegdf2_sse, sse_setccdf, fop_df_comm_mixed, fop_df_comm_sse,
+	fop_df_1_mixed, fop_df_1_sse): Change Y constraints to x.
+	* config/i386/mmx.md (mov<MMXMODEI>_internal_rex64,
+	mov<MMXMODEI>_internal, movv2sf_internal_rex64, movv2sf_internal,
+	vec_extractv2si_1): Change Y constraints to Y2.
+	* config/i386/sse.md (vec_setv4sf_0, vec_concatv2df, vec_dupv4si,
+	vec_dupv2di, sse2_concatv2si, vec_concatv4si_1, vec_concatv2di):
+	Change Y constraints to Y2.
+	(sse2_loadld): Change Y constraints to x.
+
+2007-02-06  Roger Sayle  <roger@eyesopen.com>
+
+	* config/rs6000/rs6000.md (popcount<mode>2): Rewrite.
+	(parity<mode>2): New define_expand using rs6000_emit_parity.
+	* config/rs6000/rs6000.c (rs6000_emit_popcount,
+	rs6000_emit_parity): New functions.
+	* config/rs6000/rs6000-protos.h (rs6000_emit_popcount,
+	rs6000_emit_parity): Prototype here.
+
+2007-02-06  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (simple_move_operand): Reject CONST.
+	(resolve_clobber): Call validate_change rather than directly
+	assigning to XEXP (pat, 0).
+
+2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+	* Makefile.in (tree-ssa-loop-ivopts.o): Add pointer-set.h dependency.
+	(tree-ssa-reassoc.o): Add pointer-set.h dependency.
+	(tree-cfg.o): Remove hashtab.h dependency.
+
+	* tree-ssa-loop-ivopts.c: Include pointer-set.h.
+	(struct ivopts_data): Change niters to pointer_map_t.
+	(struct nfe_cache_elt, nfe_hash, nfe_eq): Delete.
+	(niter_for_exit): Create pointer_map on demand.  Change for
+	pointer_map API.
+	(tree_ssa_iv_optimize_init): Initialize data->niters to NULL.
+	(free_loop_data): Destroy data->niters if created and reset field.
+	(tree_ssa_iv_optimize_finalize): Don't delete data->niters here.
+	(tree_ssa_iv_optimize_loop): Check for presence of stale data.
+
+	* tree-ssa-reassoc.c: Include pointer-set.h.
+	(bb_rank): Change to long *.
+	(operand_rank): Change to pointer_map_t.
+	(find_operand_rank): Return long, -1 if not found.  Declare as inline.
+	(insert_operand_rank): Accept long.
+	(operand_entry_hash, operand_entry_eq): Remove.
+	(get_rank): Return long.  Adjust for changes above.
+	(init_reassoc): Change rank type to long.  Adjust creation of bb_rank
+	and operand_rank.
+	(fini_reassoc): Delete operand_rank with pointer_map_destroy.
+
+	* tree-ssa-structalias.c (vi_for_tree): Change to pointer_map.
+	(struct tree_vi, tree_vi_t, tree_vi_hash, tree_vi_eq): Delete.
+	(insert_vi_for_tree): Rewrite for pointer_map API.  Assert argument
+	is not NULL.
+	(lookup_vi_for_tree): Rewrite for pointer_map API.  Return varinfo_t
+	directly since it cannot be NULL.
+	(get_vi_for_tree): Rewrite for pointer_map API.
+	(find_what_p_points_to): Adjust for change to lookup_vi_for_tree.
+	(init_alias_vars): Create vi_for_tree as pointer_map.
+	(delete_points_to_sets): Delete vi_for_tree using pointer_map_destroy.
+
+	* tree-cfg.c: Don't include hashtab.h.
+	(edge_to_cases): Declare as pointer_map.
+	(struct edge_to_cases_elt, edge_to_cases_hash, edge_to_cases_eq):
+	Delete.
+	(edge_to_cases_cleanup): Rewrite as pointer_map_traverse callback.
+	(start_recording_case_labels): Create edge_to_cases as pointer_map.
+	(end_recoding_case_labels): Cleanup edge_to_cases manually before
+	destroying it.
+	(record_switch_edge): Delete.
+	(get_cases_for_edge): Adjust for pointer_map API, inline
+	record_switch_edge (rewritten for new API), remove goto.
+
+2006-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+	* Makefile.in (tree-nested.o): Add pointer-set.h dependency.
+	* tree-nested.c: Include pointer-set.h.
+	(var_map_elt, var_map_eq, var_map_hash): Delete.
+	(struct nesting_info): Remove GTY marker.  Change the two htab_t's
+	to pointer_map_t's.
+	(nesting_info_bitmap_obstack): New.
+	(lookup_field_for_decl): Adjust for pointer_map API.
+	(lookup_tramp_for_decl): Adjust for pointer_map API.
+	(get_nonlocal_debug_decl): Adjust for pointer_map API.
+	(get_local_debug_decl): Adjust for pointer_map API.
+	(convert_nl_goto_reference): Adjust for pointer_map API.
+	(convert_nl_goto_receiver): Adjust for pointer_map API.
+	(create_nesting_tree): Create outside GGC space.  Create bitmap on
+	the new obstack.  Create field_map and var_map as pointer_maps.
+	(free_nesting_tree): Adjust for changes to create_nesting_tree.
+	(root): Delete.
+	(lower_nested_functions): Move root here, no need to NULL it.
+	Initialize and release the obstack.
+
+2007-02-06  Paolo Bonzini  <bonzini@gnu.org>
+
+	* tree.c (tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p):
+	Remove prototypes and make them non-static.
+	(struct tree_int_map): Remove.
+	* tree.h (struct tree_int_map): Move here, turning TO into an
+	unsigned int.
+	(tree_int_map_hash, tree_int_map_eq, tree_int_map_marked_p): Declare.
+
+	* tree.h (TREE_COMPLEXITY): Remove.
+	(struct tree_exp): Remove complexity field.
+	* tree.c (build1_stat): Don't set it.
+
+2007-02-06  Dorit Nuzman  <dorit@il.ibm.com>
+	    Victor Kaplansky  <victork@il.ibm.com>
+
+	* tree-vectorizer.c (vect_is_simple_use): Support induction.
+	(vect_is_simple_reduction): Support reduction with induction as
+	one of the operands.
+	(vect_is_simple_iv_evolution): Fix formatting.
+	* tree-vect-analyze.c (vect_mark_stmts_to_be_vectorized): Fix
+	formatting.  Don't mark induction phis for vectorization.
+	(vect_analyze_scalar_cycles): Analyze all inductions, then reductions.
+	* tree-vect-transform.c (get_initial_def_for_induction): New function.
+	(vect_get_vec_def_for_operand): Support induction.
+	(vect_get_vec_def_for_stmt_copy): Fix formatting and add check for
+	induction case.
+	(vectorizable_reduction): Support reduction with induction as one of
+	the operands.
+	(vectorizable_type_demotion): Use def-type of stmt argument rather
+	than dummy def-type.
+
+	* tree-ssa-loop.c (gate_scev_const_prop): Return the value of
+	flag_tree_scev_cprop.
+	* common.opt (tree-scev-cprop): New flag.
+
+	* tree-vect-transform.c (vect_create_destination_var): Use 'kind' in
+	call to vect_get_new_vect_var.
+
+2007-02-06  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vect-patterns.c (vect_recog_widen_mult_pattern): Check that
+	vectype is not NULL.
+	(vect_pattern_recog_1): Likewise.
+
+2007-02-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* fold-const.c (negate_expr_p): Handle CONJ_EXPR.
+	(fold_negate_expr): Likewise.
+
+2007-02-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR debug/30189
+	* dwarf2out.c (modified_type_die): Follow DECL_ORIGINAL_TYPE
+	even if cv-qualification is the same.
+
+2007-02-05  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/rs6000/darwin-tramp.asm (__trampoline_setup): Call
+	__enable_execute_stack on completion.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (athlon_fldxf_k8, athlon_fld_k8,
+	athlon_fstxf_k8, athlon_fst_k8, athlon_fist, athlon_fmov,
+	athlon_fadd_load, athlon_fadd_load_k8, athlon_fadd, athlon_fmul,
+	athlon_fmul_load, athlon_fmul_load_k8, athlon_fsgn,
+	athlon_fdiv_load, athlon_fdiv_load_k8, athlon_fdiv_k8,
+	athlon_fpspc_load, athlon_fpspc, athlon_fcmov_load,
+	athlon_fcmov_load_k8, athlon_fcmov_k8, athlon_fcomi_load_k8,
+	athlon_fcomi, athlon_fcom_load_k8, athlon_fcom): Added amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/i386.md (x86_sahf_1, cmpfp_i_mixed, cmpfp_i_sse,
+	cmpfp_i_i387, cmpfp_iu_mixed, cmpfp_iu_sse, cmpfp_iu_387,
+	swapsi, swaphi_1, swapqi_1, swapdi_rex64, fix_truncsfdi_sse,
+	fix_truncdfdi_sse, fix_truncsfsi_sse, fix_truncdfsi_sse,
+	x86_fldcw_1, floatsisf2_mixed, floatsisf2_sse, floatdisf2_mixed,
+	floatdisf2_sse, floatsidf2_mixed, floatsidf2_sse,
+	floatdidf2_mixed, floatdidf2_sse, muldi3_1_rex64, mulsi3_1,
+	mulsi3_1_zext, mulhi3_1, mulqi3_1, umulqihi3_1, mulqihi3_insn,
+	umulditi3_insn, umulsidi3_insn, mulditi3_insn, mulsidi3_insn,
+	umuldi3_highpart_rex64, umulsi3_highpart_insn,
+	umulsi3_highpart_zext, smuldi3_highpart_rex64,
+	smulsi3_highpart_insn, smulsi3_highpart_zext, x86_64_shld,
+	x86_shld_1, x86_64_shrd, sqrtsf2_mixed, sqrtsf2_sse,
+	sqrtsf2_i387, sqrtdf2_mixed, sqrtdf2_sse, sqrtdf2_i387,
+	sqrtextendsfdf2_i387, sqrtxf2, sqrtextendsfxf2_i387,
+	sqrtextenddfxf2_i387): Added amdfam10_decode.
+
+	* config/i386/athlon.md (athlon_idirect_amdfam10,
+	athlon_ivector_amdfam10, athlon_idirect_load_amdfam10,
+	athlon_ivector_load_amdfam10, athlon_idirect_both_amdfam10,
+	athlon_ivector_both_amdfam10, athlon_idirect_store_amdfam10,
+	athlon_ivector_store_amdfam10): New define_insn_reservation.
+	(athlon_idirect_loadmov, athlon_idirect_movstore): Added
+	amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (athlon_call_amdfam10,
+	athlon_pop_amdfam10, athlon_lea_amdfam10): New
+	define_insn_reservation.
+	(athlon_branch, athlon_push, athlon_leave_k8, athlon_imul_k8,
+	athlon_imul_k8_DI, athlon_imul_mem_k8, athlon_imul_mem_k8_DI,
+	athlon_idiv, athlon_idiv_mem, athlon_str): Added amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (athlon_sseld_amdfam10,
+	athlon_mmxld_amdfam10, athlon_ssest_amdfam10,
+	athlon_mmxssest_short_amdfam10): New define_insn_reservation.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (athlon_sseins_amdfam10): New
+	define_insn_reservation.
+	* config/i386/i386.md (sseins): Added sseins to define_attr type
+	and define_attr unit.
+	* config/i386/sse.md: Set type attribute to sseins for insertq
+	and insertqi.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (sselog_load_amdfam10, sselog_amdfam10,
+	ssecmpvector_load_amdfam10, ssecmpvector_amdfam10,
+	ssecomi_load_amdfam10, ssecomi_amdfam10,
+	sseaddvector_load_amdfam10, sseaddvector_amdfam10): New
+	define_insn_reservation.
+	(ssecmp_load_k8, ssecmp, sseadd_load_k8, seadd): Added amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (cvtss2sd_load_amdfam10,
+	cvtss2sd_amdfam10, cvtps2pd_load_amdfam10, cvtps2pd_amdfam10,
+	cvtsi2sd_load_amdfam10, cvtsi2ss_load_amdfam10,
+	cvtsi2sd_amdfam10, cvtsi2ss_amdfam10, cvtsd2ss_load_amdfam10,
+	cvtsd2ss_amdfam10, cvtpd2ps_load_amdfam10, cvtpd2ps_amdfam10,
+	cvtsX2si_load_amdfam10, cvtsX2si_amdfam10): New
+	define_insn_reservation.
+
+	* config/i386/sse.md (cvtsi2ss, cvtsi2ssq, cvtss2si,
+	cvtss2siq, cvttss2si, cvttss2siq, cvtsi2sd, cvtsi2sdq,
+	cvtsd2si, cvtsd2siq, cvttsd2si, cvttsd2siq,
+	cvtpd2dq, cvttpd2dq, cvtsd2ss, cvtss2sd,
+	cvtpd2ps, cvtps2pd): Added amdfam10_decode attribute.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/athlon.md (athlon_ssedivvector_amdfam10,
+	athlon_ssedivvector_load_amdfam10, athlon_ssemulvector_amdfam10,
+	athlon_ssemulvector_load_amdfam10): New define_insn_reservation.
+	(athlon_ssediv, athlon_ssediv_load_k8, athlon_ssemul,
+	athlon_ssemul_load_k8): Added amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/i386.h (TARGET_SSE_UNALIGNED_MOVE_OPTIMAL): New macro.
+	(x86_sse_unaligned_move_optimal): New variable.
+
+	* config/i386/i386.c (x86_sse_unaligned_move_optimal): Enable for
+	m_AMDFAM10.
+	(ix86_expand_vector_move_misalign): Add code to generate movupd/movups
+	for unaligned vector SSE double/single precision loads for AMDFAM10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/i386.h (TARGET_AMDFAM10): New macro.
+	(TARGET_CPU_CPP_BUILTINS): Add code for amdfam10.
+	Define TARGET_CPU_DEFAULT_amdfam10.
+	(TARGET_CPU_DEFAULT_NAMES): Add amdfam10.
+	(processor_type): Add PROCESSOR_AMDFAM10.
+
+	* config/i386/i386.md: Add amdfam10 as a new cpu attribute to match
+	processor_type in config/i386/i386.h.
+	Enable imul peepholes for TARGET_AMDFAM10.
+
+	* config.gcc: Add support for --with-cpu option for amdfam10.
+
+	* config/i386/i386.c (amdfam10_cost): New variable.
+	(m_AMDFAM10): New macro.
+	(m_ATHLON_K8_AMDFAM10): New macro.
+	(x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
+	x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_simode_fiop,
+	x86_promote_QImode, x86_integer_DFmode_moves,
+	x86_partial_reg_dependency, x86_memory_mismatch_stall,
+	x86_accumulate_outgoing_args, x86_arch_always_fancy_math_387,
+	x86_sse_partial_reg_dependency, x86_sse_typeless_stores,
+	x86_use_ffreep, x86_use_incdec, x86_four_jump_limit,
+	x86_schedule, x86_use_bt, x86_cmpxchg16b, x86_pad_returns):
+	Enable/disable for amdfam10.
+	(override_options): Add amdfam10_cost to processor_target_table.
+	Set up PROCESSOR_AMDFAM10 for amdfam10 entry in
+	processor_alias_table.
+	(ix86_issue_rate): Add PROCESSOR_AMDFAM10.
+	(ix86_adjust_cost): Add code for amdfam10.
+
+2007-02-05  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+	* config/i386/i386.opt: Add new Advanced Bit Manipulation (-mabm)
+	instruction set feature flag. Add new (-mpopcnt) flag for popcnt
+	instruction. Add new SSE4A (-msse4a) instruction set feature flag.
+	* config/i386/i386.h: Add builtin definition for SSE4A.
+	* config/i386/i386.md: Add support for ABM instructions
+	(popcnt and lzcnt).
+	* config/i386/sse.md: Add support for SSE4A instructions
+	(movntss, movntsd, extrq, insertq).
+	* config/i386/i386.c: Add support for ABM and SSE4A builtins.
+	Add -march=amdfam10 flag.
+	* config/i386/ammintrin.h: Add support for SSE4A intrinsics.
+	* doc/invoke.texi: Add documentation on flags for sse4a, abm, popcnt
+	and amdfam10.
+	* doc/extend.texi: Add documentation for SSE4A builtins.
+
+2007-02-05  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (constantpool_mem_p): Skip over SUBREGs.
+
+2007-02-05  Richard Guenther  <rguenther@suse.de>
+
+	* tree-vectorizer.h (vectorizable_function): Add argument type
+	argument, change return type.
+	* tree-vect-patterns.c (vect_recog_pow_pattern): Adjust caller.
+	* tree-vect-transform.c (vectorizable_function): Handle extra
+	argument, return vectorized function decl.
+	(build_vectorized_function_call): Remove.
+	(vectorizable_call): Handle calls with result and argument types
+	differing.  Handle loop vectorization factor correctly.
+	* targhooks.c (default_builtin_vectorized_function): Adjust for
+	extra argument.
+	* targhooks.h (default_builtin_vectorized_function): Likewise.
+	* target.h (builtin_vectorized_function): Add argument type
+	argument.
+	* config/i386/i386.c (ix86_builtin_vectorized_function): Handle
+	extra argument, allow vectorizing of lrintf.
+	* doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Adjust
+	documentation of target hook.
+
+2007-02-05  Hans-Peter Nilsson  <hp@axis.com>
+
+	PR target/30665
+	* config/cris/cris.md ("*andsi_movu", "*andsi_clear", "*andhi_movu")
+	("*andhi_clear", andu (casesi+45)): For size-changed operand where
+	memory is allowed, require !side_effects_p, not just !MEM_VOLATILE_P.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (fold_unary) <REAL_PART>: Test for availability of
+	BUILT_IN_COS before simplifying REAL_PART(CEXPI)) to COS.
+	<IMAG_PART>: Likewise, check for availability of BUILT_IN_SIN.
+	* builtins.c (fold_builtin_sincos): Check for TARGET_C99_FUNCTIONS
+	before canonicalizing sincos to cexpi.
+	(fold_builtin_cexp): Likewise, for canonicalizing cexp to cexpi.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+	* config/alpha/alpha.c (alpha_add_builtins): New Helper function.
+	Set TREE_READONLY and TREE_NOTHROW directly, not via attributes.
+	(alpha_init_builtins): Use alpha_add_builtins to process tables.
+
+2007-02-05  Roger Sayle  <roger@eyesopen.com>
+
+	* mips-tfile.c (initialize_init_file): Correct endianness test.
+
+2007-02-05  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.md (pushdi-1, pushdi, movsi+1): Don't use
+	the 'y' constraint.
+
+2007-02-05  Richard Sandiford  <richard@codesourcery.com>
+
+	* dwarf2out.c (dwarf2out_frame_debug_expr): Record the register
+	saves in a PARALLEL before the register assignments.
+
+2007-02-05  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/tm.texi (DWARF_ALT_FRAME_RETURN_COLUMN): Do not require
+	DWARF_FRAME_RETURN_COLUMN to be a general register.
+	* dwarf2out.c (init_return_column_size): New function, split from...
+	(expand_builtin_init_dwarf_reg_sizes): ...here.  Allow both
+	DWARF_FRAME_RETURN_COLUMN and DWARF_ALT_FRAME_RETURN_COLUMN
+	to be nongeneral registers.
+	* config/m68k/m68k.h (DWARF_FRAME_REGNUM): Only map FP and
+	integer registers.
+	(DWARF_FRAME_REGISTERS, DWARF_FRAME_RETURN_COLUMN): Define.
+	(DWARF_ALT_FRAME_RETURN_COLUMN): Define.
+
+2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* cfgcleanup.c (try_optimize_cfg): Avoid removing ENTRY_BLOCK_PTR.
+
+2007-02-04  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* cfgloopmanip.c (loop_delete_branch_edge): Removed.
+	(remove_path): Use can_remove_branch_p and remove_branch instead
+	of loop_delete_branch_edge.
+	* tree-ssa-loop-manip.c (scale_dominated_blocks_in_loop): New function.
+	(tree_transform_and_unroll_loop): Remove dead branches immediately.
+	Update profile using scale_dominated_blocks_in_loop.
+	* cfghooks.c (can_remove_branch_p, remove_branch): New functions.
+	* cfghooks.h (struct cfg_hooks): Add can_remove_branch_p.
+	(can_remove_branch_p, remove_branch): Declare.
+	* tree-cfg.c (tree_can_remove_branch_p): New function.
+	(tree_cfg_hooks): Add tree_can_remove_branch_p.
+	* cfgrtl.c (rtl_can_remove_branch_p): New function.
+	(rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add rtl_can_remove_branch_p.
+
+2007-02-05  Jan Hubicka  <jh@suse.cz>
+
+	PR middle-end/30696
+	* ipa-inline.c (cgraph_clone_inlined_nodes): When there are unanalyzed
+	nodes in cgraph, don't remove offline copy of the function.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-sra.c (sra_walk_expr): Add linebreaks. BITFIELD_REFs into
+	vectors might cause maybe_lookup_element_for_expr to be called
+	on non-sra-candidate.
+
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/bfin/bfin-modes.def, config/bfin/bfin.c,
+	config/bfin/bfin.md, config/bfin/predicates.md: Follow
+	spelling conventions.
+
+2007-02-04  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30636
+	* fold-const.c (try_move_mult_to_index): Make sure to not
+	overflow one dimension of a multi-dimensional array access.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+	* passes.c (init_optimization_passes): Reindent.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	* tree-optimize.c (has_abnormal_outgoing_edge_p): Move to...
+	(execute_fixup_cfg): Break out the abnormal goto code.
+	* tree-inline.c (has_abnormal_outgoing_edge_p): ...here.
+	(make_nonlocal_label_edges): Move here from execute_fixup_cfg.
+	(optimize_inline_calls): Call make_nonlocal_label_edges.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Return
+	true when something was changed.
+	(rename_ssa_copies): When something was changed, do
+	TODO_remove_unused_locals.
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
+	add TODO_remove_unused_locals when instruction was removed.
+
+2007-02-04  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (try_inline): Improve debug output; work on already
+	inline edges too.
+	(cgraph_decide_inlining_incrementally): Indent; improve debug output;
+	call try_inline for already inlined edges too when flattening;
+	inline also functions that make callee growth but overall unit size
+	reduce.
+
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m32c/bitops.md, config/m32c/jump.md,
+	config/m32c/m32c.c, config/m32c/m32c.h, config/m32r/m32r.c,
+	config/m32r/m32r.h, config/m32r/m32r.md,
+	config/m32r/predicates.md, config/m68hc11/larith.asm,
+	config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
+	config/m68k/m68k.h, config/mcore/mcore.md, config/mips/4k.md,
+	config/mips/mips-protos.h, config/mips/mips.c,
+	config/mips/mips.h, config/mips/mips.md, config/mips/mips16.S,
+	config/mn10300/mn10300.h, config/mn10300/predicates.md,
+	config/mt/mt.c, config/mt/mt.h, config/mt/mt.md: Follow
+	spelling conventions.
+
+	* config/v850/v850.c, config/v850/v850.h, config/v850/v850.md:
+	Follow spelling conventions.
+
+2007-02-03  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* c-opts.c (c_common_post_options): If C++0x mode is enabled, don't
+	warn about C++0x compatibility.
+
+2007-02-04  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/h8300/h8300.c, config/h8300/h8300.h,
+	config/h8300/h8300.md: Follow spelling conventions.
+
+2007-02-03  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR middle-end/30667
+	* combine.c (try_combine): Do not substitute source operand
+	with constants wider than 2 * HOST_BITS_PER_WIDE_INT.
+
+2007-02-03  Jan Hubicka  <jh@suse.cz>
+
+	PR gcov-profile/30650
+	* value-prof.c (stringop_block_profile): Fix handling of size counter;
+	do not divide by zero for never executed counters.
+	(tree_find_values_to_profile): Fix counters.
+	* gcov-ui.h (GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): Fix comments.
+
+2007-02-03  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (simple_move_operand): New static function,
+	broken out of simple_move.  Reject LABEL_REF, SYMBOL_REF, and HIGH
+	operands.
+	(simple_move): Call simple_move_operand.
+	(find_decomposable_subregs): Add special handling of MEMs.
+	(can_decompose_p): Rename from cannot_decompose_p.  Reverse
+	meaning of return value.  If we see a hard register, test whether
+	it can store a word_mode value.  Change all callers.
+
+2007-02-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.md (addvdi3, addvsi3, subvdi3, subvsi3, negvdi2, negvsi2): New
+	ftrapv insns and expanders.
+	(subdi3): Change define_expand operand 1 to arith11_operand, and
+	operand 2 to reg_or_0_operand.  Change constraints of 64-bit insn
+	pattern to handle reg_or_0 operands.  Revise 32-bit insn pattern to
+	handle 11-bit constants and reg_or_0 operands in operands 1 and 2,
+	respectively.
+
+	PR middle-end/30174
+	* varasm.c (notice_global_symbol): Treat global objects as weak when
+	flag_shlib is true.
+
+2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* emit-rtl.c (dconstpi): Delete.
+	(dconstsqrt2): New.
+	(init_emit_once): Delete dconstpi and init dconstsqrt2.
+	* real.h (dconstpi): Delete.
+	(dconstsqrt2): New.
+	* builtins.c (fold_builtin_cabs): Use dconstsqrt2.
+	(fold_builtin_hypot): Likewise.
+
+2007-02-03  Tom Tromey  <tromey@redhat.com>
+
+	PR driver/30246
+	* gcc.c (cpp_unique_options): Any of -ggdb3, -gstabs3,
+	-gcoff3, -gxcoff3, -gvms3 implies -dD.
+
+2007-02-03  Kazu Hirata  <kazu@codesourcery.com>
+
+	* c-decl.c, config/avr/avr.c, config/avr/avr.h,
+	config/m68k/m68k.c, config/m68k/netbsd-elf.h,
+	config/mn10300/mn10300.c, config/pdp11/pdp11.h,
+	config/rs6000/cell.md, config/rs6000/darwin.h,
+	config/sh/sh.md, config/sh/sh4-300.md, config/spu/spu.c,
+	config/spu/spu.md, cselib.c, expr.c, haifa-sched.c, hwint.h,
+	jump.c, reload.c, sched-deps.c, sched-int.h, tree-inline.c,
+	tree-profile.c, tree-ssa-live.h, tree-vrp.c: Fix comment
+	typos.  Follow spelling conventions.
+	* doc/invoke.texi: Follow spelling conventions.
+
+2007-02-03  Roger Sayle  <roger@eyesopen.com>
+
+	* simplify-rtx.c (simplify_relational_operation_1): Implement some
+	canonicalization transformations that attempt to simplify integer
+	constant comparisons to become comparisons against zero.
+
+2007-02-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_cabs): Fold cabs(x+xi) into
+	fabs(x)*sqrt(2).
+	* fold-const.c (fold_binary): Fix comment typos.  Fold complex
+	(x,0)-(0,y) into (x,-y).  Likewise (0,y)-(x,0) into (-x,y).
+
+2007-02-02  Mike Stump  <mrs@apple.com>
+
+	* config/darwin9.h (DARWIN_LINKER_GENERATES_ISLANDS): Add.
+	* config/rs6000/rs6000.c (DARWIN_GENERATE_ISLANDS): Add.
+	(output_call): Use DARWIN_GENERATE_ISLANDS to decide when to
+	generate a branch island.
+
+2007-02-02  Bob Wilson  <bob.wilson@acm.org>
+
+	* config/xtensa/xtensa.c (smalloffset_mem_p): Use BASE_REG_P.
+	(xtensa_legitimate_address_p): New.
+	(xtensa_legitimize_address): New.
+	(xtensa_output_addr_const_extra): New.
+	* config/xtensa/xtensa.h (REG_OK_STRICT_FLAG): Define.
+	(BASE_REG_P): New.
+	(REG_OK_FOR_BASE_P): Use BASE_REG_P.
+	(GO_IF_LEGITIMATE_ADDRESS): Move code to xtensa_legitimate_address_p.
+	(LEGITIMIZE_ADDRESS): Move code to xtensa_legitimize_address.
+	(OUTPUT_ADDR_CONST_EXTRA): Move code to xtensa_output_addr_const_extra.
+	* config/xtensa/xtensa-protos.h (xtensa_legitimate_address_p): New.
+	(xtensa_legitimize_address): New.
+	(xtensa_output_addr_const_extra): New.
+
+2007-02-02  Steve Ellcey  <sje@cup.hp.com>
+
+	* config/ia64/ia64.c (ia64_print_operand): Fix compare strings.
+
+2007-02-02  Ian Lance Taylor  <iant@google.com>
+
+	* expmed.c (expand_divmod): Add comment.
+
+2007-02-02  Kazu Hirata  <kazu@codesourcery.com>
+
+	* emit-rtl.c (renumber_insns): Remove.
+	* flags.h: Remove the extern for flag_renumber_insns.
+	* rtl.h: Remove the prototype for renumber_insns.
+	* toplev.c (flag_renumber_insns): Remove.
+
+2007-02-02  Hui-May Chang  <hm.chang@apple.com>
+
+	Revert for x86 darwin:
+	2005-06-19  Uros Bizjak  <uros@kss-loka.si>
+
+	* config/i386/i386.c (ix86_function_arg_regno_p): Put back the
+	code before the following patch under TARGET_MACHO.
+	(ix86_function_value_regno_p): Likewise.
+
+2007-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* fold-const.c (negate_expr_p, fold_negate_expr): Handle
+	COMPLEX_EXPR.
+
+2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	PR target/29682
+	* config/ia64/ia64.c (ia64_speculate_insn): Restrict to memory
+	loads to general or fp registers.  Add comments.
+	* config/ia64/ia64.md (reg_pred_prefix): Add comment.
+
+2007-02-02  Paolo Bonzini  <bonzini@gnu.org>
+
+	* pointer-set.c (insert_aux): Only return insertion slot.
+	(pointer_set_insert): Adjust.
+	(pointer_set_traverse, struct pointer_map_t, pointer_map_create,
+	pointer_map_destroy, pointer_map_insert, pointer_map_contains,
+	pointer_map_traverse): New.
+	* pointer-set.h (pointer_set_traverse, struct pointer_map_t,
+	pointer_map_create,  pointer_map_destroy, pointer_map_insert,
+	pointer_map_contains, pointer_map_traverse): Declare.
+
+2007-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+	PR middle-end/30473
+	* builtins.c (fold_builtin_sprintf): Do not attempt to optimize
+	sprintf (str, "%s").  Do not optimize sprintf (str, "nopercent", p++).
+
+2007-02-02  Maxim Kuvyrkov  <mkuvyrkov@ispras.ru>
+
+	* sched-int.h (ds_to_dk, dk_to_ds): Declare functions.
+
+	(struct _dep): New type.
+	(dep_t): New typedef.
+	(DEP_PRO, DEP_CON, DEP_KIND): New access macros.
+	(DEP_STATUS): New access macro.  The macro with the same name was
+	renamed to DEP_LINK_STATUS.
+	(dep_init): Declare function
+
+	(struct _dep_link): New type.
+	(dep_link_t): New typedef.
+	(DEP_LINK_NODE, DEP_LINK_NEXT, DEP_LINK_PREV_NEXTP): New access macros.
+	(DEP_LINK_DEP, DEP_LINK_PRO, DEP_LINK_CON, DEP_LINK_KIND): New macros.
+	(DEP_LINK_STATUS): New macro.
+	(debug_dep_links): New debug function.
+
+	(struct _deps_list): New type.
+	(deps_list_t): New typedef.
+	(DEPS_LIST_FIRST): New access macro.
+	(FOR_EACH_DEP_LINK): New cycle macro.
+	(create_deps_list, free_deps_list, delete_deps_list): Declare
+	functions.
+	(deps_list_empty_p, debug_deps_list, add_back_dep_to_deps_list): Ditto.
+	(find_link_by_pro_in_deps_list, find_link_by_con_in_deps_list): Ditto.
+	(copy_deps_list_change_con): Ditto.
+
+	(move_dep_link): Declare function.
+
+	(struct _dep_node): New type.
+	(dep_node_t): New typedef.
+	(DEP_NODE_BACK, DEP_NODE_DEP, DEP_NODE_FORW): New access macros.
+
+	(struct haifa_insn_data.back_deps): New field to hold backward
+	dependencies of the insn.
+	(struct haifa_insn_data.depend): Rename to forw_deps.  Change its type
+	to deps_list_t.
+	(struct haifa_insn_data.resolved_deps): Rename to resolved_back_deps.
+	Change its type	to deps_list_t.
+	(INSN_BACK_DEPS): New access macro to use instead of LOG_LINKS.
+	(INSN_DEPEND): Rename to INSN_FORW_DEPS.
+	(RESOLVED_DEPS): Rename to INSN_RESOLVED_BACK_DEPS.
+
+	(INSN_COST): Move to haifa-sched.c.  Use insn_cost () instead.
+
+	(DEP_STATUS): Rename to DEP_LINK_STATUS.  Fix typo in the comment.
+
+	(add_forw_dep, delete_back_forw_dep, insn_cost): Update declaration
+	and all callers.
+	(dep_cost): Declare.
+
+	* sched-deps.c (CHECK): New macro to (en/dis)able sanity checks.
+	(ds_to_dk, dk_to_ds): New functions.
+
+	(init_dep_1): New static function.
+	(init_dep): New function.
+	(copy_dep): New static function.
+
+	(dep_link_consistent_p, attach_dep_link, add_to_deps_list): New static
+	functions.
+	(detach_dep_link): New static function.
+	(move_dep_link): New function.
+
+	(dep_links_consistent_p, dump_dep_links): New static functions.
+	(debug_dep_links): New debugging function.
+
+	(deps_obstack, dl_obstack, dn_obstack): New static variables.
+
+	(alloc_deps_list, init_deps_list): New static functions.
+	(create_deps_list): New function.
+	(clear_deps_list): New static function.
+	(free_deps_list, delete_deps_list, deps_list_empty_p): New functions.
+	(deps_list_consistent_p, dump_deps_list): New static functions.
+	(debug_deps_list): New function.
+	(add_back_dep_to_deps_list, find_link_by_pro_in_deps_list): New
+	functions.
+	(find_link_by_con_in_deps_list, copy_deps_list_change_con): Ditto.
+
+	(maybe_add_or_update_back_dep_1, add_or_update_back_dep_1): Update to
+	use new scheduler dependencies lists.
+	(add_back_dep, delete_all_dependences, fixup_sched_groups): Ditto.
+	(sched_analyze): Ditto.  Initialize dependencies lists.
+	(add_forw_dep, compute_forward_dependences): Update to use new
+	scheduler dependencies lists.
+
+	(init_dependency_caches): Init deps_obstack.
+	(free_dependency_caches): Free deps_obstack.
+
+	(adjust_add_sorted_back_dep, adjust_back_add_forw_dep): Update to use
+	new scheduler dependencies lists.
+	(delete_forw_dep, add_or_update_back_forw_dep): Ditto.
+	(add_back_forw_dep, delete_back_forw_dep): Ditto.
+
+	* sched-rgn.c (set_spec_fed, find_conditional_protection, is_pfree):
+	Update to use new scheduler dependencies lists.
+	(is_conditionally_protected, is_prisky, add_branch_dependences): Ditto.
+	(debug_dependencies): Ditto.
+	(schedule_region): Update comments.
+
+	* sched-ebb.c (earliest_block_with_similiar_load): Update to use new
+	scheduler dependencies lists.
+	(schedule_ebb): Update comments.
+
+	* rtl.def (DEPS_LIST): Remove.
+
+	* lists.c (unused_deps_list): Remove.
+	(free_list): Update assertions.
+
+	(alloc_DEPS_LIST, free_DEPS_LIST_list, free_DEPS_LIST_node): Remove.
+	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
+
+	* rtl.h (free_DEPS_LIST_list, alloc_DEPS_LIST): Remove declarations.
+	(remove_free_DEPS_LIST_elem, copy_DEPS_LIST_list): Ditto.
+
+	* haifa-sched.c (comments): Update.
+	(insn_cost1): Remove.  Inline the code into insn_cost ().
+	(insn_cost): Update to use new scheduler dependencies lists.  Move
+	processing of the dependency cost to dep_cost ().
+	(dep_cost): New function.  Use it instead of insn_cost () when
+	evaluating cost of the dependency.  Use compatible interface to
+	interact with the target.
+	(priority): Update to use new scheduler dependencies lists.
+	(rank_for_schedule): Ditto.  Optimize heuristic that prefers the insn
+	with greater number of insns that depend on the insn.
+	(schedule_insn): Update to use new scheduler dependencies lists.  Add
+	code to free backward dependencies lists.  Inline and optimize code
+	from resolve_dep () - see PR28071.
+	(ok_for_early_queue_removal): Update to use new scheduler dependencies
+	lists.  Update call to targetm.sched.is_costly_dependence hook.
+
+	(fix_inter_tick, try_ready, fix_tick_ready): Update to use new
+	scheduler dependencies lists.
+
+	(resolve_dep): Remove.  Move the logic to schedule_insn ().
+	(init_h_i_d): Initialize dependencies lists.
+
+	(process_insn_depend_be_in_spec): Rename to
+	process_insn_forw_deps_be_in_spec.  Update to use new scheduler
+	dependencies lists.
+	(add_to_speculative_block, create_check_block_twin, fix_recovery_deps):
+	Update to use new scheduler dependencies lists.
+	(clear_priorities, calc_priorities, add_jump_dependencies): Ditto.
+
+	* ddg.c (create_ddg_dependence, create_ddg_dep_no_link): Update to use
+	new scheduler dependencies lists.
+	(build_intra_loop_deps): Ditto.
+
+	* target.h (struct _dep): Declare to use in
+	gcc_target.sched.is_costly_dependence.
+	(struct gcc_target.sched.adjust_cost): Fix typo.
+	(struct gcc_target.sched.is_costly_dependence): Change signature to
+	use single dep_t parameter instead of an equivalent triad.
+	(struct gcc_target.sched.adjust_cost_2): Remove.
+
+	* target-def.h (TARGET_SCHED_ADJUST_COST_2): Remove.
+
+	* reg-notes.def (DEP_TRUE, DEP_OUTPUT, DEP_ANTI): Update comments.
+
+	* doc/tm.texi (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Update
+	documentation.
+	(TARGET_SCHED_ADJUST_COST_2): Remove documentation.
+
+	* doc/rtl.texi (LOG_LINKS): Remove part about instruction scheduler.
+	(REG_DEP_TRUE): Document.
+
+	* config/ia64/ia64.c (ia64_adjust_cost_2): Rename to ia64_adjust_cost.
+	Change signature to correspond to the targetm.sched.adjust_cost hook.
+	Update use in TARGET_SCHED_ADJUST_COST_2.
+	(TARGET_SCHED_ADJUST_COST_2): Rename to TARGET_SCHED_ADJUST_COST.
+	(ia64_dependencies_evaluation_hook, ia64_dfa_new_cycle): Update to use
+	new scheduler dependencies lists.
+	(ia64_gen_check): Ditto.
+
+	* config/mips/mips.c (vr4130_swap_insns_p): Update to use new
+	scheduler dependencies lists.
+
+	* config/rs6000/rs6000.c (rs6000_is_costly_dependence): Change
+	signature to correspond to the targetm.sched.is_costly_dependence hook.
+	(is_costly_group): Update to use new scheduler dependencies lists.
+
+	* config/spu/spu.c (spu_sched_adjust_cost): Use insn_cost () function
+	instead of INSN_COST () macro.
+
+2007-02-01  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (resolve_clobber): Handle a subreg of a concatn.
+
+2007-02-01  Guy Martin  <gmsoft@gentoo.org>
+
+	* pa.md (tp_load): Correct mfctl instruction syntax.
+
+2007-02-01  Geoffrey Keating  <geoffk@apple.com>
+
+	* config/rs6000/rs6000.c (rs6000_stack_info): Correct
+	altivec_padding_size calculation on AIX.  Improve comment, add
+	assert to verify that it's right.
+
+	* config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Don't define for
+	64-bit.
+
+2007-2-01  Seongbae Park  <seongbae.park@gmail.com>
+
+	PR inline-asm/28686
+	* global.c (global_alloc): Add mising initialization of
+	ELIMINABLE_REGSET.
+
+2007-02-01  Roger Sayle  <roger@eyesopen.com>
+
+	* alias.c (init_alias_analysis): Correct whitespace.
+	* bb-reorder.c (fix_edges_for_rarely_executed_code,
+	partition_hot_cold_basic_blocks): Likewise.
+	* builtins.c (expand_builtin_printf, expand_builtin_fprintf,
+	expand_builtin_sprintf, fold_builtin_carg, fold_builtin_sprintf,
+	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
+	fold_builtin_snprintf_chk, fold_builtin_printf,
+	fold_builtin_fprintf, do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_arg2,
+	do_mpfr_arg3, do_mpfr_sincos): Likewise.
+	* cfgcleanup.c (cleanup_cfg): Likewise.
+	* cfgexpand.c (tree_expand_cfg): Likewise.
+	* fold-const.c (fold_binary) <RDIV_EXPR>: Likewise.
+	* function.c (get_next_funcdef_no): Likewise.
+	* gengtype.c (main): Likewise.
+	* genmodes.c (main): Likewise.
+	* gcse.c (bypass_conditional_jumps, print_ldst_list): Likewise.
+	* haifa-sched.c (schedule_block, extend_h_i_d): Likewise.
+	* ifcvt.c (noce_emit_move_insn): Likewise.
+	* modulo-sched.c (generate_prolog_epilog, sms_schedule_by_order):
+	Likewise.
+	* stor-layout.c (get_best_mode): Likewise.
+	* tree-ssa-loop-niter.c (get_val_for): Likewise.
+	* tree-ssa-structalias.c (get_varinfo, get_varinfo_fc,
+	scc_visit, do_ds_constraint, do_complex_constraint, label_visit,
+	perform_var_substitution, solve_graph): Likewise.
+	* tree-vrp.c (vrp_finalize): Likewise.
+
+2007-02-01  Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c (simplify_gen_subreg_concatn): If we ask for the
+	high part of a paradoxical subreg, return a constant zero.
+
+2007-02-01  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* toplev.c (lang_dependent_init): Call init_set_costs.
+	* loop-init.c (loop_optimizer_init): Do not call init_set_costs.
+
+2007-02-01  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30656
+	* fold-const.c (fold_negate_expr): Allow negating a
+	constant if overflow does not change.
+
+2007-02-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* doc/c-tree.texi (Expression trees): Improve markup.
+	* doc/tm.texi (Register Classes, Addressing Modes)
+	(Floating Point): Fix spacing after abbreviations.  Fix some
+	typos.
+
+2007-02-01  Ben Elliston  <bje@au.ibm.com>
+
+	* doc/invoke.texi: Replace "bugfix" with "bug fix" throughout.
+	* doc/contrib.texi: Likewise.
+	* doc/install.texi: Likewise.
+
+2007-01-31  Richard Henderson  <rth@redhat.com>
+	    Ian Lance Taylor  <iant@google.com>
+
+	* lower-subreg.c: New file.
+	* rtl.def (CONCATN): Define.
+	* passes.c (init_optimization_passes): Add pass_lower_subreg and
+	pass_lower_subreg2.
+	* emit-rtl.c (update_reg_offset): New static function, broken out
+	of gen_rtx_REG_offset.
+	(gen_rtx_REG_offset): Call update_reg_offset.
+	(gen_reg_rtx_offset): New function.
+	* regclass.c: Revert patch of 2006-03-05, restoring
+	reg_scan_update.
+	(clear_reg_info_regno): New function.
+	* dwarf2out.c (concatn_loc_descriptor): New static function.
+	(loc_descriptor): Handle CONCATN.
+	* common.opt (fsplit_wide_types): New option.
+	* opts.c (decode_options): Set flag_split_wide_types when
+	optimizing.
+	* timevar.def (TV_LOWER_SUBREG): Define.
+	* rtl.h (gen_reg_rtx_offset): Declare.
+	(reg_scan_update): Declare.
+	* regs.h (clear_reg_info_regno): Declare.
+	* tree-pass.h (pass_lower_subreg): Declare.
+	(pass_lower_subreg2): Declare.
+	* doc/invoke.texi (Option Summary): List -fno-split-wide-types.
+	(Optimize Options): Add -fsplit-wide-types to -O1 list.  Document
+	-fsplit-wide-types.
+	* doc/rtl.texi (Regs and Memory): Document concat and concatn.
+	* Makefile.in (OBJS-common): Add lower-subreg.o.
+	(lower-subreg.o): New target.
+
+2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/sh/sh.h (HAVE_SECONDARY_RELOADS): Remove.
+
+2007-01-31  Anatoly Sokolov <aesok@post.ru>
+
+	PR target/19087
+	* config/avr/avr.c (DWARF2_ADDR_SIZE): Define.
+
+2007-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR middle-end/29335
+	* builtins.c (fold_builtin_sqrt): Use MPFR for constant args.
+
+2007-01-31  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* cfgloop.h: Include vec-prim.h.
+	(enum li_flags): Remove LI_ONLY_OLD.
+	(loop_iterator): Changed.
+	(fel_next, fel_init): Iterate over loop tree.
+	(FOR_EACH_LOOP_BREAK): New macro.
+	* loop-unswitch.c (unswitch_loops): Do not pass LI_ONLY_OLD to
+	FOR_EACH_LOOP.
+	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Ditto.
+	* modulo-sched.c (sms_schedule): Ditto.
+	* tree-vectorizer.c (vectorize_loops): Ditto.
+	* doc/loop.texi: Update information on loop numbering and behavior of
+	FOR_EACH_LOOP wrto new loops.
+	* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop,
+	add_to_evolution_1): Test nestedness of loops instead of comparing
+	their numbers.
+	* tree-chrec.c (chrec_fold_plus_poly_poly,
+	chrec_fold_multiply_poly_poly, chrec_evaluate,
+	hide_evolution_in_other_loops_than_loop, chrec_component_in_loop_num,
+	reset_evolution_in_loop): Ditto.
+	* Makefile.in (CFGLOOP_H): Add vecprim.h dependency.
+
+2007-01-31  Dirk Mueller  <dmueller@suse.de>
+
+	* c-common.c (warn_about_parentheses): Separate warning about
+	un-parenthized sequence of comparison operators from the one
+	which is supposed to warn about x <= y <= z.
+
+2007-01-31  Uros Bizjak  <ubizjak@gmail.com>
+
+	* optabs.h (enum optab_index): Add new OTI_isinf.
+	(isinf_optab): Define corresponding macro.
+	* optabs.c (init_optabs): Initialize isinf_optab.
+	* genopinit.c (optabs): Implement isinf_optab using isinf?f2
+	patterns.
+	* builtins.c (mathfn_built_in): Handle BUILT_IN_ISINF{,F,L}.
+	(expand_builtin_interclass_mathfn): Expand BUILT_IN_ISINF{,F,L}
+	using isinf_optab.
+	(expand_builtin): Expand BUILT_IN_ISINF{,F,L} using
+	expand_builtin_interclass_mathfn.
+	* reg_stack.c (subst_stack_regs_pat): Handle UNSPEC_FXAM.
+	* config/i386/i386.md (UNSPEC_FXAM): New constant.
+	(fxam<mode>2_i387): New insn pattern.
+	(isinf<mode>2) New expander to implement isinf, isinff and isinfl
+	built-in functions as x87 inline asm.
+
+2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/arm/unwind-arm.h (_sleb128_t, _uleb128_t): New.
+
+2007-01-30  Eric Christopher  <echristo@apple.com>
+
+	* config.gcc: Add geode.
+
+2007-01-31  Kazu Hirata  <kazu@codesourcery.com>
+
+	* cgraphunit.c, config/arm/arm.c, config/m68k/m68k.c,
+	ipa-inline.c, tree-profile.c, tree-ssa-live.c,
+	tree-ssa-math-opts.c, tree-ssanames.c, tree-vect-analyze.c,
+	value-prof.c: Fix comment typos.
+
+2007-01-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c++/24745
+	* doc/invoke.texi (Wpointer-arith): Document warning.
+
+2007-01-30  Janis Johnson  <janis187@us.ibm.com>
+
+	* doc/extend.texi (Decimal Floating Types): Remove decfloat.h from
+	the list of discrepancies from the draft TR.
+
+2007-01-30  Dirk Mueller  <dmueller@suse.de>
+
+	PR c++/30601
+	* doc/invoke.texi (-Wreturn-type): Update description to
+	match new behavior.
+
+2007-01-30  Richard Sandiford  <richard@codesourcery.com>
+
+	* cfgrtl.c (try_redirect_by_replacing_jump): Check only_sets_cc0_p.
+
+2007-01-30  Uros Bizjak  <ubizjak@gmail.com>
+
+	* builtins.c (expand_builtin_int_interclass_roundingfn): New function
+	to handle optabs that operate on floating point input argument and
+	output to integer output.
+	(expand_builtin_mathfn) [BUILT_IN_ILOGB]: Move from here ...
+	(expand_builtin_interclass_mathfn) [BUILT_IN_ILOGB]: ... to here.
+	(expand_builtin): Expand BUILT_IN_ILOGB{,F,L} using
+	expand_builtin_interclass_mathfn ().
+	* config/i386/i386.md (fxtractxf3_i387): Rename from *fxtractxf3_i387.
+	(ilogbsi2): Remove.
+	(ilogbxf2, ilogb<mode>2): New expanders to implement ilogb, ilogbf and
+	ilogbl built-in functions as x87 intrinsics.
+
+2007-01-30  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/27657
+	* dwarf2out.c (reference_to_unused): Query varpool if the
+	variable was output.
+
+2007-01-30  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/30313
+	* passes.c (execute_one_pass): Reset in_gimple_form to not
+	confuse non-unit-at-a-time mode.
+
+2007-01-29  Roger Sayle  <roger@eyesopen.com>
+	    Richard Guenther  <rguenther@suse.de>
+
+	* fold-const.c (round_up): Make HIGH an unsigned HOST_WIDE_INT to
+	avoid undefined behaviour on overflow.  Use force_fit_type_double
+	to construct the constant with the specified TREE_OVERFLOW.
+
+2007-01-29  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/dfp-bit.c: Add parameterized support for fp exceptions.
+	* config/dfp-bit.h: Ditto.
+
+2007-01-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* c-decl.c (pop_scope): Replace warnings with call to
+	warn_for_unused_label.
+	* c-common.h (warn_for_unused_label): Declare.
+	* c-common.c (warn_for_unused_label): Define.
+
+2007-01-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* tree-optimize.c (update_inlined_to_pointers): Delete unused
+	function.
+
+2007-01-29  Janis Johnson  <janis187@us.ibm.com>
+
+	* Makefile.in (USER_H): Remove decfloat.h.
+	* ginclude/decfloat.h: Delete, moving contents to ...
+	* ginclude/float.h: Add support for decimal floating point,
+	guarded by __STDC_WANT_DEC_FP__.
+
+2007-01-29  Mike Stump  <mrs@apple.com>
+
+	* doc/gccint.texi (Top): Rename Loop Representation to Loop
+	Analysis and Representation to resolve case insensitive conflict.
+	* doc/loop.texi (Loop Analysis and Representation): Likewise.
+
+2007-01-28  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree.h (struct tree_memory_tag): Add aliases member.
+	(MTAG_ALIASES): New macro.
+	* tree-ssa-alias.c (alias_bitmap_obstack): New variable.
+	(add_may_alias): Remove pointer-set. Update for may_aliases being
+	a bitmap.
+	(mark_aliases_call_clobbered): Update for may_aliases being a
+	bitmap.
+	(compute_tag_properties): Ditto.
+	(create_partition_for): Ditto.
+	(compute_memory_partitions): Ditto.
+	(dump_may_aliases_for): Ditto.
+	(is_aliased_with): Ditto.
+	(add_may_alias_for_new_tag): Ditto.
+	(rewrite_alias_set_for): Rewrite for may_aliases being a bitmap.
+	(compute_is_aliased): New function.
+	(compute_may_aliases): Call compute_is_aliased).
+	(init_alias_info): Initialize alias_bitmap_obstack.
+	(union_alias_set_into): New function.
+	(compute_flow_sensitive_aliasing): Use union_aliases_into.
+	(have_common_aliases_p): Rewrite to take two bitmaps and use
+	intersection.
+	(compute_flow_insensitive_aliasing): Stop using pointer-sets.
+	Update for bitmaps.
+	(finalize_ref_all_pointers): Update for add_may_alias changes.
+	(new_type_alias): Ditto.
+	* tree-flow-inline.h (may_aliases): Return a bitmap.
+	* tree-dfa.c (dump_variable): Check for MTAG_P'ness.
+	* tree-ssa.c (verify_flow_insensitive_alias_info): Update for
+	may_aliases being a bitmap.
+	* tree-flow.h (struct var_ann_d): Remove may_aliases member.
+	may_aliases now returns a bitmap.
+	* tree-ssa-structalias.c (merge_smts_into): Update for may_aliases
+	being a bitmap.
+	* tree-ssa-operands.c (add_virtual_operand): Update for
+	may_aliases being a bitmap.
+
+2007-01-29  Daniel Berlin  <dberlin@dberlin.org>
+
+	PR tree-optimization/30630
+	* tree-ssa-structalias.c (do_complex_constraint): Mark correct
+	variable as changed.
+
+2007-01-29  Simon Martin  <simartin@users.sourceforge.net>
+
+	PR c++/28266
+	* gimplify.c (gimplify_target_expr): Make sure that the TARGET_EXPR is
+	expanded only once even if an error occurs.
+
+2007-01-29  Ben Elliston  <bje@au.ibm.com>
+
+	* gcov-io.h (__gcov_indirect_call_profiler): Declare.
+	(__gcov_average_profiler): Likewise.
+	(__gcov_ior_profiler): Likewise.
+	(__gcov_merge_ior): Likewise.
+
+2007-01-28  Jan Hubicka  <jh@suse.cz>
+
+	* builtins.c (expand_builtin_memset): Fix typo in my last patch.
+	* value-prof.c (stringop_block_profile): Likewise.
+
+2007-01-28  Jan Hubicka  <jh@suse.cz>
+
+	* expr.c (emit_block_move_via_movmem, emit_block_move_via_libcall):
+	Add variant handling histograms; add wrapper.
+	(clear_storage_via_libcall): Export.
+	(emit_block_move_hints): Break out from ...; add histograms.
+	(emit_block_move): ... this one.
+	(clear_storage_hints): Break out from ...; add histograms.
+	(clear_storage): ... this one.
+	(set_storage_via_memset): Handle histogram.
+	* expr.h (emit_block_move_via_libcall, emit_block_move_hints): Declare.
+	(clear_storage_hints, clear_storage_via_libcall): Declare.
+	(set_storage_via_setmem): Update prototype.
+	* doc/md.texi (movmem, setmem): Document new arguments.
+
+	* value-prof.c (dump_histogram_value, tree_find_values_to_profile):
+	Add new histograms.
+	(stringop_block_profile): New global function.
+	(tree_stringops_values_to_profile): Profile block size and alignment.
+	* value-prof.h (enum hist_type): add HIST_TYPE_AVERAGE and
+	HIST_TYPE_IOR.
+	(struct profile_hooks): Add gen_average_profiler and gen_ior_profiler.
+	(stringop_block_profile): Declare.
+	* builtins.c: Include value-prof.h.
+	(expand_builtin_memcpy, expand_builtin_memset): Pass block profile.
+	* gcov-ui.h (GCOV_COUNTER_NAMES): Add new counter.
+	(GCOV_COUNTER_AVERAGE, GCOV_COUNTER_IOR): New constants.
+	(GCOV_COUNTERS, GCOV_LAST_VALUE_COUNTER): Update.
+	* profile.c (instrument_values): Add new counters.
+	* cfgexpand.c (expand_gimple_basic_block): Propagate histograms to
+	calls.
+	* tree-profile.c (tree_average_profiler_fn, tree_ior_profiler_fn): New.
+	(tree_init_edge_profiler): Build new profilers.
+	(tree_gen_average_profiler, tree_gen_ior_profiler): New.
+	(pass_tree_profile): Add dump.
+	(tree_profile_hooks): Update.
+	* Makefile.in (LIBGCOV): Add new constants.
+	* libgcov.c (__gcov_merge_ior, __gcov_average_profiler,
+	__gcov_ior_profiler): New.
+	* config/i386/i386.md (movmem/setmem expanders): Add new optional
+	arguments.
+
+2007-01-28  David Edelsohn  <edelsohn@gnu.org>
+
+	* doc/md.texi (Standard Pattern Names): Document blockage pattern.
+
+2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-ssa-loop-unswitch.c: Include tree-inline.h.
+	(tree_unswitch_single_loop): Pass eni_size_weights to
+	tree_num_loop_insns.
+	* tree-ssa-loop-manip.c: Include tree-inline.h.
+	(can_unroll_loop_p): Pass eni_size_weights to
+	tree_num_loop_insns.
+	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p):
+	Pass eni_size_weights to estimate_num_insns.
+	* tree.h (init_inline_once): Export.
+	* toplev.c (backend_init): Call init_inline_once.
+	* cgraphunit.c (cgraph_process_new_functions,
+	cgraph_analyze_function): Pass eni_inlining_weights to
+	estimate_num_insns.
+	* ipa-inline.c (compute_inline_parameters): Ditto.
+	* tree-ssa-loop-ivcanon.c (tree_num_loop_insns): Pass weights
+	to estimate_num_insns.
+	(try_unroll_loop_completely): Pass eni_size_weights to
+	tree_num_loop_insns.
+	* tree-eh.c (decide_copy_try_finally): Pass eni_size_weights
+	ot estimate_num_insns.
+	* tree-ssa-loop-prefetch.c: Include tree-inline.h.
+	(loop_prefetch_arrays): Pass eni_time_weights to tree_num_loop_insns.
+	* tree-inline.c (eni_inlining_weights, eni_size_weights,
+	eni_time_weights): New variables.
+	(init_inline_once): Initialize them.
+	(struct eni_data): Mew.
+	(estimate_num_insns_1, estimate_num_insns): Use weights.
+	* tree-inline.h (struct eni_weights_d): New.
+	(eni_inlining_weights, eni_size_weights, eni_time_weights): Declare.
+	(estimate_num_insns): Declaration changed.
+	* cfgloop.h (tree_num_loop_insns): Declaration changed.
+	* Makefile.in (tree-ssa-loop-unswitch.o, tree-ssa-loop-prefetch.o,
+	tree-ssa-loop-manip.o): Add TREE_INLINE_H dependency.
+
+2007-01-28  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-data-ref.c (conflict_fn): Assert that the number of affine
+	relations in the conflict function is valid.
+
+2007-01-27  Ian Lance Taylor  <iant@google.com>
+
+	* common.opt: Add fstrict-overflow.
+	* opts.c (decode_options): Set flag_strict_overflow if -O2.
+	* flags.h (TYPE_OVERFLOW_WRAPS): Define.
+	(TYPE_OVERFLOW_UNDEFINED): Define.
+	(TYPE_OVERFLOW_TRAPS): Define.  This replaces TYPE_TRAP_SIGNED.
+	Replace all uses.
+	* tree.h (TYPE_TRAP_SIGNED): Don't define.
+	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_UNDEFINED.
+	(fold_negate_expr): Likewise.
+	(make_range): Likewise.
+	(extract_muldiv_1): Likewise.
+	(maybe_canonicalize_comparison): Likewise.
+	(fold_comparison): Likewise.
+	(fold_binary): Likewise.
+	(tree_expr_nonnegative_p): Likewise.
+	(tree_expr_nonzero_p): Likewise.
+	* tree-vrp.c (compare_values): Likewise.
+	(extract_range_from_binary_expr): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	* tree-ssa-loop-niter.c (infer_loop_bounds_from_signedness):
+	Likewise.
+	(nowrap_type_p): Likewise.
+	* tree-scalar-evolution.c (simple_iv): Likewise.
+	* fold-const.c (negate_expr_p): Use TYPE_OVERFLOW_WRAPS.
+	(build_range_check): Likewise.
+	(extract_muldiv_1): Likewise.
+	(fold_comparison): Likewise.
+	* tree-vrp.c (vrp_int_const_binop): Likewise.
+	(extract_range_from_unary_expr): Likewise.
+	* convert.c (convert_to_integer): Likewise.
+	* fold-const.c (fold_negate_expr): Use TYPE_OVERFLOW_TRAPS.
+	(fold_comparison): Likewise.
+	(fold_binary): Likewise.
+	* optabs.c (optab_for_tree_code): Likewise.
+	* tree-vectorizer.c (vect_is_simple_reduction): Likewise.
+	* simplify-rtx.c (simplify_const_relational_operation): Check
+	flag_strict_overflow and flag_trapv.
+	(simplify_const_relational_operation): Likewise.
+	* doc/invoke.texi (Option Summary): Mention -fstrict-overflow.
+	(Optimize Options): Add -fstrict-overflow to -O2 list.  Document
+	-fstrict-overflow.
+
+2007-01-27  Roger Sayle  <roger@eyesopen.com>
+
+	* tree.c (tree_fold_gcd): Delete.
+	* tree.h (tree_fold_gcd): Remove prototype.
+	* 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
+	BOTTOM are integer constants so we can call int_const_binop directly
+	instead of the more generic const_binop.
+
+2007-01-27  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (size_binop): In the fast-paths for X+0, 0+X, X-0 and
+	1*X check that the constant hasn't overflowed, to preserve the
+	TREE_OVERFLOW bit.
+	(round_up): Provide an efficient implementation when rouding-up an
+	INTEGER_CST to a power-of-two.
+
+2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+	* doc/sourcebuild.texi: Add comma for clarity.
+	* doc/extend.texi: Fix some typos.
+	* doc/passes.texi: Likewise.
+	* doc/cppinternals.texi: Likewise.
+	* doc/c-tree.texi: Likewise.
+	* doc/tree-ssa.texi: Likewise.
+	* doc/install.texi: Likewise.
+
+2007-01-27  Jan Hubicka  <jh@suse.cz>
+
+	* tree-sra.c (sra_walk_function): Don't rely on aliases being build.
+	(pass_sra): Do not require alias information.
+	* passes.c (init_optimization_passes): Add SRA
+
+2007-01-27  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* tracer.c (rest_of_handle_tracer): We already cleaned
+	up the CFG in tracer() so don't do it here again.
+	* cfgcleanup.c (rest_of_handle_jump2): Don't repeat
+	cleanup_cfg here, either.  And don't call renumber_insns.
+
+	* cfgrtl.c (rtl_verify_flow_info_1): Don't verify that BB_END
+	and BB_HEAD are in the insn stream here.  Instead make sure
+	that BB_INSN is valid on all insns.  Also, do check here that
+	there are no pending branch predictions...
+	(rtl_verify_flow_info): ...instead of doing it here.  Checks
+	for BB_END and BB_HEAD moved from rtl_verify_flow_info_1 to
+	here.
+
+2007-01-26  Roger Sayle  <roger@eyesopen.com>
+
+	* config/i386/i386.c (ix86_swap_binary_operands_p): New helper
+	function to simplify/factorize operand order canonicalization.
+	(ix86_fixup_binary_operands): Reorganize using the above function.
+	(ix86_binary_operator_ok): Likewise.
+
+2007-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+	* genattrtab.c (struct attr_value_list, insn_code_values): Move to
+	file scope from optimize_attrs.
+	(simplify_test_exp): If insn_code_values is not NULL, use it to speed
+	up search.
+	(optimize_attrs): Clear insn_code_values after freeing it.
+
+2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-ssa-address.c (create_mem_ref): Remove ", bsi" from
+	a parts.base assignment.
+
+2007-01-26  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-data-ref.c (dump_subscript): Use dump_conflict_function.
+	(compute_subscript_distance, initialize_data_dependence_relation,
+	finalize_ddr_dependent, analyze_ziv_subscript,
+	analyze_siv_subscript_cst_affine,
+	compute_overlap_steps_for_affine_univar,
+	compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine,
+	analyze_siv_subscript, analyze_miv_subscript,
+	analyze_overlapping_iterations, subscript_dependence_tester_1,
+	compute_self_dependence, free_dependence_relation): Work
+	with affine_fn instead of chrecs.
+	(dump_affine_function, dump_conflict_function, affine_function_equal_p,
+	common_affine_function, affine_function_base,
+	affine_function_constant_p, affine_fn_op, affine_fn_plus,
+	affine_fn_minus, affine_fn_free, conflict_fn_not_known,
+	conflict_fn_no_dependence, free_conflict_function, free_subscripts,
+	conflict_fn, affine_fn_cst, affine_fn_univar): New functions.
+	(all_chrecs_equal_p): Removed.
+	* tree-data-ref.h (affine_fn, conflict_function): New types.
+	(struct subscript): Change type of conflicting_iterations_in_a
+	and conflicting_iterations_in_b.
+
+2007-01-26  Steve Ellcey  <sje@cup.hp.com>
+
+	PR other/30182
+	* config/pa/pa.h (TARGET_HPUX_11): New.
+	* config/pa/pa-hpux11.h (TARGET_HPUX_11): New.
+	* config/pa/pa.c (pa_init_builtins): Use TARGET_HPUX_11.
+
+2007-01-26  Daniel Berlin  <dberlin@dberlin.org>
+	Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-structalias.c (solve_graph): Handle case
+	we merged the variable to another.
+
+2007-01-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_1): Treat ccos and ccosh as 'even'
+	functions.
+
+	* fold-const.c (negate_mathfn_p): Treat casin, casinh, catan,
+	catanh, cproj, csin, csinh, ctan and ctanh as 'odd' functions.
+
+2007-01-25  DJ Delorie  <dj@redhat.com>
+
+	* config/m32c/m32c.c (m32c_cannot_change_mode_class): We don't
+	allow changes to modes which don't fit in those registers.
+
+	* reload1.c (choose_reload_regs): Check for invalid subregs before
+	computing their locations, not after.
+
+2007-01-25  Geoffrey Keating  <geoffk@apple.com>
+
+	PR 25127
+	* config/rs6000/rs6000.c (first_altivec_reg_to_save): On Darwin,
+	save Altivec registers in an eh_return function.
+	(compute_vrsave_mask): Likewise.
+	(rs6000_stack_info): Correct AIX/Darwin stack alignment computation
+	for saving Altivec registers.
+	(rs6000_emit_prologue): Don't allocate stack twice in
+	eh_return function.  Correct expected value of altivec_save_offset
+	when using save_world.  Describe save of R0 to stack when using
+	save_world.  Describe stack pointer adjustment when using
+	save_world.  Remove duplicated eh_return parameter register saving.
+	Update sp_offset variable after save_world.
+	* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA): Remove
+	darwin-world.asm.
+	(LIB2FUNCS_EXTRA): Add darwin-world.asm.
+	* config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): -m64
+	implies Altivec.
+
+2007-01-25  Steve Ellcey  <sje@cup.hp.com>
+
+	* config.gcc (ia64*-*-hpux*): Make posix threads the default.
+
+2007-01-25  Steve Ellcey  <sje@cup.hp.com>
+
+	PR other/30182
+	* config/pa/pa.c (pa_init_builtins): Set asm names for finite routines.
+	* config/ia64/ia64.c (ia64_init_builtins): Ditto.
+
+2007-01-25  Richard Guenther  <rguenther@suse.de>
+
+	* doc/invoke.texi (-Wcoverage-mismatch): Document.
+	* common.opt (-Wcoverage-mismatch): New warning option.
+	* coverage.c (get_coverage_counts): Ignore coverage mismatch
+	if -Wcoverage-mismatch is given.
+
+2007-01-25  Razya Ladelsky  <razya@il.ibm.com>
+
+	* ipa-cp.c (ipcp_insert_stage, ipcp_driver): Support for SSA.
+	(ipcp_driver): Change to static definition.
+	Add dumping of the ifunctions.
+	(constant_val_insert): Remove unused parameter. Support for SSA.
+	(ipcp_propagate_const): Support for SSA.
+	(ipcp_profile_bb_print): Print only analyzed nodes.
+	(ipcp_replace_map_create): Remove support for Fortran constant
+	for now.
+	* ipa-prop.c (ipa_method_modify_stmt,
+	ipa_callsite_compute_param): Support for SSA.
+	* ipa-prop.h (ipcp_driver): Remove declaration.
+	(IS_VALID_TREE_MAP_INDEX): Add define.
+
+2007-01-24  Geoffrey Keating  <geoffk@apple.com>
+
+	* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
+
+2007-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR middle-end/30447
+	* builtins.c (fold_builtin_cabs): Use MPFR to evaluate a
+	constant argument to cabs and do it without checking for
+	-funsafe-math-optimizations.
+
+2007-01-24  Douglas Gregor  <dgregor@osl.iu.edu>
+
+	* c-common.h (RID_FIRST_CXX0X): New.
+	(RID_LAST_CXX0X): New.
+	* c-opts.c (c_common_handle_option): -Wc++0x-compat is triggered
+	by -Wall.
+	* c.opt (Wc++0x-compat): New.
+	* doc/invoke.texi (-Wc++0x-compat): Document.
+
+2007-01-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	* builtins.c (fold_builtin_carg): New.
+	(fold_builtin_1): Use it.
+
+2007-01-24  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (cgraph_decide_inlining): Initialize initial_insns.
+
+	* ipa-inline.c (initial_insns, max_insns): Delete.
+	(compute_max_insns): New function.
+	(cgraph_decide_inlining_of_small_function): Use it; take minimal
+	amount of insns as base for code growth.
+	(cgraph_decide_inlining): Make initial_insns local; do not compute
+	max_insns.
+	* params.def (PARAM_INLINE_UNIT_GROWTH): Set to 60.
+	* doc/invoke.texi (inline-unit-growth): Update docs.
+
+2007-01-24  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/i386.h (x86_cmpxchg16b): Remove const.
+	(TARGET_CMPXCHG16B): Define to x86_cmpxchg16b.
+	* config/i386/i386.c (x86_cmpxchg16b): Remove const.
+	(override_options): Add PTA_CX16 flag.  Set x86_cmpxchg16b
+	for CPUs that have PTA_CX16 set.
+
+	PR middle-end/27416
+	* gimplify.c (omp_check_private): New function.
+	(gimplify_scan_omp_clauses): Use it for
+	firstprivate/lastprivate/reduction.
+
+	PR middle-end/30494
+	* gimplify.c (omp_add_variable): Don't call omp_notice_variable
+	on TYPE_SIZE_UNIT for GOVD_LOCAL VLAs.
+
+	PR middle-end/30421
+	* omp-low.c (lower_omp_for_lastprivate): Add dlist argument.
+	If lower_lastprivate_clauses emits some statements, append them
+	to dlist rather than body_p and to body_p append an initializer.
+	(lower_omp_for): Adjust caller.
+
+2007-01-24  Steve Ellcey  <sje@cup.hp.com>
+
+	* target.h (globalize_decl_name): New.
+	* target-def.h (TARGET_ASM_GLOBALIZE_DECL_NAME): New.
+	* output.h (default_globalize_decl_name): New.
+	* varasm.c (asm_output_bss): Use globalize_decl_name instead of
+	globalize_label.
+	(globalize_decl): Ditto.
+	(default_globalize_decl_name): New.
+	* config/ia64/ia64.c (ia64_globalize_decl_name): New.
+	(ia64_handle_version_id_attribute): New.
+	(TARGET_ASM_GLOBALIZE_DECL_NAME): New.
+	(ia64_asm_output_external): Use globalize_decl_name instead
+	of globalize_label.
+	* doc/extend.texi (version_id): New pragma.
+	* doc/tm.texi (ARGET_ASM_GLOBALIZE_DECL_NAME): New target hook.
+
+2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* unwind-dw2-fde.c (get_cie_encoding): Replaced _Unwind_Word with
+	_uleb128_t and _Unwind_SWord with _sleb128_t.
+	* unwind-dw2.c (extract_cie_info, execute_stack_op,
+	execute_cfa_program, uw_frame_state_for, uw_update_context_1):
+	Likewise.
+	* unwind-c.c (parse_lsda_header, PERSONALITY_FUNCTION): Likewise.
+	* unwind-pe.h (read_uleb128, read_sleb128,
+	read_encoded_value_with_base): Likewise.
+	* unwind-generic.h: Define _sleb128_t and _uleb128_t types.
+
+2007-01-24  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (expand_builtin_cexpi): Get the fndecl
+	for cexp in the correct way.
+
+2007-01-24  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS
+	of calls.
+
+2007-01-24  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+	* c-cppbuiltin.c (builtin_define_type_sizeof): New function.
+	(c_cpp_builtins): New builtin macros: __SIZEOF_INT__, __SIZEOF_LONG__,
+	__SIZEOF_LONG_LONG__, __SIZEOF_SHORT__, __SIZEOF_POINTER__,
+	__SIZEOF_FLOAT__, __SIZEOF_DOUBLE__, __SIZEOF_LONG_DOUBLE__,
+	__SIZEOF_SIZE_T__, __SIZEOF_WCHAR_T__, __SIZEOF_WINT_T__ and
+	__SIZEOF_PTRDIFF_T__.
+	* doc/cpp.texi: Documentation for the new builtin macros added.
+
+2007-01-24  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (tanxf2, tan<mode>2, atan<mode>2, log<mode>2,
+	log10<mode>2, log2<mode>2, expxf2, exp10xf2, exp2xf2): Use op2
+	instead of operands[2] to avoid access past the end of array.
+
+2007-01-24  Richard Sandiford  <richard@codesourcery.com>
+
+	* reload1.c (emit_reload_insns): Pass the reload register
+	for a non-spill output reload through forget_old_reloads_1.
+
+2007-01-23  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
+	_SOFT_DOUBLE if doubles use software floating-point.
+	* config/rs6000/libgcc-ppc-glibc.ver: Export additional long
+	double functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
+	* config/rs6000/darwin-ldouble.c: Also compile functions for
+	hard-float without FPRs.  Use fmsub function for all __NO_FPRS__
+	cases.  Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
+	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove
+	commented-out long double override.
+	(CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise.
+	* config/rs6000/eabispe.h: Likewise.
+	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
+	long double for non-SPE.
+	(rs6000_handle_option): Likewise.
+	(invalid_e500_subreg): Disallow more subregs involding DImode,
+	DFmode, TImode or TFmode.
+	(rs6000_legitimate_offset_address_p): Check TFmode offsets for
+	E500 double.
+	(legitimate_lo_sum_address_p): Also check for TFmode for E500
+	double.
+	(rs6000_legitimize_address): Also handle TFmode for E500 double.
+	(rs6000_legitimize_reload_address): Also handle TFmode for E500
+	double.
+	(rs6000_legitimate_address): Also check for TFmode for E500
+	double.
+	(rs6000_emit_move): Use DFmode subregs of TFmode for E500 double.
+	(spe_build_register_parallel): Handle TFmode and TCmode.
+	(rs6000_spe_function_arg): Handle TFmode and TCmode for E500
+	double.
+	(function_arg): Handle TFmode and TCmode for E500 double.
+	(rs6000_init_libfuncs): Initialize extra libfuncs for soft double
+	in general.
+	(print_operand): Handle TFmode and TImode for %y.
+	(rs6000_generate_compare): Handle TFmode comparisons for E500
+	double.
+	(spe_func_has_64bit_regs_p): Check for TFmode for E500 double.
+	(rs6000_function_value): Handle TFmode and TCmode for E500 double.
+	(rs6000_libcall_value): Handle TFmode and TCmode for E500 double.
+	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for
+	TFmode for E500 double.
+	* config/rs6000/rs6000.md (FP): Allow TF for E500 double.
+	(floatsidf2): Enable for E500 double.
+	(movtf_softfloat): Use rs6000_nonimmediate_operand.
+	(extenddftf2): Change to extenddftf2_fprs.
+	(extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs
+	depending on TARGET_E500_DOUBLE.
+	(extendsftf2): Enable for E500 double.
+	(trunctfdf2): Enable for E500 double.
+	(trunctfsf2): Change to trunctfsf2_fprs.
+	(trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs
+	depending on TARGET_E500_DOUBLE.
+	(floatsitf2): Enable for E500 double.
+	(fix_trunctfsi2): Change to fix_trunctfsi2_fprs.
+	(fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or
+	gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE.
+	(negtf2): Change to negtf2_internal.
+	(negtf2): New expander.
+	(abstf2): Enable for E500 double.  Call gen_spe_abstf2_tst,
+	gen_spe_abstf2_cmp or gen_abstf2_internal depending on
+	TARGET_E500_DOUBLE and flag_unsafe_math_optimizations.
+	(movdi_internal32): Use rs6000_nonimmediate_operand.
+	(unnamed splitter): Likewise.
+	* config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR,
+	TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs.
+	(SPE64TF, DITI): New mode macros.
+	(frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more
+	modes.
+	(frob_tf_ti): New.
+	(frob_<mode>_di_2): New.
+	(frob_tf_di_8_2): New.
+	(frob_di_df): Change to frob_di_<mode>; allow more modes.
+	(frob_ti_tf): New.
+	(frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow
+	more modes.
+	(frob_ti_<mode>_8_2): New.
+	(frob_ti_tf_2): New.
+	(mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2,
+	mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow
+	TFmode.
+	(mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2,
+	mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New.
+	(spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2,
+	spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal,
+	spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New.
+	(cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr,
+	tsttflt_gp): New.
+
+2007-01-23  Ian Lance Taylor  <iant@google.com>
+
+	* Makefile.in (OBJS-common): Reformat, alphabetize, but put
+	insn-*.o first.
+	(OBJS-archive): Reformat, alphabetize.
+	(OBJS): Change out_object_file to OBJS-md.
+
+2007-01-23  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md: Use REG_P, MEM_P, CONST_INT_P, LABEL_P,
+	JUMP_P and CALL_P predicates where applicable.
+	* config/i386/i386.c: Ditto.
+	* config/i386/i386.md: Ditto.
+	* config/i386/mmx.md: Ditto.
+	* config/i386/predicates.md: Ditto.
+
+2007-01-22  Andreas Schwab  <schwab@suse.de>
+
+	* config/m68k/m68k.h: Fix comment.
+
+2007-01-22  Jan Hubicka  <jh@suse.cz>
+
+	* passes.c (init_optimization_passes): Do not rerun
+	pass_early_warn_uninitialized.
+
+2007-01-22  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/30038
+	* tree-ssa-math-opts.c (maybe_record_sincos): New static helper
+	function.
+	(execute_cse_sincos_1): Likewise.
+	(execute_cse_sincos): Likewise.
+	(gate_cse_sincos): Likewise.
+	(pass_cse_sincos): New pass CSEing sin() and cos() calls using
+	the cexpi() canonicalization of sincos().
+	* tree-pass.h (pass_cse_sincos): Declare.
+	* passes.c (init_optimization_passes): New pass pas_cse_sincos.
+
+2007-01-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	PR rtl-optimization/29329
+	* combine.c (replaced_rhs_insn): Rename to i2mod.
+	(replaced_rhs_value): Rename to i2mod_new_rhs.
+	(i2mod_old_rhs): New global variable.
+	(combine_instructions): Adjust for above change.  Save a copy of
+	the old RHS into i2mod_old_rhs when the contents of a REG_EQUAL
+	note are substituted in the second instruction.
+	(distribute_notes) <REG_DEAD>: Adjust for above change.  Do not
+	ditch the note if it pertains to the second eliminated register
+	and this register is mentioned in i2mod_old_rhs.
+
+	Revert:
+	2006-09-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* combine.c (distribute_notes) <REG_DEAD>: Do not consider SETs past
+	the insn to which the note was originally attached.
+
+2007-01-21  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (inlining_mode): Comment, move up.
+	(cgraph_decide_inlining_incrementally): Do not perform inlining
+	itself; fix handling of flattening of self recursive functions.
+	(cgraph_find_cycles): Remove.
+	(cgraph_flatten_node): Remove.
+	(cgraph_decide_inlining): Use incremental inliner to handle flattening.
+	(try_inline): New function.
+	(cgraph_early_inlining): Update call of
+	cgraph_decide_inlining_incrementally.  Apply inlining here.
+	(apply_inline): Update call of cgraph_decide_inlining_incrementally.
+
+2007-01-21  Dirk Mueller  <dmueller@suse.de>
+
+	PR bootstrap/30511
+	* tree-vrp.c (check_array_bounds): do not warn
+	about ADDR_EXPR's of ARRAY_REF's which are immediately
+	used in binary expressions.
+
+2007-01-21  Ira Rosen  <irar@il.ibm.com>
+
+	* tree-vectorizer.h (struct _stmt_vec_info): Add new field
+	read_write_dep and macros for its access.
+	* tree-vectorizer.c (new_stmt_vec_info): Initialize the new field.
+	* tree-vect-analyze.c (vect_analyze_data_ref_dependence): Remove
+	argument, call vect_check_interleaving for every independent pair of
+	data-refs. Mark loads that access the same memory location as a store
+	in the loop.
+	(vect_check_dependences): Remove.
+	(vect_analyze_data_ref_dependences): Remove  vect_check_dependences
+	call, fix the call to vect_analyze_data_ref_dependence.
+	(vect_analyze_data_ref_access): For statements that access the same
+	data-ref, check that they are not stores; for loads, check that there
+	is no store that access the same location.
+
+2007-01-20  Roger Sayle  <roger@eyesopen.com>
+	    Joseph Myers  <joseph@codesourcery.com>
+
+	* doc/invoke.texi (-fdump-rtl-combine): Fix under/overfull hbox.
+	(-fdump-rtl-stack): Likewise.
+	(-fno-signed-zeros): Use @minus{} for a minus sign.  Correct typo.
+	(-mcheck-zero-division, -mcpu): Fix under/overfull hbox.
+	(-mpt-fixed): Use @minus{} for minus sign.
+	(Using Precompiled Headers): Fix under/overfull hbox.
+
+2007-01-20  Jan Hubicka  <jh@suse.cz>
+
+	* tree-flow.h (struct stmt_ann_d): Move references_memory to proper
+	place within annotation.
+
+2007-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa.c (output_move_double): Change array size of xoperands to 4.
+
+2007-01-20  Jan Hubicka  <jh@suse.cz>
+
+	* tree-tailcall.c (adjust_return_value): Do not use RESULT_DECL
+	as temporary.
+
+2007-01-19  Ian Lance Taylor  <iant@google.com>
+
+	* expmed.c (expand_divmod) [TRUNC_MOD_EXPR, TRUNC_DIV_EXPR]: Cast
+	constant to unsigned HOST_WIDE_INT before negating.
+
+2007-01-19  Ian Lance Taylor  <iant@google.com>
+
+	* tree-ssa-operands.h (struct vuse_vec_d): Change num_vuse field
+	to unsigned.
+	(VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Use unsigned comparison.
+	(VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
+	(SET_VUSE_VECT_ELEMENT) [ENABLE_CHECKING]: Likewise.
+	(SET_VUSE_ELEMENT_VAR) [ENABLE_CHECKING]: Likewise.
+	(SET_VUSE_ELEMENT_PTR) [ENABLE_CHECKING]: Likewise.
+	(realloc_vdef, realloc_vuse): Change second parameter to
+	unsigned.
+	(ssa_operand_iterator_d): Change vuse_index and mayuse_index
+	fields to unsigned.
+	* tree-ssa-operands.c (realloc_vop): Change num_elem parameter to
+	unsigned. Change x and lim locals to unsigned.
+	(realloc_vdef, realloc_vuse): Change num_elem parameter to
+	unsigned.
+	(finalize_ssa_vuse_ops): Change old_i local to unsigned.
+	(copy_virtual_operands): Change i and n locals to unsigned.
+
+2007-01-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+	PR middle-end/29335
+	* builtins.c (fold_builtin_1): Handle builtin fdim.
+
+2007-01-20  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa.c (init_tree_ssa): Do not call init_alias_heapvars.
+	* tree-ssa-structalias.c (compute_points_to_sets): Do call
+	init_alias_heapvars.
+	(init_alias_heapvars): Initialize only when not already initialized.
+	(delete_alias_heapvars): Set heapvar_for_stmt to NULL.
+
+2007-01-19  Roger Sayle  <roger@eyesopen.com>
+
+	* common.opt (fsigned-zeros): New command line option.
+	* flags.h (HONOR_SIGNED_ZEROS): Control via flag_signed_zeros instead
+	of flag_unsafe_math_optimizations.
+	* opts.c (set_fast_math_flags): The -ffast-math command line option
+	implies -fno-signed-zeros.
+	(fast_math_flags_set_p): Likewise.
+
+	* doc/invoke.texi: Document new -fno-signed-zeros option, and update
+	the documentation of -ffast-math appropriately.  Wrap long lines.
+
+2007-01-19  Steve Ellcey  <sje@cup.hp.com>
+
+	* system.h (ASM_MAKE_LABEL_LINKONCE): Poison.
+	* varasm.c (globalize_decl): Remove ASM_MAKE_LABEL_LINKONCE ifdef.
+
+2007-01-19  Tomas Bily  <tbily@suse.cz>
+
+	* cgraphunit.c (cgraph_finalize_function): Updating of pid
+	* tree-profile.c:
+	(tree_init_ic_make_global_vars): New function
+	(tree_init_edge_profiler): call of tree_init_ic_make_global_vars
+	(tree_gen_ic_profiler): New function
+	(tree_gen_ic_func_profiler): New function
+	(tree_profiling): Added calling of tree_gen_ic_func_profiler
+	(tree_profile_hooks): Added hook for indirec/virtual calls
+	* value-prof.c (tree_find_values_to_profile): New case for
+	indirect calls
+	(tree_values_to_profile): Call for determining indirect/virtual
+	counters
+	(tree_indirect_call_to_profile): New function
+	(tree_ic_transform): New function
+	(tree_ic): New function
+	(find_func_by_pid): New function
+	(init_pid_map): New function
+	(tree_value_profile_transformations): Added check for
+	indirect/virtual call transformation
+	* value-prof.h (enum hist_type): New counter type for
+	indirect/virtual calls
+	(profile_hooks): Added new hook for profiling indirect/virtual
+	calls
+	* profile.c (instrument_values): New case for indirect/virtual
+	call added
+	* gcov-io.h (GCOV_LAST_VALUE_COUNTER): Changed to 6
+	(GCOV_COUNTER_V_INDIR): New counter type
+	(GCOV_COUNTER_NAMES): New name of counter "indirect" added
+	(GCOV_MERGE_FUNCTIONS): New merge function for indirect/virtual
+	call added
+	* cgraph.c: Definition of cgraph_max_pid
+	(cgraph_create_node): Default init of pid attribute
+	* cgraph.h: Declaration of cgraph_max_pid
+	(struct cgraph_node): Added pid attribute
+	* libgcov.c (__gcov_indirect_call_profiler): New function
+	(__gcov_one_value_profiler_body): New function
+	(__gcov_one_value_profiler): Body was moved to
+	__gcov_one_value_profiler_body and calls it
+
+2007-01-19  Basile Starynkevitch  <basile@starynkevitch.net>
+
+	* doc/gty.texi (Options): Document the mark_hook option to GTY.
+	* gengtype.c (write_types_data, write_func_for_structure,
+	write_types, ggc_wtd, pch_wtd): Add skip_hooks to
+	write_types_data, ggc_wtd, pch_wtd for processing mark_hook.
+	(walk_type, write_func_for_structure): Generate the mark_hook if
+	needed.
+
+2007-01-19  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-inline.c (cgraph_decide_inlining_incrementally): Instead of
+	'early' argument take inlining mode argument specifying whether to
+	inline for size/speeed or all functions; add support for flattening;
+	improve dumpting.
+	(cgraph_early_inlining): Update call of decide_inlining_incrementally.
+
+2007-01-19  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c++/17947
+	* toplev.c (warn_deprecated_use): Use %qD instead of %qs to print
+	the name of the declared identifier.
+
+2007-01-19  Dirk Mueller  <dmueller@suse.de>
+
+	* config/i386.h (CONDITIONAL_REGISTER_USAGE): Store
+	result of PIC_OFFSET_TABLE_REGNUM in temporary variable to avoid
+	duplicate evaluation.
+
+2007-01-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (acos<mode>2): Rename from acossf2 and acosdf2.
+	Macroize expander using X87MODEF12 mode macro.  Extend operand 1
+	to XFMode, use acosxf2 and truncate result to requested mode.
+	Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
+	(asin<mode>2): Similarly, with asin expanders.
+	(*fscalexf4_i387): Rename from *fscalexf4.
+	(expNcorexf3): New expander.
+	(expxf2, exp10xf2, exp2xf2): Use expNcorexf3 expander.
+	(exp<mode>2): Rename from expsf2 and expdf2. Macroize expander using
+	X87MODEF12 mode macro.  Extend operand 1 to XFMode, use expxf2 and
+	truncate result to requested mode. Use SSE_FLOAT_MODE_P to disable
+	patterns for SSE math.
+	(exp10<mode>2): Similarly, with exp10 expanders.
+	(exp2<mode>2): Similarly, with exp2 expanders.
+	(expm1<mode>2): Similarly, with expm1 expanders.
+	(ldexp<mode>3): Similarly, with ldexp expanders.
+	(log<mode>2, log10<mode>2, log2<mode>2, log1p<mode>2, logb<mode>2):
+	Use gen_truncxf<mode>2_i387_noop to truncate result.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (PREFERRED_STACK_BOUNDARY): Define to 32
+	for ColdFire targets.
+
+2007-01-19  Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New macro.
+	(INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
+	(__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
+	* config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Override.
+	(M68K_STATIC_CHAIN_REG_NAME): Likewise.
+	* config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (adddi_dilshr32): Rename to...
+	(*adddi_dilshr32): ...this.  Fix formatting.  Remove commented-out
+	non-canonical pattern.  Restrict to !TARGET_COLDFIRE.
+	(*adddi_dilshr32_cf): New pattern.
+	(adddi3, subdi3): Remove first alternatives.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.c (notice_update_cc): If an SFmode move is
+	implemented using move.l, do not use its cc result for floating-point
+	comparisons.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Stop the 'T' constraint
+	from accepting 's' constraints if flag_pic.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (bordered, bunordered, buneq, bunge, bungt)
+	(bunle, bunlt, bltgt, bordered_rev, bunordered_rev, buneq_rev)
+	(bunge_rev, bungt_rev, bunle_rev, bunlt_rev, bltgt_rev): Change
+	condition from TARGET_68881 to TARGET_HARD_FLOAT.
+
+2007-01-19  Sandra Loosemore  <sandra@codesourcery.com>
+
+	* 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
+	architectures that support ff1 instruction.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
+	* config/m68k/m68k.md (*movsi_cfv4): Fold into...
+	(*movsi_cf): ...here.  Remove unnecessary 'R' from 'Rg'.
+	Add commentary.
+
+2007-01-19  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
+	and return a bool.
+	(output_move_const_into_data_reg, output_move_simode_const): Delete.
+	* config/m68k/m68k.c (const_method, const_int_cost): Take a
+	HOST_WIDE_INT instead of an rtx.
+	(m68k_rtx_costs): Update call accordingly.
+	(output_move_const_into_data_reg): Likewise.  Fix formatting.
+	(valid_mov3q_const): Take a HOST_WIDE_INT instead of an rtx.
+	Return a bool.
+	(output_move_simode_const): Update calls after above changes.
+	Rework to use automatic variables and predicates like MEM_P.
+	* config/m68k/m68k.md (pushexthisi_const): Update call to
+	valid_mov3q_const.
+
+2007-01-19  Dirk Mueller  <dmueller@suse.de>
+
+	* tree-ssa-alias.c (perform_var_substitution): Fix typo
+	in dump_flags test.
+
+2007-01-19  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (expand_builtin_cexpi): Fall back to expanding
+	via cexp in case sincos is not available.
+
+2007-01-19  Richard Guenther  <rguenther@suse.de>
+
+	* doc/tm.texi (TARGET_HAS_SINCOS): Document new target macro.
+	* defaults.h (TARGET_HAS_SINCOS): Default to off.
+	* config/linux.h (TARGET_HAS_SINCOS): Set to on if we have glibc.
+	* config/alpha/linux.h (TARGET_HAS_SINCOS): Likewise.
+	* config/sparc/linux.h (TARGET_HAS_SINCOS): Likewise.
+	* config/sparc/linux64.h (TARGET_HAS_SINCOS): Likewise.
+	* config/rs6000/linux.h (TARGET_HAS_SINCOS): Likewise.
+	* config/rs6000/linux64.h (TARGET_HAS_SINCOS): Likewise.
+
+2007-01-19  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*fpatanxf3_i387, fpatan_extend<mode>xf3_i387):
+	New insn patterns.
+	(atan2sf3_1, atan2df3_1, atan2xf3_1): Remove insn patterns.
+	(atan2xf3): Directly generate RTL pattern.
+	(atan2<mode>3): Rename from atan2sf3 and atan2df3 and macroize insn
+	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
+	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
+	disable patterns for SSE math.
+	(atan<mode>2): Rename from atansf2 and atandf2 and macroize insn
+	patterns using X87MODEF12 mode macro.  Use fpatan_extend<mode>xf3_i387
+	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
+	disable patterns for SSE math.
+
+2007-01-19  Alexandre Oliva  <aoliva@redhat.com>
+
+	* libgcc-std.ver: Fix typo in %inherit for GCC_4.3.0.
+
+2007-01-18  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (fold_unary) <VIEW_CONVERT_EXPR>: Optimize away a
+	VIEW_CONVERT_EXPR to the same type as it's operand.
+
+2007-01-18  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/darwin-ldouble.c: Only build _SOFT_FLOAT if
+	configured for long double 128.
+
+2007-01-18  Mike Stump  <mrs@apple.com>
+
+	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Fix build
+	error.
+
+2007-01-18  Michael Meissner  <michael.meissner@amd.com>
+
+	* config/i386/i386.c (ix86_compute_frame_layout): Make fprintf's
+	in #if 0 code type correct.
+
+2007-01-18  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-operands.c (vop_free_bucket_size): Never return value
+	greater than NUM_VOP_FREE_BUCKETS.
+
+2007-01-18  Daniel Berlin  <dberlin@dberlin.org>
+
+	* tree-ssa-structalias.c: Update comments.
+	(ptabitmap_obstack): Removed.
+	(pta_obstack): New.
+	(oldpta_obstack): Ditto.
+	(stats): Add a few members.
+	(struct variable_info): Remove node, complex, address_taken, and
+	indirect_target members. Add oldsolution member.
+	(new_var_info): Do not initialize removed members.
+	(constraint_expr_type): Remove INCLUDES.
+	(constraint_graph): Add size, implicit_preds, rep,
+	indirect_cycles, eq_rep, label, direct_nodes, and complex members.
+	(FIRST_REF_NODE): New macro.
+	(LAST_REF_NODE): Ditto.
+	(FIRST_ADDR_NODE): Ditto.
+	(find): New function.
+	(unite): Ditto.
+	(dump_constraint): Do not handle INCLUDES.
+	(insert_into_complex): Do not insert duplicate constraints.
+	(condense_varmap_nodes): Renamed and rewritten into ...
+	(merge_node_constraints): This. Also fix bug in handling of
+	offseted copy constraints.
+	(clear_edges_for_node): No longer need to deal with preds at all,
+	or removing associated preds/succs.
+	(merge_graph_nodes): Deal with indirect_cycles.
+	Don't deal with predecessors.
+	(add_implicit_graph_edge): New function.
+	(add_pred_graph_edge): Ditto.
+	(add_graph_edge): Don't deal with predecessors.
+	(build_constraint_graph): Removed.
+	(build_pred_graph): New function.
+	(build_succ_graph): Ditto.
+	(struct scc_info): Removed in_component. Added roots, dfs, and
+	node_mapping. Remove visited_index, unification_queue.
+	(scc_visit): Deal with union-find we do now.
+	Deal with cycles with REF nodes.
+	(collapse_nodes): Renamed and rewritten to ...
+	(unify_nodes): This.
+	(process_unification_queue): Removed.
+	(topo_visit): Cleanup
+	(do_da_constraint): Use find.
+	(do_sd_constraint): Ditto.
+	(do_ds_constraint): Ditto.
+	(do_complex_constraint): Ditto.
+	(init_scc_info): Update for removed and added members.
+	(find_and_collapse_graph_cycles): Renamed and rewritten into ...
+	(find_indirect_cycles): This.
+	(equivalence_class): New variable.
+	(label_visit): New function.
+	(perform_variable_substitution): Rewritten.
+	(free_var_substitution_info): New function.
+	(find_equivalent_node): Ditto.
+	(move_complex_constraints): Ditto.
+	(eliminate_indirect_cycles): Ditto.
+	(solve_graph): Only propagate changed bits.
+	Use indirect cycle elimination.
+	Use find.
+	(tree_id_t): Rename to tree_vi_t, delete id member, add vi member.
+	(tree_id_eq): Renamed to ...
+	(tree_vi_eq): This. Update for member change
+	(insert_id_for_tree): Renamed and rewritten to ...
+	(insert_vi_for_tree): This.
+	(lookup_id_for_tree): Renamed and rewritten to ...
+	(lookup_vi_for_tree): This.
+	(get_id_for_tree): Renamed and rewritten to ...
+	(get_vi_for_tree): Ditto.
+	(get_constraint_exp_from_ssa_var): Update to use get_vi_for_tree.
+	(process_constraint): Don't handle INCLUDES.
+	Remove special ADDRESSOF case.
+	(find_func_aliases): Rewrite to use vi functions instead of id
+	ones.
+	(create_function_info_for): Ditto.
+	(create_variable_info_for): Ditto.
+	(intra_create_variable_infos): Ditto.
+	(merge_smts_into): Ditto.
+	(find_what_p_points_to): Ditto.
+	(init_base_vars): Ditto.
+	(init_alias_vars): Ditto.
+	(remove_preds_and_fake_succs): New function.
+	(dump_sa_points_to_info): Dump new stats.
+	(dump_solution_for_var): Use find.
+	(set_used_smts): Fix formatting.
+	(compute_points_to_sets): Updated for new functions.
+	(ipa_pta_execute): Ditto.
+
+2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/tm.texi (TARGET_FUNCTION_VALUE): Expand documentation of
+	parallels.
+	* calls.c (expand_call): If the return value is a PARALLEL,
+	extract its first member.
+	* config/m68k/linux.h (FUNCTION_EXTRA_EPILOGUE): Remove.
+	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
+	use FUNCTION_EXTRA_EPILOGUE.
+	(m68k_function_value): Return a PARALLEL if the return value
+	is of a pointer type.
+	* config/m68k/netbsd-elf.h (current_function_returns_pointer)
+	(FUNCTION_EXTRA_EPILOGUE): Remove.
+	* config/m68k/m68k.md (D0_REG): New constant.
+
+2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_output_function_epilogue): Don't
+	output a NOP for empty epilogues.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.c (m68k_use_return_insn): Update comments
+	before function.  Extend register save check to include all
+	registers, not just integer ones.
+
+2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/m68k/m68k-protos.h (use_return_insn): Rename to...
+	(m68k_use_return_insn): ...this.
+	* config/m68k/m68k.h (USE_RETURN_INSN): Delete.
+	* config/m68k/m68k.c (use_return_insn): Rename to...
+	(m68k_use_return_insn): ...this.
+	* config/m68k/m68k.md (return): Use m68k_use_return_insn instead
+	of USE_RETURN_INSN.
+
+2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/fpgnulib.c (__truncdfsf2): Implement round to
+	nearest even, fix denormal rounding overflow.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (movsf_cf_hard): Use fsmove instead of
+	f%$smove and f%$move.
+	(movdf_cf_hard): Use fdmove for cases 0 and 3 and fmove for case 1.
+	(extendsfdf2_cf): Use fdmove instead of f%&move.
+	(truncdfsf2_cf): Use fsmove instead of f%$smove.
+	(add<mode>3_cf, sub<mode>3_cf): Use <FP:prec> instead of <FP:round>.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (movdf_cf_hard): Use output_move_double for
+	GPR<-GPR moves.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* real.h (real_format): Add a canonical_nan_lsbs_set field.
+	(coldfire_single_format): Declare.
+	(coldfire_double_format): Likewise.
+	* real.c (encode_ieee_single): Use canonical_nan_lsbs_set instead
+	of qnan_msb_set to determine the lower bits of a canonical
+	NaN significand.
+	(encode_ieee_double): Likewise.
+	(encode_ieee_quad): Likewise.
+	(ieee_single_format): Initialize canonical_nan_lsbs_set.
+	(mips_single_format): Likewise.
+	(ieee_double_format): Likewise.
+	(mips_double_format): Likewise.
+	(ieee_extended_motorola_format): Likewise.
+	(ieee_extended_intel_96_format): Likewise.
+	(ieee_extended_intel_128_format): Likewise.
+	(ieee_extended_intel_96_round_53_format): Likewise.
+	(ibm_extended_format): Likewise.
+	(mips_extended_format): Likewise.
+	(ieee_quad_format): Likewise.
+	(mips_quad_format): Likewise.
+	(vax_f_format): Likewise.
+	(vax_d_format): Likewise.
+	(vax_g_format): Likewise.
+	(i370_single_format): Likewise.
+	(i370_double_format): Likewise.
+	(decimal_single_format): Likewise.
+	(decimal_double_format): Likewise.
+	(decimal_quad_format): Likewise.
+	(c4x_single_format): Likewise.
+	(c4x_extended_format): Likewise.
+	(real_internal_format): Likewise.
+	(coldfire_single_format): New real_format.
+	(coldfire_double_format): Likewise.
+	* config/pdp11/pdp11.c (pdp11_f_format): Initialize
+	canonical_nan_lsbs_set.
+	(pdp11_d_format): Likewise.
+	* config/m68k/m68k.c (override_options): Override REAL_FORMAT_MODE
+	if TARGET_COLDFIRE_CPU.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k-protos.h (m68k_output_pic_call): Delete.
+	(output_call, m68k_legitimize_call_address): Declare.
+	* config/m68k/m68k.h (EXTRA_CONSTRAINT): Remove unnecessary
+	parenthesees.  Add support for a 'W' constraint.
+	(LEGITIMATE_PIC_OPERAND_P): Remove SYMBOL_REF_FLAG handling.
+	(PRINT_OPERAND_PUNCT_VALID_P): Remove comment about 'o'.
+	(m68k_symbolic_call, m68k_symbolic_jump): Declare.
+	* config/m68k/m68k.c (m68k_symbolic_call, m68k_symbolic_jump): New
+	variables.
+	(override_options): Initialize them.  Do not set flag_no_function_cse
+	for TARGET_ID_SHARED_LIBRARY.
+	(m68k_output_pic_call): Delete.
+	(m68k_legitimize_call_address): New function.
+	(print_operand): Remove the %o prefix.  Handle the %p prefix.
+	(output_call): New function.
+	(m68k_output_mi_thunk): Use m68k_symbolic_jump.  Always load the
+	target address from the GOT if symbolic jumps are not allowed.
+	* config/m68k/m68k.md (call, general_operand): Do not set
+	SYMBOL_REF_FLAG.  Use m68k_legitimize_call_address instead.
+	Merge separate flag_pic and !flag_pic define_insns into...
+	(*call, *call_value): ...these new patterns.  Match the address
+	rather than the containing MEM and require it to be a call_operand.
+	Use output_call to generate the asm template.
+	* config/m68k/predicates.md (const_call_operand): New predicate.
+	(call_operand): Likewise.
+
+2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k.h (REGISTER_MOVE_COST): Simplify definition.
+	(STACK_GROWS_DOWNWARD): Define to 1.
+	(FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Equivocate
+	comments, emphasizing that these values are only defaults.
+	* config/m68k/linux.h (LINK_SPEC): Fix formatting in #undef.
+	* config/m68k/m68k.c (const_method): Remove trailing whitespace.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.md (cmpsi): Remove outdated flag_pic handling.
+
+2007-01-18  Kazu Hirata  <kazu@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (DATA_REGNO_P, ADDRESS_REGNO_P, INT_REGNO_P)
+	(FP_REGNO_P): New macros.
+	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_DATA_P)
+	(REGNO_OK_FOR_FP_P, REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Use them.
+	(EH_RETURN_STACKADJ_RTX): Use A0_REG.
+	* config/m68k/m68k.c (m68k_regno_mode_ok): Use the new REGNO macros.
+
+2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+	(m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-rtems*): Add t-floatlib
+	to $tmake_file.
+	* config/m68k/t-floatlib: New file, extracting common code from...
+	* config/m68k/t-m68kbare, config/m68k/t-m68kelf,
+	* config/m68k/t-uclinux: Here.
+	* config/m68k/fpgnulib.c: Do not compile extendeed precision
+	routines on ColdFire targets.
+
+2007-01-18  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+	(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*)
+	(m68k-*-uclinuxoldabi, m68k-*-uclinux*, m68k-*-linux*)
+	(m68k-*-rtems*): Use tm_file rather than m68k/m68k.h and
+	explicitly set MOTOROLA to 1.
+	* config/m68k/m68k.h (MOTOROLA): Simplify definition accordingly.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+	    Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k.h (PCC_STATIC_STRUCT_RETURN): Delete.
+	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add MOTOROLA cases.
+	* config/m68k/coff.h (REGISTER_PREFIX_MD): Delete.
+	* config/m68k/m68020-elf.h (LIB_SPEC): Delete.
+	* config/m68k/m68k-none.h (CC1_SPEC, CPP_SUBTARGET_SPEC): Delete.
+	* config/m68k/m68kelf.h (IMMEDIATE_PREFIX, REGISTER_PREFIX_MD)
+	(ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+	(NO_DOLLAR_IN_LABEL, PCC_STATIC_STRUCT_RETURN): Don't undefine.
+	(BSS_ASM_OP, ASM_OUTPUT_SKIP, ASM_OUTPUT_ASCII): Delete.
+	* config/m68k/m68kemb.h (PCC_STATIC_STRUCT_RETURN): Don't undefine.
+	* config/m68k/linux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE)
+	(WCHAR_TYPE_SIZE, TARGET_OBJFMT_CPP_BUILTINS): Delete.
+	(TARGET_OS_CPP_BUILTINS): Don't define mc68000 and mc68020 here.
+	(DBX_REGISTER_NUMBER): Delete.
+	* config/m68k/netbsd-elf.h (IMMEDIATE_PREFIX): Delete.
+	(PCC_STATIC_STRUCT_RETURN): Don't undefine.
+	* config/m68k/openbsd.h (PCC_STATIC_STRUCT_RETURN): Define.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (m68k-*-uclinux*): Add flat.h to $tm_file.
+	* config/flat.h: New file.
+	* crtstuff.c (USE_PT_GNU_EH_FRAME): Don't define if
+	OBJECT_FORMAT_FLAT.
+	* config/m68k/m68k.h (ASM_PREFERRED_EH_DATA_FORMAT): Do not use
+	indirect references for -msep-data or -mid-shared-library.
+	Do not use PC-relative code addresses either.
+	* config/m68k/m68k.c (override_options): Restrict -fPIC error
+	to -mpcrel.
+	* config/m68k/uclinux.h (STARTFILE_SPEC): Define.  Use Scrt1.o
+	for shared libraries and crt1.o for executables.  Use crti.o and
+	crtbegin.o.
+	(ENDFILE_SPEC): Use crtend.o and crtn.o.
+	(LIB_SPEC): Suppress -Rlibc.gdb if -static-libc is given.
+	Do not add -elf2flt or -shared-lib-id options here.
+	(LINK_SPEC): Define.  Pass -elf2flt if no -elf2flt option is given.
+	Pass -shared-lib-id if -mid-shared-library, taking the library
+	identifier from -mshared-library-id if given, otherwise
+	defaulting to 0.
+	(EH_FRAME_IN_DATA_SECTION): Do not undefine.
+	(INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Likewise.
+	(TARGET_OS_CPP_BUILTINS): Define __GXX_MERGED_TYPEINFO_NAMES=0
+	and __GXX_TYPEINFO_EQUALITY_INLINE=0 if -mid-shared-library.
+	(DRIVER_SELF_SPECS): Map unadorned PIC options to -msep-data.
+	* config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Add crtbegin.o
+	and crtend.o.
+	* config/m68k/lb1sf68.asm (PICCALL): Use an lea and pc-relative
+	jump sequence for ISA A and ISA A+.
+	(PICJUMP): Likewise.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (m68k-*-uclinux*): Base the port on the common
+	and m68k GNU/Linux files rather than on the generic ELF ones.
+	* config/m68k/uclinux.h (TARGET_VERSION): Override.
+	(TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
+
+2007-01-18  Julian Brown  <julian@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (LONG_DOUBLE_TYPE_SIZE): Make 64-bit on ColdFire.
+	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
+	* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Undefine
+	before redefining.
+	* config/m68k/uclinux-oldabi.h (LONG_DOUBLE_TYPE_SIZE): Redefine to
+	80 unconditionally.
+	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Likewise.
+
+2007-01-18  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/install.texi: Document m68k-uclinuxoldabi.
+	* config.gcc (m68k-*-uclinuxoldabi): New configuration.
+	* config/m68k/uclinux-oldabi.h: New file, copied from
+	config/m68k/uclinux.h.
+
+2007-01-18  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
+
+	* config/m32r/m32r-protos.h (m32r_expand_epilogue): Declare it.
+	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Use gen_frame_mem.
+	(m32r_compute_frame_size): Use unsigned for regno.
+	(m32r_reload_lr): Use gen_frame_mem.
+	(pop): New.
+	(m32r_output_function_epilogue): Don't output the function epilogue
+	textually here.
+	(m32r_expand_epilogue): New.
+	(direct_return): Return false if the function has the interrupt
+	attribute.
+	(m32r_hard_regno_rename_ok): Remove code for the textual epilogue.
+	* config/m32r/m32r.md (epilogue): New expander.
+	(return_lr, return_rte): New insns.
+	(return): Make it expander.
+	(return_normal): New expander.
+
+2007-01-18  Josh Conner  <jconner@apple.com>
+
+	PR target/30485
+	* config/rs6000/rs6000.c (rs6000_emit_vector_compare): Add
+	support for UNLE, UNLT, UNGE, and UNGT.
+
+2007-01-18  Jan Hubicka  <jh@suse.cz>
+
+	* tree-vrp.c (finalize_jump_threads): Do not call cleanup_cfg by hand.
+	* tree-tailcall (add_virtual_phis): Likewise.
+	(optimize_tail_call): Return TODOs.
+	(execute_tail_calls): Return TODOs.
+	* tree-ssa-ccp (execute_fold_all_builtins): Do cleanup_cfg via TODO.
+	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Return if something
+	changed.
+	* tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_value):
+	Cleanup cfg using TODO.
+	* tree-flow.h (cleanup_tree_cfg_loop): Update prototype.
+	* passes.c (execute_function_todo): When cleanup did something, remove
+	unused locals.
+	* tree-cfg.c (pass_build_cfg): Add cleanup_cfg TODO.
+	(make_edges): Don't cleanup_cfg.
+
+2007-01-18  Uros Bizjak  <ubizjak@gmail.com>
+
+	* reg-stack.c (subst_stack_regs_pat) [UNSPEC_SINCOS_COS,
+	UNSPEC_XTRACT_FRACT]: Use generic code for instructions that
+	operate on the top of stack.
+	[UNSPEC_SINCOS_SIN, UNSPEC_XTRACT_EXP, UNSPEC_TAN]: Rewrite
+	register handling of instructions that output to the second
+	stack slot.
+	[UNSPEC_TAN_ONE, UNSPEC_TAN_TAN]: Remove.
+	(move_for_stack_reg): Special-case check for dead destination
+	stack slot for constant load of 1.0 inside UNSPEC_TAN.
+
+	* config/i386/i386.md (UNSPEC_TAN): New constant.
+	(UNSPEC_TAN_ONE, UNSPEC_TAN_TAN): Remove.
+	(fptanxf4_i387, fptan_extend<mode>xf4_i387): New patterns
+	to correctly model move of constant 1.0 to top stack slot.
+	(*tandf3_1, *tansf3_1, *tanxf3_1): Remove insn patterns.
+	(unnamed peephole2 pattern): Remove corresponding peephole2
+	pattern that optimizes tan insn and loading of constant 1.0.
+	(tanxf2): Use fptanxf4_i387.
+	(tan<mode>2): Rename from tansf2 and tandf2 and macroize insn
+	patterns using X87MODEF12 mode macro.  Use fptan_extend<mode>xf4_i387
+	and truncate result to requested mode.  Use SSE_FLOAT_MODE_P to
+	disable patterns for SSE math.
+	(sincos<mode>3): Use truncxf<mode>2_i387_noop for truncation.
+	(fyl2x_extend<mode>xf3_i387): Use X87MODEF12 for operand 1.
+
+2007-01-18  Dirk Mueller  <dmueller@suse.de>
+	    Richard Guenther <rguenther@suse.de>
+
+	PR diagnostic/8268
+	* doc/invoke.texi (Warray-bounds): Document -Warray-bounds.
+	* common.opt (Warray-bounds): Add new warning option.
+	* c-opts.c (c_common_handle_option): Define -Warray-bounds
+	if -Wall is given.
+	* Makefile.in: make tree-vrp.o depend on toplev.h
+	* tree-vrp.c (vrp_finalize): Call check_array_refs if -Warray-bounds
+	is enabled.
+	(check_array_refs, check_array_bounds, check_array_ref): New.
+
+2007-01-18  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-ccp.c (ccp_finalize): Return if something changed.
+	(execute_ssa_ccp): Return flags conditionally.
+	* tree-ssa-propagate.c (substitue_and_fold): Return if something was
+	changed.
+	* tree-ssa-propagate.h (substitute_and_fold): Update prototype.
+
+2007-01-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* cfgcleanup.c (cleanup_cfg): Detect cfglayout mode and set
+	the CLEANUP_CFGLAYOUT flag when in cfglayout mode.
+
+	* Makefile.c (GTFILES): Add cfglayout.h.
+	* gengtype.c (open_base_files): Likewise.
+	* cfglayout.c (cfg_layout_function_footer,
+	cfg_layout_function_header) Reindent to make gengtype happy.
+	* cfglayout.h (cfg_layout_function_footer,
+	cfg_layout_function_header): Add GTY(()) marker.
+
+	* ifcvt.c (noce_try_sign_mask): Make sure INSN_B is non-null.
+
+2007-01-18  Ben Elliston  <bje@au.ibm.com>
+
+	* genautomata.c (write_automata): Include xstrerror output in the
+	error message if writing the DFA description file fails.
+
+2007-01-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* config/mips/mips-protos.h (mips_output_external): Make it
+	return void.
+	* config/mips/iris.h (TARGET_ASM_EXTERNAL_LIBCALL): Removed.
+	* config/mips/mips.c (irix_output_external_libcall): Likewise.
+	(extern_list): Likewise.
+	(extern_head): Likewise.
+	(TARGET_ASM_FILE_END): Likewise.
+	(mips_file_end): Likewise.
+	(mips_output_external): Rewritten.
+
+2007-01-18  Ben Elliston  <bje@au.ibm.com>
+
+	* genpreds.c (write_insn_preds_c): Only write out the function
+	body for regclass_for_constraint if we have register constraints.
+
+2007-01-17  Tom Tromey  <tromey@redhat.com>
+
+	* doc/sourcebuild.texi (libgcj Tests): Use sourceware.org.
+	* doc/install.texi (Testing): Use sourceware.org.
+	(Binaries): Likewise.
+	(Specific): Likewise.
+	* doc/contrib.texi (Contributors): Use sourceware.org.
+
+2007-01-17  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr.h (AVR_HAVE_LPMX): New macro.
+	(AVR_ENHANCED): Rename to ...
+	(AVR_HAVE_MUL): ... new.
+	(avr_enhanced_p): Rename to ...
+	(avr_have_mul_p): ... new.
+	(TARGET_CPU_CPP_BUILTINS): Use 'avr_have_mul_p' instead of
+	'avr_enhanced_p' for "__AVR_ENHANCED__". Define "__AVR_HAVE_MUL__".
+	* config/avr/avr.c (avr_enhanced_p): Rename to ...
+	(avr_have_mul_p): ... new.
+	(base_arch_s): Rename 'enhanced' to 'have_mul'.
+	(avr_override_options): Use 'avr_have_mul_p' and 'have_mul' instead of
+	'avr_enhanced_p' and 'enhanced'.
+	(ashlhi3_out, ashrhi3_out, lshrhi3_out, avr_rtx_costs): Use
+	AVR_HAVE_MUL instead of AVR_ENHANCED.
+	* avr.md (*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED.
+	(mulqi3, *mulqi3_enh, *mulqi3_call, mulqihi3, umulqihi3, mulhi3,
+	*mulhi3_enh, *mulhi3_call, mulsi3, *mulsi3_call): Use AVR_HAVE_MUL
+	instead of AVR_ENHANCED.
+	(*tablejump_enh): Use AVR_HAVE_LPMX instead of AVR_ENHANCED.
+	* libgcc.S: Use __AVR_HAVE_MUL__ instead of __AVR_ENHANCED__.
+	(__tablejump__): Use __AVR_HAVE_LPMX__ instead of __AVR_ENHANCED__.
+
+2007-01-17  Ian Lance Taylor  <iant@google.com>
+
+	* vec.h (VEC_reserve_exact): Define.
+	(vec_gc_p_reserve_exact): Declare.
+	(vec_gc_o_reserve_exact): Declare.
+	(vec_heap_p_reserve_exact): Declare.
+	(vec_heap_o_reserve_exact): Declare.
+	(VEC_OP (T,A,reserve_exact)): New static inline function, three
+	versions.
+	(VEC_OP (T,A,reserve)) [all versions]: Remove handling of
+	negative parameter.
+	(VEC_OP (T,A,alloc)) [all versions]: Call ...reserve_exact.
+	(VEC_OP (T,A,copy)) [all versions]: Likewise.
+	(VEC_OP (T,a,safe_grow)) [all versions]: Likewise.
+	* vec.c (calculate_allocation): Add exact parameter.  Change all
+	callers.
+	(vec_gc_o_reserve_1): New static function, from vec_gc_o_reserve.
+	(vec_gc_p_reserve, vec_gc_o_reserve): Call vec_gc_o_reserve_1.
+	(vec_gc_p_reserve_exact, vec_gc_o_reserve_exact): New functions.
+	(vec_heap_o_reserve_1): New static function, from vec_heap_o_reserve.
+	(vec_heap_p_reserve, vec_heap_o_reserve): Call vec_heap_o_reserve_1.
+	(vec_heap_p_reserve_exact): New function.
+	(vec_heap_o_reserve_exact): New function.
+
+2007-01-17  Jan Hubicka  <jh@suse.cz>
+
+	* ipa-type-escape.c (look_for_casts): Revamp using handled_component_p.
+
+2007-01-17  Eric Christopher  <echristo@apple.com>
+
+	* config.gcc: Support core2 processor.
+
+2007-01-16  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssanames.c (release_dead_ssa_names): Instead of ggc_freeing
+	the names, just unlink the chain so we don't crash on dangling
+	pointers
+	to dead SSA names.
+
+2007-01-16  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.h (cgraph_decide_inlining_incrementally): Kill.
+	* tree-pass.h: Reorder to make IPA passes appear toegher.
+	(pass_early_inline, pass_inline_parameters, pass_apply_inline):
+	Declare.
+	* cgraphunit.c (cgraph_finalize_function): Do not compute inling
+	parameters, do not call early inliner.
+	* ipa-inline.c: Update comments.  Include tree-flow.h
+	(cgraph_decide_inlining): Do not compute inlining parameters.
+	(cgraph_decide_inlining_incrementally): Return TODOs; assume to
+	be called with function context set up.
+	(pass_ipa_inline): Remove unreachable functions before pass.
+	(cgraph_early_inlining): Simplify assuming to be called from the
+	PM as local pass.
+	(pass_early_inline): New pass.
+	(cgraph_gate_ipa_early_inlining): New gate.
+	(pass_ipa_early_inline): Turn into simple wrapper.
+	(compute_inline_parameters): New function.
+	(gate_inline_passes): New gate.
+	(pass_inline_parameters): New pass.
+	(apply_inline): Move here from tree-optimize.c
+	(pass_apply_inline): New pass.
+	* ipa.c (cgraph_remove_unreachable_nodes): Verify cgraph after
+	transforming.
+	* tree-inline.c (optimize_inline_calls): Return TODOs rather than
+	doing them by hand.
+	(tree_function_versioning): Do not allocate dummy struct function.
+	* tree-inline.h (optimize_inline_calls): Update prototype.
+	* tree-optimize.c (execute_fixup_cfg): Export.
+	(pass_fixup_cfg): Remove
+	(tree_rest_of_compilation): Do not apply inlines.
+	* tree-flow.h (execute_fixup_cfg): Declare.
+	* Makefile.in (gt-passes.c): New.
+	* passes.c: Include gt-passes.h
+	(init_optimization_passes): New passes.
+	(nnodes, order): New static vars.
+	(do_per_function_toporder): New function.
+	(execute_one_pass): Dump current pass here.
+	(execute_ipa_pass_list): Don't dump current pass here.
+
+2007-01-16  Janis Johnson  <janis187@us.ibm.com>
+
+	* config/dfp-bit.c (dfp_compare_op): Return separate value for NaN.
+	(DFP_NE, DFP_LE, DFP_GE): Return false for NaN.
+
+2007-01-16  David Edelsohn  <edelsohn@gnu.org>
+
+	* config/rs6000/darwin-ldouble.c: Build file for SOFT_FLOAT.
+	(strong_alias): Define.
+	(__gcc_qmul): Provide non-FMA for soft-float.
+	(__gcc_qdiv): Same.
+	(__gcc_qneg): New.
+	(__gcc_qeq): New.
+	(__gcc_qle): New.
+	(__gcc_qge): New.
+	(__gcc_qunord): New.
+	(__gcc_stoq): New.
+	(__gcc_dtoq): New.
+	(__gcc_qtos): New.
+	(__gcc_qtod): New.
+	(__gcc_qtoi): New.
+	(__gcc_qtou): New.
+	(__gcc_itoq): New.
+	(__gcc_utoq): New.
+	(fmsub): New.
+	* config/rs6000/rs6000.c (rs6000_init_libfuncs): Initialize
+	soft-float functions.
+	* config/rs6000/libgcc-ppc-glibc.ver: Version soft-float symbols.
+	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Do not warn
+	about long double soft float.
+
+2007-01-16  Dorit Nuzman  <dorit@il.ibm.com>
+	    Tehila Meyzels  <tehila@il.ibm.com>
+
+	* tree-vectorizer.h (is_pattern_stmt_p): New.
+	* tree-vect-analyze.c (vect_determine_vectorization_factor): Fix
+	formatting (tabs instead of spaces). Cleanup and clarify setting
+	of STMT_VINFO_VECTYPE. Call is_pattern_stmt_p.
+	* tree-vect-transform.c (vect_get_vec_def_for_operand): Fix typo.
+	(vectorizable_type_demotion): Check that types are integral.
+	(vectorizable_type_promotion): Likewise.
+	(vectorizable_store): Fix typo.  Eliminate new-line at end of
+	comments.
+
+2007-01-16  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssanames.c (release_dead_ssa_names): Remove invalidated
+	cgraph edges too.
+
+2007-01-15  Eric Christopher  <echristo@apple.com>
+
+	* ifcvt.c: Include vec.h, vecprim.h.
+	(check_cond_move_block): New argument regs.
+	Reorganize. Add registers used to regs.
+	(cond_move_process_if_block): Use regs set above as
+	loop bounds.
+
+2007-01-15  Eric Christopher  <echristo@apple.com>
+
+	* config/darwin.h: Update copyright.
+	(TARGET_OPTION_TRANSLATE_TABLE): Add umbrella.
+	(LINK_COMMAND_SPEC): Add -u.
+	(LINK_SPEC): Fix umbrella for above.
+
+2007-01-15  Joseph S. Myers  <joseph@codesourcery.com>
+
+	* config/soft-fp/op-common.h, config/soft-fp/op-4.h: Update from
+	glibc CVS.
+
+2007-01-15  Tom Tromey  <tromey@redhat.com>
+
+	* doc/sourcebuild.texi (libgcj Tests): Don't mention jacks.
+	* doc/install.texi (Testing): Don't mention jacks.
+	(Configuration): Document --enable-java-maintainer-mode.  Move
+	--with-java-home to libgcj-specific section.  Document
+	--with-ecj-jar.
+	(Prerequisites): Mention --enable-java-maintainer-mode, ecj1.
+
+2007-01-15  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-dce.c (DCE_TODOs): New.
+	(propagate_necessity): Return if something changed.
+	(eliminate_unnecessary_stmts): Likewise.
+	(perform_tree_ssa_dce): Return TODO flags when needed.
+	(pass_dce, pass_dce_loop, pass_cd_dce): Remove TODO flags.
+
+2007-01-15  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (fyl2xxf3_i387): Rename from fyl2x_xf3.
+	(fyl2x_extend<mode>xf3_i387): New insn pattern.
+	(log<mode>2): Rename from logsf2 and logdf2 and macroize insn
+	patterns using X87MODEF12 mode macro.  Extend operand 1
+	to XFmode. Use SSE_FLOAT_MODE_P to disable patterns for SSE math.
+	(log10<mode>2): Ditto.
+	(log2<mode>2): Ditto.
+	(log1p<mode>2): Ditto.
+	(logb<mode>2): Ditto.
+	(fyl2xp1xf3_i387): Rename from fyl2xp1_xf3.
+	(fyl2xp1_extend<mode>xf3_i387): New insn pattern.
+	(*fxtractxf3_i387): Rename from *fxtractxf3.
+	(fxtract_extend<mode>xf3_i387): New insn pattern.
+	(ilogbsi2): Use match_dup 3, not match_operand:XF 3.
+	* config/i386/i386.c (ix86_emit_i387_log1p): Use gen_fyl2xp1xf3_i387()
+	and gen_fyl2xxf3_i387().
+
+2007-01-14  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* loop-unswitch.c (unswitch_loop): Do not call fix_loop_placement.
+	* cfgloopmanip.c (fix_loop_placement): Made static.  Use
+	get_loop_exit_edges.  Changed return type to bool.
+	* cfgloop.h (fix_loop_placement): Declaration removed.
+
+2007-01-14  Dorit Nuzman  <dorit@il.ibm.com>
+
+	* param.h (MIN_VECT_LOOP_BOUND): New.
+	* params.def (MIN_VECT_LOOP_BOUND): New.
+	* tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Takes another
+	argument - minimum threshold for number of iterations.
+	* tree-vectorizer.h (slpeel_tree_peel_loop_to_edge): Add another
+	argument to declaration.
+	* tree-vect-analyze.c (vect_analyze_operations): Check value of
+	MIN_VECT_LOOP_BOUND.
+	* tree-vect-transform.c (vect_do_peeling_for_loop_bound): Call
+	slpeel_tree_peel_loop_to_edge with additional argument.
+	(vect_do_peeling_for_alignment): Likewise.
+	* doc/invoke.texi (min-vect-loop-bound): Document new param option.
+
+2007-01-14  Uros Bizjak  <ubizjak@gmail.com>
+
+	PR target/30413
+	* config/i386/i386.c (print_operand) ['z']: Output 'b' for
+	operands of size 1.
+
+2007-01-14  Jan Hubicka  <jh@suse.cz>
+
+	* tree-dfa.c (remove_referenced_var): New function.
+	* tree-ssa-live.c (remove_unused_locals): Walk referenced vars and
+	prune referenced vars list too.
+	* tree-flow.h (remove_referenced_var): Declare.
+
+2007-01-14  Jan Hubicka  <jh@suse.cz>
+
+	* tree-eh.c (add_stmt_to_eh_region_fn): Do not add call_exprs
+	separately.
+	(remove_stmt_from_eh_region_fn): Do not remove call_exprs.
+	(verify_eh_throw_stmt_node, verify_eh_throw_table_statements): Kill.
+	* except.h (verify_eh_throw_table_statements): Kill prototype.
+	* cfgexpand.c (expand_gimple_basic_block): Propagate Eh regions
+	into call exrepssions.
+	* tree-optimize.c (execute_free_cfg_annotatiosn): Do not call
+	eh trhow verifier.
+	* tree-cfg.c: Include pointer-set.h.
+	(verify_node_sharing): Work on pointer set.
+	(verify_eh_throw_stmt_node): New.
+	(verify_stmts): Use pointers sets, verify throw_stmt.
+
+2007-01-13  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* ipa-reference.c (analyze_function): Consider also addresses taken
+	in phi nodes.
+
+2007-01-12  Roger Sayle  <roger@eyesopen.com>
+
+	* c-typeck.c (null_pointer_constant_p): Replace use of
+	TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
+	(build_c_cast): Likewise.
+
+2007-01-12  Roger Sayle  <roger@eyesopen.com>
+
+	* tree.h (force_fit_type_double): Remove unused final argument.
+	* c-common.c (constant_expression_warning): Replace use of
+	TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
+	(convert_and_check): Likewise.
+	(shorten_compare): Update call to force_fit_type_double.
+	(c_common_truthvalue_conversion) <INTEGER_CST>: Use integer_zerop.
+	* convert.c (convert_to_pointer): Update call to
+	force_fit_type_double.
+	* fold-const.c (force_fit_type_double): Remove overflowed_const
+	argument.
+	(int_const_binop, fold_convert_const_int_from_int,
+	fold_convert_const_int_from_real, fold_div_compare,
+	fold_sign_changed_comparison, fold_unary, fold_negate_const,
+	fold_abs_const, fold_not_const): Remove the final argument from
+	calls to force_fit_type_double.
+
+2007-01-12  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	* configure.ac: Set insn to "nop" for spu-*-* also.
+	* configure: Regenerate.
+
+2007-01-12  Olga Golovanevsky  <olga@il.ibm.com>
+
+	* builtins.def : Add BUILT_IN_FREE.
+
+2007-01-12  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/30443
+	* tree-inline.c (tree_function_versioning): Do not optimize when
+	cloning for inlining.
+
+2007-01-12  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* doc/loop.texi: Document recording of loop exits.
+	* cfgloopmanip.c (loopify, duplicate_loop): Use alloc_loop.
+	(update_single_exits_after_duplication,
+	update_single_exit_for_duplicated_loop,
+	update_single_exit_for_duplicated_loops): Removed.
+	(duplicate_loop_to_header_edge): Do not call
+	update_single_exits_after_duplication and
+	update_single_exit_for_duplicated_loops.
+	(loop_version): Do not update single_exit information.
+	(fix_loop_structure): Use record_loop_exits instead of
+	mark_single_exit_loops.
+	* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Update
+	the lists of loop exits.
+	* cfghooks.c (redirect_edge_and_branch, redirect_edge_and_branch_force,
+	split_edge, merge_blocks): Update the lists of loop exits.
+	* modulo-sched.c (sms_schedule): Pass LOOPS_HAVE_RECORDED_EXITS to
+	loop_optimizer_init.
+	* loop-init.c (loop_optimizer_init): Call record_loop_exits instead
+	of mark_single_exit_loops.
+	(loop_optimizer_finalize): Call release_recorded_exits.
+	* tree-ssa-loop.c (tree_loop_optimizer_init): Pass
+	LOOPS_HAVE_RECORDED_EXITS to loop_optimizer_init.
+	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg): Do not
+	update single exit information.
+	* lambda-code.c (perfect_nestify): Ditto.
+	* cfgloop.c (flow_loop_free): Destroy the list of exits of the loop.
+	(mark_single_exit_loops): Removed.
+	(alloc_loop, loop_exit_hash, loop_exit_eq, loop_exit_free,
+	get_exit_descriptions, rescan_loop_exit, record_loop_exits,
+	dump_recorded_exit, dump_recorded_exits, release_recorded_exits): New
+	functions.
+	(get_loop_exit_edges, single_exit): Use recorded exit lists.
+	(add_bb_to_loop, remove_bb_from_loops): Update the lists of loop exits.
+	(verify_loop_structure): Verify consistency of the exit lists.
+	(flow_loops_find): Use alloc_loop.  Initialize exits hash.
+	(set_single_exit): Removed.
+	* cfgloop.h (struct loop_exit): New function.
+	(struct loop): single_exit_ field replaced by exits field.
+	(LOOPS_HAVE_MARKED_SINGLE_EXITS): Replaced by
+	LOOPS_HAVE_RECORDED_EXITS.
+	(struct loops): Added exits hash.
+	(mark_single_exit_loops, set_single_exit): Declaration removed.
+	(release_recorded_exits, record_loop_exits, rescan_loop_exit): Declare.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Avoid use of @headitem.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* cse.c (cse_insn): Move HAVE_CC0 code after declarations.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/install.texi: Fix m68k-*-* anchor and add m68k-*-* to the
+	list of targets.
+
+2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Document -mno-bitfield, -mno-rtd and -mno-short.
+	* config/m68k/m68k.opt: Resort options.
+	(mbitfield, mrtd, mshort): Remove RejectNegative properties.
+
+2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* doc/invoke.texi: Document the macros that are defined by
+	m68k's -mtune and -mhard-float options.
+	* config/m68k/m68k-protos.h (m68k_cpp_cpu_ident) Declare.
+	(m68k_cpp_cpu_family): Likewise.
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Add a full set
+	of __ucfv*__ macros.  Define __mcffpu__ if generating code for
+	ColdFire FPUs.  Define __mcf_cpu_* and __mcf_family_* macros.
+	* config/m68k/m68k.c (m68k_cpp_cpu_ident): New function.
+	(m68k_cpp_cpu_family): Likewise.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Treat all mc68*
+	macros besides mc68000 as tuning macros.  Use a switch statement
+	to set them and mcpu32.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+
+	* config/m68k/m68k.h: Use TARGET_68040 instead of TARGET_68040_ONLY.
+	(TARGET_68040_ONLY): Rename to...
+	(TARGET_68040): ...this.
+	* config/m68k/m68k.c: Use TARGET_68040 instead of TARGET_68040_ONLY.
+	* config/m68k/m68k.md: Likewise.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+	    Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (m680[012]0-*-*, m68k*-*-*): Set m68k_cpu_ident to
+	the -mcpu= argument associated with the --with-cpu setting.
+	Define M68K_DEFAULT_TUNE to the default -mtune= option,
+	if different from the one implied by the -mcpu setting.
+	Accept --with-cpu=FOO if FOO is listed in m68k-devices.def,
+	using mcpu=FOO as the default CPU option.  Set target_cpu_default2.
+	* doc/invoke.texi: Mention ColdFire in the introduction to the
+	m68k options.  Document the new -march, -mcpu, -mtune, -mdiv,
+	-mno-div and -mhard-float options.  Make -m68881 a synonym for
+	-mhard-float.  Document the previously-undocumented -m5206e,
+	-m528x, -m5307 and -m5407 options.  Tweak the existing option
+	documentation for consistency.
+	* doc/install.texi: Mention new --with-cpu arguments.
+	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Only use the
+	default CPU if neither -mcpu nor -march are specified.
+	(ASM_CPU_SPEC): Pass down -mcpu and -march options.
+	(TARGET_CPU_CPP_BUILTINS): Set __mcfisa*__ macros from
+	TARGET_ISA*.  Set the legacy __mcf*__ cpu macros in the same way,
+	using m68k_tune to decide between families that implement the
+	same ISA.  Use m68k_tune to set __mcfv4e__.
+	(FL_BITFIELD, FL_68881, FL_COLDFIRE, FL_CF_HWDIV, FL_CF_MAC)
+	(FL_CF_EMAC, FL_CF_EMAC_B, FL_CF_USP, FL_CF_FPU, FL_ISA_68000)
+	(FL_ISA_68010, FL_ISA_68020, FL_ISA_68040, FL_ISA_A, FL_ISA_B)
+	(FL_ISA_C, FL_ISA_MMU): New macros.
+	(MASK_COLDFIRE): Delete.
+	(TARGET_68010, TARGET_68020, TARGET_68040_ONLY, TARGET_COLDFIRE)
+	(TARGET_ISAB): Redefine in terms of m68k_cpu_flags.
+	(TARGET_68881, TARGET_COLDFIRE_FPU): Redefine in terms of m68k_fpu.
+	(TARGET_HARD_FLOAT): Do not define here.
+	(TARGET_ISAAPLUS, TARGET_ISAC): New macros.
+	(TUNE_68000): New macro.
+	(TUNE_68000_10): Redefine in terms of TUNE_68000 and TUNE_68010.
+	(TUNE_68010, TUNE_68030, TUNE_68040, TUNE_68060, TUNE_CPU32)
+	(TUNE_CFV2): Redefine in terms of m68k_tune.
+	(uarch_type, target_device, fpu_type): New enums.
+	(m68k_cpu, m68k_tune, m68k_fpu, m68k_cpu_flags): Declare.
+	* config/m68k/m68k.c (TARGET_DEFAULT): Remove MASK_68881.
+	(FL_FOR_isa_00, FL_FOR_isa_10, FL_FOR_isa_20, FL_FOR_isa_40)
+	(FL_FOR_isa_cpu32, FL_FOR_isa_a, FL_FOR_isa_aplus, FL_FOR_isa_b)
+	(FL_FOR_isa_c): New macros.
+	(m68k_isa): New enum.
+	(m68k_target_selection): New structure.
+	(all_devices, all_isas, all_microarchs): New tables.
+	(m68k_cpu_entry, m68k_arch_entry, m68k_tune_entry, m68k_cpu)
+	(m68k_tune, m68k_fpu, m68k_cpu_flags): New variables.
+	(MASK_ALL_CPU_BITS): Delete.
+	(m68k_find_selection): New function.
+	(m68k_handle_option): Handle -mcpu=, -march= and -mtune=.
+	Map the legacy target options to a combination of the new ones.
+	(override_options): Set m68k_cpu, m68k_tune, m68k_fpu and
+	m68k_cpu_flags.  Handle M68K_DEFAULT_TUNE.  Use m68k_cpu_flags
+	to derive default MASK_BITFIELD, MASK_CF_HWDIV and MASK_HARD_FLOAT
+	settings.
+	* config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407, mcfv4e)
+	(m68010, m68020, m68020-40, m68020-60, m68030, m68040): Remove Mask
+	properties.
+	(m68881, msoft-float): Change mask from 68881 to HARD_FLOAT.
+	(march=, mcpu=, mdiv, mhard-float, mtune=): New options.
+	* config/m68k/m68k-devices.def: New file.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+	    Nathan Sidwell  <nathan@codesourcery.com>
+
+	* config/m68k/m68k.h (ASM_CPU_SPEC, ASM_SPEC, EXTRA_SPECS)
+	(SUBTARGET_EXTRA_SPECS): New macros.
+	* config/m68k/linux.h (ASM_SPEC): Remove CPU flags;
+	use %(asm_cpu_spec) instead.
+	* config/m68k/m68k-none.h (ASM_SPEC): Likewise.
+	* config/m68k/openbsd.h (ASM_SPEC): Likewise.
+	* config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
+	(EXTRA_SPECS): Rename to...
+	(SUBTARGET_EXTRA_SPECS): ...this.
+
+2007-01-12  Nathan Sidwell  <nathan@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* config.gcc (m68k-*-aout*, m68k-*-coff*, m68020-*-elf*, m68k-*-elf*)
+	(m68k-*-uclinux*, m68k-*-linux*, m68k-*-rtems*): Set default_m68k_cpu
+	to the configuration's default CPU.
+	(m68010-*-netbsdelf*, m68k*-*-netbsdelf*, m68k*-*-openbsd*): Likewise.
+	Remove default masks.
+	(m680[012]0-*-*): Set the default with_cpu to the first part of
+	the target name.
+	(m68k*-*-*): Set the default with_cpu to m$default_m68k_cpu.
+	(m68k*-*-linux): Extend the --with-cpu handling to...
+	(m680[012]0-*-*, m68k*-*-*): ...these configurations.  Allow m68000
+	and m68010.  Don't set target_cpu_default2.
+	* doc/install.texi: Document --with-cpu for m68k.
+	* config/m68k/m68k.h (OPTION_DEFAULT_SPECS): Define.
+	* config/m68k/m68k-none.h (TARGET_CPU_DEFAULT, M68K_CPU_m68k)
+	(M68K_CPU_m68000, M68K_CPU_m68010, M68K_CPU_m68020, M68K_CPU_m68030)
+	(M68K_CPU_m68040, M68K_CPU_m68302, M68K_CPU_m68332, TARGET_DEFAULT)
+	(ASM_CPU_DEFAULT_SPEC, CC1_CPU_DEFAULT_SPEC): Delete.
+	(ASM_SPEC): Remove use of %(asm_cpu_default).
+	(EXTRA_SPECS, SUBTARGET_EXTRA_SPECS, MULTILIB_DEFAULTS): Delete.
+	* config/m68k/linux.h (TARGET_DEFAULT): Delete.
+	(CPP_SPEC): Merge definitions.  Do not handle __HAVE_68881__ here.
+	* config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Define
+	__HAVE_FPU__ if TARGET_HARD_FLOAT.
+	(TARGET_DEFAULT): Delete.
+	(EXTRA_SPECS): Delete cpp_cpu_default_spec, cpp_cpu_spec,
+	cpp_fpu_spec, asm_default_spec and netbsd_cpp_spec.
+	(CPP_CPU_SPEC): Delete.
+	(TARGET_VERSION): Merge definitions, using TARGET_68010 to pick
+	the appropriate string.
+	(CPP_CPU_DEFAULT_SPEC, ASM_DEFAULT_SPEC, CPP_FPU_SPEC): Delete.
+	(CPP_SPEC): Define to NETBSD_CPP_SPEC.
+	(ASM_SPEC): Don't use %(asm_default_spec).
+	* config/m68k/m68k.c (TARGET_DEFAULT_TARGET_FLAGS): Remove
+	TARGET_DEFAULT and add MASK_68881.
+	* config/m68k/m68k.md: Remove mention of TARGET_DEFAULT from comments.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* config.gcc (m68010-*-netbsdelf*): Add MASK_68010.
+	(m68k*-*-netbsdelf*, m68k*-*-openbsd*, m68k*-linux*): Add
+	MASK_68010 alongside MASK_68020.
+	* doc/invoke.texi: Document -m68010.
+	* config/m68k/m68k.opt (m68010): New.
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define mc68010
+	if TUNE_68010.
+	(TUNE_68010): New macro.
+	* config/m68k/m68k-none.h (M68K_CPU_m68k, M68K_CPU_m68010)
+	(M68K_CPU_m68020, M68K_CPU_m68030, M68K_CPU_m68040)
+	(M68K_CPU_m68332): Add MASK_68010.
+	* config/m68k/linux.h (TARGET_DEFAULT): Add MASK_68010 to
+	fallback definition.
+	* config/m68k/netbsd-elf.h (CPP_CPU_SPEC): Remove now-redundant
+	defines.
+	* config/m68k/m68k.c (MASK_ALL_CPU_BITS): Add MASK_68010.
+	(m68k_handle_option): Handle OPT_m68010.  Add MASK_68010
+	to all entries that use MASK_68020.
+	(output_move_simode_const, output_move_himode, output_move_qimode)
+	(output_move_stricthi, output_move_strictqi): Use TARGET_68010
+	instead of TARGET_68020 to select clr behavior.  Remove comment
+	about there being no TARGET_68010.
+	* config/m68k/m68k.md: Likewise throughout.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+
+	* config/m68k/m68k.h (TARGET_ISAB): New macro.
+	* config/m68k/m68k.c: Use TARGET_ISAB rather than TARGET_CFV4.
+	* config/m68k/m68k.md: Likewise.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+
+	* config/m68k/m68k.h (LEGITIMATE_INDEX_P, LEGITIMIZE_ADDRESS): Use
+	TARGET_COLDFIRE_FPU instead of TARGET_CFV4E.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+
+	* config/m68k/m68k.h (TUNE_68040_60): New macro.
+	* config/m68k/m68k.c (standard_68881_constant_p): Use it.
+	* config/m68k/m68k.md: Likewise.
+
+2007-01-12  Julian Brown  <julian@codesourcery.com>
+	    Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Use TUNE_68030
+	instead of TARGET_68030, TUNE_68040 instead of TARGET_68040,
+	TUNE_68060 instead of TARGET_68060 and TUNE_CPU32 instead of
+	TARGET_CPU32.
+	(TARGET_CPU32): Rename to...
+	(TUNE_CPU32): ...this.
+	(TUNE_68000_10, TUNE_68030, TUNE_68040, TUNE_68060)
+	(TUNE_CFV2): New macros.
+	* config/m68k/netbsd-elf.h (LONG_DOUBLE_TYPE_SIZE): Simplify;
+	remove conditions that are implied by TARGET_68020.
+	* config/m68k/m68k.c (m68k_output_function_prologue): Use TUNE_68040
+	instead of TARGET_68040 and TUNE_CPU32 instead of TARGET_CPU32.
+	(m68k_output_function_epilogue): Likewise.
+	(m68k_rtx_costs): Likewise.  Use TUNE_68060 instead of TARGET_68060
+	and TUNE_CFV2 instead of TARGET_5200.  Use TUNE_68000_10 instead of
+	"!TARGET_68020 && !TARGET_COLDFIRE" to choose between 68000 and
+	non-68000 timings.  Refactor multiplication and division costs.
+	(output_addsi3): Use TUNE_68040 instead of TARGET_68040 and
+	TUNE_CPU32 instead of TARGET_CPU32.
+	(standard_68881_constant_p): Use TUNE_68040 instead of TARGET_68040
+	and TUNE_68060 instead of TARGET_68060.
+	* config/m68k/m68k.md: Use TUNE_68040 instead of TARGET_68040,
+	TUNE_68060 instead of TARGET_68060, and TUNE_CPU32 instead of
+	TARGET_CPU32.
+	(movsi_const0): Use TUNE_68000_10 rather than "!TARGET_68020
+	&& !TARGET_COLDFIRE" to choose between moveq and clr.
+	Likewise in the unnamed movsf pattern.
+	(ashlsi_17_24, lshrsi_17_24): Guard with TUNE_68000_10 rather than
+	"!TARGET_68020 && !TARGET_COLDFIRE".  Likewise the unnamed
+	ashiftrt pattern.
+
+2007-01-12  Richard Sandiford  <richard@codesourcery.com>
+
+	* config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Increase amount
+	of tabbing before backslashes.
+
+2007-01-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+	* pa-linux.h (ASM_OUTPUT_INTERNAL_LABEL): Undefine.
+	* pa.h (ASM_OUTPUT_LABEL): Output colon when using GAS.
+	(ASM_OUTPUT_INTERNAL_LABEL): Define.
+
+2007-01-11  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-ssa-loop-ivopts.c (extract_cond_operands): Split from
+	find_interesting_uses_cond.
+	(find_interesting_uses_cond): Use extract_cond_operands.
+	(rewrite_use_compare): Use extract_cond_operands and
+	force_gimple_operand_bsi.  Do not call update_stmt.
+	(determine_use_iv_cost_condition): Use extract_cond_operands.
+	Return cheaper of using original bound and changing the exit bound.
+
+2007-01-11  Zdenek Dvorak <dvorakz@suse.cz>
+
+	PR tree-optimization/29516
+	* tree-ssa-address.c (tree_mem_ref_addr, add_to_parts,
+	most_expensive_mult_to_index, addr_to_parts,
+	create_mem_ref, maybe_fold_tmr): Make the type of
+	fields of TARGET_MEM_REF sizetype.
+	(move_fixed_address_to_symbol, move_pointer_to_base):
+	New functions.
+	* tree.def (TARGET_MEM_REF): Add comment on types of
+	the operands.
+
+2007-01-11  Joseph Myers  <joseph@codesourcery.com>
+
+	* c-common.c (vector_types_convertible_p): Treat opaque types as
+	always convertible if they have the same size, but not otherwise.
+
+2007-01-11  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* ifcvt.c (struct noce_if_info): Add comments to the fields.
+	Remove the b_unconditional field.
+	(noce_try_sign_mask): Do not look at b_unconditional.
+	(noce_process_if_block): Do not use merge_if_blocks.  Update
+	the CFG here.  Do not set b_unconditional.
+	(cond_move_process_if_block): Likewise.
+	(find_cond_trap): Likewise.
+	(check_cond_move_block): Require simple jump insns at the end
+	of the basic block.
+
+2007-01-11  Jan Hubicka  <jh@suse.cz>
+
+	PR tree-optimization/1046
+	* tree-tailcall.c (suitable_for_tail_call_opt_p): Use TREE_ADDRESSABLE
+	when alias info is not ready.
+	(pass_tail_recursion): Do not require aliasing.
+	* tree-ssa-copyrename.c (pass_rename_ssa_cop): Likewise.
+	* tree-ssa-ccp.c (pass_ccp, pass_fold_builtins): Likewise.
+	* tree-ssa-copy.c (pass_copy_prop): Likewise.
+	* tree-ssa-forwprop.c (pass_forwprop): Likewise.
+	* tree-ssa-dce.c (pass_dce, pass_dce_loop, pass_cd_dce): Likewise.
+	* passes.c (init_optimization_passes): Execute rename_ssa_copies,
+	ccp, forwprop, copy_prop, merge_phi, copy_prop, dce and tail recursion
+	before inlining.
+	* tree-ssa-operands.c (add_virtual_operand, get_indirect_ref_operand):
+	When aliasing is not build, mark statement as volatile.
+
+2007-01-11  Tom Tromey  <tromey@redhat.com>
+
+	PR preprocessor/15185
+	PR preprocessor/20989
+	* doc/cppopts.texi <-MT>: Update description of algorithm for
+	computing default target.
+	<-M, -MD>: Reword "basename" text.
+
+2007-01-11  Roger Sayle  <roger@eyesopen.com>
+
+	* builtins.c (expand_builtin_pow, expand_builtin_powi,
+	fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_trunc,
+	fold_builtin_floor, fold_builtin_ceil, fold_builtin_round,
+	fold_builtin_int_int_roundingfn, fold_builtin_bitop,
+	fold_builtin_bswap, real_constp, fold_builtin_pow,
+	fold_builtin_powi, fold_builtin_signbit, fold_builtin_copysign,
+	do_mpfr_arg1, do_mpfr_arg2, do_mpfr_arg3, do_mpfr_sincos): Replace
+	uses of the macro TREE_CONSTANT_OVERFLOW with TREE_OVERFLOW.
+	* convert.c (convert_to_pointer): Likewise.
+	* expr.c (highest_pow2_factor, expand_expr_real_1): Likewise.
+	* fold-const.c (force_fit_type, fold_negate_expr, int_const_binop,
+	const_binop, fold_convert_const_int_from_int,
+	fold_convert_const_int_from_real,
+	fold_convert_const_real_from_real, sign_bit_p,
+	optimize_minmax_comparison, extract_muldiv_1, fold_div_compare,
+	fold_sign_changed_comparison, fold_unary, fold_comparison,
+	fold_binary, multiple_of_p, tree_Expr_non_zero_p,
+	fold_negate_const, fold_abs_const, fold_not_const): Likewise.
+	* print-tree.c (print_node_brief, print_node): Likewise.
+	* stor-layout.c (place_field, layout_type): Likewise.
+	* tree-chrec.c (keep_cast): Likewise.
+	* tree.c (build_vector, build_real, build_real_from_int_cst,
+	build_complex): Likewise.
+
+2007-01-11  Roger Sayle  <roger@eyesopen.com>
+
+	* tree.h (TREE_CONSTANT_OVERFLOW): Obsolete.  For the time being,
+	treat TREE_CONSTANT_OVERFLOW as a synonym of TREE_OVERFLOW.
+
+2007-01-11  Paolo Bonzini  <bonzini@gnu.org>
+
+	* configure.ac (strict1_warn): Rename to strict_warn.
+	(WERROR, --enable-werror, symlink hacks, stage1_cflags,
+	cc_set_by_configure, quoted_cc_set_by_configure,
+	stage_prefix_set_by_configure, quoted_stage_prefix_set_by_configure,
+	all_boot_languages, all_stagestuff): Remove.
+	(target_list): Remove bootstrap targets.
+	* Makefile.in (quickstrap): Unconditionally make a synonym of all.
+	(BOOT_LANGUAGES, STAGE1_CFLAGS, STAGE1_CHECKING,
+	REMAKEFLAGS, FLAGS_TO_PASS, PREPEND_DOTDOT_TO_RELATIVE_PATHS,
+	SUBDIR_FLAGS_TO_PASS, WERROR_FLAGS, STRICT2_WARN, LANG_STAGESTUFF,
+	VOL_FILES, POSTSTAGE1_FLAGS_TO_PASS, STAGE2_FLAGS_TO_PASS,
+	STAGEPROFILE_FLAGS_TO_PASS, STAGEFEEDBACK_FLAGS_TO_PASS, stage1_build,
+	stage1_copy, stage2_build, stage2_copy, stageprofile_build,
+	stageprofile_copy, stage3_build, stage3_copy, stagefeedback_build,
+	stagefeedback_copy, stage4_build, clean_s1, clean_sw, bootstrap,
+	bootstrap-lean, bootstrap2, bootstrap2-lean, bootstrap3,
+	bootstrap3-lean, bootstrap4, bootstrap4-lean, unstage1, unstage2,
+	unstage3, unstage4, unstageprofile, unstagefeedback, restage, restage2,
+	restage3, restage4, restageprofile, restagefeedback, bubbleestrap,
+	cleanstrap, unstrap, restrap, *compare, *compare3, *compare4,
+	*compare-lean, *compare3-lean, *compare4-lean, stage1-start, stage1,
+	stage2-start, stage2, stage3-start, stage3, stage4-start, stage4,
+	stageprofile-start, stageprofile, stagefeedback-start, stagefeedback,
+	risky-stage1, risky-stage2, risky-stage3, risky-stage4): Remove.
+	(ORDINARY_FLAGS_TO_PASS): Rename to FLAGS_TO_PASS.
+	(STAGECOPYSTUFF, STAGEMOVESTUFF): Consolidate into MOSTLYCLEANFILES.
+	(mostlyclean): Adjust.
+	(clean, distclean): Don't mention bootstrap stuff.
+	* configure: Regenerate.
+	* ada/config-lang.in, cp/config-lang.in, forttran/config-lang.in,
+	java/config-lang.in, objc/config-lang.in, objcp/config-lang.in,
+	treelang/config-lang.in (stagestuff): Remove.
+	* doc/sourcebuild.texi (stage1, stage2, stage3, stage4,
+	stageprofile, stagefeedback, stagestuff): Remove mention.
+
+2007-01-11  Nick Clifton  <nickc@redhat.com>
+
+	* config/mcore/predicates.md (mcore_general_movesrc_operand):
+	Accept CONSTs.
+	(mcore_general_movdst_operand): Do not accept CONST_INTs.
+	(mcore_arith_K_S_operand): Run the test for the S constraint not
+	the test for the M constraint.
+	(mcore_addsub_operand): Do not accept integer values that are
+	larger than 32 bits.
+	* config/mcore/mcore.md: Remove unused constraints from split.
+	(andsi3): Use HOST_WIDE_INT instead of int to hold an INTVAL.
+	(addsi3): Likewise.
+	(allocate_stack): Likewise.
+	* config/mcore/mcore.c (mcore_print_operand): Restrict output of P
+	operands to 32 bits.
+	(mcore_const_costs): Use HOST_WIDE_INT instead of int to hold an
+	INTVAL.
+	(mcore_and_cost, mcore_modify_comparison, const_ok_for_mcore,
+	mcore_const_ok_for_inline, mcore_const_trick_uses_not,
+	try_constant_tricks, mcore_num_ones, mcore_num_zeros,
+	mcore_output_bclri, mcore_output_andn, output_inline_const,
+	mcore_output_move, mcore_output_movedouble): Likewise.
+	(mcore_output_cmov): Use CONST_OK_FOR_M and CONST_OK_FOR_N.
+	(output_inline_const): Likewise.
+	(output_inline_const): Fix format strings used in sprintf
+	statements.
+	* config/mcore/mcore-protos.h: Update prototypes for changed
+	functions in mcore.c.
+	* config/mcore/mcore.h (CONST_OK_FOR_I): Cast values to
+	HOST_WIDE_INT and not int.
+	(CONST_OK_FOR_J, CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M,
+	CONST_OK_FOR_N): Likewise.
+	(LEGITIMATE_CONSTANT_P): Also check CONSTANT_P.
+	(GO_IF_LEGITIMATE_INDEX): Use HOST_WIDE_INT instead of int to hold
+	an INTVAL.
+
+2007-01-10  Jan Hubicka  <jh@suse.cz>
+
+	* tree-vrp.c (remove_range_assertions): Release defs.
+	* tree-ssa-loop-ivopts.c (rmeove_statement): Likewise.
+	* tree-ssa-dom.c (remove_stmt_or_phi): Likewise.
+
+2007-01-10  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.c (arm_rtx_costs_1): Handle mutiply-subtract.
+	* config/arm/arm.md (mulsi3subsi): New insn.
+
+2007-01-10  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* tree-ssa-loop-manip.c (tree_unroll_loop): Make it a wrapper over ...
+	(tree_transform_and_unroll_loop): New.
+	* tree-flow.h (transform_callback, tree_transform_and_unroll_loop):
+	Declare.
+
+2007-01-10  Robert Kennedy <jimbob@google.com>
+
+	* fold-const.c (fold_comparison): Fold comparisons like (x *
+	1000 < 0) to (x < 0).
+
+2007-01-10  Ian Lance Taylor  <iant@google.com>
+
+	* tree-pretty-print.c (dump_generic_node): Print parentheses when
+	operands have the same priority.
+
+2007-01-10  Tom Tromey  <tromey@redhat.com>
+
+	* fold-const.c (fold_truthop): Don't check can_use_bit_fields_p.
+	(fold_binary): Likewise.
+	* langhooks.c (lhd_can_use_bit_fields_p): Removed.
+	* langhooks-def.h (lhd_can_use_bit_fields_p): Removed.
+	(LANG_HOOKS_CAN_USE_BIT_FIELDS_P): Removed.
+	(LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_CAN_USE_BIT_FIELDS_P.
+	* langhooks.h (struct lang_hooks): Removed field
+	'can_use_bit_fields_p'.
+
+2007-01-10  Ralf Corsépius <ralf.corsepius@rtems.org>
+
+	* config/bfin/t-bfin, config/bfin/t-bfin-elf: Remove GCC_CFLAGS.
+
+2007-01-10  Razya Ladelsky  <razya@il.ibm.com>
+
+	* function.c (get_last_funcdef_no): New function.
+	* function.h (get_last_funcdef_no): Declare.
+	* tree-inline.c (initialize_cfun): Add initialization.
+	(tree_function_versioning): Cleanup.
+
+2007-01-10  Jan Hubicka  <jh@suse.cz>
+
+	* tree-inline.c (setup_one_parameter): Do not propagate into abnormal
+	PHIs.
+
+2007-01-10  Sa Liu  <saliu@de.ibm.com>
+	    Ben Elliston  <bje@au.ibm.com>
+
+	* spu.h (STACK_SAVE_AREA): Use VOIDmode for SAVE_FUNCTION, SImode
+	for SAVE_NONLOCAL and Pmode for any other save level.
+	* spu-protos.h (spu_restore_stack_block): Declare.
+	* spu.md (save_stack_block): Remove.
+	(restore_stack_block): Call spu_restore_stack_block.
+	* spu.c (spu_restore_stack_block): New function.
+	(spu_expand_epilogue): Remove old comment.
+
+2007-01-09  Zdenek Dvorak <dvorakz@suse.cz>
+
+	PR tree-optimization/30322
+	* tree-ssa-loop-ivopts.c (fold_affine_expr, iv_value): Removed.
+	(cand_value_at): Return the value as aff_tree.
+	(may_eliminate_iv): Convert the bound from aff_tree to tree.
+	* tree-affine.c (aff_combination_add_cst, aff_combination_add_product,
+	aff_combination_mult): New functions.
+	(aff_combination_add): Use aff_combination_add_cst.
+	(aff_combination_convert): Allow conversions to a wider type.
+	(tree_to_aff_combination): Handle BIT_NOT_EXPR.
+	* tree-affine.h (aff_combination_mult): Declare.
+
+2007-01-09  Carlos O'Donell  <carlos@codesourcery.com>
+
+	* doc/tm.texi: Update documentation to reflect reality of exec
+	and start file search behaviours. Update copyright year.
+	* doc/invoke.texi: Explain how GCC_EXEC_PREFIX is used to find
+	header file directories.
+
+2007-01-09  Uros Bizjak  <ubizjak@gmail.com>
+
+	* config/i386/i386.md (*sinxf2): Rename to *sinxf2_i387.
+	(*cosxf2): Rename to cosxf2_i387.
+	(*sindf2, *sinsf2): Extend operand 1 to XFmode.  Macroize patterns
+	using X87MODEF12 mode macro. Rename patterns to
+	*sin_extend<mode>xf2_i387.  Use SSE_FLOAT_MODE_P to disable patterns
+	for SSE math.
+	(*cosdf2, *cossf2): Ditto.
+	(sincosdf3, sincossf3): Ditto.  Rewrite corresponding splitters
+	to match extended input operands.
+	(sincos<mode>3): New expander.
+	(*sinextendsfdf2, *cosextendsfdf2, *sincosextendsfdf3): Remove
+	insn patterns and corresponding splitters.
+
+2007-01-09  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+	* config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Delete.
+	(SHLIB_MAPFILES, SHLIB_LINK, SHLIB_INSTALL): Likewise.
+
+2007-01-09  Nicolas Pitre  <nico@cam.org>
+
+	PR target/30173
+	* arm/ieee754-df.S (Lad_s): Also test the low word of X for zero.
+
+2007-01-08  Geoffrey Keating  <geoffk@apple.com>
+
+	* target.h (struct gcc_target): New field library_rtti_comdat.
+	* target-def.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): New.
+	(TARGET_CXX): Add TARGET_CXX_LIBRARY_RTTI_COMDAT.
+	* doc/tm.texi (C++ ABI): Document TARGET_CXX_LIBRARY_RTTI_COMDAT.
+	* config/darwin.h (TARGET_CXX_LIBRARY_RTTI_COMDAT): Define.
+
+2007-01-08  Geoffrey Keating  <geoffk@apple.com>
+
+	* doc/invoke.texi (Optimize Options): Correct description of -O0.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree.h (force_fit_type_double): Export.
+	(force_fit_type): Remove.
+	* fold-const.c (force_fit_type_double): New function.
+	(force_fit_type): Remove.
+	(int_const_binop): Use it.
+	(fold_convert_const_int_from_int): Likewise.
+	(fold_convert_const_int_from_real): Likewise.
+	(fold_div_compare): Likewise.
+	(fold_sign_changed_comparison): Likewise.
+	(fold_unary): Likewise.
+	(fold_negate_const): Likewise.
+	(fold_abs_const): Likewise.
+	(fold_not_const): Likewise.
+	* c-common.c (shorten_compare): Use force_fit_type_double.
+	* convert.c (convert_to_pointer): Likewise.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree.h (build_int_cst_wide_type): Export.
+	* tree.c (build_int_cst_wide_type): New function.
+	(build_int_cst_wide): Fix comment.
+	* builtins.c (fold_builtin_object_size): Use build_int_cst
+	to build -1 or 0 of the correct type.  Use fit_double_type
+	to check for overflow.
+	* fold-const.c (optimize_bit_field_compare): Use build_int_cst_type
+	to build the mask.
+	(decode_field_reference): Likewise.
+	(all_ones_mask_p): Likewise.
+	(native_interpret_int): Use build_int_cst_wide_type.
+	(fold_binary): Use build_int_cst_type to build an all-ones
+	value.
+	* stor-layout.c (set_sizetype): Use build_int_cst_wide_type.
+
+2007-01-08  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config/pa/t-pa64 (libgcc_stub.a): Use $(T).
+
+2007-01-09  Ben Elliston  <bje@au.ibm.com>
+
+	* genautomata.c (STATS_OPTION): New option.
+	(stats_flag): New flag.
+	(gen_automata_option): Handle it.
+	(initiate_automaton_gen): Ditto.
+	(write_automata): Output statistics only if stats_flag is
+	set. Likewise, output time statistics only if time_flag is set.
+	* doc/md.texi (Processor pipeline description): Document new flag.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+	* builtins.c (fold_builtin_int_roundingfn): Use fit_double_type.
+	* tree.c (build_int_cst_type): Likewise.
+	(size_in_bytes): Don't call force_fit_type on the result.
+	(int_fits_type_p): Use fit_double_type.
+	* fold-const.c (fit_double_type): New function.
+	(force_fit_type): Use it.
+	* tree.h (fit_double_type): Export.
+
+2007-01-08  Jan Hubicka  <jh@suse.cz>
+
+	* tree-vectorizer.c (gate_increase_alignment): Fix return type.
+	* ipa.c (function_and_variable_visibility): Fix return type.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Use type
+	of offset to build the index.
+	* tree-pretty-print.c (dump_generic_node): Don't build negated
+	const just for printing.
+	* c-pretty-print.c (pp_c_integer_constant): Likewise.
+	* builtins.c (fold_builtin_int_roundingfn): Check if result
+	fits the type by using force_fit_type and comparing the result.
+	* predict.c (predict_loops): Use compare_tree_int for comparison.
+	* tree.c (build_int_cst): Fall back to integer_type_node for
+	NULL_TREE type.
+	(build_int_cst_wide): Assert type is non-null.
+
+2007-01-08  Roberto Costa  <roberto.costa@st.com>
+
+	* tree-vrp.c (extract_range_from_cond_expr): New.
+	(extract_range_from_expr): Handle COND_EXPR nodes used as expressions.
+	* tree-ssa-ccp.c (get_maxval_strlen): Handle COND_EXPR nodes used
+	as expressions.
+	(fold_stmt): Bug fix, avoid infinite recursion when folding COND_EXPRs.
+	* tree-ssa-forwprop.c (simplify_cond, forward_propagate_into_cond,
+	tree_ssa_forward_propagate_single_use_vars): Handle COND_EXPR nodes
+	used as expressions.
+	* tree-object-size.c (cond_expr_object_size): New.
+	(collect_object_sizes_for): Handle COND_EXPR nodes used as expressions.
+
+2007-01-08  Jan Hubicka  <jh@suse.cz>
+
+	* tree-ssa-forwprop.c (forward_propagate_into_cond,
+	tree_ssa_forward_propagate_single_use_va): Release defs of propagated
+	statement.
+
+2007-01-08  Richard Guenther  <rguenther@suse.de>
+
+	PR tree-optimization/23603
+	* tree-vrp.c (set_value_range_to_truthvalue): New function.
+	(extract_range_from_binary): Fall back to truthvalue instead of
+	varying for TRUTH_*_EXPR.
+	(extract_range_from_comparison): Fall back to truthvalue instead of
+	varying.
+	(vrp_visit_phi_node): Don't adjust new range bounds to +INF/-INF
+	if all visited PHI values were constant.
+
+2007-01-08  Jan Hubicka  <jh@suse.cz>
+
+	* cgraphunit.c (cgraph_process_new_functions): Reset reachable flag.
+	(cgraph_analyze_function): break out from ...
+	(cgraph_finalize_compilation_unit): ... here.
+	(cgraph_expand_function): Remove forgoten commented out line.
+	(cgraph_optimize): Analyze functions.
+
+2007-01-08  Jan Hubicka  <jh@suse.cz>
+
+	* tree-pas.h (TODO_remove_function): New flag.
+	(TODO_update*): Renumber.
+	(pass_ipa_increase_alignment,
+	pass_ipa_function_and_variable_visibility): New passes.
+	* cgraphunit.c (cgraph_increase_alignment): Move to tree-vectorizer.c
+	(cgraph_function_and_variable_visibility): Move to ipa.c
+	(cgraph_optimize): Don't call cgraph_function_and_variable_visibility,
+	cgraph_increase_alignment.
+	* ipa-inline.c (cgraph_decide_inlining): Don't push timevar.
+	(cgraph_decide_inlining_incrementally): Push TV_INTEGRATION before
+	calling tree-inline.
+	(cgraph_early_inlining): Do not call cgraph_remove_unreachable_nodes.
+	(pass_ipa_inline, pass_early_ipa_inlining): Set TODO_remove_functions
+	* tree-vectorizer.c (increase_alignment): Move here from cgraphunit.c
+	(gate_increase_alignment): New function.
+	(pass_ipa_increase_alignment): New pass.
+	* ipa.c: Inline tree-pass.h and timevar.h
+	(function_and_variable_visibility): Move here from cgraphunit.c
+	* tree-optimize.c (pass_early_local_passes): Add TODO_remove_functions.
+	* passes.c (init_optimization_passes): Add the two new passes.
+	(execute_todo): Handle cgraph_remove_functions.
+
+2007-01-08  Nick Clifton  <nickc@redhat.com>
+
+	* config/frv/predicates.md (reg_or_0_operand): Accept
+	CONST_DOUBLEs.
+
+2007-01-08  Ralf Corsépius <ralf.corsepius@rtems.org>
+
+	* config/bfin/rtems.h, config/bfin/t-rtems: New.
+	* config.gcc: Add bfin*-rtems*.
+
+2007-01-08  Mark Shinwell  <shinwell@codesourcery.com>
+
+	* c.opt: Add -flax-vector-conversions.
+	* c-typeck.c (convert_for_assignment): Pass flag to
+	vector_types_convertible_p to allow emission of note.
+	(digest_init): Likewise.
+	* c-opts.c: Handle -flax-vector-conversions.
+	* c-common.c (flag_lax_vector_conversions): New.
+	(vector_types_convertible_p): Unless -flax-vector conversions
+	has been passed, disallow conversions between vectors with
+	differing numbers of subparts and/or element types.  If such
+	a conversion is disallowed, possibly emit a note on the first
+	occasion only to inform the user of -flax-vector-conversions.
+	The new last argument specifies this.
+	* c-common.h (flag_lax_vector_conversions): New.
+	(vector_types_convertible_p): Add extra argument.
+	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Use
+	char_type_node for V*QI type vectors.
+	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
+	Update to satisfy new typechecking rules.
+	* config/rs6000/altivec.h (vec_cmple): Use vec_cmpge, for both
+	C and C++ variants.
+	* doc/invoke.texi (C Dialect Options): Document
+	-flax-vector-conversions.
+
+2007-01-08  Mark Shinwell  <shinwell@codesourcery.com>
+
+	PR tree-optimization/29877
+	* tree-ssa-ter.c (is_replaceable_p): Deem assignments with
+	a register variable on the RHS to not be replaceable.
+
+2007-01-08  Chen Liqin  <liqin@sunnorth.com.cn>
+	* config/score/t-score-elf (MULTILIB_OPTIONS): Change.
+	* config/score/predicates.md (const_uimm5, sr0_operand, const_simm12,
+	const_simm15, const_pow2, const_npow2): Added.
+	* config/score/misc.md (insv, extv, extzv, movmemsi,
+	move_lbu_a/b, mov_lhu_a/b etc): Added and fix some bug.
+	* config/score/score.c (score_address_cost, score_select_cc_mode):
+	Added.
+	Change CONST_OK_FOR_LETTER_P/EXTRA_CONSTRAINT define.
+	Update score_rtx_costs for MACRO TARGET_RTX_COSTS.
+	Update score_print_operand.
+	* config/score/score.h (DATA_ALIGNMENT, SELECT_CC_MODE): Added.
+	Adjust register allocate order and update some macro define.
+	* config/score/score-mdaux.c (mdx_unaligned_load, mdx_unsigned_store,
+	mdx_block_move_straight, mdx_block_move_loop_head,
+	mdx_block_move_loop_body, mdx_block_move_loop_foot,
+	mdx_block_move_loop, mdx_block_move): Added.
+	(mdx_movsicc, mdp_select_add_imm, mdp_select, mds_zero_extract_andi,
+	mdp_limm): Updated and fix some bug and typo.
+	* config/score/score.md (movqi/hi/si, add/sub/zero/ext): Updated.
+	(movsf, movdf, doloop_end): Added.
+
+2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/arm/arm.c, config/arm/arm.h, config/arm/arm.md,
+	config/arm/thumb2.md: Fix comment typos.
+	* doc/extend.texi: Fix a typo.
+
+2007-01-07  Eric Christopher  <echristo@apple.com>
+
+	* configure.ac: Check for __stack_chk_fail for darwin.
+	* configure: Regenerate.
+
+2007-01-07  Richard Guenther  <rguenther@suse.de>
+
+	* tree-vrp.c (extract_range_from_assert): CSE calls to
+	compare_values where possible.
+	(extract_range_from_unary_expr): Likewise.
+
+2007-01-07  Anatoly Sokolov <aesok@post.ru>
+
+	* config/avr/avr-protos.h (call_insn_operand): Delete prototype.
+	* config/avr/avr.c (call_insn_operand): Delete function.
+	* config/avr/avr.md (*pushqi, *pushhi, *pushsi, *pushsf): Use REG_SP
+	instead of register number. Use predicates.
+	* config/avr/predicates.md (const0_operand, reg_or_0_operand,
+	call_insn_operand): Add.
+
+2007-01-06  Jan Hubicka  <jh@suse.cz>
+
+	* tree-pass.h (pass_build_cgraph_edges): Declare.
+	* cgraphunit.c (record_refernece): Move to cgraphbuild.c
+	(visited_nodes): Remove.
+	(cgraph_create_edges): Move to cgraphbuild.c; rename to
+	build_cgrpah_edges; make visited_nodes local.
+	(cgraph_process_new_functions): DO not call initialize_inline_failed.
+	(record_references_in_initializer): Move to cgraphbuild.c
+	(initialize_inline_failed, rebuild_cgraph_edges,
+	pass_rebuild_cgraph_edges): Move to cgraphbuild.c.
+	(verify_cgraph_node): Make visited_nodes local.
+	(cgraph_analyze_function): Do not call cgraph_create_edges and
+	initialize_inline_failed.
+	(cgraph_expand_function): Do not call cgraph_lower_function;
+	assert that function is already lowered.
+	* Makefile.in (cgraphbuild.o): New.
+	* passes.c (init_optimization_passes): Add pass_build_cgraph_edges
+	at the end of lowering passes.
+
+2007-01-06  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* ifcvt.c (cond_move_convert_if_block): New function, code
+	factored out from...
+	(cond_move_process_if_block): ...here.  Call the new function
+	on the THEN and ELSE blocks.
+	(merge_if_block): Do not copy global_live_at_end, merge_blocks
+	already takes care of this.
+
+2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR c/19978
+	* tree.h (TREE_OVERFLOW_P): New.
+	* c-typeck.c (parser_build_unary_op): Warn only if result
+	overflowed and operands did not.
+	(parser_build_binary_op): Likewise.
+	(convert_for_assignment): Remove redundant overflow_warning.
+	* c-common.c (overflow_warning): Don't check or set TREE_OVERFLOW.
+
+2007-01-05  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	* c-typeck.c (store_init_value): Split over two lines to follow
+	the GNU coding style.
+
+2007-01-05  Benjamin Kosnik  <bkoz@redhat.com>
+
+	* c-cppbuiltin.c (c_cpp_builtins): __GXX_EXPERIMENTAL_CPP0X__ to
+	__GXX_EXPERIMENTAL_CXX0X__.
+	* doc/cpp.texi: Same.
+
+2007-01-05  Richard Guenther  <rguenther@suse.de>
+
+	PR middle-end/27826
+	* tree.c (get_narrower): Do not construct COMPONENT_REFs
+	with mismatched types.  Instead explicitly build a
+	conversion NOP_EXPR.
+
+2007-01-05  Ian Lance Taylor  <iant@google.com>
+
+	* c-common.c (decl_with_nonnull_addr_p): New function.
+	(c_common_truthvalue_conversion): Call it.
+	* c-typeck.c (build_binary_op): Likewise.
+	* c-common.h (decl_with_nonnull_addr_p): Declare.
+
+2007-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+	PR c/30360
+	* libgcc2.c (__divdc3): Compare c and d against 0.0 instead of
+	denom against 0.0.
+
+2007-01-05  Joel Brobecker  <brobecker@adacore.com>
+
+	* doc/install.texi (Final install): Document the fact that
+	the GNAT runtime should not be stripped.
+
+2007-01-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-inline.c (fold_marked_statements): Update operand caches
+	and EH after folding
+
+2007-01-04  Ian Lance Taylor  <iant@google.com>
+
+	* c-common.c (check_function_nonnull): Whitespace fix.
+
+2007-01-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-optimize.c (execute_fixup_cfg): Correct previously mistakely
+	comitted older version of patch.
+	(pass_fixup_cfg): Add TODOs to verify flow and statements, dump
+	function, celanup cfg and collect garbage.
+
+2007-01-04  Mike Stump  <mrs@apple.com>
+
+	* Makefile.in (mostlyclean): Don't remove libgcc anymore.
+	(clean): Likewise.
+
+2007-01-04  Eric Christopher  <echristo@apple.com>
+
+	* libgcc2.c (__bswapsi2): Use SItype.
+	(__bswapdi2): Use DItype.
+	* libgcc2.h: Update for above.
+
+2007-01-04  Paul Brook  <paul@codesourcery.com>
+
+	* config/arm/arm.md (arm_mulsi3, thumb_mulsi3, mulsi3_compare0,
+	mulsi_compare0_scratch, mulsi3addsi, mulsi3addsi_compare0,
+	mulsi3addsi_compare0_scratch, mulsidi3adddi, mulsidi3,
+	umulsidi3, umulsidi3adddi, smulsi3_highpart,
+	umulsi3_highpart): Make conditional on !arm_arch6.
+	(arm_mulsi3_v6, thumb_mulsi3_v6, mulsi3_compare0_v6,
+	mulsi_compare0_scratch_v6, mulsi3addsi_v6, mulsi3addsi_compare0_v6,
+	mulsi3addsi_compare0_scratch_v6, mulsidi3adddi_v6, mulsidi3_v6,
+	umulsidi3_v6, umulsidi3adddi_v6, smulsi3_highpart_v6,
+	umulsi3_highpart_v6): New insns.
+
+2007-01-04  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (fold_convert): When casting an expression to void,
+	fold_ignored_result may discover a GIMPLE_MODIFY_STMT which doesn't
+	have a type.  Instead of attempting to build a NOP_EXPR, return
+	these "special" trees directly.
+
+2007-01-04  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000.c (rs6000_rtx_costs): Make adjustment for
+	MULT inside MINUS as either argument.  Use rs6000_cost->dmul -
+	rs6000_cost->fp not 0 as adjustment for outer NEG.
+
+2007-01-04  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c (cgraph_release_function_body): New function.
+	(cgraph_remove_node): Use it.
+	* cgraph.h (cgraph_release_function_body): Declare.
+	* cgraphunit.c (cgraph_expand_function): Use it.
+	* ipa.c (cgraph_remove_unreahchable_nodes): Use it.
+	* tree-ssa.c (delete_tree_ssa): Allow to be called before aliasing
+	is initialized and while compilation of other function is running.
+	* tree-optimize.c (execute_free_cfg_annotations): Move code to clear
+	statement CFG annotations from here to ...
+	* tree-cfg.c (delete_tree_cfg_annotations): ... here.
+
+2007-01-04  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* cfgloop.h (enum li_flags): Make the constants powers of two.
+
+2007-01-04  Jan Hubicka  <jh@suse.cz>
+
+	* tree-inline.c (copy_bb): Insert new statements to statements_to_fold
+	set.
+	(fold_marked_statements): New function.
+	(optimize_inline_calls, tree_function_versioning): Fold new statements.
+	* tree-inline.h (copy_body_data): Add statements_to_fold.
+
+2007-01-03  Daniel Jacobowitz  <dan@codesourcery.com>
+
+	* config.gcc: Mention libgcc/config.host.
+	* Makefile.in: Update comments mentioning libgcc.
+	(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
+	(all.cross, start.encap, rest.encap, rest.cross): Update
+	dependencies for libgcc move.
+	(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
+	(clean-target, clean-target-libgcc): Delete.
+	(srcdirify, GCC_EXTRA_PARTS): New macros.
+	(libgcc-support, libgcc.mvars): New rules.
+	(distclean): Remove mention of mklibgcc.
+	(install): Don't reference INSTALL_LIBGCC.
+	(install-common): Don't reference EXTRA_PARTS.
+	(install-libgcc, install-multilib): Delete rules.
+	* mklibgcc.in: Delete file.
+	* doc/configfiles.texi: Don't mention mklibgcc.
+
+	* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
+	* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
+	* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
+	* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
+	(mklibgcc, ldblspecs): Likewise.
+
+	* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
+	(posixpre.def): Use $(T).
+	(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
+	(SHLIB_SRC, SHLIB_INSTALL): Delete.
+	(SHLIB_LINK): Make dummy.
+	* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
+
+	* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
+
+	* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
+	* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
+	config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
+	config/rs6000/t-newas, config/sparc/t-elf: Likewise.
+
+	* configure.ac (all_outputs): Remove mklibgcc.
+	* configure: Regenerated.
+
+2007-01-03  Josh Conner  <jconner@apple.com>
+
+	PR middle-end/29683
+	* calls.c (compute_argument_addresses): Set stack and stack_slot
+	for partial args, too.
+	(store_one_arg): Use locate.size.constant for the size when
+	generating a save_area.
+
+2007-01-03  Robert Kennedy <jimbob@google.com>
+
+	* tree-cfg.c (tree_merge_blocks): Release SSA_NAME phi results
+	whose definitions are deleted due to basic block merging.
+
+2007-01-03  Paul Brook  <paul@codesourcery.com>
+
+	PR target/16634
+	* config/arm/arm.c (output_return_instruction): Pop PC in interrupt
+	functions.
+	(use_return_insn): Return 0 for Thumb interrupt functions.
+	(print_multi_reg): Add rfe argument for IRQ returns.
+	(arm_output_epilogue): Pop interrupt return address directly into PC.
+	(arm_expand_prologue): Only adjust IRQ return address in Arm mode.
+
+2007-01-03  Paul Brook  <paul@codesourcery.com>
+
+	Merge from sourcerygxx-4_1.
+	* config/arm/thumb2.md: New file.
+	* config/arm/elf.h (JUMP_TABLES_IN_TEXT_SECTION): Return True for
+	Thumb-2.
+	* config/arm/coff.h (JUMP_TABLES_IN_TEXT_SECTION): Ditto.
+	* config/arm/aout.h (ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
+	(ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump tables.
+	* config/arm/aof.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output Thumb-2 jump
+	tables.
+	(ASM_OUTPUT_ADDR_VEC_ELT): Add !Thumb-2 assertion.
+	* config/arm/ieee754-df.S: Use macros for Thumb-2/Unified asm
+	comptibility.
+	* config/arm/ieee754-sf.S: Ditto.
+	* config/arm/arm.c (thumb_base_register_rtx_p): Rename...
+	(thumb1_base_register_rtx_p): ... to this.
+	(thumb_index_register_rtx_p): Rename...
+	(thumb1_index_register_rtx_p): ... to this.
+	(thumb_output_function_prologue): Rename...
+	(thumb1_output_function_prologue): ... to this.
+	(thumb_legitimate_address_p): Rename...
+	(thumb1_legitimate_address_p): ... to this.
+	(thumb_rtx_costs): Rename...
+	(thumb1_rtx_costs): ... to this.
+	(thumb_compute_save_reg_mask): Rename...
+	(thumb1_compute_save_reg_mask): ... to this.
+	(thumb_final_prescan_insn): Rename...
+	(thumb1_final_prescan_insn): ... to this.
+	(thumb_expand_epilogue): Rename...
+	(thumb1_expand_epilogue): ... to this.
+	(arm_unwind_emit_stm): Rename...
+	(arm_unwind_emit_sequence): ... to this.
+	(thumb2_legitimate_index_p, thumb2_legitimate_address_p,
+	thumb1_compute_save_reg_mask, arm_dwarf_handle_frame_unspec,
+	thumb2_index_mul_operand, output_move_vfp, arm_shift_nmem,
+	arm_save_coproc_regs, thumb_set_frame_pointer, arm_print_condition,
+	thumb2_final_prescan_insn, thumb2_asm_output_opcode, arm_output_shift,
+	thumb2_output_casesi): New functions.
+	(TARGET_DWARF_HANDLE_FRAME_UNSPEC): Define.
+	(FL_THUMB2, FL_NOTM, FL_DIV, FL_FOR_ARCH6T2, FL_FOR_ARCH7,
+	FL_FOR_ARCH7A, FL_FOR_ARCH7R, FL_FOR_ARCH7M, ARM_LSL_NAME,
+	THUMB2_WORK_REGS): Define.
+	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv, arm_condexec_count,
+	arm_condexec_mask, arm_condexec_masklen)): New variables.
+	(all_architectures): Add armv6t2, armv7, armv7a, armv7r and armv7m.
+	(arm_override_options): Check new CPU capabilities.
+	Set new architecture flag variables.
+	(arm_isr_value): Handle v7m interrupt functions.
+	(user_return_insn): Return 0 for v7m interrupt functions.  Handle
+	Thumb-2.
+	(const_ok_for_arm): Handle Thumb-2 constants.
+	(arm_gen_constant): Ditto.  Use movw when available.
+	(arm_function_ok_for_sibcall): Return false for v7m interrupt
+	functions.
+	(legitimize_pic_address, arm_call_tls_get_addr): Handle Thumb-2.
+	(thumb_find_work_register, arm_load_pic_register,
+	legitimize_tls_address, arm_address_cost, load_multiple_sequence,
+	emit_ldm_seq, emit_stm_seq, arm_select_cc_mode, get_jump_table_size,
+	print_multi_reg, output_mov_long_double_fpa_from_arm,
+	output_mov_long_double_arm_from_fpa, output_mov_double_fpa_from_arm,
+	output_mov_double_fpa_from_arm, output_move_double,
+	arm_compute_save_reg_mask, arm_compute_save_reg0_reg12_mask,
+	output_return_instruction, arm_output_function_prologue,
+	arm_output_epilogue, arm_get_frame_offsets, arm_regno_class,
+	arm_output_mi_thunk, thumb_set_return_address): Ditto.
+	(arm_expand_prologue): Handle Thumb-2.  Use arm_save_coproc_regs.
+	(arm_coproc_mem_operand): Allow POST_INC/PRE_DEC.
+	(arithmetic_instr, shift_op): Use arm_shift_nmem.
+	(arm_print_operand): Use arm_print_condition.  Handle '(', ')', '.',
+	'!' and 'L'.
+	(arm_final_prescan_insn): Use extract_constrain_insn_cached.
+	(thumb_expand_prologue): Use thumb_set_frame_pointer.
+	(arm_file_start): Output directive for unified syntax.
+	(arm_unwind_emit_set): Handle stack alignment instruction.
+	* config/arm/lib1funcs.asm: Remove default for __ARM_ARCH__.
+	Add v6t2, v7, v7a, v7r and v7m.
+	(RETLDM): Add Thumb-2 code.
+	(do_it, shift1, do_push, do_pop, COND, THUMB_SYNTAX): New macros.
+	* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __thumb2__.
+	(TARGET_THUMB1, TARGET_32BIT, TARGET_THUMB2, TARGET_DSP_MULTIPLY,
+	TARGET_INT_SIMD, TARGET_UNIFIED_ASM, ARM_FT_STACKALIGN, IS_STACKALIGN,
+	THUMB2_TRAMPOLINE_TEMPLATE, TRAMPOLINE_ADJUST_ADDRESS,
+	ASM_OUTPUT_OPCODE, THUMB2_GO_IF_LEGITIMATE_ADDRESS,
+	THUMB2_LEGITIMIZE_ADDRESS, CASE_VECTOR_PC_RELATIVE,
+	CASE_VECTOR_SHORTEN_MODE, ADDR_VEC_ALIGN, ASM_OUTPUT_CASE_END,
+	ADJUST_INSN_LENGTH): Define.
+	(TARGET_REALLY_IWMMXT, TARGET_IWMMXT_ABI, CONDITIONAL_REGISTER_USAGE,
+	STATIC_CHAIN_REGNUM, HARD_REGNO_NREGS, INDEX_REG_CLASS,
+	BASE_REG_CLASS, MODE_BASE_REG_CLASS, SMALL_REGISTER_CLASSES,
+	PREFERRED_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS,
+	SECONDARY_INPUT_RELOAD_CLASS, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P,
+	TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE, HAVE_PRE_INCREMENT,
+	HAVE_POST_DECREMENT, HAVE_PRE_DECREMENT, HAVE_PRE_MODIFY_DISP,
+	HAVE_POST_MODIFY_DISP, HAVE_PRE_MODIFY_REG, HAVE_POST_MODIFY_REG,
+	REGNO_MODE_OK_FOR_BASE_P, LEGITIMATE_CONSTANT_P,
+	REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
+	LEGITIMIZE_ADDRESS, THUMB2_LEGITIMIZE_ADDRESS,
+	GO_IF_MODE_DEPENDENT_ADDRESS, MEMORY_MOVE_COST, BRANCH_COST,
+	ASM_APP_OFF, ASM_OUTPUT_CASE_LABEL, ARM_DECLARE_FUNCTION_NAME,
+	FINAL_PRESCAN_INSN, PRINT_OPERAND_PUNCT_VALID_P,
+	PRINT_OPERAND_ADDRESS): Adjust for Thumb-2.
+	(arm_arch_notm, arm_arch_thumb2, arm_arch_hwdiv): New declarations.
+	* config/arm/arm-cores.def: Add arm1156t2-s, cortex-a8, cortex-r4 and
+	cortex-m3.
+	* config/arm/arm-tune.md: Regenerate.
+	* config/arm/arm-protos.h: Update prototypes.
+	* config/arm/vfp.md: Enable patterns for Thumb-2.
+	(arm_movsi_vfp): Add movw alternative.  Use output_move_vfp.
+	(arm_movdi_vfp, movsf_vfp, movdf_vfp): Use output_move_vfp.
+	(thumb2_movsi_vfp, thumb2_movdi_vfp, thumb2_movsf_vfp,
+	thumb2_movdf_vfp, thumb2_movsfcc_vfp, thumb2_movdfcc_vfp): New.
+	* config/arm/libunwind.S: Add Thumb-2 code.
+	* config/arm/constraints.md: Update include Thumb-2.
+	* config/arm/ieee754-sf.S: Add Thumb-2/Unified asm support.
+	* config/arm/ieee754-df.S: Ditto.
+	* config/arm/bpabi.S: Ditto.
+	* config/arm/t-arm (MD_INCLUDES): Add thumb2.md.
+	* config/arm/predicates.md (low_register_operand,
+	low_reg_or_int_operand, thumb_16bit_operator): New.
+	(thumb_cmp_operand, thumb_cmpneg_operand): Rename...
+	(thumb1_cmp_operand, thumb1_cmpneg_operand): ... to this.
+	* config/arm/t-arm-elf: Add armv7 multilib.
+	* config/arm/arm.md: Update patterns for Thumb-2 and Unified asm.
+	Include thumb2.md.
+	(UNSPEC_STACK_ALIGN, ce_count): New.
+	(arm_incscc, arm_decscc, arm_umaxsi3, arm_uminsi3,
+	arm_zero_extendsidi2, arm_zero_extendqidi2): New
+	insns/expanders.
+	* config/arm/fpa.md: Update patterns for Thumb-2 and Unified asm.
+	(thumb2_movsf_fpa, thumb2_movdf_fpa, thumb2_movxf_fpa,
+	thumb2_movsfcc_fpa, thumb2_movdfcc_fpa): New insns.
+	* config/arm/cirrus.md: Update patterns for Thumb-2 and Unified asm.
+	(cirrus_thumb2_movdi, cirrus_thumb2_movsi_insn,
+	thumb2_cirrus_movsf_hard_insn, thumb2_cirrus_movdf_hard_insn): New
+	insns.
+	* doc/extend.texi: Document ARMv7-M interrupt functions.
+	* doc/invoke.texi: Document Thumb-2 new cores+architectures.
+
+2007-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+	* unwind-dw2.c (SIGNAL_FRAME_BIT, EXTENDED_CONTEXT_BIT): Define.
+	(struct _Unwind_Context): Rename args_size to flags, remove
+	signal_frame field, add a new args_size field and version field.
+	(_Unwind_IsSignalFrame, _Unwind_SetSignalFrame,
+	_Unwind_IsExtendedContext): New inline functions.
+	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
+	Assume by_value array is only present if _Unwind_IsExtendedContext.
+	(_Unwind_GetIPInfo, execute_cfa_program, uw_frame_state_for): Use
+	_Unwind_IsSignalFrame.
+	(__frame_state_for): Initialize context.flags to EXTENDED_CONTEXT_BIT.
+	(uw_update_context_1): Use _Unwind_SetSignalFrame.
+	(uw_init_context_1): Initialize context->flags to
+	EXTENDED_CONTEXT_BIT.
+	* config/rs6000/linux-unwind.h (frob_update_context): Use
+	_Unwind_SetSignalFrame.
+
+2007-01-03  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+	PR middle-end/30353
+	* gimplify.c (gimplify_modify_expr_complex_part): Move below
+	tree_to_gimple_tuple.  Call tree_to_gimple_tuple when we need
+	the value.
+
+2007-01-03  Kazu Hirata  <kazu@codesourcery.com>
+
+	* config/i386/i386.h (NON_STACK_REG_P, REGNO_OK_FOR_SIREG_P,
+	REGNO_OK_FOR_DIREG_P, REWRITE_ADDRESS, ASM_OPERAND_LETTER,
+	RET, AT_SP): Remove.
+	* config/i386/i386.md (*sse_prologue_save_insn): Use return
+	instead of RET.
+
+	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
+	* cfgbuild.c (find_basic_blocks): Likewise.
+	* cfgrtl.c (rtl_create_basic_block): Likewise.
+	* function.c (temp_slots_at_level): Likewise.
+	* reg-stack.c (stack_regs_mentioned): Likewise.
+	* regclass.c (allocate_reg_info): Likewise.
+	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
+	set_bb_for_stmt, move_block_to_fn): Likewise.
+	* tree-complex.c (tree_lower_complex): Likewise.
+	* vec.h (VEC_safe_grow_cleared): New.
+
+	* cgraphunit.c, tree-ssa-alias.c: Fix comment typos.
+
+2007-01-03  Zdenek Dvorak <dvorakz@suse.cz>
+
+	* loop-unswitch.c (unswitch_loop): Pass probabilities to loopify.
+	* tree-ssa-loop-unswitch.c (tree_unswitch_loop): Pass probabilities
+	to loop_version.
+	* cfgloopmanip.c (scale_loop_frequencies): Export.
+	(loopify): Scale the frequencies by prescribed coefficients.
+	(set_zero_probability): New function.
+	(duplicate_loop_to_header_edge): Improve updating of frequencies.
+	(lv_adjust_loop_entry_edge, loop_version): Set probabilities
+	and frequencies according to arguments.
+	* tree-ssa-loop-manip.c (tree_unroll_loop): Set probabilities
+	correctly.
+	* cfg.c (scale_bbs_frequencies_int): Allow scaling the frequencies up.
+	* modulo-sched.c (sms_schedule): Set probabilities for entering
+	versioned loop correctly.
+	* tree-vect-transform.c (vect_transform_loop): Ditto.
+	* cfgloop.h (loopify, loop_version): Declaration changed.
+	(scale_loop_frequencies): Declared.
+
+2007-01-02  Jan Hubicka  <jh@suse.cz>
+
+	* cgraph.c: Include tree-flow.h
+	(cgraph_add_new-function): Handle IPA_SSA mode; execute
+	early_local_passes.
+	* cgraph.h (enum cgraph_state): Add CGRAPH_STATE_IPA_SSA.
+	* tree-pass.h (pass_all_early_optimizations): Declare.
+	* cgraphunit.c (cgraph_process_new_functions): Add IPA_SSA; execute
+	early_local_passes.
+	(cgraph_analyze_function): Do early_local_passes.
+	* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
+	Do not add referenced vars.
+	* tree-optimize.c (gate_all_optimizations): Do not execute when not in
+	SSA form.
+	(gate_all_early_local_passes): New gate.
+	(pass_early_local_passes): Use new gate.
+	(execute_early_local_optimizations): New functions.
+	(gate_all_early_optimizations): New gate.
+	(pass_all_early_optimizations): New pass.
+	(execute_free_datastructures): Free SSA only when initialized.
+	(gate_init_datastructures): Init only when optimizing.
+	(tree_lowering_passes): Do early local passes when called late.
+	* tree-profile.c (do_tree_profiling): Don't profile functions added
+	late.
+	(do_early_tree_profiling, pass_early_tree_profile): Kill.
+	* tree-cfg.c (update_modified_stmts): Do not update when operands are
+	not active.
+	* passes.c (init_optimizations_passes): Reorder so we go into SSA
+	during early_local_passes.
+	* Makefile.in (cgraph.o): Add dependency on tree-flow.h.
+
+
+2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>
+
+	* Makefile.in: Update copyright year.
+
+2007-01-02  Carlos O'Donell  <carlos@codesourcery.com>
+
+	* Makefile.in: Export GCC_EXEC_PREFIX before calling $(RUNTEST)
+	in $(lang_checks) and check-consistency targets.
+
+2007-01-02  Jan Hubicka  <jh@suse.cz>
+
+	* tree-mudflap.c (mf_decl_cache_locals, mf_build_check_statement_for):
+	Do not add referenced vars.
+	* tree-cfg.c (update_modified_stmts): Do not update when SSA operands
+	are not active.
+	* passes.c (init_optimization_passes): Put mudflap_2 after
+	free_datastructures.
+
+2007-01-02  Jan Hubicka  <jh@suse.cz>
+
+	* tree-optimize (execute_fixup_cfg): Set after_inlining flag.
+	Set NOTHROW flag on call statements proved to be nothrow.
+	Update statement of local calls so new pure/const functions are
+	updated. Update_ssa when in ssa form. Mark PHI nodes of nonlocal
+	goto receivers.
+	(tree_rest_of_compilation): Register hooks and initialize bitmap
+	early. Do not set after_inlining flag.
+
+2007-01-02  Steve Ellcey  <sje@cup.hp.com>
+
+	* sbitmap.c (HOST_BITS_PER_LONG_LONG): Change to
+	HOST_BITS_PER_LONGLONG
+
+2007-01-02  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
+
+	PR c/19977
+	* c-typeck.c (store_init_value): Don't emit pedantic overflow
+	warning for non-static initializers.
+
+2007-01-02  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* config/alpha/alpha.md, arm/arm.c, darwin.c, frv/frv.md,
+	m32r/m32r.c, m32r/m32r.c, mn10300/mn10300.md, pa/pa.c,
+	rs6000/rs6000.c, s390/s390.md, sh/sh.md, sparc/sparc.c:
+	Always use set_unique_reg_note to add REG_EQUAL notes.
+
+2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
+
+	Revert:
+	2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
+
+	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
+	* cfgbuild.c (find_basic_blocks): Likewise.
+	* cfgrtl.c (rtl_create_basic_block): Likewise.
+	* function.c (temp_slots_at_level): Likewise.
+	* reg-stack.c (stack_regs_mentioned): Likewise.
+	* regclass.c (allocate_reg_info): Likewise.
+	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
+	set_bb_for_stmt, move_block_to_fn): Likewise.
+	* tree-complex.c (tree_lower_complex): Likewise.
+	* vec.h (VEC_safe_grow_cleared): New.
+
+2007-01-02  Ian Lance Taylor  <iant@google.com>
+
+	* c-common.c (c_common_truthvalue_conversion): When warning about
+	using an assignment as a truth value, set TREE_NO_WARNING.
+
+2007-01-02  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+	PR middle-end/7651
+	* c.opt (Wold-style-declaration): New.
+	* doc/invoke.texi (C-only Warning Options): New.
+	(Wold-style-declaration): Document it.
+	(Wextra): Enabled by -Wextra.
+	* c-opts.c (c_common_post_options): Enabled by -Wextra.
+	* c-decl.c (declspecs_add_scspec): Replace -Wextra with
+	-Wold-style-declaration.
+
+2007-01-02  Kazu Hirata  <kazu@codesourcery.com>
+
+	* alias.c (init_alias_analysis): Use VEC_safe_grow_cleared.
+	* cfgbuild.c (find_basic_blocks): Likewise.
+	* cfgrtl.c (rtl_create_basic_block): Likewise.
+	* function.c (temp_slots_at_level): Likewise.
+	* reg-stack.c (stack_regs_mentioned): Likewise.
+	* regclass.c (allocate_reg_info): Likewise.
+	* tree-cfg.c (init_empty_tree_cfg, build_tree_cfg, create_bb,
+	set_bb_for_stmt, move_block_to_fn): Likewise.
+	* tree-complex.c (tree_lower_complex): Likewise.
+	* vec.h (VEC_safe_grow_cleared): New.
+
+2007-01-02  Douglas Gregor  <doug.gregor@gmail.com>
+
+	* c-common.c (c_common_nodes_and_builtins): Since variants of
+	void_type_node get built before it is given a name, we need to
+	give those variants the name, too.
+	(complete_array_type): We need to work with the canonical main
+	type of the array, from which we will build the qualified version.
+	* params.def (PARAM_VERIFY_CANONICAL_TYPES): New.
+	* print-tree.c (print_node): Display canonical type information
+	for each type.
+	* stor-layout.c (layout_type): When we don't know the
+	alignment of a type for which we're building an array, we end up
+	guessing wrong, so make the type require structural equality.
+	* tree.c (make_node_stat): When we build a new type, it is its
+	own canonical type.
+	(build_type_attribute_qual_variant): When building an attribute
+	variant, its canonical type is the non-attribute variant. However,
+	if the attributes are target-dependent and they differ, we need to
+	use structural equality checks for this type.
+	(build_qualified_type): A qualified type is not equivalent to its
+	unqualified variant; set the canonical type appropriately.
+	(build_distinct_type_copy): When building a distinct type from
+	another type, the new type is its own canonical type.
+	(build_variant_type_copy): When building a new type variant, we
+	assume that it is equivalent to the original type.
+	(build_pointer_type_for_mode): When building a pointer type, also
+	build a canonical type pointer.
+	(build_reference_type_for_mode): When building a reference type,
+	also build a canonical type reference.
+	(build_index_type): When we can't hash an index type (e.g.,
+	because its maximum value is negative), the index type requires
+	structural equality tests.
+	(build_array_type): Build the canonical form of an array type.
+	(build_function_type): Function types require structural equality,
+	because they contain default arguments, attributes, etc.
+	(build_method_type_directly): Ditto for method types.
+	(build_offset_type): Build the canonical offset type.
+	(build_complex_type): Build the canonical vector type.
+	(make_vector_type): Build the canonical vector type.
+	* tree.h (TYPE_CANONICAL): New.
+	(TYPE_STRUCTURAL_EQUALITY_P): New.
+	(SET_TYPE_STRUCTURAL_EQUALITY): New.
+	(struct tree_type): Added "canonical" field.
+	* params.h (VERIFY_CANONICAL_TYPES): New.
+	* doc/c-tree.texi (TYPE_CANONICAL): Document.
+	(TYPE_STRUCTURAL_EQUALITY_P): Document.
+	(SET_TYPE_STRUCTURAL_EQUALITY): Document.
+	* doc/invoke.texi (verify-canonical-types): Document --param
+	parameter for verifying canonical types.
+
+2007-01-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* config.gcc (powerpc-*-eabispe*, powerpc-*-eabisimaltivec*,
+	powerpc-*-eabisim*, powerpc-*-eabialtivec*, powerpc-*-eabi*,
+	powerpc-*-rtems*, powerpc-wrs-vxworks, powerpc-wrs-vxworksae,
+	powerpcle-*-eabisim*, powerpcle-*-eabi*): Add rs6000/e500.h to
+	tm_file.
+	* config/rs6000/e500.h: New.
+	* config/rs6000/eabi.h (TARGET_SPE_ABI, TARGET_SPE, TARGET_E500,
+	TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE, TARGET_E500_DOUBLE):
+	Remove.
+	* config/rs6000/linuxspe.h (TARGET_SPE_ABI, TARGET_SPE,
+	TARGET_E500, TARGET_ISEL, TARGET_FPRS, TARGET_E500_SINGLE,
+	TARGET_E500_DOUBLE): Remove.
+	* config/rs6000/vxworks.h (TARGET_SPE_ABI, TARGET_SPE,
+	TARGET_E500, TARGET_ISEL, TARGET_FPRS): Remove.
+	* config/rs6000/rs6000.h (CHECK_E500_OPTIONS): Define.
+	* config/rs6000/rs6000.c (rs6000_override_options): Use
+	CHECK_E500_OPTIONS.
+
+2007-01-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* config/rs6000/rs6000.c (print_operand): Check (TARGET_SPE ||
+	TARGET_E500_DOUBLE), not TARGET_E500, for %y.
+	(rs6000_generate_compare, rs6000_emit_sCOND, output_cbranch,
+	rs6000_emit_cmove): Don't check TARGET_E500.
+	* config/rs6000/rs6000.md (bunordered, bordered, sunordered,
+	sordered): Don't check TARGET_E500.
+
+2007-01-01  Eric Christopher  <echristo@apple.com>
+
+	* config/mips/mips.c (mips_regno_mode_ok_for_base_p): Use
+	HARD_REGISTER_NUM_P.
+
+2007-01-01  Roger Sayle  <roger@eyesopen.com>
+
+	* fold-const.c (fold_binary) <EQ_EXPR>: Fold "(X^C1) eq/ne C2" into
+	"X eq/ne (C1^C2)".  Fold "(X^Z) eq/ne (Y^Z)" as "X eq/ne Y" when Z
+	has no side-effects.  Fold "(X^C1) eq/ne (Y^C2)" as "(X^(C1^C2))
+	eq/ne Y".
+
+2007-01-01  Mike Stump  <mrs@apple.com>
+
+	* configure.ac: Remove support for building with Apple's gcc-3.1.
+
+2007-01-02  Joseph Myers  <joseph@codesourcery.com>
+
+	PR middle-end/30311
+	* caller-save.c (add_stored_regs): Only handle SUBREGs if inner
+	REG is a hard register.  Do not modify REG before calling
+	subreg_nregs.
+	* rtlanal.c (subreg_get_info): Don't assert size of XMODE is a
+	multiple of the size of YMODE for certain lowpart cases.
+
+2007-01-01  Andrew Pinski  <pinskia@gmail.com>
+
+	PR middle-end/30253
+	* gimplify (voidify_wrapper_expr): Update for
+	GIMPLE_MODIFY_STMT.
+
+2007-01-01  Andreas Schwab  <schwab@suse.de>
+
+	PR target/29166
+	* config/ia64/ia64.c (ia64_compute_frame_size): Account space for
+	save of BR0 in extra_spill_size instead of spill_size.
+	(ia64_expand_prologue): Save BR0 outside of the gr/br/fr spill
+	area.
+	(ia64_expand_epilogue): Restore BR0 from its new location.
+
+2007-01-01  Andrew Pinski  <pinskia@gmail.com>
+
+	* gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>):
+	Use a temporary variable if the left hand side is not a gimple
+	register.
+
+2007-01-01  Andrew Pinski  <pinskia@gmail.com>
+
+	* gimplify.c (gimplify_return_expr): Make the temporary variable
+	for the return expression, a gimple register variable.
+
+2007-01-01  Jan Hubicka  <jh@suse.cz>
+
+	* emit-rtl.c (emit_copy_of_insn_after): Do not call copy_insn_1 for
+	INSN_LIST.
+
+2007-01-01  Mike Stump  <mrs@apple.com>
+
+	* configure.ac (HAVE_GAS_LITERAL16): Add autoconf check for
+	.literal16.
+	* config/darwin.c (machopic_select_rtx_section): Use
+	HAVE_GAS_LITERAL16.
+	(darwin_mergeable_constant_section): Likewise.
+	* configure: Regenerate.
+	* config.in: Regenerate.
+
+2007-01-01  Jan Hubicka  <jh@suse.cz>
+	    Andrew Pinski  <pinskia@gmail.com>
+
+	* cgraphunit.c (cgraph_optimize): Call cgraph_add_new_functions
+	before starting IPA passes.