OSDN Git Service

* config/rs6000/predicates.md (word_offset_memref_op): Handle
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index ee72d4e..a8fd3f9 100644 (file)
@@ -1,3 +1,623 @@
+2011-03-26  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/predicates.md (word_offset_memref_op): Handle
+       cmodel medium addresses.
+       * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
+       64-bit gpr loads and stores.
+       (rs6000_secondary_reload_ppc64): New function.
+       * config/rs6000/rs6000-protos.h: Declare it.
+       * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
+
+2011-03-26  Alan Modra  <amodra@gmail.com>
+
+       PR target/47487
+       * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
+       GNU Go in traceback table.
+
+2011-03-25  Richard Henderson  <rth@redhat.com>
+
+       * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
+       if there are exactly 6 operands.
+       (set_storage_via_setmem): Similarly.
+
+2011-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       * collect2.c (write_c_file_stat): Handle backslash
+       as right-hand directory separator.
+       (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
+       checking just for slash.
+       * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
+       instead of checking for trailing slash.
+       * gcc.c (record_temp_file): Use filename_cmp instead
+       of strcmp.
+       (do_spec_1): Likewise.
+       (replace_outfile_spec_function): Likewise.
+       (is_directory): Use filename_ncmp instead of strncmp.
+       (print_multilib_info): Likewise.
+       * gcov.c (find_source): Use filename_cmp instead
+       instead of strcmp.
+       (make_gcov_file_name): Fix order of slash/backslash
+       checks.
+       * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
+       (add_standard_paths): Likewise.
+       * mips-tfile.c (saber_stop): Handle backslash.
+       * prefix.c (update_path): Use filename_ncmp instead of
+       strncmp.
+       * profile.c (output_location): Use filename_cmp instead
+       of strcmp.
+       * read-md.c (handle_toplevel_file): Handle backslash.
+       * tlink.c (frob_extension):  Likewise.
+       * tree-cfg.c (same_line_p): Use filename_cmp instead of
+       strcmp.
+       * tree-dump.c (dequeue_and_dump): Handle backslash.
+       * tree.c (get_file_function_name): Likewise.
+       * gengtype.c (read_input_list): Likewise.
+       (get_file_realbasename): Likewise.
+       (get_output_file_with_visibility): Use filename_cmp
+       instead of strcmp.
+
+2011-03-25  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
+       case to VFPv1.
+
+2011-03-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * fold-const.c (expr_location_or): New function.
+       (fold_truth_not_expr): Call it.
+
+2011-03-25  Jeff Law  <law@redhat.com>
+
+       * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
+       va_end.
+       * c-family/c-common.c (def_fn_type): Likewise.
+       * ada/gcc-interface/utils.c (def_fn_type): Likewise.
+       * emit-rtl.c (gen_rtvec): Likewise.
+       * lto/lto-lang.c (def_fn_type): Likewise.
+
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
+       also generate copies.
+       (fini_copy_prop): Handle constant values properly.
+
+2011-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
+       mode size instead of bitsize with DWARF2_ADDR_SIZE.
+       (hash_loc_operands, compare_loc_operands): Handle
+       DW_OP_GNU_entry_value.
+
+2011-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
+       (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
+       * config/i386/i386.c (ix86_conditional_register_usage): Adjust
+       comment and use macro TARGET_64BIT_MS_ABI instead.
+       (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
+       and change default behavior for 32-bit MS_ABI.
+       (ix86_reg_parm_stack_space): Check additionally for bit-ness.
+       (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
+       32-bit, too.
+       (ix86_cfun_abi): Likewise.
+       (ix86_maybe_switch_abi): Adjust comment.
+       (init_cumulative_args): Check for bit-ness in MS_ABI case.
+       (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
+       instead of checking for SYSV_ABI.
+       (ix86_nsaved_sseregs): Likewise.
+       (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
+       to 16 bytes.
+       (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
+       * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
+       (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
+       (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
+       * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
+
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
+       (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
+       (verify_gimple): Remove.
+       * tree-cfg.c (verify_gimple_call): Merge verification
+       from verify_stmts.
+       (verify_gimple_phi): Merge verification from verify_stmts.
+       (verify_gimple_label): New function.
+       (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
+       (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
+       (verify_stmt): Merge into verify_gimple_in_cfg and callees.
+       (verify_stmts): Rename to verify_gimple_in_cfg.
+       (verify_gimple_in_cfg): New function.
+       * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
+       * tree-ssa.c (verify_ssa): Likewise.
+       * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
+
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+
+       * passes.c (init_optimization_passes): Add FRE pass after
+       early SRA.
+
+2011-03-25  Bernd Schmidt  <bernds@codesourcery.com>
+           Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
+       for Cortex-A8.
+       (arm_movdi_vfp_cortexa8): New pattern.
+       * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
+       iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
+       instructions when tuning for Cortex-A8.  Set attribute "arch".
+       * config/arm/arm.md: Move include arm-tune.md up a bit.
+       (define_attr "arch"): Add "onlya8" and "nota8" values.
+       (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
+
+2011-03-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR bootstrap/48282
+       Revert:
+       2011-03-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
+       FOR_BB_INSNS_SAFE to iterate through insns.  Re-indent.
+       (pass_instantiate_virtual_regs): Require PROP_cfglayout.
+       * passes.c (init_optimization_passes): Move
+       pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
+
+2011-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       * c-typeck.c (comptypes_internal): Replace target
+       hook call of comp_type_attributes by version in tree.c file.
+       * gimple.c (gimple_types_compatible_p_1): Likewise.
+       * tree-ssa.c (useless_type_conversion_p): Likewise.
+       * tree.c (build_type_attribute_qual_variant): Likewise.
+       (attribute_value_equal): New static helper function.
+       (comp_type_attributes): New function.
+       (merge_attributes): Use attribute_value_equal for comparison.
+       (attribute_list_contained): Likewise.
+       * tree.h (comp_type_attributes): New prototype.
+
+2011-03-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
+       of complex types at -O0.
+       (verify_gimple_assign_binary): Likewise.
+       (verify_gimple_assign_ternary): Likewise.
+
+2011-03-24  Mark Wielaard  <mjw@redhat.com>
+
+       * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
+       (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
+
+2011-03-24  Mark Wielaard  <mjw@redhat.com>
+
+       PR debug/48041
+       * dwarf2out.c (output_abbrev_section): Only write table when
+       abbrev_die_table_in_use > 1.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
+       (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
+       (alpha_expand_unaligned_load_words): Use extql.
+       (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
+       (emit_insxl): Handle all modes for consistency.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
+       (alpha_expand_unaligned_load): Likewise.
+       (alpha_expand_unaligned_store): Likewise.
+       (alpha_expand_unaligned_load_words): Likewise.
+       (alpha_expand_unaligned_store_words): Likewise.
+       (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
+       (alpha_split_lock_test_and_set_12): Likewise.
+       (print_operand, alpha_fold_builtin_extxx): Likewise.
+       (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
+       * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
+       (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
+       (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
+       (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
+       (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
+       (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
+       (unaligned_storeqi_be, unaligned_storehi_be): Remove.
+       (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
+       (extwl, extll, extql): Similarly.
+       (inswh, inslh, insqh): Similarly.
+       (mskbl, mskwl, mskll, mskql): Similarly.
+       (mskwh, msklh, mskqh): Similarly.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (attribute isa): Add er, ner.
+       (attribute enabled): Handle them.
+       (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (attribute isa): Add vms.
+       (attribute enabled): Handle it.
+       (*movsf): Merge *movsf_{nofix,fix,nofp}.
+       (*movdf): Merge *movdf_{nofix,fix,nofp}.
+       (*movtf): Rename from *movtf_internal for consistency.
+       (*movsi): Merge with *movsi_nt_vms.
+       (*movhi): Merge *movhi_nobwx, *movhi_bwx.
+       (*movqi): Merge *movqi_nobwx, *movqi_bwx.
+       (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
+       * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
+       (extendqisi2, extendhisi2): Likewise.
+       (extendqidi2): Simplify BWX/non-BWX expansions.
+       (extendhidi2): Similarly.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.md (attribute isa): New.
+       (attribute enabled): New.
+       (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
+       (zero_extendqisi2, zero_extendqidi2): Similarly.
+       (zero_extendhisi2, zero_extendhidi2): Similarly.
+       * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
+
+2011-02-24  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/predicates.md (input_operand): Revert last change;
+       update comment to mention 32-bit VMS rather than Windows.
+
+2011-03-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
+       FOR_BB_INSNS_SAFE to iterate through insns.  Re-indent.
+       (pass_instantiate_virtual_regs): Require PROP_cfglayout.
+       * passes.c (init_optimization_passes): Move
+       pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
+
+2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
+
+2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
+       correctly.
+
+2011-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/48204
+       * simplify-rtx.c (simplify_const_unary_operation): Call
+       real_convert when changing mode class with FLOAT_EXTEND.
+
+2011-03-24  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
+       (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+       * config/rx/rx.c (rx_option_override): Set align_jumps,
+       align_loops and align_labels if not set by the user.
+       (rx_align_for_label): New function.
+       (rx_max_skip_for_label): New function.
+       (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
+       (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
+       (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
+       (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
+       * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
+
+2011-03-24  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       PR rtl-optimization/48263
+       * optabs.c (expand_binop_directly): Reinstate convert_modes code
+       and original commutative_p handling.  Use maybe_gen_insn.
+
+2011-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * reload.c (find_reloads_subreg_address): Add address_reloaded
+       parameter and return true there if the full address has been
+       reloaded.
+       (find_reloads_toplev): Pass address_reloaded flag.
+       (find_reloads_address_1): Don't use address_reloaded parameter.
+
+2011-03-24  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
+       unused variable "ann".
+       (remove_unused_locals): Likewise.
+
+       * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
+       statement.
+
+       * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
+       after it is freed.
+
+2011-03-24  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
+       for invalid symbolic addresses.
+       (s390_secondary_reload): Don't use s390_check_symref_alignment for
+       larl operands.
+
+2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
+       the argument in calls to fold_truth_not_expr.
+
+2011-03-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (record_node_allocation_statistics): New function.
+       (make_node_stat, copy_node_stat, build_string): Call it.
+       (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
+       (build1_stat, build_omp_clause): Likewise.
+
+2011-03-24  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * builtins.c (expand_movstr): Fix endp == 1 adjustment after
+       last commit.
+
+2011-03-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48271
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
+       blocks that still exist.
+
+2011-03-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48270
+       * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
+       not free datarefs before ddrs.
+
+2011-03-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-sra.c (build_ref_for_offset): Strip useless type conversions
+       from the address built for a reference with variable offset.
+
+2011-03-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/48237
+       * config/i386/i386.md (*movdf_internal_rex64): Do not split
+       alternatives that can be handled with movq or movabsq insn.
+       (*movdf_internal): Disable for !TARGET_64BIT.
+       (*movdf_internal_nointeger): Ditto.
+       * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
+
+2011-03-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
+       (FUNCTION_ARG_ADVANCE): Likewise.
+       * tm.texi.in: Change references to them to hook references.
+       * tm.texi: Regenerate.
+       * targhooks.c (default_function_arg): Eliminate check for target macro.
+       (default_function_incoming_arg): Likewise.
+       (default_function_arg_advance): Likewise.
+       * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
+       (function_arg_advance): Likewise.
+       * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
+
+2011-03-24  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48269
+       * tree-object-size.c (addr_object_size): Do not double-account
+       for MEM_REF offsets.
+
+2011-03-24  Diego Novillo  <dnovillo@google.com>
+
+       * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
+       * lto-streamer-in.c (input_string_internal): Add clarifying comments.
+       (lto_input_data_block): Move from lto-opts.c.  Make extern.
+       Update all users.
+       (lto_input_string): Rename from input_string.  Make extern.
+       Update all users.
+       * lto-streamer-out.c (lto_output_string_with_length): Rename from
+       output_string_with_length.
+       Output 0 to indicate a non-NULL string.  Update all callers to
+       not emit 0.
+       (lto_output_string): Rename from output_string.  Make extern.
+       Update all users.
+       (lto_output_decl_state_streams): Make extern.
+       (lto_output_decl_state_refs): Make extern.
+       * lto-streamer.h (lto_input_string): Declare.
+       (lto_input_data_block): Declare.
+       (lto_output_string): Declare.
+       (lto_output_string_with_length): Declare.
+       (lto_output_decl_state_streams): Declare.
+       (lto_output_decl_state_refs): Declare.
+
+2011-03-24  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46562
+       * tree.c (build_invariant_address): New function.
+       * tree.h (build_invariant_address): Declare.
+       * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
+       a renamed function moved ...
+       * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
+       Take valueization callback parameter.
+       * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
+       * gimple-fold.h: New file.
+       * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
+       (ccp_fold, fold_const_aggregate_ref,
+       fold_ctor_reference, fold_nonarray_ctor_reference,
+       fold_array_ctor_reference, fold_string_cst_ctor_reference,
+       get_base_constructor): Move ...
+       * gimple-fold.c: ... here.
+       (gimple_fold_stmt_to_constant_1): New function
+       split out from ccp_fold.  Take a valueization callback parameter.
+       Valueize all operands.
+       (gimple_fold_stmt_to_constant): New wrapper function.
+       (fold_const_aggregate_ref_1): New function split out from
+       fold_const_aggregate_ref.  Take a valueization callback parameter.
+       (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
+       * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
+       invariant POINTER_PLUS_EXPRs to invariant form.
+       (vn_valueize): New function.
+       (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
+       * tree-vrp.c (vrp_valueize): New function.
+       (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
+       to fold statements to constants.
+       * tree-ssa-pre.c (eliminate): Properly guard propagation of
+       function declarations.
+       * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
+       tree-ssa-ccp.o): Add gimple-fold.h dependencies.
+
+2011-03-24  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * config/h8300/predicates.md (jump_address_operand): Fix register
+       mode check.
+
+2011-03-24  Ira Rosen  <ira.rosen@linaro.org>
+
+       * doc/invoke.texi (max-stores-to-sink): Document.
+       * params.h (MAX_STORES_TO_SINK): Define.
+       * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
+       if either vectorization or if-conversion is disabled.
+       * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
+       tree-vect-data-refs.c vect_equal_offsets.
+       (dr_equal_offsets_p): New function.
+       (find_data_references_in_bb): Remove static.
+       * tree-data-ref.h (find_data_references_in_bb): Declare.
+       (dr_equal_offsets_p): Likewise.
+       * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
+       (vect_drs_dependent_in_basic_block): Update calls to
+       vect_equal_offsets.
+       (vect_check_interleaving): Likewise.
+       * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
+       (cond_if_else_store_replacement): Rename to...
+       (cond_if_else_store_replacement_1): ... this.  Change arguments and
+       documentation.
+       (cond_if_else_store_replacement): New function.
+       * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
+       * params.def (PARAM_MAX_STORES_TO_SINK): Define.
+
+2011-03-23  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/46934
+       * config/arm/arm.md (casesi): Use the gen_int_mode() function
+       to subtract lower bound instead of GEN_INT().
+
+2011-03-23  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR other/48179
+       PR other/48221
+       PR other/48234
+       * doc/extend.texi (Alignment): Move section to match order in TOC.
+       * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
+       (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
+
+2011-03-23  Jeff Law  <law@redhat.com>
+
+       * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
+       before removing the edge.
+
+       * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
+       it may have been freed by redirect_branch_edge or
+       redirect_edge_succ_nodup.
+
+2011-03-23  Richard Guenther  <rguenther@suse.de>
+
+       * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
+       (check_va_list_escapes): Likewise.
+       (check_all_va_list_escapes): Likewise.
+
+2011-03-23  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
+       (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
+       (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
+       (alias.o): Likewise.
+       (ipa-type-escape.o): Remove.
+       (ipa-struct-reorg.o): Likewise.
+       (GTFILES): Remove ipa-struct-reorg.c.
+       * alias.c: Do not include ipa-type-escape.h.
+       * tree-ssa-alias.c: Likewise.
+       * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
+       * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
+       * passes.c (init_optimization_passes): Remove ipa-struct-reorg
+       and ipa-type-escape passes.
+       * tree-pass.h (pass_ipa_type_escape): Remove.
+       (pass_ipa_struct_reorg): Likewise.
+       * ipa-struct-reorg.h: Remove.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa-type-escape.h: Likewise.
+       * ipa-type-escape.c: Likewise.
+       * doc/invoke.texi (-fipa-struct-reorg): Remove.
+       (--param struct-reorg-cold-struct-ratio): Likewise.
+       * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
+       * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
+       * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
+
+2011-03-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/2084.md: Enable all insn reservations also for z9_ec
+       cpu attribute value.
+       * config/s390/s390-opts.h (enum s390_arch_option): Remove.
+       (enum processor_type): Add PROCESSOR_2094_Z9_EC.
+       * config/s390/s390.c (processor_flags_table): New constant array.
+       (s390_handle_arch_option): Remove.
+       (s390_handle_option): Remove s390_handle_arch_option invocations
+       and OPT_mwarn_framesize_ handling.
+       (s390_option_override): Remove s390_handle_arch_option invocation.
+       (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
+       warnings.
+       * config/s390/s390.md (cpu attribute): Add z9_ec value.
+       * config/s390/s390.opt (s390_tune, s390_arch)
+       (march=): Replace s390_arch_option enum and values with
+       processor_type.  Set variable name to s390_arch.  Set
+       initialization value.
+       (mtune=): Replace s390_arch_option with processor_type.  Set
+       variable name to s390_tune.  Set initialization value.
+
+2011-03-23  Julian Brown  <julian@codesourcery.com>
+
+       * expr.c (expand_expr_real_1): Only use BLKmode for volatile
+       accesses which are not naturally aligned.
+
+2011-03-23  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       PR target/47553
+       * config/arm/predicates.md (neon_lane_number): Accept 0..15.
+
+2011-03-23  Richard Sandiford  <richard.sandiford@linaro.org>
+
+       * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
+       parameter from "int" to "enum insn_code".
+       (expand_operand_type): New enum.
+       (expand_operand): New structure.
+       (create_expand_operand): New function.
+       (create_fixed_operand, create_output_operand): Likewise
+       (create_input_operand, create_convert_operand_to): Likewise.
+       (create_convert_operand_from, create_address_operand): Likewise.
+       (create_integer_operand): Likewise.
+       (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
+       (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
+       (expand_insn, expand_jump_insn): Likewise.
+       * builtins.c (expand_builtin_prefetch): Use the new interfaces.
+       (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
+       (expand_movstr, expand_builtin___clear_cache): Likewise.
+       (expand_builtin_lock_release): Likewise.
+       * explow.c (allocate_dynamic_stack_space): Likewise.
+       (probe_stack_range): Likewise.  Allow check_stack to FAIL,
+       and use the default handling in that case.
+       * expmed.c (check_predicate_volatile_ok): Delete.
+       (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
+       (emit_cstore): Likewise.
+       * expr.c (emit_block_move_via_movmem): Likewise.
+       (set_storage_via_setmem, expand_assignment): Likewise.
+       (emit_storent_insn, try_casesi): Likewise.
+       (emit_single_push_insn): Likewise.  Allow the expansion to fail.
+       * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
+       (expand_vec_shift_expr, expand_binop_directly): Likewise.
+       (expand_twoval_unop, expand_twoval_binop): Likewise.
+       (expand_unop_direct, emit_indirect_jump): Likewise.
+       (emit_conditional_move, vector_compare_rtx): Likewise.
+       (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
+       (expand_sync_operation, expand_sync_fetch_operation): Likewise.
+       (expand_sync_lock_test_and_set): Likewise.
+       (maybe_emit_unop_insn): Likewise.  Change icode to an insn_code.
+       (emit_unop_insn): Likewise.
+       (expand_copysign_absneg): Change icode to an insn_code.
+       (create_convert_operand_from_type): New function.
+       (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
+       (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
+       (expand_insn, expand_jump_insn): Likewise.
+       * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
+       than const_int_operand for operand 2.
+
 2011-03-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
 
        * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
        (v850_handle_option): Access target_flags via opts pointer.  Don't
        assert that global structures are in use.  Update calls to
        v850_handle_memory_option.
-       (v850_encode_data_area): Update references to small memory
-       settings.
-       * config/v850/v850.h (struct small_memory_info, small_memory):
-       Remove.
+       (v850_encode_data_area): Update references to small memory settings.
+       * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
        (enum small_memory_type): Move to v850-opts.h.
        * config/v850/v850.opt (config/v850/v850-opts.h): New
        HeaderInclude entry.
        * config/iq2000/iq2000-opts.h: New.
        * config/iq2000/iq2000.c: Don't include opts.h.
        (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
-       * config/iq2000/iq2000.h (enum processor_type, iq2000_tune):
-       Remove.
+       * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
        * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
        HeaderInclude entry.
        (iq2000_tune): New Variable entry.
        (frv_cpu_type): Remove.
        * config/frv/frv.c: Don't include opts.h.
        (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
-       * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude
-       entry.
+       * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
        (frv_cpu_type): New Variable entry.
        (frv_cpu): New Enum and EnumValue entries.
 
        not bfin_lib_id_given.
        (bfin_handle_option): Don't set bfin_lib_id_given.  Access
        bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
-       pointer. Use error_at.  Don't assert that global structures are in
-       use.
+       pointer. Use error_at.  Don't assert that global structures are in use.
        * config/bfin/bfin.h: Include bfin-opts.h.
        (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
        (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
        or -msoft-float here.
        * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
        -msoft-float and -mhard-float.
-       (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and
-       -msoft-float.
+       (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
        * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
        msoft-float.
        * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
        global structures are in use.
        (ix86_function_specific_save, ix86_function_specific_restore):
        Update ix86_isa_flags_explicit field name.
-       * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable
-       entry.
+       * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
        (ix86_isa_flags_explicit): Rename TargetSave entry to
        x_ix86_isa_flags_explicit.
 
        macro.
        (default_function_incoming_arg): Likewise.
        (default_function_arg_advance): Likewise.
-       * target.def (function_arg, function_incoming_arg): Change to
-       DEFHOOK.
+       * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
        (function_arg_advance): Likewise.
        * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
 
        * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
        * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
        (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
-       (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn): Likewise.
+       (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
+       Likewise.
        (gen_cond_trap): Likewise.
        (prepare_operand): Likewise.  Change icode to an insn_code.
        (insn_operand_matches): New function.