OSDN Git Service

2008-07-30 Rafael Avila de Espindola <espindola@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 15e8205..e2b535a 100644 (file)
+2008-07-30  Rafael Avila de Espindola  <espindola@google.com>
+
+       PR 36974
+       * final.c (call_from_call_insn): Handle COND_EXEC
+
+2008-07-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * builtins.c (std_gimplify_va_arg_expr): Replace
+       PREFERRED_STACK_BOUNDARY with MAX_SUPPORTED_STACK_ALIGNMENT.
+       * config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+
+2008-07-30  Joey Ye  <joey.ye@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * builtins.c (expand_builtin_setjmp_receiver): Replace
+       virtual_incoming_args_rtx with crtl->args.internal_arg_pointer.
+       (expand_builtin_apply_args_1): Likewise.
+       (expand_builtin_longjmp): Need DRAP for stack alignment.
+       (expand_builtin_apply): Likewise.
+
+       * caller-save.c (setup_save_areas): Call assign_stack_local_1
+       instead of assign_stack_local to allow alignment reduction.
+
+       * calls.c (emit_call_1): Need DRAP for stack alignment if
+       return pops.
+       (expand_call): Replace virtual_incoming_args_rtx with
+       crtl->args.internal_arg_pointer.
+       * stmt.c (expand_nl_goto_receiver): Likewise.
+
+       * cfgexpand.c (get_decl_align_unit): Estimate stack variable
+       alignment and store to stack_alignment_estimated and
+       max_used_stack_slot_alignment.
+       (expand_one_var): Likewise.
+       (expand_stack_alignment): New function.
+       (tree_expand_cfg): Initialize max_used_stack_slot_alignment
+       and stack_alignment_estimated fields in rtl_data.  Call
+       expand_stack_alignment at end.
+
+       * defaults.h (INCOMING_STACK_BOUNDARY): New.
+       (MAX_STACK_ALIGNMENT): Likewise.
+       (MAX_SUPPORTED_STACK_ALIGNMENT): Likewise.
+       (SUPPORTS_STACK_ALIGNMENT): Likewise.
+
+       * emit-rtl.c (gen_reg_rtx): Estimate stack alignment for
+       stack alignment when generating virtual registers.
+
+       * function.c (assign_stack_local): Renamed to ...
+       (assign_stack_local_1): This.  Add a parameter to indicate
+       if it is OK to reduce alignment.
+       (assign_stack_local): Use it.
+       (instantiate_new_reg): Instantiate virtual incoming args rtx
+       to vDRAP if stack realignment and DRAP is needed.
+       (assign_parms): Collect parameter/return type alignment and
+       contribute to stack_alignment_estimated.
+       (locate_and_pad_parm): Likewise.
+       (get_arg_pointer_save_area): Replace virtual_incoming_args_rtx
+       with crtl->args.internal_arg_pointer.
+
+       * function.h (rtl_data): Add new field drap_reg,
+       max_used_stack_slot_alignment, stack_alignment_estimated,
+       stack_realign_needed, need_drap, stack_realign_processed and
+       stack_realign_finalized.
+       (stack_realign_fp): New macro.
+       (stack_realign_drap): Likewise.
+
+       * global.c (compute_regsets): Frame pointer is needed when
+       stack is realigned.  Can eliminate frame pointer when stack is
+       realigned and dynamic realigned argument pointer isn't used.
+
+       * reload1.c (update_eliminables):  Frame pointer is needed
+       when stack is realigned.
+       (init_elim_table): Can eliminate frame pointer when stack is
+       realigned and dynamic realigned argument pointer isn't used.
+
+       * rtl.h (assign_stack_local_1): Declare new funtion.
+
+       * target-def.h (TARGET_UPDATE_STACK_BOUNDARY): New.
+       (TARGET_GET_DRAP_RTX): Likewise.
+       (TARGET_CALLS): Add TARGET_UPDATE_STACK_BOUNDARY and
+       TARGET_GET_DRAP_RTX.
+
+       * target.h (gcc_target): Add update_stack_boundary and
+       get_drap_rtx.
+
+       * tree-vectorizer.c (vect_can_force_dr_alignment_p): Replace
+       STACK_BOUNDARY with MAX_STACK_ALIGNMENT.
+
+2008-07-30  Xuepeng Guo  <xuepeng.guo@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * dwarf2out.c (dw_fde_struct): Add stack_realignment, drap_reg,
+       vdrap_reg, stack_realign and drap_reg_saved.
+       (add_cfi): Don't allow redefining CFA when DRAP is used.
+       (reg_save): Handle stack alignment.
+       (dwarf2out_frame_debug_expr): Add rules 16-20 to handle stack
+       alignment.  Don't generate DWARF information for (set fp sp)
+       when DRAP is used.
+       (dwarf2out_begin_prologue): Initialize drap_reg and vdrap_reg
+       to INVALID_REGNUM.
+       (int_loc_descriptor): Move prototype forward.  Also define if
+       DWARF2_UNWIND_INFO is true.
+       (output_cfa_loc): Handle DW_CFA_expression.
+       (build_cfa_aligned_loc): New.
+       (based_loc_descr): Update assert for stack realign.  For local
+       variables, use sp+offset when stack is aligned without drap and
+       fp+offset when stack is aligned with drap.  For arguments, use
+       cfa+offset when drap is used to align stack.
+
+2008-07-30  Joey Ye  <joey.ye@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_force_align_arg_pointer_string):
+       Break long line.
+       (ix86_gen_andsp): New.
+       (ix86_user_incoming_stack_boundary): Likewise.
+       (ix86_default_incoming_stack_boundary): Likewise.
+       (ix86_incoming_stack_boundary): Likewise.
+       (ix86_can_eliminate): Likewise.
+       (find_drap_reg): Likewise.
+       (ix86_update_stack_boundary): Likewise.
+       (ix86_get_drap_rtx): Likewise.
+       (ix86_finalize_stack_realign_flags): Likewise.
+       (TARGET_UPDATE_STACK_BOUNDARY): Likewise.
+       (TARGET_GET_DRAP_RTX): Likewise.
+       (override_options): Overide option value for new options.
+       (ix86_function_ok_for_sibcall): Remove check for
+       force_align_arg_pointer.
+       (ix86_handle_cconv_attribute): Likewise.
+       (ix86_function_regparm): Likewise.
+       (setup_incoming_varargs_64): Don't set stack_alignment_needed
+       here.
+       (ix86_va_start): Replace virtual_incoming_args_rtx with
+       crtl->args.internal_arg_pointer.
+       (ix86_select_alt_pic_regnum): Check DRAP register.
+       (ix86_save_reg): Replace force_align_arg_pointer with drap_reg.
+       (ix86_compute_frame_layout): Compute frame layout wrt stack
+       realignment.
+       (ix86_internal_arg_pointer): Just return
+       virtual_incoming_args_rtx.
+       (ix86_expand_prologue): Decide if stack realignment is needed
+       and generate prologue code accordingly.
+       (ix86_expand_epilogue): Generate epilogue code wrt stack
+       realignment is really needed or not.
+       
+       * config/i386/i386.h (MAIN_STACK_BOUNDARY): New.
+       (ABI_STACK_BOUNDARY): Likewise.
+       (PREFERRED_STACK_BOUNDARY_DEFAULT): Likewise.
+       (STACK_REALIGN_DEFAULT): Likewise.
+       (INCOMING_STACK_BOUNDARY): Likewise.
+       (MAX_STACK_ALIGNMENT): Likewise.
+       (ix86_incoming_stack_boundary): Likewise.
+       (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Removed.
+       (REAL_PIC_OFFSET_TABLE_REGNUM): Updated to use BX_REG.
+       (CAN_ELIMINATE): Defined with ix86_can_eliminate.
+       (machine_function): Remove force_align_arg_pointer.
+
+       * config/i386/i386.md (BX_REG): New.
+       (R13_REG): Likewise.
+
+       * config/i386/i386.opt (mforce_drap): New.
+       (mincoming-stack-boundary): Likewise.
+       (mstackrealign): Add Init(-1).
+
+       * config/i386/i386-protos.h (ix86_can_eliminate): New
+
+2008-07-30  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/extend.texi: Update force_align_arg_pointer.
+
+       * doc/invoke.texi: Document -mincoming-stack-boundary.  Update
+       -mstackrealign.
+
+       * doc/tm.texi (MAX_STACK_ALIGNMENT): Add macro.
+       (INCOMING_STACK_BOUNDARY): Likewise.
+       (TARGET_UPDATE_STACK_BOUNDARY): New target hook.
+       (TARGET_GET_DRAP_RTX): Likewise.
+
+2008-07-30  Andreas Schwab  <schwab@suse.de>
+
+       PR rtl-optimization/36929
+       * dse.c (replace_inc_dec): Use emit_insn_before instead of
+       add_insn_before and fix argument order.
+       (replace_inc_dec_mem): Handle NULL rtx.
+
+2008-07-30  Andrew Jenner  <andrew@codesourcery.com>
+
+       * config/arm/arm.c (arm_compute_static_chain_stack_bytes): New
+       function.
+       (arm_compute_initial_elimination_offset): Use it.
+       (arm_compute_save_reg_mask): Include static chain save slot when
+       calculating alignment.
+       (arm_get_frame_offsets): Ditto.
+       (thumb1_compute_save_reg_mask): Ensure we have a low register saved
+       that we can use to decrement the stack when the stack decrement
+       could be too big for an immediate value in a single insn.
+       (thumb1_expand_prologue): Avoid using r12 for stack decrement.
+
+2008-07-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36967
+       * tree-predcom.c (remove_stmt): Use gimple_assign_ssa_name_copy_p.
+       Release defs of statements we remove.
+
+2008-07-30  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/arm/arm.c (arm_expand_prologue): Use 0-length rtvec
+       instead of NULL_RTVEC.
+
+2008-07-30  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR target/35866
+
+       * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Add clause for
+       vector modes.
+
+2008-07-30  Rafael Avila de Espindola  <espindola@google.com>
+
+       * final.c (call_from_call_insn): New.
+       (final_scan_insn): Call assemble_external on FUNCTION_DECLs.
+
+2008-07-30  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure.ac: Substitute ADA_CFLAGS.
+       * configure: Regenerate.
+       * config.host: Remove mention of pa/x-ada and pa/x-ada-hpux10 files.
+       * Makefile.in: Remove mention of X_* variables.
+       * config/pa/x-ada-hpux10: Remove.
+       * config/pa/x-ada: Remove.
+
+       * doc/fragments.texi: Update.
+
+2008-07-30  Olivier Hainque  <hainque@adacore.com>
+
+       * config/mips/irix-crti.asm: .hide __gcc_init and __gcc_fini.
+       * config/mips/iris6.h (IRIX_SUBTARGET_LINK_SPEC, irix ld): Hide
+       __dso_handle explicitly here.
+
+2008-07-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 34389
+       * c-typeck.c (build_binary_op): Encapsulate code into...
+       * c-common.c (shorten_binary_op): ...this new function.
+       (conversion_warning): Use the new function. Handle non-negative
+       constant in bitwise-and.
+       * c-common.h (shorten_binary_op): Declare.
+
+2008-07-30  Olivier Hainque  <hainque@adacore.com>
+
+       * scan.c (make_sstring_space): Add explicit conversions of
+       allocator's return value.
+       * fix-header.c (recognized_function): Likewise.
+
+2008-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/cpp.texi: Update to GFDL 1.2.
+       * doc/gcc.texi: Do not list GPL as Invariant Section.
+       * doc/gccint.texi: Likewise.  Update copyright years.
+       * doc/install.texi: Update copyright years.
+
+2008-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/36955
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Add
+       a use of pic_offset_table_rtx for -msecure-plt __tls_get_addr calls.
+
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * c-decl.c (merge_decls): Do not handle DECL_INLINE.
+       (grokdeclarator): Likewise.
+       * langhooks.c (lhd_warn_unused_global_decl): Use
+       DECL_DECLARED_INLINE_P.
+       * print-tree.c (print_node): Remove DECL_INLINE check.
+
+2008-07-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36945
+       * tree-ssa-sccvn.h (copy_reference_ops_from_ref): Declare.
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Export.
+       Record invariant addresses un-decomposed.
+       (copy_reference_ops_from_call): Record reference call
+       arguments properly.  Simplify.
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): New
+       helper split out from ...
+       (create_component_ref_by_pieces): ... here.  Simplify.
+       Prepare for recursive invocation for call arguments.
+       (create_expression_by_pieces): Adjust call to
+       create_component_ref_by_pieces.
+       (compute_avail): Process operand 2 of reference ops.
+
+2008-07-29  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimplify_expr): Clear TREE_SIDE_EFFECTS for
+       OBJ_TYPE_REF.
+
+2008-07-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-format.c (check_format_types): Revert unwanted checkin.
+
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * flags.h (flag_really_no_inline): Remove.
+       * cgraph.c (cgraph_function_possibly_inlined_p): Simplify.
+       * toplev.c (flag_really_no_inline): Remove.
+       * c-cppbuiltin.c (c_cpp_builtins): Use flag_no_inline.
+       * ipa-inline.c (cgraph_decide_inlining): Do not check flag_no_inline.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       (compute_inline_parameters): Likewise.
+       * opts.c (decode_options): Simplify.
+       * c-opts.c (c_common_post_options): Do not set flag_no_inline.
+       * common.opt (finline): Initialize to 1.
+       * tree-inline.c (inlinable_function_p): Check flag_no_inline.
+
+2008-07-29  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (always_optimize_for_size_p): New function.
+       (optimize_bb_for_size_p, optimize_bb_for_speed_p,
+       optimize_edge_for_size_p, optimize_edge_for_speed_p,
+       optimize_insn_for_size_p, optimize_insn_for_speed_p): New global
+       functions.
+       (rtl_profile_for_bb, rtl_profile_for_edge, rtl_default_profile): New.
+       * function.c (prepare_function_start): Set default profile.
+       * function.h (rtl_data): Add maybe_hot_insn_p.
+       * cfgexpand.c (expand_gimple_basic_block): Set RTL profile.
+       (construct_exit_block): Likewise.
+       (tree_expand_cfg): Likewise.
+       * basic-block.h
+       (optimize_bb_for_size_p, optimize_bb_for_speed_p,
+       optimize_edge_for_size_p, optimize_edge_for_speed_p,
+       optimize_insn_for_size_p, optimize_insn_for_speed_p): Declare.
+       (rtl_profile_for_bb, rtl_profile_for_edge, default_rtl_profile):
+       Declare.
+
+2008-07-29  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 34985
+       * c-decl.c (merge_decls): Merge USED flags.
+
+2008-07-29  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_gimplify_va_arg_expr): Unshare the addr,
+       valist, next_fp, next_fp_tmp, next_fp_limit, next_o, next_o_limit,
+       next_stack, lab_false and lab_over trees.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/36957
+       * tree-flow.h (tree_ssa_useless_type_conversion): Remove.
+       (useless_type_conversion_p): Remove.
+       (types_compatible_p): Remove.
+       * gimple.h (tree_ssa_useless_type_conversion): Declare.
+       (useless_type_conversion_p): Declare.
+       (types_compatible_p): Declare.
+       (gimple_expr_type): Return the base type only if it is
+       trivially convertible to the subtype.
+
+2008-07-28  Andreas Tobler  <a.tobler@schweiz.org>
+
+       * configure.ac: Use the m4_do macro to concatenate the warnings into
+       one string in ACX_PROG_CC_WARNING_OPTS,
+       ACX_PROG_CC_WARNING_ALMOST_PEDANTIC and ACX_PROG_CC_WARNINGS_ARE_ERRORS.
+       * configure: Regenerate.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (insert_into_preds_of_block): Remove dead code.
+       (insert_fake_stores): Remove.
+       (realify_fake_stores): Likewise.
+       (execute_pre): Remove dead code.
+       * tree-ssa-structalias.c (get_constraint_for_1): Remove tcc_unary
+       case.
+       (find_func_aliases): Deal with it here instead.
+       Re-enable gcc_unreachable call.
+
+2008-07-28  Richard Guenther  <rguenther@suse.de>
+
+       Merge from gimple-tuples-branch.
+
+       * ChangeLog.tuples: ChangeLog from gimple-tuples-branch.
+       * gimple.def: New file.
+       * gsstruct.def: Likewise.
+       * gimple-iterator.c: Likewise.
+       * gimple-pretty-print.c: Likewise.
+       * tree-gimple.c: Removed.  Merged into ...
+       * gimple.c: ... here.  New file.
+       * tree-gimple.h: Removed.  Merged into ...
+       * gimple.h: ... here.  New file.
+
+       * Makefile.in: Add dependencies on GIMPLE_H and tree-iterator.h.
+       * configure.ac: Added support for ENABLE_GIMPLE_CHECKING and the
+       --enable-checking=gimple flag.
+       * config.in: Likewise.
+       * configure: Regenerated.
+
+       * tree-ssa-operands.h: Tuplified.
+       * tree-vrp.c: Likewise.
+       * tree-loop-linear.c: Likewise.
+       * tree-into-ssa.c: Likewise.
+       * tree-ssa-loop-im.c: Likewise.
+       * tree-dump.c: Likewise.
+       * tree-complex.c: Likewise.
+       * cgraphbuild.c: Likewise.
+       * tree-ssa-threadupdate.c: Likewise.
+       * tree-ssa-loop-niter.c: Likewise.
+       * tree-pretty-print.c: Likewise.
+       * tracer.c: Likewise.
+       * gengtype.c: Likewise.
+       * tree-loop-distribution.c: Likewise.
+       * tree-ssa-loop-unswitch.c: Likewise.
+       * cgraph.c: Likewise.
+       * cgraph.h: Likewise.
+       * tree-ssa-loop-manip.c: Likewise.
+       * value-prof.c: Likewise.
+       * tree-ssa-loop-ch.c: Likewise.
+       * tree-tailcall.c: Likewise.
+       * value-prof.h: Likewise.
+       * tree.c: Likewise.
+       * tree.h: Likewise.
+       * tree-pass.h: Likewise.
+       * ipa-cp.c: Likewise.
+       * tree-scalar-evolution.c: Likewise.
+       * tree-scalar-evolution.h: Likewise.
+       * target.h: Likewise.
+       * lambda-mat.c: Likewise.
+       * tree-phinodes.c: Likewise.
+       * diagnostic.h: Likewise.
+       * builtins.c: Likewise.
+       * tree-ssa-alias-warnings.c: Likewise.
+       * cfghooks.c: Likewise.
+       * fold-const.c: Likewise.
+       * cfghooks.h: Likewise.
+       * omp-low.c: Likewise.
+       * tree-ssa-dse.c: Likewise.
+       * ipa-reference.c: Likewise.
+       * tree-ssa-uncprop.c: Likewise.
+       * toplev.c: Likewise.
+       * tree-gimple.c: Likewise.
+       * tree-gimple.h: Likewise.
+       * tree-chrec.c: Likewise.
+       * tree-chrec.h: Likewise.
+       * tree-ssa-sccvn.c: Likewise.
+       * tree-ssa-sccvn.h: Likewise.
+       * cgraphunit.c: Likewise.
+       * tree-ssa-copyrename.c: Likewise.
+       * tree-ssa-ccp.c: Likewise.
+       * tree-ssa-loop-ivopts.c: Likewise.
+       * tree-nomudflap.c: Likewise.
+       * tree-call-cdce.c: Likewise.
+       * ipa-pure-const.c: Likewise.
+       * c-format.c: Likewise.
+       * tree-stdarg.c: Likewise.
+       * tree-ssa-math-opts.c: Likewise.
+       * tree-ssa-dom.c: Likewise.
+       * tree-nrv.c: Likewise.
+       * tree-ssa-propagate.c: Likewise.
+       * ipa-utils.c: Likewise.
+       * tree-ssa-propagate.h: Likewise.
+       * tree-ssa-alias.c: Likewise.
+       * gimple-low.c: Likewise.
+       * tree-ssa-sink.c: Likewise.
+       * ipa-inline.c: Likewise.
+       * c-semantics.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * expr.c: Likewise.
+       * tree-ssa-loop-ivcanon.c: Likewise.
+       * predict.c: Likewise.
+       * tree-ssa-loop.c: Likewise.
+       * tree-parloops.c: Likewise.
+       * tree-ssa-address.c: Likewise.
+       * tree-ssa-ifcombine.c: Likewise.
+       * matrix-reorg.c: Likewise.
+       * c-decl.c: Likewise.
+       * tree-eh.c: Likewise.
+       * c-pretty-print.c: Likewise.
+       * lambda-trans.c: Likewise.
+       * function.c: Likewise.
+       * langhooks.c: Likewise.
+       * ebitmap.h: Likewise.
+       * tree-vectorizer.c: Likewise.
+       * function.h: Likewise.
+       * langhooks.h: Likewise.
+       * tree-vectorizer.h: Likewise.
+       * ipa-type-escape.c: Likewise.
+       * ipa-type-escape.h: Likewise.
+       * domwalk.c: Likewise.
+       * tree-if-conv.c: Likewise.
+       * profile.c: Likewise.
+       * domwalk.h: Likewise.
+       * tree-data-ref.c: Likewise.
+       * tree-data-ref.h: Likewise.
+       * tree-flow-inline.h: Likewise.
+       * tree-affine.c: Likewise.
+       * tree-vect-analyze.c: Likewise.
+       * c-typeck.c: Likewise.
+       * gimplify.c: Likewise.
+       * coretypes.h: Likewise.
+       * tree-ssa-phiopt.c: Likewise.
+       * calls.c: Likewise.
+       * tree-ssa-coalesce.c: Likewise.
+       * tree.def: Likewise.
+       * tree-dfa.c: Likewise.
+       * except.c: Likewise.
+       * except.h: Likewise.
+       * cfgexpand.c: Likewise.
+       * tree-cfgcleanup.c: Likewise.
+       * tree-ssa-pre.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+       * tree-sra.c: Likewise.
+       * tree-ssa-live.h: Likewise.
+       * tree-predcom.c: Likewise.
+       * lambda.h: Likewise.
+       * tree-mudflap.c: Likewise.
+       * ipa-prop.c: Likewise.
+       * print-tree.c: Likewise.
+       * tree-ssa-copy.c: Likewise.
+       * ipa-prop.h: Likewise.
+       * tree-ssa-forwprop.c: Likewise.
+       * ggc-page.c: Likewise.
+       * c-omp.c: Likewise.
+       * tree-ssa-dce.c: Likewise.
+       * tree-vect-patterns.c: Likewise.
+       * tree-ssa-ter.c: Likewise.
+       * tree-nested.c: Likewise.
+       * tree-ssa.c: Likewise.
+       * lambda-code.c: Likewise.
+       * tree-ssa-loop-prefetch.c: Likewise.
+       * tree-inline.c: Likewise.
+       * tree-inline.h: Likewise.
+       * tree-iterator.c: Likewise.
+       * tree-optimize.c: Likewise.
+       * tree-ssa-phiprop.c: Likewise.
+       * tree-vect-transform.c: Likewise.
+       * tree-object-size.c: Likewise.
+       * tree-outof-ssa.c: Likewise.
+       * cfgloop.c: Likewise.
+       * system.h: Likewise.
+       * tree-profile.c: Likewise.
+       * cfgloop.h: Likewise.
+       * c-gimplify.c: Likewise.
+       * c-common.c: Likewise.
+       * tree-vect-generic.c: Likewise.
+       * tree-flow.h: Likewise.
+       * c-common.h: Likewise.
+       * basic-block.h: Likewise.
+       * tree-ssa-structalias.c: Likewise.
+       * tree-switch-conversion.c: Likewise.
+       * tree-ssa-structalias.h: Likewise.
+       * tree-cfg.c: Likewise.
+       * passes.c: Likewise.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa-struct-reorg.h: Likewise.
+       * tree-ssa-reassoc.c: Likewise.
+       * cfgrtl.c: Likewise.
+       * varpool.c: Likewise.
+       * stmt.c: Likewise.
+       * tree-ssanames.c: Likewise.
+       * tree-ssa-threadedge.c: Likewise.
+       * langhooks-def.h: Likewise.
+       * tree-ssa-operands.c: Likewise.
+       * config/alpha/alpha.c: Likewise.
+       * config/frv/frv.c: Likewise.
+       * config/s390/s390.c: Likewise.
+       * config/m32c/m32c.c: Likewise.
+       * config/m32c/m32c-protos.h: Likewise.
+       * config/spu/spu.c: Likewise.
+       * config/sparc/sparc.c: Likewise.
+       * config/i386/i386.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/xtensa/xtensa.c: Likewise.
+       * config/stormy16/stormy16.c: Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/pa/pa.c: Likewise.
+       * config/mips/mips.c: Likewise.
+
+2008-07-28  Simon Baldwin  <simonb@google.com>
+
+       * c-pragma.c (handle_pragma_message): New function.
+       (init_pragma): Register handle_pragma_message.
+       * doc/extend.texi (Diagnostic Pragmas): Added #pragma message
+       documentation.
+
+2008-07-27  Victor Kaplansky  <victork@il.ibm.com>
+
+       PR tree-optimization/35252
+       * tree-vect-analyze.c (vect_build_slp_tree): Make IMAGPART_EXPR and
+       REALPART_EXPR to be considered as same load operation.
+
+2008-07-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/36830
+       * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Hash operand #2.
+       (expressions_equal_p): Return false if only one operand is null.
+
+2008-07-26  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (powerpc-*-netbsd*): Remove redundant texinfo
+       version requirements.
+
+2008-07-26  Olivier Hainque  <hainque@adacore.com>
+
+       * collect2.c (symkind): New enum.  Symbol kinds we care about.
+       (is_ctor_dtor): Return symkind instead of int.  Adjust prototype,
+       code and head comment accordingly.
+       (scan_prog_file): Use symkind names instead of bare integers.
+
+2008-07-25  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_function_possibly_inlined_p): Do not rely on DECL_INLINE.
+       * cgraphunit.c (record_cdtor_fn): Do not initialize DECL_INLINE
+       (cgraph_preserve_function_body_p): Do not rely on DECL_INLINE.
+       * dojump.c (clear_pending_stack_adjust): Likewise.
+       * print-tree.c (print_node): Ignore DECL_INLINE.
+       * tree-inline.c (inlinable_function_p): Likewise.
+
+2008-07-25  Michael Meissner  <gnu@the-meissners.org>
+
+       * doc/extend.texi (hot attribute): Document that the hot attribute
+       turns on -O3 for some ports.
+       (cold attribute): Document that the cold attribute turns on -Os
+       for some ports
+
+       * doc/tm.texi (OPTIMIZATION_OPTIONS): Update documentation to
+       reflect function specific option support.
+
+       * target.h (struct target_option_hooks): Add fields to say whether
+       the cold attribute implies -Os and the hot attribute implies -O3.
+
+       * target-def.h (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION):
+       By default, do not turn on -Os for cold functions.
+       (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): By default, do
+       not turn on -O3 for hot functions.
+
+       * c-common.c (handle_hot_attribute): Use target hook to determine
+       if hot functions should enable -O3.
+       (handle_cold_attribute): Use target hook to determine if cold
+       functions should enable -Os.
+
+       * config/i386/i386.c (ix86_target_string): Add -m3dnowa support.
+       (override_options): Move disable scheduling to
+       optimization_options.
+       (optimization_options): Disable scheduling here, not
+       override_options.
+       (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+       (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+       * config/ia64/ia64.c (ia64_override_options): Move setting
+       scheduling flags to ia64_optimization_options.
+       (ia64_optimization_options): Disable scheduling options here, and
+       not in ia64_override_options.
+       (TARGET_OPTION_COLD_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+       (TARGET_OPTION_HOT_ATTRIBUTE_SETS_OPTIMIZATION): Define.
+
+2008-07-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/36936
+       * config/i386/i386.c (override_options): Don't clear TARGET_CMOVE.
+
+2008-07-25  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/36926
+       * ipa-prop.c (ipa_analyze_call_uses): Call
+       ipa_is_ssa_with_stmt_def instead of SSA_NAME_IS_DEFAULT_DEF.
+
+2008-07-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
+       movv2si_internal): Add mem = reg alternative.
+
+2008-07-25  Andreas Tobler  <a.tobler@schweiz.org>
+
+       PR bootstrap/36918
+       * config/sparc/sparc.h (DEFAULT_PCC_STRUCT_RETURN): Define
+       DEFAULT_PCC_STRUCT_RETURN to 127.
+
+2008-07-24  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (record_reference): Drop non-unit-at-a-time code.
+       (build_cgraph_edges): Likewise.
+       * cgraph.c (cgraph_node): Do not update assembler hash.
+       (cgraph_remove_node): Drop non-unit-at-a-time code.
+       * tree-pass.h (pass_O0_always_inline): Remove.
+       * ipa-reference.c (gate_reference): Remove unit-at-a-time check.
+       * toplev.c (process_options): Flag unit-at-a-time does not imply
+       no section anchors.
+       * cgraphunit.c: Update comments.
+       (decide_is_function_needed): Drop non-unit-at-a-time mode.
+       (cgraph_assemble_pending_functions): Remove.
+       (cgraph_reset_node): Drop non-unit-at-a-time code.
+       (cgraph_finalize_function): Likewise.
+       (cgraph_analyze_function): Likewise.
+       (cgraph_finalize_compilation_unit): Likewise.
+       (cgraph_expand_function): Likewise.
+       (cgraph_optimize): Likesise.
+       (save_inline_function_body): Likewise.
+       * ipa-pure-const.c (gate_pure_const): Drop flag_unit_at_a_time check.
+       * tree-ssa-alias.c (maybe_be_aliased): Likewise.
+       * ipa-inline.c: Update comments.
+       (enum inlining_mode): remove INLINE_SPEED.
+       (cgraph_clone_inlined_nodes): Drop unit-at-a-time check.
+       (cgraph_mark_inline_edge): Likewise.
+       (try_inline): Likewise.
+       (cgraph_decide_inlining_incrementally): Likewise.
+       (cgraph_gate_inlining): Remove.
+       (cgraph_early_inlining): Remove flag_unit_at_a_time checks.
+       (cgraph_gate_early_inlining): Likewise.
+       (gate_inline_passes): Remove.
+       (pass_inline_parameters, pass_ipa_inline): Remove gates.
+       (cgraph_gate_O0_always_inline, cgraph_O0_always_inline,
+       pass_O0_always_inline): Remove.
+       * c-pch.c (c_pch_matching): Remove -funit-at-a-time.
+       * dwarf2out.c (reference_to_unused): Remove flag_unit_at_a_time check.
+       * opts.c (no_unit_at_a_time_default): Remove.
+       (decode_options): Remove flag_unit_at_a_time reset and warning.
+       * opts.h (no_unit_at_a_time_default): Remove.
+       * c-decl.c (diagnose_mismatched_decls): Do not require inline keyword
+       early in GNU dialect.
+       (merge_decls): Update comment; drop unit-at-a-time check.
+       (finish_decl): Likewise.
+       (grok_declaration): Remove flag_inline_trees code.
+       (finish_functions): Return on function returning non-void on all
+       statics.
+       * ipa-tye-escape.c (gate_type_escape_vars): Remove.
+       * cfgexpand.c (expand_one_static_var): Remove.
+       (expand_one_var): Remove expand_one_static_var call.
+       (expand_used_vars_for_block): Remove flag_unit_a_time check.
+       * c-opts.c (c_common_post_options): Remove flag_inline_trees code
+       and flag_unit_at_a-time compatibility checks.
+       * varasm.c (assemble_alias): Remove flag_unit_at_a_time check.
+       * tree-inline.c (flag_inline_trees): Remove.
+       (inlinable_function_p): Don't check it.
+       (expand_call_inline): Remove non-unit-at-a-time code.
+       * tree-inline.h (flag_inline_trees): Remove.
+       * tree-optimize.c (execute_early_local_optimizations): Remove
+       unit-at-a-time checks.
+       (tree_rest_of_compilation): Likewise.
+       * combine.c (setup_incoming_promotions): Likewise.
+       * tree-profile.c (tree_gen_ic_func_profiler): Likewise.
+       * tree-ssa-structalias.c (delete_points_to_sets): Likewise.
+       * passes.c (pass_inline_parameters): Update comments; remove
+       O0_alwaysinline pass.
+       (execute_one_ipa_transform_pass): Do not reset in_gimple_form.
+       (execute_one_pass): Likewise.
+       * i386.c (ix86_function_regparm): Remove unit-at-a-time check.
+       (ix86_function_sseregparm): Likewise.
+       * arm.c (arm_function_in_section_p): Likewise.
+       * bfin.c (bfin_load_pic_reg, bfin_function_ok_for_sibcall): Likewise.
+       * varpool.c: Update comments.
+       (decide_is_variable_needed): Remove unit-at-a-time checks.
+       (varpool_finalize_decl): Likewise.
+
+2008-07-24  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.h (OPTIMIZATION_OPTIONS): Set flag_omit_frame_pointer
+       to 2 instead of -1.
+       (OVERRIDE_OPTIONS): Check if flag_omit_frame_pointer is equal
+       to 2.
+
+2008-07-24  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (get_dllimport_decl): Treat user_label_prefix for
+       imp symbol extension.
+
+       2008-07-23  Ian Lance Taylor  <iant@google.com>
+
+       * tree-vrp.c (infer_value_range): Ignore asm statements when
+       looking for memory accesses for -fdelete-null-pointer-checks.
+
+2008-07-24  Ben Elliston  <bje@au.ibm.com>
+
+       * config/spu/spu-c.c (__vector_keyword): New variable.
+       (vector_keyword): Likewise.
+       (spu_categorize_keyword): New function.
+       (spu_macro_to_expand): Likewise.
+       (spu_cpu_cpp_builtins): Enable context-sensitive macros if not
+       compiling an ISO C dialect.
+
+2008-07-24  Ben Elliston  <bje@au.ibm.com>
+
+       * config/rs6000/rs6000-c.c: Move GTY(()) markers to match
+       conventional usage.
+
+2008-07-23  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>
+
+       * configure: Regenerate.
+       * configure.ac: Require texinfo 4.7.
+       * doc/install.texi: Document texinfo 4.7 requirement.
+
+2008-07-23  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_print_edge_profiles): Test for node->analyzed
+       rather than for DECL_SAVED_TREE.
+       * ipa-prop.c: Include diagnostic.h.
+       (ipa_check_stmt_modifications): Check LHS of GIMPLE_MODIFY_EXPRs
+       thoroughly.
+       (ipa_detect_param_modifications): Function rewritten from scratch.
+       (ipa_compute_jump_functions): Changed accesses to modification flags.
+       (ipa_free_node_params_substructures): Update flags destruction.
+       (ipa_node_duplication_hook): Update flags duplication.
+       (ipa_print_all_params_modified): Updated flag access.
+       * ipa-prop.h (struct ipa_param_flags): New structure.
+       (struct ipa_node_params): New field modification_analysis_done,
+       modified_flags changed into param_flags.
+       (ipa_is_ith_param_modified): Changed to use new flags.
+       * Makefile.in (ipa-prop.o): Add $(DIAGNOSTIC_H) to dependencies.
+
+       * ipa-prop.c (ipa_print_all_jump_functions): Moved here from
+       ipa-cp.c and split into two functions.
+       (ipa_print_node_jump_functions): New function.
+       (compute_scalar_jump_functions): New function.
+       (type_like_member_ptr_p): New function.
+       (compute_pass_through_member_ptrs): New function.
+       (fill_member_ptr_cst_jump_function): New function.
+       (determine_cst_member_ptr): New function.
+       (compute_cst_member_ptr_arguments): New function.
+       (ipa_compute_jump_functions): Complete rewrite.
+       * ipa-prop.h (enum jump_func_type): Make explicit that we depend
+       on IPA_UNKNOWN being zero. Added value IPA_CONST_MEMBER_PTR.
+       (struct ipa_member_ptr_cst): New structure.
+       (union jump_func_value): New field member_cst.
+       * ipa-cp.c (ipcp_lat_is_insertable): New function.
+       (ipcp_lattice_from_jfunc): Produces bottom lattices for unhandled
+       jump function types.
+       (ipcp_print_all_lattices): Slight fprintf rearrangement.
+       (ipcp_print_all_structures): Call ipa_print_all_jump_functions
+       instead of ipcp_print_all_jump_functions.
+       (ipcp_insert_stage): Use ipcp_lat_is_insertable, create replace maps
+       only for replacable scalars.
+
+       * doc/invoke.texi (Optimize options): Add description of
+       -findirect-inlining.
+       * common.opt (flag_indirect_inlining): New flag.
+       * opts.c (decode_options): Set flag_indirect_inlining when
+       optimize >= 3.
+
+       * ipa-inline.c: Include ipa-prop.h.
+       (inline_indirect_intraprocedural_analysis): New function.
+       (inline_generate_summary): Allocate parameter and argument info
+       structures, call inline_indirect_intraprocedural_analysis on each
+       node when doing indirect inlining and deallocate indirect inlining
+       data structures in the end.
+       * ipa-prop.c (ipa_create_param_decls_array): Return if already done.
+       (free_all_ipa_structures_after_iinln): New function.
+       (free_all_ipa_structures_after_ipa_cp): Checks whether iinln will be
+       done.
+       * Makefile.in (ipa-inline.o): Added $(IPA_PROP_H) to dependencies.
+
+       * cgraphbuild.c (compute_call_stmt_bb_frequency): New function.
+       (build_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+       of computing the frequency separately.
+       (rebuild_cgraph_edges): Call compute_call_stmt_bb_frequency instead
+       of computing the frequency separately.
+       * ipa-cp.c (ipcp_print_all_structures): Replace a call to
+       ipa_print_all_param_modified with a call to ipa_print_all_param_flags.
+       * ipa-prop.c (ipa_get_member_ptr_load_param): New function.
+       (ipa_get_stmt_member_ptr_load_param): New function.
+       (ipa_is_ssa_with_stmt_def): New function.
+       (ipa_note_param_call): New function.
+       (ipa_analyze_call_uses): New function.
+       (ipa_analyze_stmt_uses): New function.
+       (ipa_analyze_params_uses): New function.
+       (ipa_free_node_params_substructures): Also free the param_calls linked
+       list.
+       (ipa_node_duplication_hook): Also duplicate the param_calls linked list.
+       (ipa_print_node_param_flags): New function.
+       (ipa_print_all_params_modified): Renamed to ipa_print_all_param_flags.
+       (ipa_print_all_param_flags): Calls ipa_print_node_param_flags.
+       * ipa-prop.h (struct ipa_param_flags): New field called.
+       (struct ipa_param_call_note): New structure.
+       (struct ipa_node_params): New fields param_calls and
+       uses_analysis_done.
+       (ipa_is_ith_param_called): New function.
+       * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+       ipa_analyze_params_uses and dump parameter flags.
+
+       * ipa-inline.c (cgraph_decide_recursive_inlining): Call
+       ipa_propagate_indirect_call_infos if performing indirect inlining,
+       pass a new parameter new_edges to it.
+       (add_new_edges_to_heap): New fucntion.
+       (cgraph_decide_inlining_of_small_functions): New vector
+       new_indirect_edges for newly found indirect edges , call
+       ipa_propagate_indirect_call_infos after inlining.
+       (cgraph_decide_inlining): Call ipa_propagate_indirect_call_infos after
+       inlining if performing indirect inlining.  Call
+       free_all_ipa_structures_after_iinln when doing so too.
+       (inline_generate_summary): Do not call
+       free_all_ipa_structures_after_iinln here.
+       * ipa-prop.c (update_jump_functions_after_inlining): New function.
+       (print_edge_addition_message): New function.
+       (update_call_notes_after_inlining): New function.
+       (propagate_info_to_inlined_callees): New function.
+       (ipa_propagate_indirect_call_infos): New function.
+       * ipa-prop.h: Include cgraph.h
+       (struct ipa_param_call_note): Fields reordered, new field processed.
+       * cgraph.h (cgraph_edge): Shrink loop_nest field to 31 bits, add a new
+       flag indirect_call.
+       * cgraphunit.c (verify_cgraph_node): Allow indirect edges not to have
+       rediscovered call statements.
+       * cgraph.c (cgraph_create_edge): Initialize indirect_call to zero.
+       (dump_cgraph_node): Dump also the indirect_call flag.
+       (cgraph_clone_edge): Copy also the indirect_call flag.
+       * tree-inline.c (copy_bb): Do not check for fndecls from call
+       expressions, check for edge availability when moving clones.
+       (get_indirect_callee_fndecl): New function.
+       (expand_call_inline): If callee declaration is not apprent from
+       the statement, try calling get_indirect_callee_fndecl.  Do not
+       issue warnings or call sorry when not inlinings an indirect edge.
+       * Makefile.in (IPA_PROP_H): Added $(CGRAPH_H) to dependencies.
+
+       * ipa-prop.c (ipa_print_node_param_flags): Make the dump format a
+       bit more frandly to matching.
+       * testsuite/g++.dg/ipa/iinline-1.C: New testcase.
+       * testsuite/gcc.dg/ipa/iinline-1.c: New testcase.
+       * testsuite/gcc.dg/ipa/modif-1.c: New testcase.
+
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+
+       PR 36907
+       * opth-gen.awk: Suppress function specific features when building
+       target libraries.
+       * optc-gen.awk: Ditto.
+
+2008-07-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       PR 35058
+       * diagnostic.c (pedwarn): Add opt parameter.
+       (pedwarn0): New.
+       * c-tree.h (pedwarn_init): Add opt parameter.
+       (pedwarn_c90): Likewise.
+       (pedwarn_c99): Likewise.
+       * c-errors.c (pedwarn_c99): Likewise.
+       (pedwarn_c90): Likewise.
+       * toplev.h (pedwarn): Update declaration.
+       (pedwarn0): Declare.
+       * c-lex.c: All calls to pedwarn changed.
+       * builtins.c: All calls to pedwarn changed.
+       * toplev.c: All calls to pedwarn changed.
+       * c-decl.c: All calls to pedwarn changed.
+       * c-typeck.c: All calls to pedwarn changed.
+       * c-common.c: All calls to pedwarn changed.
+       * c-parser.c: All calls to pedwarn changed.
+
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+           Karthik Kumar  <karthikkumar@gmail.com>
+
+       * attribs.c (file scope): Include c-common.h.
+       (decl_attributes): Add support for #pragma GCC optimize and
+       #pragma GCC option.
+
+       * targhooks.c (default_can_inline_p): New function that is the
+       default for the TARGET_CAN_INLINE_P target hook.
+
+       * targhooks.h (default_can_inline_p): Add declaration.
+
+       * tree.c (cl_optimization_node): New static tree for building
+       OPTIMIZATION_NODE tree.
+       (cl_target_option_node): New static tree for building
+       TARGET_OPTION_NODE tree.
+       (cl_option_hash_table): New hash table for hashing
+       OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+       (cl_option_hash_hash): New function to provide the hash value for
+       OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+       (cl_option_hash_eq): New function to provide an equality test for
+       OPTIMIZATION_NODE and TARGET_OPTION_NODE trees.
+       (tree_code_size): Add support for OPTIMIZATION_NODE and
+       TARGET_OPTION_NODE trees.
+       (tree_code_structure): Add support for OPTIMIZATION_NODE and
+       TARGET_OPTION_NODE trees.
+       (build_optimization_node): Build a tree that has all of the
+       current optimization options.
+       (build_target_option_node): Build a tree that has the target
+       options that might be changed on a per function basis.
+
+       * tree.h (file scope): Include options.h.
+       (DECL_FUNCTION_SPECIFIC_TARGET): New accessor macro.
+       (DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
+       (TREE_OPTIMIZATION): Ditto.
+       (TREE_TARGET_SPECIFIC): Ditto.
+       (struct tree_function_decl): Add fields for remembering the
+       current optimization options and target specific options.
+       (struct tree_optimization_option): New tree variant that remembers
+       the optimization options.
+       (struct tree_target_option): New tree variant that remembers the
+       target specific flags that might change for compiling a particular
+       function.
+       (union tree_node): Include tree_optimization_option and
+       tree_target_option fields.
+       (enum tree_index): Add TI_OPTIMIZATION_DEFAULT,
+       TI_OPTIMIZATION_CURRENT, TI_OPTIMIZATION_COLD,
+       TI_OPTIMIZATION_HOT, TI_TARGET_OPTION_DEFAULT,
+       TI_TARGET_OPTION_CURRENT, TI_CURRENT_OPTION_PRAGMA,
+       TI_CURRENT_OPTIMIZE_PRAGMA entries for saving function specific
+       optimization and target options.
+       (optimization_default_node): New macro to refer to global_trees
+       field.
+       (optimization_current_node): Ditto.
+       (optimization_cold_node): Ditto.
+       (optimization_hot_node): Ditto.
+       (target_option_default_node): Ditto.
+       (target_option_current_node): Ditto.
+       (current_option_pragma): Ditto.
+       (current_optimize_pragma): Ditto.
+
+       * target.h (struct gcc_target): Add valid_option_attribute_p,
+       target_option_save, target_option_restore, target_option_print,
+       target_option_pragma_parse, and can_inline_p hooks.
+
+       * toplev.h (parse_optimize_options): Add declaration.
+       (fast_math_flags_struct_set_p): Ditto.
+
+       * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): New function to
+       adjust the current __OPTIMIZE__, etc. macros when #pragma GCC
+       optimize is used.
+
+       * ipa-inline.c (cgraph_decide_inlining_of_small_function): Call
+       tree_can_inline_p hook to see if one function can inline another.
+       (cgraph_decide_inlining): Ditto.
+       (cgraph_decide_inlining_incrementally): Ditto.
+
+       * opts.c (decode_options): Add support for running multiple times
+       to allow functions with different target or optimization options
+       than was specified on the command line.
+       (fast_math_flags_struct_set_p): New function that is similar to
+       fast_math_flags_set_p, except it uses the values in the
+       cl_optimization structure instead of global variables.
+
+       * optc-gen.awk: Add support for TargetSave to allow a back end to
+       declare new fields that need to be saved when using function
+       specific options.  Include flags.h and target.h in the options.c
+       source.  Add support for Save to indicate which options can be set
+       for individual functions.  Generate cl_optimize_save,
+       cl_optimize_restore, cl_optimize_print, cl_target_option_save,
+       cl_target_option_restore, cl_target_option_print functions to
+       allow functions to use different optimization or target options.
+
+       * opt-functions.awk (var_type_struct): Return the type used for
+       storing the field in a structure.
+
+       * opth-gen.awk: Add support for TargetSave to allow a back end to
+       declare new fields that need to be saved when using function
+       specific options.  Add support for Save to indicate which options
+       can be set for individual functions.  Only generate one extern for
+       Mask fields.  Generate cl_optimization and cl_target_option
+       structures to remember optimization and target options.
+
+       * treestruct.def (TS_OPTIMIZATION): Add support for garbage
+       collecting new tree nodes.
+       (TS_TARGET_OPTION): Ditto.
+
+       * c-decl.c (merge_decls): Merge function specific target and
+       optimization options.
+
+       * function.c (invoke_set_current_function_hook): If the function
+       uses different optimization options, change the global variables
+       to reflect this.
+
+       * coretypes.h (struct cl_optimization): Add forward reference.
+       (struct cl_target_option): Ditto.
+
+       * c-pragma.c (option_stack): New static vector to remember the
+       current #pragma GCC option stack.
+       (handle_pragma_option): New function to support #pragma GCC option
+       to change target options.
+       (optimize_stack): New static vector to remember the current
+       #pragma GCC optimize stack.
+       (handle_pragma_optimize): New function to support #pragma GCC
+       optimize to change optimization options.
+       (init_pragma): Add support for #pragma GCC optimize and #pragma
+       GCC option.
+
+       * tree.def (OPTIMIZATION_NODE): New tree code for remembering
+       optimization options.
+       (TARGET_OPTION_NODE): New tree code for remembering certain target
+       options.
+
+       * print-tree.c (print_node): Add support for OPTIMIZATION_NODE and
+       TARGET_OPTION_NODE trees.
+
+       * common.opt (-O): Add Optimization flag.
+       (-Os): Ditto.
+       (-fmath-errno): Ditto.
+       (-falign-functions): Add UInteger flag to make sure flag gets full
+       int in cl_optimization structure.
+       (-falign-jumps): Ditto.
+       (-falign-labels): Ditto.
+       (-falign-loops): Ditto.
+       (-fsched-stalled-insns): Ditto.
+       (-fsched-stalled-insns-dep): Ditto.
+
+       * target-def.h (TARGET_VALID_OPTION_ATTRIBUTE_P): Add default
+       definition.
+       (TARGET_OPTION_SAVE): Ditto.
+       (TARGET_OPTION_RESTORE): Ditto.
+       (TARGET_OPTION_PRINT): Ditto.
+       (TARGET_OPTION_PRAGMA_PARSE): Ditto.
+       (TARGET_CAN_INLINE_P): Ditto.
+       (TARGET_INITIALIZER): Add new hooks.
+
+       * tree-inline.c (tree_can_inline_p): New function to determine
+       whether one function can inline another.  Check if the functions
+       use compatible optimization options, and also call the backend
+       can_inline_p hook.
+
+       * tree-inline.h (tree_can_inline_p): Add declaration.
+
+       * c-common.c (c_common_attribute): Add support for option and
+       optimize attributes.
+       (handle_option_attribute): Add support for the option attribute to
+       allow the user to specify different target options for compiling a
+       specific function.
+       (handle_optimize_attribute): Add support for the optimize
+       attribute to allow the user to specify different optimization
+       options for compiling a specific function.
+       (handle_hot_attribute): Turn on -O3 optimization for this one
+       function if it isn't the default optimization level.
+       (handle_cold_attribute): Turn on -Os optimization for this one
+       function if it insn't the default optimization.
+       (const_char_p): New const char * typedef.
+       (optimize_args): New static vector to remember the optimization
+       arguments.
+       (parse_optimize_options): New function to set up the optimization
+       arguments from either the optimize attribute or #pragma GCC
+       optimize.
+
+       * c-common.h (c_cpp_builtins_optimize_pragma): Add declaration.
+       (builtin_define_std): Ditto.
+
+       * config.gcc (i[3467]86-*-*): Add i386-c.o to C/C++ languages.
+       Add t-i386 Makefile fragment to add i386-c.o and i386.o
+       dependencies.
+       (x86_64-*-*): Ditto.
+
+       * Makefile.in (TREE_H): Add options.h.
+       (options.o): Add $(TARGET_H) $(FLAGS_H) dependencies.
+
+       * doc/extend.texi (option attribute): Document new attribute.
+       (optimize attribute): Ditto.
+       (hot attribute): Document hot attribute sets -O3.
+       (cold attribute): Document cold attribute sets -Os.
+       (#pragma GCC option): Document new pragma.
+       (#pragma GCC optimize): Ditto.
+
+       * doc/options.texi (TargetSave): Document TargetSave syntax.
+       (UInteger): Document UInteger must be used for certain flags.
+       (Save): Document Save option to create target specific options
+       that can be saved/restored on a function specific context.
+
+       * doc/c-tree.texi (DECL_FUNCTION_SPECIFIC_TARGET): Document new
+       macro.
+       (DECL_FUNCTION_SPECIFIC_OPTIMIZATION): Ditto.
+
+       * doc/tm.texi (TARGET_VALID_OPTION_ATTRIBUTE_P): Document new
+       hook.
+       (TARGET_OPTION_SAVE): Ditto.
+       (TARGET_OPTION_RESTORE): Ditto.
+       (TARGET_OPTION_PRINT): Ditto.
+       (TARGET_OPTION_PRAGMA_PARSE): Ditto.
+       (TARGET_CAN_INLINE_P): Ditto.
+
+       * doc/invoke.texi (-mfpmath=sse+387): Document as an alias for
+       -mfpmath=sse,387.
+       (-mfpmath=both): Ditto.
+
+2008-07-23  Michael Meissner  <gnu@the-meissners.org>
+           Karthik Kumar  <karthikkumar@gmail.com>
+
+       * config/i386/i386.h (TARGET_ABM): Move switch into
+       ix86_isa_flags.
+       (TARGET_POPCNT): Ditto.
+       (TARGET_SAHF): Ditto.
+       (TARGET_AES): Ditto.
+       (TARGET_PCLMUL): Ditto.
+       (TARGET_CMPXCHG16B): Ditto.
+       (TARGET_RECIP): Move switch into target_flags.
+       (TARGET_FUSED_MADD): Ditto.
+       (ix86_arch_features): Make an unsigned char type.
+       (ix86_tune_features): Ditto.
+       (OVERRIDE_OPTIONS): Add bool argument to override_options call.
+       (TARGET_CPU_CPP_BUILTINS): Move into ix86_target_macros.
+       (REGISTER_TARGET_PRAGMAS): Define, call ix86_register_pragmas.
+
+       * config/i386/i386.opt (arch): New TargetSave field to define
+       fields that need to be saved for function specific option
+       support.
+       (tune): Ditto.
+       (fpmath): Ditto.
+       (branch_cost): Ditto.
+       (ix86_isa_flags_explicit): Ditto.
+       (tune_defaulted): Ditto.
+       (arch_specified): Ditto.
+       (-m128-long-double): Add Save flag to save option for target
+       specific option support.
+       (-m80387): Ditto.
+       (-maccumulate-outgoing-args): Ditto.
+       (-malign-double): Ditto.
+       (-malign-stringops): Ditto.
+       (-mfancy-math-387): Ditto.
+       (-mhard-float): Ditto.
+       (-mieee-fp): Ditto.
+       (-minline-all-stringops): Ditto.
+       (-minline-stringops-dynamically): Ditto.
+       (-mms-bitfields): Ditto.
+       (-mno-align-stringops): Ditto.
+       (-mno-fancy-math-387): Ditto.
+       (-mno-push-args): Ditto.
+       (-mno-red-zone): Ditto.
+       (-mpush-args): Ditto.
+       (-mred-zone): Ditto.
+       (-mrtd): Ditto.
+       (-msseregparm): Ditto.
+       (-mstack-arg-probe): Ditto.
+       (-m32): Ditto.
+       (-m64): Ditto.
+       (-mmmx): Ditto.
+       (-m3dnow): Ditto.
+       (-m3dnowa): Ditto.
+       (-msse): Ditto.
+       (-msse2): Ditto.
+       (-msse3): Ditto.
+       (-msse4.1): Ditto.
+       (-msse4.2): Ditto.
+       (-msse4): Ditto.
+       (-mno-sse4): Ditto.
+       (-msse4a): Ditto.
+       (-msse5): Ditto.
+       (-mrecip): Move flag into target_flags.
+       (-mcld): Ditto.
+       (-mno-fused-madd): Ditto.
+       (-mfused-madd): Ditto.
+       (-mabm): Move flag into ix86_isa_flags.
+       (-mcx16): Ditto.
+       (-mpopcnt): Ditto.
+       (-msahf): Ditto.
+       (-maes): Ditto.
+       (-mpclmul): Ditto.
+
+       * config/i386/i386-c.c: New file for #pragma support.
+       (ix86_target_macros_internal): New function to #define or #undef
+       target macros based when the user uses the #pragma GCC option to
+       change target options.
+       (ix86_pragma_option_parse): New function to add #pragma GCC option
+       support.
+       (ix86_target_macros): Move defining the target macros here from
+       TARGET_CPU_CPP_BUILTINS in i386.h.
+       (ix86_register_pragmas): Register the #pragma GCC option hook.  If
+       defined, initialize any subtarget #pragmas.
+
+       * config/i386/darwin.h (REGISTER_SUBTARGET_PRAGMAS): Rename from
+       REGISTER_TARGET_PRAGMAS.
+
+       * config/i386/t-i386: New file for x86 dependencies.
+       (i386.o): Make dependencies mirror the include files used.
+       (i386-c.o): New file, add dependencies.
+
+       * config/i386/i386-protos.h (override_options): Add bool
+       argument.
+       (ix86_valid_option_attribute_tree): Add declaration.
+       (ix86_target_macros): Ditto.
+       (ix86_register_macros): Ditto.
+
+       * config/i386/i386.c (ix86_tune_features): Move initialization of
+       the target masks to initial_ix86_tune_features to allow functions
+       to have different target options.  Make type unsigned char,
+       instead of unsigned int.
+       (initial_ix86_tune_features): New static vector to hold processor
+       masks for the tune variables.
+       (ix86_arch_features): Move initialization of the target masks to
+       initial_ix86_arch_features to allow functions to have different
+       target options.  Make type unsigned char, instead of unsigned
+       int.
+       (initial_ix86_arch_features): New static vector to hold processor
+       masks for the arch variables.
+       (enum ix86_function_specific_strings): New enum to describe the
+       string options used for attribute((option(...))).
+       (ix86_target_string): New function to return a string that
+       describes the target options.
+       (ix86_debug_options): New function to print the current options in
+       the debugger.
+       (ix86_function_specific_save): New function hook to save the
+       function specific global variables in the cl_target_option
+       structure.
+       (ix86_function_specific_restore): New function hook to restore the
+       function specific variables from the cl_target_option structure to
+       the global variables.
+       (ix86_function_specific_print): New function hook to print the
+       target specific options in the cl_target_option structure.
+       (ix86_valid_option_attribute_p): New function hook to validate
+       attribute((option(...))) arguments.
+       (ix86_valid_option_attribute_tree): New function that is common
+       code between attribute((option(...))) and #pragma GCC option
+       support that parses the options and returns a tree holding the
+       options.
+       (ix86_valid_option_attribute_inner_p): New helper function for
+       ix86_valid_option_attribute_tree.
+       (ix86_can_inline_p): New function hook to decide if one function
+       can inline another on a target specific basis.
+       (ix86_set_current_function); New function hook to switch target
+       options if the user used attribute((option(...))) or #pragma GCC
+       option.
+       (ix86_tune_defaulted): Move to static file scope from
+       override_options.
+       (ix86_arch_specified): Ditto.
+       (OPTION_MASK_ISA_AES_SET): New macro for moving switches into
+       ix86_isa_flags.
+       (OPTION_MASK_ISA_PCLMUL_SET): Ditto.
+       (OPTION_MASK_ISA_ABM_SET): Ditto.
+       (OPTION_MASK_ISA_POPCNT_SET): Ditto.
+       (OPTION_MASK_ISA_CX16_SET): Ditto.
+       (OPTION_MASK_ISA_SAHF_SET): Ditto.
+       (OPTION_MASK_ISA_AES_UNSET): Ditto.
+       (OPTION_MASK_ISA_PCLMUL_UNSET): Ditto.
+       (OPTION_MASK_ISA_ABM_UNSET): Ditto.
+       (OPTION_MASK_ISA_POPCNT_UNSET): Ditto.
+       (OPTION_MASK_ISA_CX16_UNSET): Ditto.
+       (OPTION_MASK_ISA_SAHF_UNSET): Ditto.
+       (struct ptt): Move to static file scope from override_options.
+       (processor_target_table): Ditto.
+       (cpu_names): Ditto.
+       (ix86_handle_option): Add support for options that are now isa
+       options.
+       (override_options): Add support for declaring functions that
+       support different target options than were specified on the
+       command line.  Move struct ptt, processor_target_table, cpu_names,
+       ix86_tune_defaulted, ix86_arch_specified to static file scope.
+       Add bool argument.  Fix up error messages so the appropriate error
+       is given for either command line or attribute.
+       (ix86_previous_fndecl): New static to remember previous function
+       declaration to see if we need to change target options.
+       (ix86_builtins_isa): New array to record the ISA of each builtin
+       function.
+       (def_builtin): Always create the builtin function, even if the
+       current ISA doesn't support it.
+       (ix86_init_mmx_sse_builtins): Remove TARGET_AES and TARGET_PCLMUL
+       tests for those builtins.
+       (ix86_init_builtins): Remove TARGET_MMX test for calling
+       ix86_init_mmx_sse_builtins.
+       (ix86_expand_builtin): If the current ISA doesn't support a given
+       builtin, signal an error.
+       (TARGET_VALID_OPTION_ATTRIBUTE_P): Set target hook.
+       (TARGET_SET_CURRENT_FUNCTION): Ditto.
+       (TARGET_OPTION_SAVE): Ditto.
+       (TARGET_OPTION_RESTORE): Ditto.
+       (TARGET_OPTION_PRINT): Ditto.
+       (TARGET_CAN_INLINE_P): Ditto.
+
+2008-07-22  Rafael Avila de Espindola  <espindola@google.com>
+
+       * c-typeck.c (build_external_ref): Don't call assemble_external.
+       * final.c (output_operand): Call assemble_external.
+
+2008-07-21  DJ Delorie  <dj@redhat.com>
+
+       * config/h8300/h8300.c (h8300_hard_regno_scratch_ok): New.
+       (TARGET_HARD_REGNO_SCRATCH_OK): Define.
+
+2008-07-21  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.md ("div<mode>3"): Convert into expander, move
+       original insn and splitter contents into ...
+       ("*div<mode>3_fast"): ... this new pattern.  Enable only if
+       flag_unsafe_math_optimizations.  Add dummy scratch register.
+       ("*div<mode>3_adjusted"): New insn and splitter.  Enable only if
+       !flag_unsafe_math_optimizations.  Returns number with next
+       highest magnitude if this is still less or equal to the true
+       quotient in magnitude.
+
+2008-07-21  Rafael Avila de Espindola  <espindola@google.com>
+
+       * Makefile.in: Replace toplev.h with TOPLEV_H.
+       * c-decl.c (merge_decls): Don't set DECL_IN_SYSTEM_HEADER.
+       * c-lex.c (fe_file_change): Don't set in_system_header.
+       * c-parser.c (c_token): Remove in_system_header.
+       (c_lex_one_token): Don't set in_system_header.
+       (c_parser_set_source_position_from_token): Don't set in_system_header.
+       * diagnostic.c (diagnostic_report_diagnostic): Use location from
+       diagnostic_info.
+       (warning_at): New.
+       * diagnostic.h (diagnostic_report_warnings_p): Add LOC argument.
+       * flags.h (in_system_header): Remove.
+       * function.c (saved_in_system_header): Remove.
+       (push_cfun): Don't set in_system_header.
+       (pop_cfun): Don't set in_system_header.
+       (push_struct_function): Don't set in_system_header.
+       * input.h (expanded_location): Add sysp.
+       (in_system_header_at): New.
+       (in_system_header): New.
+       * toplev.c (in_system_header): Remove.
+       * toplev.h: Include input.h
+       (warning_at): New.
+       * tree-cfg.c (execute_warn_function_return): Call warning_at.
+       * tree-ssa.c (warn_uninit): Call warning_at.
+       (warn_uninitialized_var): Update calls to warn_uninit.
+       (warn_uninitialized_phi): Update calls to warn_uninit.
+       * tree.c (make_node_stat): Don't set DECL_IN_SYSTEM_HEADER.
+       (expand_location): Initialize xloc.sysp.
+       * tree.h (DECL_IN_SYSTEM_HEADER): Use in_system_header_at.
+       (tree_decl_with_vis): Remove in_system_header_flag.
+
+2008-07-21  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       PR target/36822
+       * recog.c (asm_operand_ok): Change the order of the extra
+       memory constraint checks.
+
+2008-07-20  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR tree-opt/36879
+       * tree-switch-conversion.c (build_one_array): Call
+       varpool_mark_needed_node and varpool_finalize_decl
+       instead of assemble_variable.
+
+2008-07-19  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_add_new_function): Do early local passes.
+       * tree-nrv.c (gate_pass_return_slot): New gate.
+       (pass_nrv): Add the gate.
+       * tree-ssa-coalese.c (hash_ssa_name_by_var, eq_ssa_name_by_var): New
+       functions.
+       (coalesce_ssa_name): Coalesce SSA names.
+       * tree-ssa-live.c (remove_unused_locals): Be more conservative when
+       not optimizing so unused user vars remains visible.
+       * common.opt (flag_tree_ter): Always enable by default.
+       * tree-ssa-ter.c: Include flags.h
+       (is_replaceable_p): Check that locations match; when aliasing is missing
+       be conservative about loads.
+       * tree-optimize.c (gate_init_datastructures): Remove.
+       (pass_init_datastructures): New.
+       * passes.c: Reorder passes so we always go into SSA.
+
+2008-07-19  Jan Hubicka  <jh@suse.cz>
+
+       * doc/extend.texi (flatten attribute): Remove note about unit-at-a-time
+       * doc/invoke.texi (--combine): Likewise.
+       (-finline-functions-called-once): Update levels when enabled.
+       (-funit-at-a-time): Document new behaviour.
+       (-ftoplevel-reorder): Document that it is enabled -O0 and imply
+       -fno-section-anchors when disabled explicitly.
+       (inline params): They are not ignored now.
+       (precompiled headers): Remove unit-at-a-time as being incompatible.
+       * opts.c (decode_options): Handle unit-at-a-time as alias;
+       imply -fno-section-anchors when toplevel reorder is disabled
+       explicitly.
+       * common.opt (ftoplevel-reorder): Set default value to 2.
+       (funit-at-a-time): Set default value to 1.
+       * config/rs6000/rs6000.c (optimization_options): Set section anchors
+       to 2.
+
+2008-07-19  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_int_roundingfn,
+       expand_builtin_int_roundingfn_2): Do not take subtarget argument;
+       it is not useful.
+
+2008-07-19  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/36864
+       * tree-ssa-sccvn.h (get_constant_value_id): Declare.
+       * tree-ssa-sccvn.c (get_constant_value_id): New function.
+       * tree-ssa-pre.c (get_expr_value_id): For newly created
+       constant value-ids make sure to add the expression to its
+       expression-set.
+
+2008-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/36877
+       * omp-low.c (expand_omp_atomic_fetch_op): Make sure the
+       return value of the builtin is ignored.
+
+2008-07-19  Olivier Hainque  <hainque@adacore.com>
+
+       * doc/tm.texi (MALLOC_ABI_ALIGNMENT): New macro. Alignment, in
+       bits, a C conformant malloc implementation has to provide.
+       * defaults.h (MALLOC_ABI_ALIGNMENT): Default to BITS_PER_WORD.
+
+2008-07-19  Joseph Myers  <joseph@codesourcery.com>
+
+       PR target/36780
+       PR target/36827
+       * reload.c (find_reloads_subreg_address): Only reload address if
+       reloaded == 0, not for reloaded != 1.
+
+       Revert:
+       2008-07-16  Joseph Myers  <joseph@codesourcery.com>
+       * config/m32c/m32c.c (BIG_FB_ADJ): Move definition earlier.
+       (m32c_legitimate_address_p): Handle "++rii" addresses created by
+       m32c_legitimize_reload_address.
+
+       2008-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+       * config/sh/sh.h (GO_IF_LEGITIMATE_ADDRESS): Allow
+       (plus (plus (reg) (const_int)) (const_int)) when reload_in_progress.
+
+2008-07-19  Olivier Hainque  <hainque@adacore.com>
+
+       * dwarf2out.c (add_subscript_info): New explicit COLLAPSE_P
+       argument, saying whether nested array are to be collapsed
+       into a single array type DIE with multiple subscripts.
+       (gen_array_type_die): Factorize comments about the MIPS_DEBUG_INFO
+       issues, centralize the nested array types collapsing control and
+       disable the transformation for Ada.
+
+2008-07-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/36786
+       * config/i386/i386.md (x86_64_shift_adj_1): Rename from
+       x86_64_shift_adj.
+       (x86_64_shift_adj_2): New expander.
+       (x86_64_shift_adj_3): Ditto.
+       * config/i386/i386.c (ix86_split_ashr): Use gen_x86_64_shift_adj_3
+       to split TImode operands.
+       (ix86_split_ashl): Use gen_x86_64_shift_adj_2 to split TImode operands.
+       (ix86_split_lshr): Ditto.
+
+2008-07-18  Kris Van Hees  <kris.van.hees@oracle.com>
+
+       * c-common.c (c_stddef_cpp_builtins): Define __CHAR16_TYPE__
+       and __CHAR32_TYPE__.
+       * c-typeck.c (digest_init): Support char16_t and char32_t.
+       (set_nonincremental_init_from_string): Idem.
+
+2008-07-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/36859
+       * builtins.c (std_gimplify_va_arg_expr): Limit alignment to
+       PREFERRED_STACK_BOUNDARY.
+       * config/i386/i386.c (ix86_gimplify_va_arg): Likewise.
+
+2008-07-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/36858
+       * function.c (locate_and_pad_parm): Cap boundary earlier.
+
+2008-07-17  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.c (arm_cxx_determine_class_data_visibility): Make
+       no-op for targets which don't use DLLs.
+
+2008-07-17  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_print_all_lattices): New variable info, check
+       that nodes are relevant by examining the node->analyzed flag.
+       (ipcp_init_stage): Check which nodes are relevant, assert that the
+       relevant ones are also required.
+       (ipcp_propagate_stage): Check on the side arrays are properly
+       allocated.
+       (ipcp_print_all_jump_functions): Make sure not to touch any node
+       that is not analyzed or an edge that does not have a corresponding
+       entry in the on-the-side vectors.
+       (ipcp_function_scale_print): Likewise.
+       (ipcp_update_callgraph): Check that the node is relevant.
+       (ipcp_insert_stage): Check that the node is relevant.  Check there is
+       an info for every node and edge.
+       * ipa-prop.c (ipa_init_func_list): Check the nodes are relevant.
+       (ipa_print_all_tree_maps): Likewise and a new variable info.
+       (ipa_print_all_params_modified): Likewise.
+       * ipa-prop.h (ipa_edge_args_info_available_for_edge_p): New function.
+
+2008-07-17  Roman Zippel <zippel@linux-m68k.org>
+
+       PR target/25343
+       * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
+
+2008-07-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR rtl-optimization/36753
+       * fwprop.c (use_killed_between): Don't shortcut
+       single-definition global registers.
+
+2008-07-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (varpool_empty_needed_queue): Declare.
+       * cgraphunit.c (output_in_order): Mark all variables as needed;
+       empty the queue.
+       * varpool.c (varpool_assemble_node): Update debug queue.
+       (varpool_assemble_pending_decls): Don't do it here.
+       (varpool_empty_needed_queue):  New function.
+
+2008-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * recog.c (peephole2_optimize): Fix formatting.
+
+2008-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-pch.c (get_ident): Avoid C++ keywords.
+       * combine-stack-adj.c (single_set_for_csa): Likewise.
+       * final.c (asm_insn_count, final_scan_insn, alter_subreg,
+       output_asm_insn): Likewise.
+       * reload.c (push_secondary_reload, find_reusable_reload,
+       push_reload, combine_reloads, find_reloads,
+       debug_reload_to_stream): Likewise.
+       * reload.h (struct reload): Likewise.
+       * reload1.c (reload_reg_class_lower, find_reg, find_reload_regs,
+       allocate_reload_reg, choose_reload_regs, emit_input_reload_insns,
+       emit_output_reload_insns): Likewise.
+       * targhooks.c (default_secondary_reload): Likewise.
+       * varasm.c (section_entry_eq, object_block_entry_eq): Likewise.
+
+2008-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * recog.c (validate_change_1, validate_change,
+       validate_unshare_change, validate_replace_rtx_1, struct
+       funny_match, constrain_operands, peephole2_optimize): Avoid C++
+       keywords.
+       * reload.c (push_secondary_reload, secondary_reload_class,
+       scratch_reload_class, find_valid_class, find_reusable_reload,
+       push_reload, find_dummy_reload, find_reloads_address_1,
+       find_reloads_address_part, find_equiv_reg): Likewise.
+       * reload1.c (spill_failure, eliminate_regs_1, allocate_reload_reg,
+       choose_reload_regs): Likewise.
+       * rtlanal.c (replace_rtx, nonzero_bits1, num_sign_bit_copies1):
+       Likewise.
+       * rtlhooks.c (gen_lowpart_if_possible): Likewise.
+       * sched-ebb.c (add_deps_for_risky_insns): Likewise.
+       * sched-rgn.c (concat_INSN_LIST): Likewise.
+       * stor-layout.c (mode_for_size, mode_for_size_tree,
+       smallest_mode_for_size): Likewise.
+
+2008-07-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cfg.c (dump_reg_info): Avoid C++ keywords.
+       * dwarf2asm.c (dw2_force_const_mem,
+       dw2_asm_output_encoded_addr_rtx): Likewise.
+       * except.c (gen_eh_region, add_action_record, output_ttype): Likewise.
+       * expmed.c (expand_shift): Likewise.
+       * global.c (find_reg): Likewise.
+       * graph.c (draw_edge): Likewise.
+       * local-alloc.c (reg_meets_class_p, find_free_reg): Likewise.
+       * optabs.c (expand_binop, expand_twoval_unop, expand_twoval_binop,
+       widen_clz, widen_bswap, expand_parity, expand_unop,
+       emit_cmp_and_jump_insn_1): Likewise.
+       * postreload.c (reload_cse_simplify_operands): Likewise.
+       * ra.h (add_neighbor): Likewise.
+       * reg-stack.c (remove_regno_note, change_stack): Likewise.
+       * regclass.c (memory_move_secondary_cost, dump_regclass, regclass,
+       record_reg_classes, copy_cost, record_address_regs,
+       invalid_mode_change_p): Likewise.
+       * regrename.c (regrename_optimize, scan_rtx_reg,
+       dump_def_use_chain, find_oldest_value_reg,
+       replace_oldest_value_reg, copyprop_hardreg_forward_1): Likewise.
+
+2008-07-16  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (processor_target_table): Remove duplicate
+       MASK_POWERPC64 for power4 in previous commit.
+
+2008-07-16  Olivier Hainque  <hainque@adacore.com>
+
+       * collect2.c (scan_prog_file, COFF version): Use CONST_CAST
+       instead of bare conversion to cast const-ness away.
+
+2008-07-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/xtensa/xtensa.h (FUNCTION_OUTGOING_VALUE,
+       XTENSA_FUNCTION_VALUE, XTENSA_FUNCTION_VALUE): Remove.
+       * config/xtensa/xtensa.c (xtensa_function_value): New function.
+       (TARGET_FUNCTION_VALUE): Define.
+
+2008-07-16  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (processor_target_table): Add
+       MASK_PPC_GPOPT for power4, power5, power5+, power6, and power6x.
+
 2008-07-16  Joseph Myers  <joseph@codesourcery.com>
 
        PR target/36827
        * config/sh/sh.md (symGOT_load): Don't add REG_EQUAL note.
 
 2008-07-15  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * config/xtensa/libgcc-xtensa.ver: New file.
        * config/xtensa/t-linux (SHLIB_MAPFILES): Append libgcc-xtensa.ver.
-       
+
 2008-07-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * df-problems.c (df_set_note): Avoid C++ keywords.
        * caller-save.c (insert_restore, insert_save, insert_one_insn):
        Likewise.
        * combine.c (subst, simplify_set, make_extraction,
-       make_compound_operation, known_cond, simplify_shift_const_1):
-       Likewise.
+       make_compound_operation, known_cond, simplify_shift_const_1): Likewise.
        * cse.c (make_regs_eqv, merge_equiv_classes, validate_canon_reg,
-       fold_rtx, equiv_constant, cse_insn, cse_process_notes_1):
-       Likewise.
+       fold_rtx, equiv_constant, cse_insn, cse_process_notes_1): Likewise.
 
 2008-07-15  Richard Guenther  <rguenther@suse.de>
 
 
        * tree-ssa-sccvn.c (pre_info): Remove.
        (switch_to_PRE_table): Likewise.
