X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=0987ef03723aa6d5f3c69816ceb4a276be43e1de;hb=bdc89b8f287e686e1464e3fb29d1c7d635f57ffc;hp=bad3a253eb9462ac0a03c1a0d0aab034eae3c63e;hpb=ef1433b013427e6d7cea7ca482c9ef312e729960;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bad3a253eb9..0987ef03723 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,350 @@ +2008-09-22 Ira Rosen + + PR tree-optimization/37482 + * tree-vectorizer.h (struct _slp_instance): Add new field. + (SLP_INSTANCE_FIRST_LOAD_STMT): New. + (get_earlier_stmt): New function. + * tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New + function. + (vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT. + * tree-vect-transform.c (vect_finish_stmt_generation): Remove the + asserts that GSI points to the scalar statement being vectorized. + Set new statement location according to GSI. + (vect_schedule_slp_instance): Use GSI of + SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads. + +2008-09-21 Jan Hubicka + + * ipa-cp.c (ipcp_estimate_growth): Check recursive calls. + (ipcp_insert_stage): Update dead_nodes bitmap. + +2008-09-22 Danny Smith + + PR target/37528 + * config/i386/t-cygming (SHLIB_LC): Remove. + (SHLIB_LINK): Don't add static objects to SHLIB_IMPLIB + * config/i386/t-cygwin (SHLIB_LC): Specify all required + libraries. + +2008-09-22 Hans-Peter Nilsson + + PR middle-end/37170 + PR middle-end/37280 + * final.c (mark_symbol_ref_as_used): New helper function. + (output_operand): Instead of just looking inside MEMs for + SYMBOL_REFs, use new helper function and for_each_rtx. + * varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL + to after weak-handling. Don't mark decls with TREE_STATIC as weak. + Make head comment more general. + * config/darwin.c (machopic_output_indirection): Handle weak + references here, like in assemble_external. + +2008-09-21 Eric Botcazou + + * config/sparc/sparc-protos.h (gen_compare_operator): Declare. + (sparc_emit_float_lib_cmp): Change return type. + * config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode. + (gen_compare_operator): New function. + (sparc_emit_float_lib_cmp): Return the new operator to be used in + the comparison sequence. Minor tweaks. + * config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert + that the final operator and the result of sparc_emit_float_lib_cmp + match for software TFmode; use emit_insn in lieu of emit_jump_insn. + (beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt, + buneq, bunge, bunle, bltgt): Assert that the final operator and the + result of sparc_emit_float_lib_cmp match for software TFmode. + (movqicc, movhicc, movsicc, movdicc): Merge into... + (movcc): ...this. + (movsfcc, movdfcc, movtfcc): Merge into... + (movcc): ...this. + (movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge + into... + (mov_cc_v9): ...this. + (movdi_cc_sp64_trunc): Delete. + (movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64, + movdi_cc_reg_sp64): Merge into... + (mov_cc_reg_sp64): ...this. + (movsf_cc_sp64): Rename into... + (movsf_cc_v9): ...this. + (movdf_cc_sp64): Rename into... + (movdf_cc_v9): ...this. + (movtf_cc_hq_sp64): Rename into... + (movtf_cc_hq_v9): ...this. + (movtf_cc_sp64): Rename into... + (movtf_cc_v9): ...this. Adjust for renaming of movdf_cc_sp64. + +2008-09-21 Diego Novillo + + * doc/gccint.texi: Include generic.texi and gimple.texi. + Re-order index. + * doc/tree-ssa.texi (GENERIC): Move to generic.texi. + (GIMPLE): Move to gimple.texi. + (Annotations): Remove references to to stmt_ann_t and + ssa_name_ann_t. + (SSA Operands): Rename from 'Statement Operands'. + * doc/generic.texi: New. + * doc/gimple.texi: New. + * Makefile.in (TEXI_GCCINT_FILES): Add generic.texi and + gimple.texi. + * Makefile.in (TEXI_GCCINT_FILES): + * gimple.c (gimple_copy_call_skip_args): Rename from + giple_copy_call_skip_args. Update all users. + * doc/gimple.texi (gimple_copy_call_skip_args): Document. + +2008-09-21 Ira Rosen + + PR tree-optimization/37539 + * tree-vect-transform.c (vect_transform_strided_load): Save vector + statement in related statement field only for the first load of the + group of loads with the same data reference. + +2008-09-20 Adam Nemet + + * config/mips/mips.h (TUNE_OCTEON): New macro. + * config/mips/mips.c (mips_issue_rate): Return 2 for Octeon. + (mips_multipass_dfa_lookahead): Return 2 for Octeon. + * config/mips/octeon.md: New file. + * config/mips/mips.md: Include octeon.md. Restore + semi-alphabetical order of include files. + +2008-09-20 H.J. Lu + + PR target/37571 + * config/i386/i386.md (*jcc_fused_1): Removed. + (*jcc_fused_2): Likewise. + (*jcc_fused_3): Likewise. + (*jcc_fused_4): Likewise. + +2008-09-20 Richard Sandiford + + * doc/tm.texi (TARGET_IRA_COVER_CLASSES): Define. + (IRA_COVER_CLASSES): Refer to TARGET_IRA_COVER_CLASSES. + * target.h (gcc_target): Add ira_cover_classes. + * ira.c: Remove IRA_COVER_CLASSES guards. + (setup_cover_and_important_classes): Use targetm.ira_cover_classes + instead of IRA_COVER_CLASSES. + (setup_cover_and_important_classes): Remove IRA_COVER_CLASSES guard. + (setup_class_translate): Likewise. + (setup_reg_class_intersect_union): Likewise. + (find_reg_class_closure): Replace IRA_COVER_CLASSES guard with a + test of targetm.ira_cover_classes. + * opts.c (decode_options): Use targetm.ira_cover_classes instead + of IRA_COVER_CLASSES. + * target-def.h (TARGET_IRA_COVER_CLASSES): Define. + (TARGET_INITIALIZER): Include it. + * targhooks.h (default_ira_cover_classes): Declare. + * targhooks.c (default_ira_cover_classes): New function. + +2008-09-19 Bob Wilson + + * config/xtensa/xtensa.md (reload_literal): Handle MEM operands. + +2008-09-19 Ian Lance Taylor + + * varasm.c (narrowing_initializer_constant_valid_p): Return + NULL_TREE if ENDTYPE is not an integer. + +2008-09-19 Andrew Pinski + + PR tree-opt/30930 + * tree-ssa.c (execute_update_addresses_taken): Also update + DECL_GIMPLE_REG_P for vector and complex types. + +2008-09-19 Andrew MacLeod + Jan Hubicka + + PR middle-end/37567 + * tree-ssa-ter.c (free_temp_expr_table): Make sure fields are actually + empty before freeing them. + (find_replaceable_exprs): Move asserts to free_temp_expr_table. + +2008-09-18 Bob Wilson + + * configure.ac: Add HAVE_AS_TLS check for Xtensa. + * config/xtensa/predicates.md (tls_symbol_operand): New. + * config/xtensa/xtensa.c (TARGET_HAVE_TLS): Define. + (TARGET_CANNOT_FORCE_MEM): Define. + (xtensa_tls_symbol_p): New. + (xtensa_emit_move_sequence): Check for and legitimize TLS addresses. + (xtensa_legitimate_address_p): Disallow constant pool TLS references. + (xtensa_tls_module_base): New. + (xtensa_call_tls_desc): New. + (xtensa_legitimize_tls_address): New. + (xtensa_legitimize_address): Handle TLS symbols. + (xtensa_tls_referenced_p_1): New. + (xtensa_tls_referenced_p): New. + (xtensa_output_addr_const_extra): Handle UNSPEC_TPOFF and UNSPEC_DTPOFF. + (XTENSA_BUILTIN_THREAD_POINTER): New. + (XTENSA_BUILTIN_SET_THREAD_POINTER): New. + (xtensa_init_builtins): Set NOTHROW and READONLY for umulsidi3 builtin. + Add declarations for __builtin_thread_pointer and + __builtin_set_thread_pointer. + (xtensa_fold_builtin): Recognize new builtins. + (xtensa_expand_builtin): Expand new builtins. + * config/xtensa/xtensa.h (XCHAL_HAVE_THREADPTR): Define default value. + (TARGET_THREADPTR): Define. + (HAVE_AS_TLS): Define default value. + (LEGITIMATE_CONSTANT_P): Disallow TLS references. + * config/xtensa/xtensa.md (UNSPEC_TPOFF, UNSPEC_DTPOFF): New. + (UNSPEC_TLS_FUNC, UNSPEC_TLS_ARG, UNSPEC_TLS_CALL, UNSPEC_TP): New. + (UNSPECV_SET_TP): New. + (sym_TPOFF, sym_DTPOFF): New. + (load_tp, set_tp, tls_func, tls_arg, tls_call): New. + * config/xtensa/xtensa-protos.h (xtensa_tls_referenced_p): Declare. + * configure: Regenerated. + +2008-09-18 H.J. Lu + + PR target/37394 + * config/ia64/ia64.c (ia64_optimization_options): Move + checking and setting flag_schedule_insns_after_reload and + ia64_flag_schedule_insns2 back to ... + (ia64_override_options): Here. + +2008-09-18 Andrew Pinski + + PR rtl-opt/37451 + * loop-doloop.c (doloop_modify): New argument zero_extend_p and + zero extend count after the correction to it is done. + (doloop_optimize): Update call to doloop_modify, don't zero extend + count before call. + +2008-09-18 Martin Jambor + + * ipa-cp.c (ipcp_estimate_growth): Return 0 instead of false. + + * ipa-prop.c: Correct comments. + * ipa-prop.h: Likewise. + +2008-09-18 Jan Hubicka + + PR middle-end/37448 + * ipa-reference.c (ipa_reference_local_vars_info_d, + ipa_reference_global_vars_info_d, + ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t, + ipa_reference_vars_info_t): Move here from ipa-reference.h + (node_duplication_hook_holder, node_removal_hook_holder): New. + (get_reference_vars_info_from_cgraph): Rename to ... + (get_reference_vars_info): ... this one, use cgraph uids. + (get_local_reference_vars_info, get_global_reference_vars_info): + Use cgraph instead of decl. + (ipa_reference_get_read_local, ipa_reference_get_written_local): Remove. + (ipa_reference_get_read_global, ipa_reference_get_not_read_global + ipa_reference_get_written_global, ipa_reference_get_not_written_global): Use + cgraph argument. + (check_call): Simplify avail check. + (scan_stmt_for_static_refs): Update. + (propagate_bits): Update. + (merge_callee_local_info): Remove. + (init_function_info): Use cgraph nodes. + (clean_function_local_data): Break out from ... + (clean_function): ... here. + (copy_local_bitmap, copy_global_bitmap): New functions. + (duplicate_node_data, remove_node_data): New functions. + (generate_summary): Register hooks; use visibility instead of + master clones. + (propafate): Use cgraph nodes; copy bitmap to each node in cycle. + * ipa-reference.h (ipa_reference_local_vars_info_d, + ipa_reference_global_vars_info_d, + ipa_reference_local_vars_info_t, ipa_reference_global_vars_info_t, + ipa_reference_vars_info_t): Move to ipa-reference.c + (ipa_reference_get_read_local, ipa_reference_get_written_local): + Remove. + (ipa_reference_get_read_global, ipa_reference_get_written_global, + ipa_reference_get_not_read_global, ipa_reference_get_not_written_global): + Update prototype. + * ipa-pure-const.c (funct_state_vec): Turn into VECtor. + (init_state): Remove. + (node_duplication_hook_holder, node_removal_hook_holder): New. + (get_function_state, set_function_state): Use VECtor. + (analyze_function): Check body availability. + (add_new_function): Likewise. + (duplicate_node_data, remove_node_data): New. + (generate_summary): Register hooks; do not care about clones. + (propafate): Do not care about clones; recursive functions are not looping. + * ipa-utils.c (searchc, ipa_utils_reduced_inorder): Do not skip clones. + * ipa-prop.c (edge_removal_hook_holder, node_removal_hook_holder, + * edge_duplication_hook_holder, node_duplication_hook_holder): Make + static. + * tree-flow.h (function_ann_d): Remove reference_vars_info. + * tree-ssa-opreands.c (add_call_clobber_ops, add_call_read_ops): Update call of + ipa-reference accesors. + +2008-09-18 Simon Baldwin + + * c-opts.c (c_common_handle_option): Add handling for + -Wbuiltin-macro-redefined command line option. + * c.opt: Added builtin-macro-redefined option. + * doc/invoke.texi (Warning Options): Add -Wbuiltin-macro-redefined + documentation. + +2008-09-18 Richard Guenther + + PR tree-optimization/37258 + * tree-ssa-sccvn.c (vn_phi_compute_hash): Include the precision + and signedness for integral types. + (vn_phi_eq): Require compatible types. + +2008-09-18 Jakub Jelinek + + PR debug/34037 + * gimplify.c (gimplify_type_sizes): When not optimizing, ensure + TYPE_MIN_VALUE and TYPE_MAX_VALUE is not is not DECL_IGNORED_P + VAR_DECL. + * cfgexpand.c (expand_used_vars): Keep DECL_ARTIFICIAL + !DECL_IGNORED_P vars in local_decls list for instantiate_decls, + ggc_free other TREE_LIST nodes from that chain. + * function.c (instantiate_decls): Instantiate also DECL_RTL + of vars in cfun->local_decls, free that list afterwards. + +2008-09-18 Eric Botcazou + + * config/sparc/sol2.h (WIDEST_HARDWARE_FP_SIZE): Move to... + * config/sparc/sparc.h (WIDEST_HARDWARE_FP_SIZE): ...here. + +2008-09-18 Andrew MacLeod + + * tree-outof-ssa.c (eliminate_useless_phis): Fix formatting. + * tree-flow-.h (struct immediate_use_iterator_d): Fix comment. + +2008-09-18 Andrew MacLeod + + PR tree-optimization/37102 + * tree-outof-ssa.c (remove_gimple_phi_args): Remove all the PHI args + from a node. Check to see if another PHI is dead. + (eliminate_useless_phis): Rename from eliminate_virtual_phis and + remove real PHIs which have no uses. + (rewrite_out_of_ssa): Call eliminate_useless_phis. + +2008-09-18 Richard Guenther + + PR middle-end/37284 + * tree-cfg.c (remove_useless_stmts_1): Remove + GIMPLE_CHANGE_DYNAMIC_TYPE if not optimizing. + +2008-09-18 Nick Clifton + + * config/frv/frv.h (IRA_COVER_CLASSES): Define. + (SECONDARY_INPUT_RELOAD_CLASS): Omit unused argument in call + to frv_secondary_reload_class. + (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise. + * config/frv/frv.c (TARGET_SECONDARY_RELOAD): Define. + (frv_secondary_reload_class): Omit unused parameter. + (frv_secondary_reload): New function. Handle the case when + secondary_reload_class() is called before the reload_(in|out) + _optabs have been initialised. + * config/frv/frv-protos.h (frv_secondary_reload_class): Omit + unused parameter. + * config/frv/frv.md: Define an exclusion set between fr550_m0 + and fr550_f0. + +2008-09-18 Richard Guenther + + PR tree-optimization/37456 + * tree-ssa-reassoc.c (build_and_add_sum): If the stmt we + want to insert after ends a BB insert on the single fallthru + outgoing edge. + 2008-09-18 Andreas Krebbel * doc/invoke.texi: Document -mhard-dfp, -mno-hard-dfp.