X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=69d92785ea84324f0bdca4915b9b81c6a75836cc;hp=6b5c14c5d06239628bd0c0f0740ec498505b0845;hb=31fdbcb643b06faa7e4aec2f208fcc377bf67982;hpb=5f7c5ddd92a8bee98bd63f8799c68f520ddf3d5d diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b5c14c5d06..69d92785ea8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,618 @@ +2011-03-26 Alan Modra + + PR target/47487 + * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support + GNU Go in traceback table. + +2011-03-25 Richard Henderson + + * 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 + + * 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 + + * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS + case to VFPv1. + +2011-03-25 Nathan Froyd + + * fold-const.c (expr_location_or): New function. + (fold_truth_not_expr): Call it. + +2011-03-25 Jeff Law + + * 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 + + * 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 + + * dwarf2out.c (mem_loc_descriptor) : 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 + + * 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 + + * 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 + + * passes.c (init_optimization_passes): Add FRE pass after + early SRA. + +2011-03-25 Bernd Schmidt + Andrew Stubbs + + * 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 + + PR bootstrap/48282 + Revert: + 2011-03-24 Nathan Froyd + + * 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 + + * 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 + + * 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 + + * 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 + + PR debug/48041 + * dwarf2out.c (output_abbrev_section): Only write table when + abbrev_die_table_in_use > 1. + +2011-02-24 Richard Henderson + + * 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 + + * 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 + + * 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 + + * 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): Merge *mov_fix, *mov_nofix. + * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled. + +2011-02-24 Richard Henderson + + * 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 + + * 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 + + * config/alpha/predicates.md (input_operand): Revert last change; + update comment to mention 32-bit VMS rather than Windows. + +2011-03-24 Nathan Froyd + + * 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 + + * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases. + +2011-03-24 Uros Bizjak + + * config/i386/i386.md (ix86_print_operand): Output DFmode const_double + correctly. + +2011-03-24 Jakub Jelinek + + 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 + + * 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * builtins.c (expand_movstr): Fix endp == 1 adjustment after + last commit. + +2011-03-24 Richard Guenther + + PR tree-optimization/48271 + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup + blocks that still exist. + +2011-03-24 Richard Guenther + + PR tree-optimization/48270 + * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do + not free datarefs before ddrs. + +2011-03-24 Eric Botcazou + + * 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 + + 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 + + * 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 + + PR middle-end/48269 + * tree-object-size.c (addr_object_size): Do not double-account + for MEM_REF offsets. + +2011-03-24 Diego Novillo + + * 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 + + 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 + + * config/h8300/predicates.md (jump_address_operand): Fix register + mode check. + +2011-03-24 Ira Rosen + + * 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * expr.c (expand_expr_real_1): Only use BLKmode for volatile + accesses which are not naturally aligned. + +2011-03-23 Richard Sandiford + + PR target/47553 + * config/arm/predicates.md (neon_lane_number): Accept 0..15. + +2011-03-23 Richard Sandiford + + * 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): Use nonmemory_operand rather + than const_int_operand for operand 2. + +2011-03-23 Andreas Krebbel + + * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name + if possible. + 2011-03-22 Nathan Froyd * emit-rtl.c (emit_pattern_before_noloc): New function. @@ -82,10 +697,8 @@ (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. @@ -175,8 +788,7 @@ * 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. @@ -208,8 +820,7 @@ (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. @@ -230,8 +841,7 @@ 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. @@ -246,8 +856,7 @@ 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 @@ -307,8 +916,7 @@ 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. @@ -563,8 +1171,7 @@ 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. @@ -640,7 +1247,8 @@ * 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.