-       (free_scc_vn): Do not clear SSA_NAME_VALUE.
-       Do not free pre_info.
+       (free_scc_vn): Do not clear SSA_NAME_VALUE.  Do not free pre_info.
        (set_hashtable_value_ids): Do not create value-ids for the
        optimistic tables.
        (run_scc_vn): Remove double test.  Remove bogus special-case
 
 2008-07-14  Richard Guenther  <rguenther@suse.de>
 
-       * tree-ssa-pre.c (insert_into_preds_of_block): Do not call
-       convert.
+       * tree-ssa-pre.c (insert_into_preds_of_block): Do not call convert.
 
 2008-07-14  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 
 2008-07-13  Daniel Berlin  <dberlin@dberlin.org>
 
-       * tree-ssa-pre.c (fully_constant_expression): Add fold_convert
-       calls.
+       * tree-ssa-pre.c (fully_constant_expression): Add fold_convert calls.
        (create_expression_by_pieces): Fix typo.
        (do_regular_insertion): Use debug counter here too.
 
 
        * config/h8300/h8300.md (length): Fix branch offset limit.
 
-2008-07-11  Anatoly Sokolov  <aesok@post.ru>   
+2008-07-11  Anatoly Sokolov  <aesok@post.ru>
 
        * config/avr/avr-protos.h (avr_peep2_scratch_safe): Remove prototype.
        * config/avr/avr.c (avr_peep2_scratch_safe): Remove.
 
 2008-07-10  Daniel Berlin  <dberlin@dberlin.org>
 
