+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.