re PR tree-optimization/45580 (Building WebKit fails with compiler catching SIGSEGV...
[platform/upstream/gcc.git] / gcc / ChangeLog
index b066637..7585ee6 100644 (file)
@@ -1,3 +1,745 @@
+2010-09-21  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45580
+       * tree-ssa-propagate.c (substitute_and_fold): Always replace
+       regular uses.
+       * gimple-fold.c (gimple_fold_obj_type_ref): For a BINFO without
+       virtuals fold the call into a regular indirect one.
+
+2010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/42775
+       * cfgrtl.c (rest_of_pass_free_cfg): Recompute notes if delay slot
+       scheduling is enabled.
+
+2010-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/45728
+       * expr.c (expand_expr_real_1): If op0 isn't REG or MEM, try
+       gen_lowpart_common first and if that fails, force_reg first
+       before calling gen_lowpart.
+
+       PR middle-end/45678
+       * cfgexpand.c (expand_one_stack_var_at): Use
+       crtl->max_used_stack_slot_alignment as max_align, instead
+       of maximum of that and PREFERRED_STACK_BOUNDARY.
+       Don't call update_stack_alignment.
+
+2010-09-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * langhooks.h (struct lang_hooks_for_types): Remove hash_types field.
+       * langhooks-def.h (LANG_HOOKS_HASH_TYPES): Delete.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_HASH_TYPES.
+       * system.h (LANG_HOOKS_HASH_TYPES): Poison.
+       * tree.c (type_hash_canon): Do not test lang_hooks.types.hash_types.
+       (build_nonstandard_integer_type): Likewise.
+       (build_range_type_1): New function, built from...
+       (build_range_type): ...this.  Call build_range_type_1.
+       (build_nonshared_range_type): New function.
+       (build_array_type_1): New function, built from...
+       (build_array_type: ...this.  Call build_array_type_1.
+       (build_nonshared_array_type): New function.
+       * tree.h (build_nonshared_range_type): Declare.
+       (build_nonshared_array_type): Likewise.
+
+2010-09-20  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/arm/arm.h (CLASS_LIKELY_SPILLED_P): Remove.
+       * config/arm/arm.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+       (arm_class_likely_spilled_p): New function.
+
+2010-09-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_expand_ashl_const): Rewrite using
+       indirect functions.
+       (ix86_split_ashl): Ditto.
+       (ix86_split_ashr): Ditto.
+       (ix86_split_lshr): Ditto.
+       (ix86_adjust_counter): Ditto.
+
+2010-09-20  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-family/c-common.h (constant_string_class): Documented with
+       comment identical to the one already in c-common.c.
+
+2010-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (any_cfis_emitted): New static variable.
+       (add_fde_cfi): Set it.
+       (dwarf2out_frame_debug): Clear it before processing,
+       if it is set afterwards, flush any queued reg saves.
+
+       PR debug/45124
+       * dwarf2out.c (add_accessibility_attribute): Assume
+       DW_ACCESS_private as the default for dwarf_version > 2
+       and DW_TAG_class_type parent.
+       (gen_inheritance_die): Assume DW_ACCESS_public as the default
+       for dwarf_version > 2 and parent other than DW_TAG_class_type.
+
+2010-09-20  Rafael Carre  <rafael.carre@gmail.com>
+
+       PR target/45726
+       * arm.md (arm_movt): Only enable on machines with MOVT.
+
+2010-09-20  Jie Zhang  <jie@codesourcery.com>
+
+       * config/arm/arm.c (arm_address_offset_is_imm): New.
+       (arm_early_store_addr_dep): New.
+       (arm_early_load_addr_dep): New.
+       * config/arm/arm-protos.h (arm_early_store_addr_dep): Declare.
+       (arm_early_load_addr_dep): Declare.
+       (arm_address_offset_is_imm): Declare.
+       * config/arm/cortex-m4.md: New file.
+       * config/arm/cortex-m4-fpu.md: New file.
+       * config/arm/arm.md: Include cortex-m4.md and cortex-m4-fpu.md.
+       (attr generic_sched): Exclude cortexm4.
+       (attr generic_vfp): Exclude cortexm4.
+
+2010-09-20  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45704
+       * gimplify.c (gimplify_modify_expr_rhs): Preserve volatileness.
+
+2010-09-20  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimize/45605
+       * cgraph.h (const_value_known_p): Declare.
+       (varpool_decide_const_value_known): Remove.
+       * tree-ssa-ccp.c (get_base_constructor): Use it.
+       * lto-cgraph.c (compute_ltrans_boundary): Likewise.
+       * expr.c (string_constant): Likewise.
+       * tree-ssa-loop-ivcanon.c (constant_after_peeling): Likewise.
+       * ipa.c (ipa_discover_readonly_nonaddressable_var,
+       function_and_variable_visibility): Likewise.
+       * gimplify.c (gimplify_call_expr): Likewise.
+       * gimple-fold.c (get_symbol_constant_value): Likewise.
+       * varpool.c (varpool_decide_const_value_known): Replace by...
+       (const_value_known_p): ... this one; handle other kinds of DECLs
+       too and work for automatic vars.
+       (varpool_finalize_decl): Use const_value_known_p.
+
+2010-09-20  Rafael Carre  <rafael.carre@gmail.com>
+
+       PR target/45726
+       * arm.md (arm_movtas_ze): Only enable on machine with MOVT.
+
+2010-09-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45705
+       * tree-ssa-dom.c (optimize_stmt): Perform redundant store elimination.
+
+2010-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/45695
+       * combine.c (try_combine): When splitting a two set pattern,
+       make sure the pattern which will be put into i2 doesn't use REGs
+       or MEMs set by insns in between i2 and i3.
+
+2010-09-19  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/44246
+       * lto-cgraph.c (input_cgraph_1, input_varpool_1): Avoid
+       processing same node twice.
+
+2010-09-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/bfin/bfin.h (CLASS_LIKELY_SPILLED_P): Remove.
+       * config/bfin/bfin.c (TARGET_CLASS_LIKELY_SPILLED_P): Define.
+       (bfin_class_likely_spilled_p): New function
+
+2010-09-19  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/45714
+       * tree-vect-stmts.c (vect_transform_stmt): Use a dummy statement
+       created in vectorizable_call instead of the original statement in
+       def stmt updates.
+
+2010-09-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (split_double_mode): New prototype.
+       (split_di, split_ti): Remove prototypes.
+       * config/i386/i386.c (split_double_mode): New function.
+       (split_di, split_ti): Remove.
+       (ix86_expand_branch): Use split_double_mode.
+       (ix86_split_to_parts): Ditto.
+       (ix86_split_ashl): Ditto.
+       (ix86_split_ashr): Ditto.
+       (ix86_split_lshr): Ditto.
+       (ix86_force_to_memory): Ditto.
+       * config/i386/i386.md: Use split_double_mode in double-mode splitters.
+
+2010-09-18  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/45453
+       * cgraphunit.c (cgraph_finalize_function): Consider comdat & external
+       virtual functions are reachable.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Likewise.
+       * ipa.c (cgraph_remove_unreachable_nodes): Likewise.
+       * ipa-prop.c (ipa_modify_formal_parameters): Clear DECL_VIRTUAL_P
+       when modifying function.
+
+2010-09-18  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/45605
+       * cgraphunit.c (cgraph_analyze_functions): Allocate bitmap obstack.
+       * gimple-fold.c (static_object_in_other_unit_p): New function.
+       (canonicalize_constructor_val): Use it.
+       (get_symbol_constant_value): Be reaqdy for canonicalize_constructor_val
+       returning NULL.
+       (gimple_fold_obj_type_ref_known_binfo): Use
+       static_object_in_other_unit_p.
+
+2010-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45709
+       * tree-inline.c (copy_phis_for_bb): Delay commit of edge
+       insertions until after all PHI nodes of the block are processed.
+
+2010-09-18  Tijl Coosemans <tijl@coosemans.org>
+
+       * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Add.
+
+2010-09-18  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config.gcc (*-w64-mingw*): Correct typo about t-dfprules.
+
+2010-09-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45709
+       * tree-inline.c (copy_phis_for_bb): Fixup new_edge when we splitted it.
+
+2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (dot_deps): Add DEBUG_FUNCTION.
+       (dot_deps_stmt): Same.
+       * graphite-poly.c (dot_lst): Same.
+       * graphite-scop-detection.c (dot_all_scops): Same.
+       (dot_scop): Same.
+
+2010-09-17  Sebastian Pop  <sebastian.pop@amd.com>
+
+       Revert:
+       2009-12-16  Ben Elliston  <bje@au.ibm.com>
+
+       * tree-data-ref.c (dot_rdg_1): Added back.
+       (dot_rdg): Same.  Added "#if 0" around system call.
+
+2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (initial_ix86_tune_features): Add
+       X86_TUNE_PAD_SHORT_FUNCTION.
+       (ix86_code_end): Pad with 8 NOPs for TARGET_PAD_SHORT_FUNCTION.
+       (ix86_count_insn): New.
+       (ix86_pad_short_function): Likewise.
+       (ix86_reorg): Support TARGET_PAD_SHORT_FUNCTION.
+
+       * config/i386/i386.h (ix86_tune_indices): Add
+       X86_TUNE_PAD_SHORT_FUNCTION.
+       (TARGET_PAD_SHORT_FUNCTION): New.
+
+       * config/i386/i386.md (UNSPEC_NOPS): New.
+       (nops): Likewise.
+
+2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/45234
+       * calls.c (expand_call): Make sure that all variable sized
+       adjustments are multiple of preferred stack boundary after
+       stack alignment.
+
+2010-09-17  DJ Delorie  <dj@redhat.com>
+
+       * config/rx/rx.c (rx_print_operand): If __builtin_rx_setpsw() is
+       passed an invalid value, print an error instead of ICEing.
+       (valid_psw_flag): New.
+       (rx_expand_builtin): Call it for setpsw/clrpsw.
+       (rx_expand_builtin_mvtipl): Pass an integer to IN_RANGE, not an RTX.
+
+       * config/rx/rx.md (bitclr): Don't mark the output as early-clobber.
+       (bitclr_in_memory): Likewise.
+       (clrspw, setpsw, mvfc, mvtc, mvtipl): Make volatile.
+
+2010-09-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/45678
+       * cfgexpand.c (update_stack_alignment): New.
+       (get_decl_align_unit): Use it.
+       (expand_one_stack_var_at): Call update_stack_alignment.
+
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer-in.c (lto_input_ts_translation_unit_decl_tree_pointers):
+       Properly copy the read string.
+
+2010-09-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/options.texi (Variable): Document.
+       * optc-gen.awk, opth-gen.awk: Handle Variable records.  Don't
+       generate target_flags declarations explicitly.  Don't define
+       VarExists variables for the driver.
+       * common.opt (target_flags): New Variable record.
+       (flag_dump_unnumbered, flag_dump_unnumbered_links,
+       flag_var_tracking, flag_var_tracking_assignments,
+       flag_var_tracking_assignments_toggle): Don't mark variables with
+       VarExists.
+       * config/i386/i386.c (ix86_isa_flags): Don't define here.
+       * config/i386/i386.opt (ix86_isa_flags): Define here.
+       * config/mcore/mcore.c (mcore_stack_increment): Don't define here.
+       * config/mcore/mcore.opt (mcore_stack_increment): Don't mark with
+       VarExists.
+       * flags.h (flag_dump_unnumbered, flag_var_tracking): Remove.
+       * print-rtl.c (flag_dump_unnumbered, flag_dump_unnumbered_links):
+       Only define for generator programs.
+       * rtlanal.c (target_flags): Remove.
+       * toplev.c (flag_var_tracking, flag_var_tracking_assignments,
+       flag_var_tracking_assignments_toggle): Remove.
+
+2010-09-17  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/43432
+       * tree-vect-data-refs.c (vect_analyze_data_ref_access):
+       Accept backwards consecutive accesses.
+       (vect_create_data_ref_ptr): If step is negative generate
+       decreasing IVs.
+       * tree-vect-stmts.c (vectorizable_store): Reject negative steps.
+       (perm_mask_for_reverse, reverse_vec_elements): New functions.
+       (vectorizable_load): Handle loads with negative steps when easily
+       possible.
+
+2010-09-03  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (compute_ltrans_boundary): Use const_value_known.
+
+2010-09-03  Naveen H.S  <naveen.S@kpitcummins.com>
+
+       * config/v850/v850.c (v850_function_value_regno_p): Make static.
+       Adjust comments. Declare.
+       (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+       * config/v850/v850.h (FUNCTION_VALUE_REGNO_P): Delete.
+
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       * common.opt (combine): Remove.
+       * gcc.c (default_compilers): Remove specs testing combine.
+       The C compilers no longer can combine.
+       (option_map): Remove -combine.
+       (display_help): Remove -combine.
+       (driver_handle_option): Remove OPT_combine handling.
+       (compile_input_file_p): Remove.
+       (do_spec): Remove code concerning combine.
+       (main): Likewise.
+       * doc/invoke.texi: Remove traces of -combine.
+       * lto-wrapper.c (run_gcc): Do not pass -combine to the compiler driver.
+
+2010-09-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45678
+       * builtins.c (fold_builtin_memory_op): Always properly adjust
+       alignment of memory accesses.
+
+2010-09-16  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (input_overwrite_node): Do not set DECL_EXTERNAL when
+       processing clone.
+
+2010-09-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386-protos.h (ix86_split_idivmod): New prototype.
+
+       * config/i386/i386.c (predict_jump): Add prototype.
+       (flag_opts): Add -m8bit-idiv.
+       (ix86_split_idivmod): New.
+
+       * config/i386/i386.md (UNSPEC_DIV_ALREADY_SPLIT): New.
+       Add 2 splitters for SI/DI mode divide.
+       (divmod<mode>4_1): New pattern.
+       (udivmod<mode>4_1): Likewise.
+       (testdi_ccno_1): Likewise.
+
+       * config/i386/i386.opt (m8bit-idiv): New.
+
+       * doc/invoke.texi: Document -m8bit-idiv.
+
+2010-09-16  Reza Yazdani  <reza.yazdani@amd.com>
+
+       PR bootstrap/45680
+       * config/i386/i386.c (min_insn_size): Moved out of the
+       ASM_OUTPUT_MAX_SKIP_PAD ifdef.
+
+2010-09-16  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (lto_output_node): Fix handling of clones.
+       * ipa.c (cgraph_remove_unreachabloe_nodes): Fix handling of
+       unreachable clones with reachable clones.
+       * tree-inline.c (copy_bb): Fix sanity checking when producing
+       unreachable clone.
+
+2010-09-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m32r/m32r.c (TARGET_MEMORY_MOVE_COSTS): Remove.
+       (TARGET_MEMORY_MOVE_COST): Define.
+       (m32r_function_arg): Annotate argument 'type' with ATTRIBUTE_UNUSED.
+
+2010-09-16  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c (move_cond_jump): Use tidy_control_flow instead of
+       maybe_tidy_empty_bb.
+
+       Revert:
+       2010-09-06  Alexander Monakov  <amonakov@ispras.ru>
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Export.
+
+2010-09-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * target.def (target_option.optimization): New hook.
+       * doc/tm.texi.in (OPTIMIZATION_OPTIONS): Change to
+       TARGET_OPTION_OPTIMIZATION hook.
+       * doc/tm.texi: Regenerate.
+       * hooks.c (hook_void_int_int): New.
+       * hooks.h (hook_void_int_int): Declare.
+       * opts.c: Don't include tm_p.h.
+       (decode_options): Use targetm.target_option.optimization instead
+       of OPTIMIZATION_OPTIONS.
+       * system.h (OPTIMIZATION_OPTIONS): Poison.
+       * config/arm/arm-protos.h (arm_optimization_options): Remove.
+       * config/arm/arm.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (arm_optimization_options): Rename to arm_option_optimization.
+       Make static.
+       * config/arm/arm.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/cris/cris.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (cris_option_optimization): New.
+       * config/cris/cris.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/crx/crx.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (crx_option_optimization): New.
+       * config/crx/crx.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/frv/frv-protos.h (frv_optimization_options): Remove.
+       * config/frv/frv.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (frv_optimization_options): Rename to frv_option_optimization.
+       Make static.
+       * config/frv/frv.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/h8300/h8300.c (h8300_option_optimization): New.
+       (TARGET_OPTION_OPTIMIZATION): Define.
+       * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/i386/i386-protos.h (optimization_options): Remove.
+       * config/i386/i386.c (optimization_options): Rename to
+       ix86_option_optimization.  Make static.
+       (TARGET_OPTION_OPTIMIZATION): Define.
+       * config/i386/i386.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/ia64/ia64-protos.h (ia64_optimization_options): Remove.
+       * config/ia64/ia64.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (ia64_optimization_options): Rename to ia64_option_optimization.
+       Make static.  Call SUBTARGET_OPTIMIZATION_OPTIONS.
+       * config/ia64/ia64.h (OPTIMIZATION_OPTIONS): Remove.  Remove
+       commented-out definition.
+       * config/ia64/vms.h (SUBTARGET_OPTIMIZATION_OPTIONS): Define
+       instead of OPTIMIZATION_OPTIONS.
+       * config/m32r/m32r.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (m32r_option_optimization): New.
+       * config/m32r/m32r.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_optimization_options):
+       Remove.
+       * config/mcore/mcore.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (mcore_option_optimization): New.
+       * config/mcore/mcore.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/mep/mep-protos.h (mep_optimization_options): Remove.
+       * config/mep/mep.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (mep_optimization_options): Rename to mep_option_optimization.
+       Make static.  Take unused level and size parameters.
+       * config/mep/mep.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/mmix/mmix.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (mmix_option_optimization): New.
+       * config/mmix/mmix.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/pdp11/pdp11.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (pdp11_option_optimization): New.
+       * config/pdp11/pdp11.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/rs6000/rs6000-protos.h (optimization_options): Remove.
+       * config/rs6000/rs6000.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (optimization_options): Rename to rs6000_option_optimization.
+       Make static.
+       * config/rs6000/rs6000.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/rx/rx-protos.h (rx_set_optimization_options): Remove.
+       * config/rx/rx.c (rx_set_optimization_options): Rename to
+       rx_option_optimization.  Make static.  Take unused level and size
+       parameters.
+       (TARGET_OPTION_OPTIMIZATION): Define.
+       * config/rx/rx.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/s390/s390-protos.h (optimization_options): Remove.
+       * config/s390/s390.c (optimization_options): Rename to
+       s390_option_optimization.  Make static.  Don't mark size parameter
+       unused.
+       (TARGET_OPTION_OPTIMIZATION): Define.
+       * config/s390/s390.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/sh/sh-protos.h (sh_optimization_options): Remove.
+       * config/sh/sh.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (sh_optimization_options): Rename to sh_option_optimization.  Make
+       static.  Don't mark parameters unused.
+       * config/sh/sh.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/spu/spu-protos.h (spu_optimization_options): Remove.
+       * config/spu/spu.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (spu_optimization_options): Rename to spu_option_optimization.
+       Make static.
+       * config/spu/spu.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/v850/v850.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (v850_option_optimization): New.
+       * config/v850/v850.h (OPTIMIZATION_OPTIONS): Remove.
+       * config/xtensa/xtensa.c (TARGET_OPTION_OPTIMIZATION): Define.
+       (xtensa_option_optimization): New.
+       * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Remove.
+
+2010-09-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/tm.texi.in (OVERRIDE_OPTIONS): Remove documentation.
+       (C_COMMON_OVERRIDE_OPTIONS): Don't refer to OVERRIDE_OPTIONS.
+       * doc/tm.texi: Regenerate.
+       * system.h (OVERRIDE_OPTIONS): Poison.
+       * target.def (override): Default to hook_void_void.
+       * targhooks.c (default_target_option_override): Remove.
+       * genmodes.c, machmode.def: Update comments mentioning
+       OVERRIDE_OPTIONS.
+       * config/alpha/alpha-modes.def: Update comment mentioning
+       alpha_override_options.
+       * config/alpha/alpha-protos.h (override_options): Remove.
+       * config/alpha/alpha.c (override_options): Rename to
+       alpha_option_override.  Call SUBTARGET_OVERRIDE_OPTIONS.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/alpha/alpha.h (OVERRIDE_OPTIONS): Remove.
+       * config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead
+       of OVERRIDE_OPTIONS.
+       * config/arc/arc-protos.h (arc_init): Remove.
+       * config/arc/arc.c (TARGET_OPTION_OVERRIDE): Define.
+       (arc_init): Rename to arc_option_override.  Make static.
+       * config/arc/arc.h (ARC_EXTENSION_CPU): Correct comment.
+       (OVERRIDE_OPTIONS): Remove.
+       * config/arm/arm-protos.h (arm_override_options): Remove.
+       * config/arm/arm.c (TARGET_OPTION_OVERRIDE): Define.
+       (arm_override_options): Rename to arm_option_override.  Make
+       static.  Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/arm/arm.h (OVERRIDE_OPTIONS): Remove.
+       * config/arm/arm.md: Update comment referring to arm_override_options.
+       * config/arm/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/avr/avr-protos.h (avr_override_options): Remove.
+       * config/avr/avr.c (TARGET_OPTION_OVERRIDE): Define.
+       (avr_override_options): Rename to avr_option_override.  Make static.
+       * config/avr/avr.h (OVERRIDE_OPTIONS): Remove.
+       * config/bfin/bfin-protos.h (override_options): Remove (twice).
+       * config/bfin/bfin.c (override_options): Rename to
+       bfin_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/bfin/bfin.h (OVERRIDE_OPTIONS): Remove.
+       * config/cris/cris-protos.h (cris_override_options): Remove.
+       * config/cris/cris.c (TARGET_OPTION_OVERRIDE): Define.
+       (cris_override_options): Rename to cris_option_override.  Make static.
+       * config/cris/cris.h (OVERRIDE_OPTIONS): Remove.
+       * config/frv/frv-protos.h (frv_override_options): Remove.
+       * config/frv/frv.c (TARGET_OPTION_OVERRIDE): Define.
+       (frv_override_options): Rename to frv_option_override.  Make static.
+       * config/frv/frv.h (OVERRIDE_OPTIONS): Remove.
+       * config/h8300/h8300-protos.h (h8300_init_once): Remove.
+       * config/h8300/h8300.c (h8300_init_once): Rename to
+       h8300_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/h8300/h8300.h (OVERRIDE_OPTIONS): Remove.
+       * config/i386/i386-protos.h (override_options): Remove.
+       * config/i386/i386.c (override_options): Rename to
+       ix86_option_override_internal.  Make static.  Comments referring
+       to this function and callers changed.
+       (ix86_option_override): New.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/i386/i386.h (OVERRIDE_OPTION): Remove.
+       * config/i386/linux64.h (DEFAULT_PCC_STRUCT_RETURN): Update comment.
+       * config/ia64/ia64.c (ia64_file_start): Update comment referring
+       to ia64_override_options.
+       * config/iq2000/iq2000-protos.h (override_options): Remove.
+       * config/iq2000/iq2000.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to iq2000_option_override.  Make static.
+       * config/iq2000/iq2000.h (OVERRIDE_OPTIONS): Remove.
+       * config/lm32/lm32-protos.h (lm32_override_options): Remove.
+       * config/lm32/lm32.c (TARGET_OPTION_OVERRIDE): Define.
+       (lm32_override_options): Rename to lm32_option_override.  Make static.
+       * config/lm32/lm32.h (OVERRIDE_OPTIONS): Remove.
+       * config/m32r/m32r.c (TARGET_OPTION_OVERRIDE): Define.
+       (m32r_option_override): New.
+       (m32r_init): Update comment.
+       * config/m32r/m32r.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_override_options): Remove.
+       * config/m68hc11/m68hc11.c (TARGET_OPTION_OVERRIDE): Define.
+       (m68hc11_override_options): Rename to m68hc11_option_override.
+       Make static.  Return void.
+       * config/m68hc11/m68hc11.h (OVERRIDE_OPTIONS): Remove.
+       * config/m68k/m68k-protos.h (override_options): Remove.
+       * config/m68k/m68k.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to m68k_option_override.  Make static.
+       * config/m68k/m68k.h (OVERRIDE_OPTIONS): Remove.
+       * config/mcore/mcore-protos.h (mcore_override_options): Remove.
+       * config/mcore/mcore.c (TARGET_OPTION_OVERRIDE): Define.
+       (mcore_override_options): Rename to mcore_option_override.  Make
+       static.
+       * config/mcore/mcore.h (OVERRIDE_OPTIONS): Remove.
+       * config/mep/mep-protos.h (mep_override_options): Remove.
+       * config/mep/mep.c (TARGET_OPTION_OVERRIDE): Define.
+       (mep_override_options): Rename to mep_option_override.  Make static.
+       * config/mep/mep.h (OVERRIDE_OPTIONS): Remove.
+       * config/mmix/mmix-protos.h (mmix_override_options): Remove.
+       * config/mmix/mmix.c (TARGET_OPTION_OVERRIDE): Define.
+       (mmix_override_options): Rename to mmix_option_override.  Make static.
+       * config/mmix/mmix.h (OVERRIDE_OPTIONS): Remove.
+       * config/mn10300/mn10300-protos.h (mn10300_override_options): Remove.
+       * config/mn10300/mn10300.c (TARGET_OPTION_OVERRIDE): Define.
+       (mn10300_override_options): Rename to mn10300_option_override.
+       Make static.
+       * config/mn10300/mn10300.h (OVERRIDE_OPTIONS): Remove.
+       * config/moxie/moxie-protos.h (moxie_override_options): Remove.
+       * config/moxie/moxie.c (moxie_override_options): Rename to
+       moxie_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/moxie/moxie.h (OVERRIDE_OPTIONS): Remove.
+       * config/picochip/picochip-protos.h (picochip_override_options):
+       Remove.  Update comment referring to picochip_override_options.
+       * config/picochip/picochip.c (TARGET_OPTION_OVERRIDE): Define.
+       (picochip_override_options): Rename to picochip_option_override.
+       Make static.  Update comment and definition of
+       TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.
+       * config/picochip/picochip.h (OVERRIDE_OPTIONS): Remove.
+       * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/rs6000/aix51.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/rs6000/linux64.h (OPTION_TARGET_CPU_DEFAULT): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/rs6000/rs6000-modes.def: Update comment referring to
+       rs6000_override_options.
+       * config/rs6000/rs6000-protos.h (rs6000_override_options): Remove.
+       * config/rs6000/rs6000.c (TARGET_OPTION_OVERRIDE): Define.
+       (rs6000_override_options): Rename to
+       rs6000_option_override_internal.  Make static.  Commented
+       referring to rs6000_override_options and OVERRIDE_OPTIONS updated.
+       (rs6000_option_override): New.
+       * config/rs6000/rs6000.h (OPTION_TARGET_CPU_DEFAULT): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Update comment.
+       * config/s390/s390-protos.h (override_options): Remove.
+       * config/s390/s390.c (override_options): Rename to
+       s390_option_override.  Make static.
+       (TARGET_OPTION_OVERRIDE): Define.
+       * config/s390/s390.h (OVERRIDE_OPTIONS): Remove.
+       * config/score/score-protos.h (score_override_options): Remove.
+       * config/score/score.c (TARGET_OPTION_OVERRIDE): Define.
+       (score_override_options): Rename to score_option_override.  Make
+       static.
+       * config/score/score.h (OVERRIDE_OPTIONS): Remove.
+       Update comment referring to override_options.
+       * config/score/score3.c (score3_override_options): Rename to
+       score3_option_override.
+       * config/score/score3.h (score3_override_options): Rename to
+       score3_option_override.
+       * config/score/score7.c (score7_override_options): Rename to
+       score7_option_override.
+       * config/score/score7.h (score7_override_options): Rename to
+       score7_option_override.
+       * config/sh/sh.c: Update comments referring to OVERRIDE_OPTIONS.
+       * config/sparc/sparc.c (TARGET_OPTION_OVERRIDE): Define.
+       (sparc_override_options): Rename to sparc_option_override.  Make
+       static.  Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/sparc/sparc.h (OVERRIDE_OPTIONS): Remove.
+       * config/sparc/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define
+       instead of OVERRIDE_OPTIONS.
+       * config/spu/spu-protos.h (spu_override_options): Remove.
+       * config/spu/spu.c (TARGET_OPTION_OVERRIDE): Define.
+       (spu_override_options): Rename to spu_option_override.  Make
+       static.
+       * config/spu/spu.h (OVERRIDE_OPTIONS): Remove.
+       * config/vax/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define instead of
+       OVERRIDE_OPTIONS.
+       * config/vax/vax-protos.h (override_options): Remove.
+       * config/vax/vax.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to vax_option_override.  Make static.
+       Call SUBTARGET_OVERRIDE_OPTIONS.
+       * config/vax/vax.h (OVERRIDE_OPTIONS): Remove.
+       * config/vxworks.c: Update comment referring to OVERRIDE_OPTIONS.
+       * config/vxworks.h: Update comment referring to OVERRIDE_OPTIONS.
+       * config/xtensa/xtensa-protos.h (override_options): Remove.
+       * config/xtensa/xtensa.c (TARGET_OPTION_OVERRIDE): Define.
+       (override_options): Rename to xtensa_option_override.  Make static.
+       * config/xtensa/xtensa.h (OVERRIDE_OPTIONS): Remove.
+
+2010-09-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/45623
+       * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Adjust.
+       (get_constraint_for_component_ref): If computing a constraint
+       for the rhs handle type punning through unions.
+       (get_constraint_for_address_of): Adjust.
+       (get_constraint_for_1): Likewise.
+       (get_constraint_for): Likewise.
+       (get_constraint_for_rhs): New function.
+       (do_structure_copy): Adjust.
+       (make_constraint_to): Likewise.
+       (handle_const_call): Likewise.
+       (find_func_aliases): Likewise.
+       (process_ipa_clobber): Likewise.
+       (create_variable_info_for): Likewise.
+
+2010-09-16  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.c: Fix documentation.
+       * tree-vectorizer.h (vinfo_for_stmt): Add documentation.
+       (set_vinfo_for_stmt, get_earlier_stmt, get_later_stmt,
+       is_pattern_stmt_p, is_loop_header_bb_p,
+       stmt_vinfo_set_inside_of_loop_cost,
+       stmt_vinfo_set_outside_of_loop_cost, vect_pow2, aligned_access_p,
+       known_alignment_for_access_p): Likewise.
+       * tree-vect-loop.c: Fix documentation.
+       (vect_get_cost): Start function name from new line.
+       * tree-vect-data-refs.c: Fix documentation.
+       * tree-vect_stmts.c: Likewise.
+       (vect_create_vectorized_promotion_stmts): Always free vec_tmp.
+       (vectorizable_store): Free vec_oprnds if allocated.
+       (vectorizable_condition): Initialize several variables to avoid
+       warnings.
+       * tree-vect-slp.c: Fix documentation.
+
+2010-09-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree.c (tree_node_structure_for_code): TRANSLATION_UNIT_DECL
+       is TS_TRANSLATION_UNIT_DECL.
+       (initialize_tree_contains_struct): Adjust.
+       (all_translation_units): New global vector.
+       (build_translation_unit_decl): New function.
+       * tree.h (TRANSLATION_UNIT_LANGUAGE): New macro.
+       (struct tree_translation_unit_decl): New.
+       (all_translation_units): Declare.
+       (union tree_node): Add translation_unit_decl member.
+       (build_translation_unit_decl): Declare.
+       * treestruct.def (TS_TRANSLATION_UNIT_DECL): New.
+       * lto-streamer-out.c (pack_ts_translation_unit_decl_value_fields):
+       New function.
+       (pack_value_fields): Call it.
+       (lto_output_tree_ref): Handle references to TRANSLATION_UNIT_DECL.
+       (lto_output_ts_translation_unit_decl_tree_pointers): New function.
+       (lto_output_tree_pointers): Call it.
+       * lto-streamer-in.c (lto_input_tree_ref): Handle references
+       to TRANSLATION_UNIT_DECL.
+       (unpack_ts_translation_unit_decl_value_fields): New function.
+       (unpack_value_fields): Call it.
+       (lto_input_ts_translation_unit_decl_tree_pointers): New function.
+       (lto_input_tree_pointers): Call it.
+       * lto-streamer.c (check_handled_ts_structures): Adjust.
+       * lto-streamer.h (enum LTO_tags): Add LTO_translation_unit_decl_ref.
+       * c-decl.c (all_translation_units): Remove.
+       (pop_scope): Use build_translation_unit_decl.
+       (collect_all_refs): Adjust.
+       (for_each_global_decl): Likewise.
+       (c_write_global_declarations): Likewise.
+
+2010-09-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/45686
+       * fold-const.c (fold_checksum_tree): Change slot from const void **
+       to void **, use CONST_CAST_TREE to store into *slot.
+
 2010-09-16  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md: Remove unneeded empty conditions and
 
 2010-09-02  Olivier Hainque  <hainque@adacore.com>
 
+       PR middle-end/44763
        * ira-color.c (SORTGT): New macro, helper for qsort callbacks.
        (allocno_priority_compare_func): Use it instead of a straight
        difference computation over priorities.
        PR target/45142
        * config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
        alternative 2.
-       (vec_set<moode>_0 splitter): Use SSEMODE4S mode iterator to also
+       (vec_set<mode>_0 splitter): Use SSEMODE4S mode iterator to also
        split V4SI operands.
 
 2010-08-01  Anatoly Sokolov  <aesok@post.ru>