-       * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert
-       calls.
+       * tree-ssa-pre.c (create_expression_by_pieces): Add fold_convert calls.
        (eliminate): Ditto.
        (execute_pre): Call loop_optimizer_finalize in early exit.
 
        callers.
        * omp-low.c (lower_omp_sections, lower_omp_single, lower_omp_master,
        lower_omp_ordered, lower_omp_critical, lower_omp_for,
-       create_task_copyfn, lower_omp_taskreg, execute_lower_omp): 
+       create_task_copyfn, lower_omp_taskreg, execute_lower_omp):
        * tree-ssa-ccp.c (convert_to_gimple_builtin): Likewise.
        * tree-sra.c (generate_element_init): Likewise.
        * tree-mudflap.c (execute_mudflap_function_ops,
 
 2008-07-08  Jakub Jelinek  <jakub@redhat.com>
 
-       * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P
-       dst.
+       * tree-sra.c (sra_build_assignment): Handle CONVERT_EXPR_P dst.
 
 2008-07-05  Daniel Berlin  <dberlin@dberlin.org>
-       
+
        Fix PR tree-optimization/23455
        Fix PR tree-optimization/35286
        Fix PR tree-optimization/35287
        * Makefile.in (OBJS-common): Remove tree-vn.o.
-       tree-vn.o: Remove.
+       (tree-vn.o): Remove.
        * dbgcnt.def: Add treepre_insert debug counter.
        * gcc/tree-flow.h (add_to_value): Updated for other changes.
        (debug_value_expressions): Ditto.
        (value_id_constant_p): Ditto.
        (vn_reference_compute_hash): De-staticify.
        (copy_reference_ops_from_ref): Don't use get_callee_fndecl.
-       Disable some code with a FIXME.
-       Remove VALUE_HANDLE use.
-       (valueize_refs): Update opcode if it changes from ssa name to
-       constant.
+       Disable some code with a FIXME.  Remove VALUE_HANDLE use.
+       (valueize_refs): Update opcode if it changes from ssa name to constant.
        (vn_reference_lookup_1): Add new argument.
        (vn_reference_lookup):  Ditto.
        (vn_reference_lookup_pieces): New function.
-       (vn_reference_insert): Add return type. Modify to deal with value
-       ids.
+       (vn_reference_insert): Add return type. Modify to deal with value ids.
        (vn_reference_insert_pieces):  New function.
        (vn_nary_op_compute_hash): De-staticify.
        (vn_nary_op_eq): Ditto.
        (vn_nary_op_lookup_pieces): New function.
-       (vn_nary_op_lookup): Add new argument.  
+       (vn_nary_op_lookup): Add new argument.
        (vn_nary_op_insert_pieces): New function.
-       (vn_nary_op_insert): Add return type. Modify to deal with value
-       ids.
+       (vn_nary_op_insert): Add return type. Modify to deal with value ids.
        (vn_phi_insert): Ditto.
        (visit_unary_op): Update for callee changes.
        (visit_binary_op): Ditto.
        (visit_reference_op_load): Ditto.
        (visit_reference_op_store): Ditto.
        (init_scc_vn): Init next_value_id, constant_to_value_id and
-       constant_value_ids. 
+       constant_value_ids.
        (free_scc_vn): Free them.
        (set_hashtable_value_ids): New function.
        (run_scc_vn): Use it.
        above).
        * tree.c (iterative_hash_hashval_t): Made non-static
        * tree.h (iterative_hash_hashval_t): Declare it.
-       
+
 2008-07-08  Martin Jambor  <mjambor@suse.cz>
 
        * ipa-cp.c (ipcp_init_cloned_node): Call ipa_check_create_node_params
        (ipa_register_cgraph_hooks): New function.
        (ipa_unregister_cgraph_hooks): New function.
        (free_all_ipa_structures_after_ipa_cp): New function.
-       
+
        * ipa-prop.h: Include vec.h.
        (ipa_node_params_t): New typedef with vector types for it.
        (ipa_edge_args_t):  New typedef with vector types for it.
        (IPA_EDGE_REF): Changed to access an on-the-side vector.
        (ipa_check_create_node_params): New function.
        (ipa_check_create_edge_args): New function.
-       
+
        * Makefile.in (IPA_PROP_H): New variable for ipa-prop.h.  Converted
        all users.
-       
+
 2008-07-07  Tom Tromey  <tromey@redhat.com>
 
        * configure, config.in: Rebuilt.
 
 2008-07-07  Fernando Pereira <fernando@cs.ucla.edu>
 
-        * tree-ssa-structalias.c (compute_points_to_sets): Add call to
-        dump_constraint_graph.
-        (dump_constraint_edge): New function.
-        (dump_constraint_graph): New function.
-        (debug_constraint_graph): New function.
-        (dump_constraint): Removed useless comparison.
-        * tree-ssa-structalias.h (dump_constraint_edge): Declare.
-        (dump_constraint_graph): Declare.
-        (debug_constraint_graph): Declare.
-        * tree-dump.c (struct dump_option_value_info): Declare
-        TDF_GRAPH.
+       * tree-ssa-structalias.c (compute_points_to_sets): Add call to
+       dump_constraint_graph.
+       (dump_constraint_edge): New function.
+       (dump_constraint_graph): New function.
+       (debug_constraint_graph): New function.
+       (dump_constraint): Removed useless comparison.
+       * tree-ssa-structalias.h (dump_constraint_edge): Declare.
+       (dump_constraint_graph): Declare.
+       (debug_constraint_graph): Declare.
+       * tree-dump.c (struct dump_option_value_info): Declare TDF_GRAPH.
 
 2008-07-07  Kai Tietz  <kai.tietz@onevision.com>
 
        -print-sysroot option.
        (main): Print the sysroot if requested.
        * doc/invoke.texi (Debugging Options): Document -print-sysroot.
-       
+
 2008-07-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        PR target/34780
 
 2008-07-07  Daniel Jacobowitz  <dan@codesourcery.com>
 
-       * function.c (assign_parm_remove_parallels): Check mode of
-       entry_parm.
+       * function.c (assign_parm_remove_parallels): Check mode of entry_parm.
        (assign_parm_setup_block_p): Also check mode of entry_parm.
 
 2008-07-07  Richard Guenther  <rguenther@suse.de>
 2008-07-07  Maxim Kuvyrkov  <maxim@codesourcery.com>
 
        * config/m68k/m68k.c (m68k_return_in_memory): Fix arguments types.
-       
+
 2008-07-07  Mark Shinwell  <shinwell@codesourcery.com>
 
        * config/m68k/lb1sf68.asm: Add PIC macros for Linux targets.
 
 2008-07-04  Roger Sayle  <roger@eyesopen.com>
 
-       * config/rs6000/host-darwin.c (darwin_rs6000_extra_siganls): Cast
+       * config/rs6000/host-darwin.c (darwin_rs6000_extra_signals): Cast
        the "void*" result of xmalloc to "char*" to fix bootstrap breakage.
 
 2008-07-04  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        PR target/36684
-       * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns
-       for PIC.
+       * config/sh/sh.h (OVERRIDE_OPTIONS): Disable -fschedule-insns for PIC.
 
 2008-07-04  Jakub Jelinek  <jakub@redhat.com>
 
        Likewise.
        * ggc-common.c (hash_descriptor, eq_descriptor, hash_ptr, eq_ptr,
        loc_descriptor, ggc_prune_ptr, ggc_free_overhead,
-       final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics):
-       Likewise.
+       final_cmp_statistic, cmp_statistic, dump_ggc_loc_statistics): Likewise.
        * varray.c (hash_descriptor, eq_descriptor, varray_descriptor):
        Likewise.
 
 2008-07-02  Martin Jambor  <mjambor@suse.cz>
 
        * tree-switch-conversion.c: Included timevar.h which I forgot before.
-       
+
 2008-07-02  Martin Jambor  <mjambor@suse.cz>
 
        * tree-switch-conversion.c: Included timevar.h
 2008-06-30  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * ifcvt.c (cond_move_process_if_block): Free vectors on false return.
-       
+
 2008-06-30  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        PR rtl-optimization/34744
        (ix86_init_builtins): Here.
        (ix86_scalar_mode_supported_p): Always return true for TFmode.
        (ix86_c_mode_for_suffix): Always return TFmode and XFmode for
-       'q' and 'w', respectively. 
+       'q' and 'w', respectively.
 
        * config/i386/i386.md (movtf): Check TARGET_SSE2 instead of
        TARGET_64BIT.
 2008-06-22  Andy Hutchinson  <hutchinsonandy@aim.com>
 
        * config/avr/avr.h (SUPPORTS_INIT_PRIORITY): Define.
-       
+
 2008-06-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
 
        PR middle-end/34906
        * tree-ssa-loop-im.c (mem_ref_in_stmt, memref_hash, memref_eq,
        memref_free, gather_mem_refs_stmt, vtoe_hash, vtoe_eq, vtoe_free,
        record_vop_access, get_vop_accesses, get_vop_stores): Likewise.
-       * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise. 
+       * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Likewise.
        * tree-ssa-sccvn.c (VN_INFO_GET, free_phi, free_reference,
        vn_nary_op_insert): Likewise.
        * tree-ssa.c (redirect_edge_var_map_add,
 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
 
        * config/avr/avr.c (avr_mcu_t): Remove atmega32hvb.
-       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
-       * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
 
 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
 
        * config/avr/avr.c (avr_mcu_t): Add attiny167.
-       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
-       * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
+       * gcc/config/avr/t-avr (MULTILIB_MATCHES): Likewise.
 
 2008-06-17  Eric B. Weddington  <eric.weddington@atmel.com>
 
        * config/avr/avr.c (avr_mcu_t): Add atmega32u4.
-       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise. 
-       * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
 
 2008-06-17  Bernhard Fischer  <aldot@gcc.gnu.org>
 
        (delete_unmarked_insns): Don't handle libcall blocks.
        (preserve_libcall_for_dce): Remove.
        (prescan_insns_for_dce): Don't special-case libcall block insns.
-       * reload1 (reload): Don't handle libcall notes. 
+       * reload1 (reload): Don't handle libcall notes.
        * doc/rtl.texi (REG_LIBCALL, REG_RETVAL, REG_LIBCALL_ID): Remove
        documentation.
 
 
        * config/avr/avr.c (avr_mcu_t): Add atmega32m1.
        * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Likewise.
-       * config/avr/t-avr (MULTILIB_MATCHES): Likewise. 
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
 
 2008-06-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
 2008-06-015  Andy Hutchinson  <hutchinsonandy@aim.com>
 
        PR target/36336
-       * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for 
+       * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Add check for
        reg_equiv_constant.
 
 2008-06-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Maxim Kuvyrkov  <maxim@codesourcery.com>
            Richard Sandiford  <rdsandiford@googlemail.com>
-       
+
        * config/mips/mips-modes.def: Add V8QI, V4HI and V2SI modes.
        * config/mips/mips-protos.h (mips_expand_vector_init): New.
        * config/mips/mips-ftypes.def: Add function types for Loongson-2E/2F
 2008-06-09  Andy Hutchinson  <hutchinsonandy@aim.com>
 
        PR middle-end/36447
-       * simplify-rtx.c (simplify_subreg): Add check for shift count 
+       * simplify-rtx.c (simplify_subreg): Add check for shift count
        greater than size.
 
 2008-06-09  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * doc/invoke.texi (Wenum-compare): Mention that it is enabled by
        default.
-       
+
 2008-06-08  Joseph Myers  <joseph@codesourcery.com>
 
        PR tree-optimization/36218
 
        PR target/36424
        * config/avr/avr.h (HARD_REGNO_RENAME_OK): Define.
-       * config/avr/avr.c (avr_hard_regno_rename_ok): New function. 
-       * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype. 
+       * config/avr/avr.c (avr_hard_regno_rename_ok): New function.
+       * config/avr/avr-protos.h (avr_hard_regno_rename_ok): New prototype.
 
 2008-06-07  Danny Smith  <dannysmith@users.sourceforge.net>
 
        Rename parallel_nesting_level to taskreg_nesting_level.
        (scan_omp_task): New function.
        (lower_rec_input_clauses): Don't run constructors for firstprivate
-       explicit task vars which are initialized by *_omp_cpyfn*.  
+       explicit task vars which are initialized by *_omp_cpyfn*.
        Pass outer var ref to omp_clause_default_ctor hook if
        OMP_CLAUSE_PRIVATE_OUTER_REF or OMP_CLAUSE_LASTPRIVATE.
        Replace OMP_CLAUSE_REDUCTION_PLACEHOLDER decls in
 
        PR target/30243
        * builtins.c (expand_builtin_signbit): Don't take lowpart when
-       register is already smaller or equal to required mode. 
+       register is already smaller or equal to required mode.
 
 2008-06-04  Xinliang David Li  <davidxl@google.com>
 
-       * tree-call-cdce.c: New file. 
+       * tree-call-cdce.c: New file.
        (cond_dead_built_in_calls): New static variable.
        (input_domain): New struct.
        (check_pow): New function.
        * config/i386/mingw32.h (EXTRA_OS_CPP_BUILTINS): Replace
        TARGET_64BIT_MS_ABI by DEFAULT_ABI compare to MS_ABI.
 
-2008-06-02  Andy Hutchinson  <hutchinsonandy@aim.com> 
+2008-06-02  Andy Hutchinson  <hutchinsonandy@aim.com>
 
        PR target/34879
        * config/avr/avr.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Redefine.
        * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): New constants.
        (UNSPECV_WRITE_SP_IRQ_OFF): (Ditto.).
        (movhi_sp_r_irq_off, movhi_sp_r_irq_on): New insn.
-       * config/avr/avr.c (expand_prologue, expand_epilogue): Use 
-       movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the 
+       * config/avr/avr.c (expand_prologue, expand_epilogue): Use
+       movhi_sp_r_irq_off and movhi_sp_r_irq_on insns for writing to the
        stack pointer register.
-       (output_movhi): Remove code for interrupt specific writing to the 
+       (output_movhi): Remove code for interrupt specific writing to the
        stack pointer register.
 
 2008-05-31  Richard Guenther  <rguenther@suse.de>
        call clobber check for NMTs.
 
 2008-05-28  Seongbae Park  <seongbae.park@gmail.com>
-       
+
        * value-prof.c (tree_ic_transform): Use HOST_WIDEST_INT_PRINT_DEC
        for printing gcov_type.
 
        that the bitfield is of integral type before testing its precision.
 
 2008-05-27  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
-           Sa Liu  <saliu@de.ibm.com> 
+           Sa Liu  <saliu@de.ibm.com>
 
-       * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3, 
+       * config/spu/spu.c (spu_init_libfuncs): Add __multi3, __divti3,
        __modti3, __udivti3, __umodti3 and __udivmodti4.
        * config/spu/t-spu-elf (LIB2FUNCS_STATIC_EXTRA): Add files
        that implement TImode mul and div functions.
 
        * config/avr/avr.md ("call_prologue_saves"): Use hi8(gs())/lo8(gs())
        instead of pm_lo8/pm_hi8 to makes this call working on avr6.
-       * config/avr/avr.c (expand_prologue): Tune "call_prologue" 
+       * config/avr/avr.c (expand_prologue): Tune "call_prologue"
        optimization for 'avr6' architecture.
 
 2008-05-26  Andy Hutchinson  <hutchinsonandy@aim.com>
        * tree-data-ref.c (dr_analyze_indices): Replace resolve_mixers with
        instantiate_scev.
        (analyze_siv_subscript): Pass in the loop nest number.
-       Call evolution_function_is_affine_in_loop instead of 
+       Call evolution_function_is_affine_in_loop instead of
        evolution_function_is_affine_p.
        (analyze_overlapping_iterations): Pass in the loop nest number.
 
 
 2008-05-19  Xinliang David Li  <davidxl@google.com>
 
-       * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18. 
+       * tree-ssa-dce.c: Revert patches of 2008-05-17 and 2008-05-18.
        * opts.c: Ditto.
        * common.opt: Ditto.
        * doc/invoke.texi: Ditto.
 2008-05-18 Xinliang David Li   <davidxl@google.com>
 
        * gcc/tree-ssa-dce.c: Coding style fix.
-       (check_pow): Documentation comment. 
+       (check_pow): Documentation comment.
        (check_log): Documenation comment. Coding style fix.
        (is_unnecessary_except_errno_call): Ditto.
        (gen_conditions_for_pow): Ditto.
        (gen_shrink_wrap_conditions): Ditto.
        (shrink_wrap_one_built_in_calls): Ditto.
        * gcc/doc/invoke.texi: Better documentation string.
-       * ChangeLog: Fix wrong change log entries from 
+       * ChangeLog: Fix wrong change log entries from
        May 17 checkin on function call DCE.
 
 2008-05-17  Kaz Kojima  <kkojima@gcc.gnu.org>
        * doc/rtl.texi (RTL_CONST_CALL_P, RTL_PURE_CALL_P): Fixed typos.
        * df-problems.c (simulation routines): Fixed block comment to
        properly say how to add forwards scanning functions.
-       
+
 2008-05-17  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tree-inline.c (setup_one_parameter): Remove dead code.
 2008-05-17 Xinliang David Li   <davidxl@google.com>
 
        * gcc/tree-ssa-dce.c (cond_dead_built_in_calls): New static variable.
-       (check_pow, check_log, is_unnecessary_except_errno_call): New 
-       functions to check for eliminating math functions that are pure 
+       (check_pow, check_log, is_unnecessary_except_errno_call): New
+       functions to check for eliminating math functions that are pure
        except for setting errno.
        (gen_conditions_for_pow, gen_conditionas_for_log): New functions to
        general condition expressions for shrink-wrapping pow/log calls.
 2008-05-16  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        * tree-ssa-dse (max_stmt_uid): Removed.
-       (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt, 
+       (get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt,
        tree_ssa_dse): Encapsulate all uses of stmt_ann->uid.
        * tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto.
        * function.h (cfun.last_stmt_uid): New field.
        write_summary, read_summary.
        * cgraphunit.c (cgraph_process_new_functions): Changed call from
        pass_ipa_inline.function_generate_summary, to
-       compute_inline_parameters. 
+       compute_inline_parameters.
        * ipa-inline.c (compute_inline_parameters): Made public and added
        node parameter.
        (compute_inline_parameters_for_current): New function.
        (pass_ipa_inline): Updated for new IPA_PASS structure.
        * passes.c (execute_ipa_summary_passes): Now is called once per
        pass rather than once per node*pass.
-       
+
 2008-05-15  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p, 
+       * config/avr/avr.c (avr_base_arch_macro, avr_have_movw_lpmx_p,
        avr_have_mul_p, avr_asm_only_p): Remove variables.
        (avr_override_options): Remove initialization of removed variables.
-       (avr_file_start):  Convert removed variables to fields of 
-       'struct base_arch_s *avr_current_arch'. 
+       (avr_file_start):  Convert removed variables to fields of
+       'struct base_arch_s *avr_current_arch'.
        * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): (Ditto.).
        (AVR_HAVE_MUL): (Ditto.).
        (AVR_HAVE_MOVW): (Ditto.).
-       (AVR_HAVE_LPMX): (Ditto.). 
-       (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p, 
+       (AVR_HAVE_LPMX): (Ditto.).
+       (avr_base_arch_macro, avr_have_movw_lpmx_p, avr_have_mul_p,
        avr_asm_only_p): Remove declaration.
 
 2008-05-15  Diego Novillo  <dnovillo@google.com>
        (record_truncated_value): Turn it into a for_each_rtx callback.
        (record_truncated_values): New function.
        (combine_instructions): Call note_uses with record_truncated_values.
-       Change name of check_conversion to check_promoted_subreg. 
+       Change name of check_conversion to check_promoted_subreg.
 
 2008-05-15  Janis Johnson  <janis187@us.ibm.com>
 
 
        * optabs.c (prepare_cmp_insn): Changed LCT_PURE_MAKE_BLOCK to
        LCT_PURE and LCT_CONST_MAKE_BLOCK to LCT_CONST in calls to
-       emit_library_call_value. 
+       emit_library_call_value.
        * builtins.c (expand_builtin_powi, expand_builtin_memcmp): Ditto.
        * tree.h (ECF_LIBCALL_BLOCK): Removed.
-       * calls.c (initialize_argument_information, precompute_arguments, 
+       * calls.c (initialize_argument_information, precompute_arguments,
        expand_call, emit_library_call_value_1): Remove ECF_LIBCALL_BLOCK.
        (precompute_arguments): Removed flags parameter.
        * rtl.h (LCT_CONST_MAKE_BLOCK, LCT_PURE_MAKE_BLOCK): Removed.
-       
+
 2008-05-14  Richard Guenther  <rguenther@suse.de>
 
        * tree-ssa-dse.c (dse_possible_dead_store_p): Remove dead code.
 2008-05-10  Kenneth Zadeck  <zadeck@naturalbridge.com>
 
        * gcse.c (store_killed_in_insn): Negated call to RTL_CONST_CALL_P.
-               
+
 2008-05-10  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/i386.c (bdesc_ptest): Removed.
        CONVERT_EXPR_P.
        (CONVERT_EXPR_P): Define.
        (CASE_CONVERT): Define.
-       
+
 2008-05-08  Kenneth Zadeck  <zadeck@naturalbridge.com>
 
        PR middle-end/36117
 
 2008-05-08  David Daney  <ddaney@avtrex.com>
            Richard Sandiford  <rsandifo@nildram.co.uk>
-       
+
        * config/mips/mips.md (mips_expand_compare_and_swap_12): Handle
        special case of constant zero operands.
        * config/mips/mips.c (mips_expand_compare_and_swap_12): Zero extend
        (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
        (static_execute): Set looping true for recursive functions.
        Undo setting state to IPA_NEITHER for recursive functions.
-       * cse.c (cse_insn): 
+       * cse.c (cse_insn):
        * ifcvt.c (noce_can_store_speculate_p): Changed
-       CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or 
+       CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or
        RTL_CONST_OR_PURE_CALL_P.
        * dse.c (scan_insn): Ditto.
        * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
        DECL_PURE_P.
        * tree-cfg.c (update_call_expr_flags): Do not clear tree side
        effects for looping pure or const calls.
-       (verify_gimple_expr): Added verification code. 
+       (verify_gimple_expr): Added verification code.
        * config/alpha/alpha.c (alpha_legitimize_address,
        alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
        RTL_CONST_CALL_P.
        (ipcp_redirect): Removed newly unused local variable callee.
        (ipcp_redirect): Removed (a bit confusing) local variable type.
        (ipcp_insert_stage): Added local variable info.
-       (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters 
+       (ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters
        renamed too
        (ipcp_formal_create): Removed.
        (ipcp_method_cval_set): Removed.
        (ipcp_propagate_stage): Renamed lattice variables.
        (ipcp_method_cval_set_cvalue_type): Removed.
        (ipcp_method_cval_print): Renamed to ipcp_print_all_lattices
-       (ipcp_print_all_lattices): Changed printed strings to refer to 
+       (ipcp_print_all_lattices): Changed printed strings to refer to
        lattices rather than cvals.
        (ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices
        (ipcp_propagate_const): Changed formal parameters.
        (ipcp_after_propagate): Renamed to ipcp_change_tops_to_bottom
        (ipcp_callsite_param_print): Renamed to ipcp_print_all_jump_functions
        (ipcp_profile_mt_count_print): Renamed to ipcp_print_func_profile_counts
-       (ipcp_print_func_profile_counts): Changed string from "method" to 
+       (ipcp_print_func_profile_counts): Changed string from "method" to
        "function"
        (ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts
        (ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles
        (ipcp_lat_is_const): Changed parameters and made inline.
        (ipcp_replace_map_create): Renamed to ipcp_create_replace_map
        (ipcp_redirect): Renamed to ipcp_need_redirect_p
-       (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using 
+       (ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using
        the predicate condition directly
        (ipcp_propagate_stage): Added local variable args. Removed local
        variable callee.  (Both are mere code simplifications.)
        * gthr-single.h: Add in required interface elements as per gthr.h.
        Add stub types for __gthread_key_t, __gthread_once_t. Add defines
        for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT.
-       Generalize UNUSED macro. 
+       Generalize UNUSED macro.
        (__gthread_once): Add.
        (__gthread_key_create): Add.
        (__gthread_key_delete): Add.
        (__gthread_getspecific): Add.
        (__gthread_setspecific): Add.
-       
+
 2008-05-05  Andrew Pinski  <Andrew.Pinski@playstation.sony.com>
 
        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have
 
        * doc/invoke.texi (max-flow-memory-locations): Removed.
        * params.def (PARAM_MAX_FLOW_MEMORY_LOCATIONS): Removed.
-       
+
 2008-05-03  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/34973
 
        * ipa-cp.c (ipcp_init_stage): Calls ipa_set_called_with_variable_arg
        instead of setting number of formal parameters to zero.
-       (ipcp_init_stage): Do not set the number of actual parameters to zero 
+       (ipcp_init_stage): Do not set the number of actual parameters to zero
        either.
        (ipcp_propagate_stage): Explicitly skipping all calls to nodes
        which are called with variable number of arguments.
        (ipcp_insert_stage): Explicitely skipping all nodes which are
        called with variable number of arguments.
-       (ipcp_callsite_param_print): Skipps callsites to nodes with varaible 
+       (ipcp_callsite_param_print): Skipps callsites to nodes with varaible
        number of parameters.
 
        * ipa-prop.h (struct ipa_node_params): Added flag
        (ipa_is_called_with_var_arguments): Added.
        (ipa_get_ith_param): Added.  All readers of param_decls converted
        to use it instead.
-       (ipa_set_cs_argument_count): Added, sole writer to argument_count 
-       changed to use it. 
+       (ipa_set_cs_argument_count): Added, sole writer to argument_count
+       changed to use it.
        (ipa_get_cs_argument_count): Added, all readers of argument_count
        changed to cal it.
-       (ipa_get_ith_jump_func): Added. Accessors of jump values changed 
+       (ipa_get_ith_jump_func): Added. Accessors of jump values changed
        to use it.
-       
+
        * ipa-prop.h (struct ipcp_formal): Renamed to ipcp_lattice
        (struct ipcp_lattice): Renamed cval_type to type
        (struct ipa_node_params): ipcp_cval renamed to ipcp_lattices
        (build_const_val): Changed the type of parameter cvalue to tree
        (ipcp_propagate_const): Changed the type of parameter cvalue to tree
        (ipcp_method_cval_set_cvalue_type): Renamed parameter cval_type1 to type
-       
-       * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called 
-       constant 
+
+       * ipa-prop.h (struct ipcp_formal): Replaced cvalue with tree called
+       constant
 
        * ipa-prop.c (ipa_methodlist_init): Renamed to ipa_init_func_list
        (ipa_methodlist_not_empty): Removed, the sole user now checks directly
        (ipa_method_tree_map_create): Removed.
        (ipa_method_compute_tree_map): Renamed to ipa_create_param_decls_array
        (ipa_create_param_decls_array): Creates the array itself
-       (ipa_create_param_decls_array): Temporary variable info instead of 
+       (ipa_create_param_decls_array): Temporary variable info instead of
        a few dereferences.
        (ipa_method_formal_compute_count): Renamed to ipa_count_formal_params
        (ipa_method_compute_modify): Renamed to ipa_detect_param_modifications
        (ipa_edges_create): Renamed to ipa_create_all_edge_args
        (ipa_edges_free): Renamed to ipa_free_all_edge_args
        (ipa_nodes_free): Integrated into ipa_free_all_node_params and removed
-       (ipa_free_all_node_params): Deallocation to jump_functions moved to 
+       (ipa_free_all_node_params): Deallocation to jump_functions moved to
        ipa_free_all_edge_args
        (ipa_method_tree_print): Renamed to ipa_print_all_tree_maps
        (ipa_method_modify_print): Renamed to ipa_print_all_params_modified
        (ipa_methodlist_next_method_set): Removed.
        (ipa_method_is_modified): Removed.
        (ipa_method_modify_create): Removed.
-       (ipa_method_modify_init): Temporary variable info instead of a few 
+       (ipa_method_modify_init): Temporary variable info instead of a few
        dereferences.
-       (ipa_detect_param_modifications): Temporary variable info instead of 
+       (ipa_detect_param_modifications): Temporary variable info instead of
        a few dereferences.
-       (ipa_compute_jump_functions): Temporary variable info instead of 
+       (ipa_compute_jump_functions): Temporary variable info instead of
        a few dereferences.
        (ipa_method_modify_set): Removed.
        (ipa_method_tree_map): Renamed to ipa_get_param_decl_index
-       (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather 
+       (ipa_get_param_decl_index): Now accepts struct ipa_node_params rather
        than craph_node as the first parameter.
        (ipa_method_modify_stmt): Renamed to ipa_check_stmt_modifications
        (ipa_method_modify_init): Removed.
-       (ipa_compute_jump_functions): Added a temp variable instead of 
+       (ipa_compute_jump_functions): Added a temp variable instead of
        repeatadly dereferencing the cgraph_edge.aux pointer
        (ipa_callsite_param_set_type): Removed.
-       (ipa_compute_jump_functions): i renamed to index and moved to 
+       (ipa_compute_jump_functions): i renamed to index and moved to
        an inner block
        (ipa_callsite_param_set_info_type_formal): Removed.
        (ipa_callsite_param_set_info_type): Removed.
 
        * ipa-prop.h (enum cvalue_type): Renamed to ipa_lattice_type,
        prefixed all values with IPA_. Changed all users.
-       (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN, 
-       CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF 
-       and FORMAL_IPATYPE IPA_PASS_THROUGH. 
+       (enum jump_func_type): Rnamed UNKNOWN_IPATYPE to IPA_UNKNOWN,
+       CONST_IPATYPE to IPA_CONST, CONST_IPATYPE_REF to IPA_CONST_REF
+       and FORMAL_IPATYPE IPA_PASS_THROUGH.
        (union parameter_info): Renamed to jump_func_value.
        (union jump_func_value): Renamed value to constant
        (struct ipa_jump_func): Renamed info_type to value
        * tree-ssa-loop-manip.c (find_uses_to_rename_use): Only record
        uses outside of the loop.
        (tree_duplicate_loop_to_header_edge): Only verify loop-closed SSA
-       form if it is available.  
+       form if it is available.
        * tree-flow.h (tree_unroll_loops_completely): Add extra parameter.
        * passes.c (init_optimization_passes): Schedule complete inner
        loop unrolling pass before the first CCP pass after final inlining.
        (init_elim_table): Update.
 
 2008-04-25  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * optabs.c (expand_float): Fix REG_EQUAL for UNSIGNED_FLOAT libcall.
-       
+
 2008-04-25  H.J. Lu  <hongjiu.lu@intel.com>
 
        * config/i386/sse.md (mov<mode>): Replace SSEMODEI with SSEMODE.
        of code delimited by two edges in the CFG.
        (separate_decls_in_loop_name): Renamed separate_decls_in_region_name.
        (separate_decls_in_loop_stmt): Renamed separate_decls_in_region_stmt.
-       (separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate 
+       (separate_decls_in_loop): Renamed separate_decls_in_region.  Isolate
        the case of parallelisation of reductions.
        (expr_invariant_in_region_p): New.
 
        PR middle-end/36003
        * passes.c (init_optimization_passes): Remove
        pass_fast_rtl_byte_dce.
-       
+
 2008-04-22  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/29096
 
        * dbgcnt.def (ra_byte_scan): Added.
        * dbgcnt.c (dbg_cnt): Added code to print message to dump_file
-       when the last hit happens for a counter.  
+       when the last hit happens for a counter.
        * timevar.def (TV_DF_BYTE_LR): New variable.
        * tree-pass.h (pass_fast_rtl_byte_dce): New pass.
        * passes.c (pass_fast_rtl_byte_dce): New pass.
        * fwprop.c (update_df): Added mode to call df_ref_create.
        Renamed DF_REF_WIDTH and DF_REF_OFFSET to DF_REF_EXTRACT_WIDTH and
        DF_REF_EXTRACT_OFFSET.
-       * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN, 
+       * df.h (DF_BYTE_LR, DF_BYTE_LR_BB_INFO, DF_BYTE_LR_IN,
        DF_BYTE_LR_OUT, df_byte_lr): New macro.
        (df_mm): New enum.
        (df_ref_extract): Added mode field.
        DF_REF_EXTRACT_OFFSET.
        (DF_REF_EXTRACT_MODE): New macro.
        (df_byte_lr_bb_info): New structure.
-       (df_print_byte_regset, df_compute_accessed_bytes, 
+       (df_print_byte_regset, df_compute_accessed_bytes,
        df_byte_lr_add_problem, df_byte_lr_get_regno_start,
        df_byte_lr_get_regno_len, df_byte_lr_simulate_defs,
        df_byte_lr_simulate_uses,
        (df_byte_lr_get_bb_info): New inline function.
        * df-scan.c (df_ref_record, df_uses_record,
        df_ref_create_structure): Added mode parameter.
-       (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1, 
+       (df_ref_create, df_notes_rescan, df_ref_record, df_def_record_1,
        df_defs_record, df_uses_record, df_get_conditional_uses,
-       df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect, 
+       df_get_call_refs, df_insn_refs_collect, df_bb_refs_collect,
        df_entry_block_defs_collect, df_exit_block_uses_collect):
        Added mode parameter to calls to df_ref_record, df_uses_record,
        df_ref_create_structure.
        * df-core.c (df_print_byte_regset): New function.
        * df-byte-scan.c: New file.
        * df-problems.c (df_rd_transfer_function): Removed unnecessary
-       calls to BITMAP_FREE.  
+       calls to BITMAP_FREE.
        (df_byte_lr_problem_data, df_problem problem_BYTE_LR): New structure.
        (df_byte_lr_get_regno_start, df_byte_lr_get_regno_len,
-       df_byte_lr_set_bb_info, df_byte_lr_free_bb_info, 
-       df_byte_lr_check_regs, df_byte_lr_expand_bitmap, 
+       df_byte_lr_set_bb_info, df_byte_lr_free_bb_info,
+       df_byte_lr_check_regs, df_byte_lr_expand_bitmap,
        df_byte_lr_alloc, df_byte_lr_reset, df_byte_lr_bb_local_compute,
        df_byte_lr_local_compute, df_byte_lr_init,
-       df_byte_lr_confluence_0, df_byte_lr_confluence_n, 
-       df_byte_lr_transfer_function, df_byte_lr_free, 
+       df_byte_lr_confluence_0, df_byte_lr_confluence_n,
+       df_byte_lr_transfer_function, df_byte_lr_free,
        df_byte_lr_top_dump, df_byte_lr_bottom_dump,
-       df_byte_lr_add_problem, df_byte_lr_simulate_defs, 
+       df_byte_lr_add_problem, df_byte_lr_simulate_defs,
        df_byte_lr_simulate_uses,
        df_byte_lr_simulate_artificial_refs_at_top,
        df_byte_lr_simulate_artificial_refs_at_end): New function.
        * dce.c (byte_dce_process_block): New function.
        (dce_process_block): au is now passed in rather than computed
        locally.  Changed loops that look at artificial defs to not look
-       for conditional or partial ones, because there never are any.  
-       (fast_dce): Now is able to drive byte_dce_process_block or 
+       for conditional or partial ones, because there never are any.
+       (fast_dce): Now is able to drive byte_dce_process_block or
        dce_process_block depending on the kind of dce being done.
        (rest_of_handle_fast_dce): Add parameter to fast_dce.
        (rest_of_handle_fast_byte_dce): New function.
        pointer_may_wrap_p to disable some false positives.
 
 2008-04-18  Kris Van Hees <kris.van.hees@oracle.com>
-         
+
        * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros.
        (fname_as_string): Match updated cpp_interpret_string prototype.
        (fix_string_type): Support char16_t* and char32_t*.
        (c_common_nodes_and_builtins): Add char16_t and char32_t (and
        derivative) nodes.  Register as builtin if C++0x.
        (c_parse_error): Support CPP_CHAR{16,32}.
-       * c-common.h (RID_CHAR16, RID_CHAR32): New elements. 
+       * c-common.h (RID_CHAR16, RID_CHAR32): New elements.
        (enum c_tree_index) <CTI_CHAR16_TYPE, CTI_SIGNED_CHAR16_TYPE,
        CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE,
        CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE,
 
        * config/sh/sh.c (expand_cbranchdi4): Use original operands for
        msw_skip comparison.
-       
+
 2008-04-16  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/35739
        unused.
        Move filter, exc_ptr, ttype_data, ehspec_data, action_record_data and
        exception_handler_label_map, ehr_stackadj, ehr_handler, ehr_label,
-       sjlj_fc, sjlj_exit_after to rth_eh in function.h. 
+       sjlj_fc, sjlj_exit_after to rth_eh in function.h.
        Remove call_site_data_used, call_site_data_size.
        Turn call_site_record into vector in function.h.
        (note_current_region_may_contain_throw): Remove.
        add_ttypes_entry, add_ehspec_entry, assign_filter_values,
        build_post_landing_pads, dw2_build_landing_pads,
        sjlj_assign_call_site_values, sjlj_mark_call_sites,
-       sjlj_emit_function_enter, sjlj_emit_function_enter, 
+       sjlj_emit_function_enter, sjlj_emit_function_enter,
        sjlj_emit_function_exit, sjlj_emit_dispatch_table,
        sjlj_build_landing_pads, finish_eh_generation,
        remove_exception_handler_label, remove_eh_handler,
        (*<code>extendsfdf2): Macroize insn pattern from *absextendsfdf2 and
        *negextendsfdf2 patterns using absneg code iterator.
        * config/i386/sse.md (<code><mode>2): Macroize expander from
-       abs<mode>2 and neg<mode>2 patterns using absneg code iterator. 
+       abs<mode>2 and neg<mode>2 patterns using absneg code iterator.
 
 2008-04-10  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 
 2008-04-08  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define 
-       __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL 
+       * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Define
+       __AVR_HAVE_EIJMP_EICALL__ macro if device have EIJMP and EICALL
        instructions.
-       * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for 
+       * config/avr/avr.c (avr_mcu_types): Set AVR31 architecture for
        atmega103 device.
 
 2008-04-07  Jan Hubicka  <jh@suse.cz>
        (assign_stack_local): Update
        (expand_function_end): Update.
        (get_art_pointer_save_area): Update
-       * function.h 
+       * function.h
        * emit-rtl.c (rtl): Declare.
        (regno_reg_rtx): Declare.
        (first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
        (avr_asm_init_sections): (Ditto.).
        (avr_rtx_costs): (Ditto.).
        * config/avr/avr.md: (Ditto.).
-       * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of 
+       * config/avr/avr.h: Use '__AVR_HAVE_JMP_CALL__' instead of
        '__AVR_MEGA__'.
 
 2008-04-06  Richard Guenther  <rguenther@suse.de>
 
        * c-objc-common.h (LANG_HOOKS_FUNCTION_MISSING_NORETURN_OK_P):
        Rename to LANG_HOOKS_MISSING_NORETURN_OK_P.
-       
+
 2008-04-04  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/35440
 
 2008-04-02  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/predicates.md (io_address_operand): New predicate. 
+       * config/avr/predicates.md (io_address_operand): New predicate.
        * config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
        * config/avr/avr.c (avr_io_address_p): Remove function.
-       (out_movqi_r_mr): Use 'io_address_operand' predicate instead of 
+       (out_movqi_r_mr): Use 'io_address_operand' predicate instead of
        'avr_io_address_p' function.
        (out_movhi_r_mr): (Ditto.).
        (out_movqi_mr_r): (Ditto.).
 
        * config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
        * config/t-openbsd-thread: Remove commented out lines.
-       
+
        * config/x-interix: Remove.
 
        * config/m68hc11/t-m68hc11-gas: Rename to...
        (reload_reg_rtx_for_input): New variable.
        (reload_reg_rtx_for_output): Likewise.
        (emit_input_reload_insns): Use reloadreg rather than rl->reg_rtx
-       when reassigning a pseudo register.  Load reloadreg from 
+       when reassigning a pseudo register.  Load reloadreg from
        reload_reg_rtx_for_input, moving the mode and register
        calculation to...
        (do_input_reload): ...here.  Use the mode-adjusted reg_rtx
        (build/genflags.o): Likewise.
 
 2008-03-25  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * config/xtensa/xtensa.c (xtensa_va_start): Use build_int_cst
        instead of size_int for integer types.
        (xtensa_gimplify_va_arg_expr): Likewise.  Convert index to sizetype
        to match type of MINUS_EXPR.
-       
+
 2008-03-25  Tom Tromey  <tromey@redhat.com>
 
        * configure: Rebuilt.
 2008-03-25  Naveen.H.S  <naveen.hs@kpitcummins.com>
 
        * config/sh/sh.md (prefetch): Add condition for SH2A target.
-       (prefetch_sh2a): New.   
+       (prefetch_sh2a): New.
 
 2008-03-25  Jayant Sonar  <Jayant.sonar@kpitcummins.com>
            Naveen.H.S  <naveen.hs@kpitcummins.com>
 
        * diagnostic.c (diagnostic_count_diagnostic): Delete.
        (diagnostic_report_diagnostic): Update. Handle ICEs here.
-       
+
 2008-03-24  Nathan Sidwell  <nathan@codesourcery.com>
 
        * gthr-vxworks.h (UNUSED): Define.
 
        * doc/extend.texi (Function Attributes): Add missing comma in the
        example of the "alloc_size" attribute.
-       
+
 2008-03-23  Uros Bizjak  <ubizjak@gmail.com>
 
        Revert:
        * config/avr/avr.c (avr_arch_types): Add avr6 entry.
        (avr_arch): Add ARCH_AVR6.
        (avr_mcu_types): Add 'atmega2560' and 'atmega2561' entry.
-       (initial_elimination_offset): Initialize and use 'avr_pc_size' 
+       (initial_elimination_offset): Initialize and use 'avr_pc_size'
        instead of fixed value 2.
        (print_operand_address): Use gs() asm specifier instead of pm().
        (avr_assemble_integer): (Ditto.).
        (avr_output_addr_vec_elt): (Ditto.).
        (print_operand): Handle "!" code.
-       * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add 
+       * config/avr/avr.h (TARGET_CPU_CPP_BUILTINS): Add
        __AVR_3_BYTE_PC__, __AVR_2_BYTE_PC__ and __AVR_HAVE_JMP_CALL__.
        (AVR_HAVE_EIJMP_EICALL): Define.
        (AVR_3_BYTE_PC): Redefine.
        (AVR_2_BYTE_PC): (Ditto.).
        (PRINT_OPERAND_PUNCT_VALID_P): Add '!' code.
        (LINK_SPEC): Add atmega2560 and atmega2561.
-       (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561 
+       (CRT_BINUTILS_SPEC): Add atmega2560 (crtm2560.o) and atmega2561
        (crtm2561.o).
-       * config/avr/avr.md (call_insn): Use eicall instead of icall 
+       * config/avr/avr.md (call_insn): Use eicall instead of icall
        for 3 byte PC devices.
        (call_value_insn): (Ditto.).
        (*tablejump_enh): Use eijmp instead of ijmp for 3 byte PC devices.
        (*tablejump): (Ditto.).
        (*indirect_jump_avr6): Add insn.
        (*tablejump_rjmp): Don't use for 3 byte PC devices.
-       * config/avr/libgcc.S (__prologue_saves__): Use eijmp 
+       * config/avr/libgcc.S (__prologue_saves__): Use eijmp
        instead of ijmp for 3 byte PC devices.
        (__tablejump2__): (Ditto.).
        * config/avr/t-avr (MULITLIB_OPTIONS): Add avr6 architecture.
-       (MULITLIB_DIRNAMES): (Ditto.). 
+       (MULITLIB_DIRNAMES): (Ditto.).
        (MULTILIB_MATCHES): Add atmega2560 and atmega2561 to list.
 
 2008-03-15  Uros Bizjak  <ubizjak@gmail.com>
        being a PHI_NODE.
 
 2008-03-14  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * doc/invoke.texi (Option Summary, Xtensa Options): Document
        -mserialize-volatile and -mno-serialize-volatile Xtensa options.
        * config/xtensa/xtensa.c (print_operand): Do not emit MEMW instructions
        (df_ref_create_structure): Allocate df_ref_extract if offset and
        width fields are used.
        (df_def_record_1): Get offset and width from ZERO_EXTRACT.
-       (df_uses_record): Get offset and width from ZERO_EXTRACT 
+       (df_uses_record): Get offset and width from ZERO_EXTRACT
        and SIGN_EXTRACT.
        * global.c (build_insn_chain): Change DF_REF_EXTRACT to either
        DF_REF_ZERO_EXTRACT or DF_REF_SIGN_EXTRACT.  Change
        (df_ref_extract): New structure.
        (DF_REF_WIDTH, DF_REF_OFFSET): New macros.
        (df_ref_create): Add width and offset parameters.
-       
+
 2008-03-05  Richard Guenther  <rguenther@suse.de>
 
        * tree-ssa-structalias.c (get_constraint_for_component_ref):
        * Makefile.in (OBJS-common): Remove struct-equiv.o.
        (struct-equiv.o): Remove rule.
        * basic-block.h (struct_equiv_checkpoint, STRUCT_EQUIV_*,
-       insns_match_p, struct_equiv_block_eq, struct_equiv_init, 
+       insns_match_p, struct_equiv_block_eq, struct_equiv_init,
        rtx_equiv_p, condjump_equiv_p): Remove prototypes.
 
 2008-03-01  Alexandre Oliva  <aoliva@redhat.com>
        * tree-vect-analyze.c: Remove unused static decls.
        * lambda.h (dependence_level): New.
        * common.opt (ftree-loop-distribution): New.
-       * tree-flow.h (mark_virtual_ops_in_bb, 
+       * tree-flow.h (mark_virtual_ops_in_bb,
        slpeel_tree_duplicate_loop_to_edge_cfg,
        rename_variables_in_loop): Declared.
        * Makefile.in (TREE_DATA_REF_H): Depend on tree-chrec.h.
 2008-02-26  Jason Merrill  <jason@redhat.com>
 
        PR c++/35315
-       * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE 
+       * attribs.c (decl_attributes): Leave ATTR_FLAG_TYPE_IN_PLACE
        alone if it's the naming decl for the type's main variant.
 
 2008-02-26  Tom Tromey  <tromey@redhat.com>
        * builtins.c (expand_builtin): Remove BUILT_IN_STDARG_START.
        * tree-stdarg.c (execute_optimize_stdarg): Likewise.
        * tree-inline.c (inline_forbidden_p_1): Likewise.
-       
+
 2008-02-26  Richard Guenther  <rguenther@suse.de>
 
        * tree-flow.h (uid_decl_map_hash, uid_decl_map_eq): Move ...
        Wvolatile-register-var.
        * common.opt: Move Wvolatile-register-var to...
        * c.opt: ...here.
-       
+
 2008-02-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
 
        * common.opt (Wlarger-than=): New.
        * opth-gen.awk: Likewise.
        * stor-layout.c (layout_decl): Use -Wlarger-than= for warning.
        * tree-optimize.c (tree_rest_of_compilation): Likewise.
-       
+
 2008-02-26  Manuel Lopez-Ibanez <manu@gcc.gnu.org>
 
        * c-common.c (match_case_to_enum_1): Add appropriate
        (print_ignored_options): New.
        (handle_option): Postpone errors for unknown -Wno-* options.
        * opts.h (print_ignored_options): Declare.
-       
+
 2008-02-25  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        * config/mips/mips.md (loadgp_blockage, blockage): Change type
        PR c/35162
        * doc/invoke.texi (-fcx-limited-range): Correct to be in line with
        actual behaviour and C99.
-       
+
 2008-02-26  Ben Elliston  <bje@au.ibm.com>
 
        * config/rs6000/rs6000.h (ASM_CPU_POWER5_SPEC): Define.
        unused local variable `has_hot_blocks'.
        (fix_crossing_conditional_branches): Remove unused local variable
        `prev_bb'.
-       
+
 2008-02-25  Uros Bizjak  <ubizjak@gmail.com>
 
        PR middle-end/19984
 2008-02-23  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/22076
-       PR target/34256 
+       PR target/34256
        * config/i386/mmx.md (*mov<mode>_internal_rex64): Use "!y" to
        prevent reload from using MMX registers.
        (*mov<mode>_internal): Ditto.
 
        * config/h8300/h8300.c (h8300_expand_epilogue): Emit return insn
        as a jump, not as a plain insn.
-       
+
 2008-02-20  Seongbae Park <seongbae.park@gmail.com>
 
        * doc/invoke.texi (Warning Options): Add new option
        * doc/install.texi: Correct references to CFLAGS, replacing them
        with BOOT_CFLAGS.  Document flags used during bootstrap for
        target libraries.
-                               
+
 2008-02-20  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): New define.
        cannot be disambiguated.
        * c.opt (v): Pass on to the common option handler.
 
-2008-02-19  Revital Eres  <eres@il.ibm.com> 
+2008-02-19  Revital Eres  <eres@il.ibm.com>
 
        * modulo-sched.c (sms_schedule): Change dump message when
        create_ddg function fails.
 2008-02-17  Uros Bizjak  <ubizjak@gmail.com>
 
        Revert:
-       2008-02-15  Uros Bizjak  <ubizjak@gmail.com>    
+       2008-02-15  Uros Bizjak  <ubizjak@gmail.com>
        * config/i386/sfp-machine.h (CMPtype): Define as typedef using
        libgcc_cmp_return mode.
 
        Add -fdump-ipa-inline.
        * tree-dump.c (dump_files): Remove tree-inlined dump.
        * tree-pass.h (tree_dump_index): Remove TDI_inlined.
-       
+
 2008-02-12  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/35171
 
 2008-02-08  Sa Liu  <saliu@de.ibm.com>
 
-       * config/spu/spu-builtins.def: Fixed wrong parameter type in spu 
+       * config/spu/spu-builtins.def: Fixed wrong parameter type in spu
        intrinsics spu_convts, spu_convtu, spu_convtf.
 
 2008-02-08  Hans-Peter Nilsson  <hp@axis.com>
        optc-gen.awk.
        * opts-common.c: Likewise.
        * optc-gen.awk: Likewise.
-       
+
 2008-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>
 
        * config/s390/s390.h (FUNCTION_ARG_REGNO_P): Fix fprs for 64 bit.
 
        PR rtl-opt/33410
        * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use an
-       EXPR_LIST for the REG_EQUAL instead of a comparison with a 
+       EXPR_LIST for the REG_EQUAL instead of a comparison with a
        funny mode.
 
 2008-02-07  Uros Bizjak  <ubizjak@gmail.com>
 
 2008-02-06  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
-       * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add 
+       * config/arm/rtems-elf.h (TARGET_OS_CPP_BUILTINS): Add
        builtin_define ("__USE_INIT_FINI__").
        * config/h8300/t-rtems (MULTILIB_OPTION,MULTILIB_DIRNAMES): Add
        -msx multilibs.
        * doc/c-tree.texi (Types): Fix grammar.
        (Expression trees): Ditto.
        * doc/passes.texi (Tree-SSA passes): Ditto.
-       
+
        * doc/configterms.texi (Configure Terms): Fix typo.
        * doc/cpp.texi (Common Predefined Macros): Ditto.
        * doc/md.texi (Machine Constraints): Ditto.
-       
+
        * doc/makefile.texi (Makefile): Add comma.
 
 2008-01-31  Tom Browder  <tom.browder@gmail.com>
            Gerald Pfeifer  <gerald@pfeifer.com>
-       
+
        * doc/sourcebuild.texi (Front End): Remove references to CVS
        and CVSROOT/modules.
        (Texinfo Manuals): Replace reference to CVS by one to SVN.
        options. Minor fixes.
        (-std): Move reference to standards closer to where language
        standards are first mentioned.
-       
+
 2008-01-31  Richard Sandiford  <rsandifo@nildram.co.uk>
 
        PR rtl-optimization/34995
 2008-01-28  Andy Hutchinson   <hutchinsonandy@netscape.net>
 
        PR target/34412
-       * config/avr/avr.c (expand_prologue): Use correct QI mode frame 
+       * config/avr/avr.c (expand_prologue): Use correct QI mode frame
        pointer for tiny stack.
 
 2008-01-28  Bernhard Fischer  <aldot@gcc.gnu.org>
        Change type of cost to comp_cost.
        (determine_iv_cost): Increase cost of non-original ivs, instead
        of decreasing the cost of original ones.
-       (get_address_cost): Indicate the complexity of the addressing mode 
+       (get_address_cost): Indicate the complexity of the addressing mode
        in comp_cost.
        (try_add_cand_for): Prefer using ivs not specific to some object.
        * tree-flow.h (force_expr_to_var_cost): Declaration removed.
        * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs):
        New functions.
        (remove_structure): Update allocations list before removing structure.
-       
+
 2008-01-25  Golovanevsky Olga  <olga@il.ibm.com>
 
-       * ipa-struct-reorg.c (is_safe_cond_expr, 
+       * ipa-struct-reorg.c (is_safe_cond_expr,
        create_new_stmts_for_cond_expr): Use integer_zerop function,
        that recognize not only zero-pointer, but zero-integer too.
 
 
        PR c++/25701
        * doc/gcc.texi (Software development): Add a direntry for g++.
-       
+
 2008-01-23  Hans-Peter Nilsson  <hp@axis.com>
 
        * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop
        (avr_arch_types): Add 'avr31' and 'avr51' entries.
        (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'.
        (avr_mcu_types): Add 'avr31' and 'avr51' architectures.
-       (avr_override_options): Init 'avr_current_arch'. 
+       (avr_override_options): Init 'avr_current_arch'.
        (base_arch_s): Move from here...
-       * config/avr/avr.h (base_arch_s): ... here. Add new members 
-       'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename 
+       * config/avr/avr.h (base_arch_s): ... here. Add new members
+       'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename
        'mega' to 'have_jmp_call'.
-       (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", 
+       (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__",
        "__AVR_HAVE_RAMPZ__",   "__AVR_HAVE_ELPM__" and  "__AVR_HAVE_ELPMX__"
        macros.
-       (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' 
+       (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51'
        architectures.
-       * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, 
+       * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
        MULTILIB_MATCHES): (Ditto.).
 
 2008-01-23  Richard Guenther  <rguenther@suse.de>
 
 2008-01-21  Alon Dayan  <alond@il.ibm.com>
            Olga Golovanevsky  <olga@il.ibm.com>
-       
+
        PR tree-optimization/34701
        * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation
        when the structure size is not a power of 2.
 2008-01-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
 
        * doc/install.texi: Add doc for --enable-checking=df.
-       
+
 2008-01-20  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        PR rtl-optimization/34808
        (df_live_init): Init the df_live sets only with the variables
        found live by df_lr.
        (df_live_transfer_function): Use the df_lr sets to prune the
-       df_live sets as they are being computed.  
+       df_live sets as they are being computed.
        (df_live_free): Free df_live_scratch.
 
 2008-01-18  Ian Lance Taylor  <iant@google.com>
 
 2008-01-16  Sebastian Pop  <sebastian.pop@amd.com>
 
-       * tree-data-ref.c (subscript_dependence_tester_1): Call 
+       * tree-data-ref.c (subscript_dependence_tester_1): Call
        free_conflict_function.
        (compute_self_dependence): Same.
 
        PR c++/24924
        * c-opts (c_common_post_options): Do not enable CPP
        flag_pedantic_errors by default.
-       
+
 2008-01-14  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR rtl-optimization/31944
        correct type.
 
 2008-01-11  Bob Wilson  <bob.wilson@acm.org>
-       
+
        * config/xtensa/xtensa.c (override_options): Set flag_shlib.
-       
+
 2008-01-11  James E. Wilson  <wilson@specifix.com>
 
        PR target/26015
 
 2008-01-11  Anatoly Sokolov <aesok@post.ru>
 
-       * config/avr/avr.c (expand_prologue, expand_epilogue): Don't 
-       save/restore frame pointer register and don't use 'call-prologues' 
+       * config/avr/avr.c (expand_prologue, expand_epilogue): Don't
+       save/restore frame pointer register and don't use 'call-prologues'
        optimization in function with "OS_task" attribute.
 
 2008-01-11  Eric Botcazou  <ebotcazou@adacore.com>
 
        2008-01-05  Uros Bizjak  <ubizjak@gmail.com>
        * config/i386/i386.c (ix86_builtin_reciprocal): Remove check
-       for TARGET_RECIP.       
-       
+       for TARGET_RECIP.
+
 2008-01-08  Jan Sjodin  <jan.sjodin@amd.com>
-       
+
        * config/i386/i386.c (k8_cost, amdfam10_cost): Branch costs
        for vectorization tuned.
-       
+
 2008-01-08  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/34683