OSDN Git Service

* Makefile.in (reload1.o-warn): Remove.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9fd39e8..a381a86 100644 (file)
@@ -1,3 +1,260 @@
+2007-06-11  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (reload1.o-warn): Remove.
+
+2007-06-11  Seongbae Park <seongbae.park@gmail.com>
+
+       * combine.c (subst): Use reg_overlap_mentioned_p
+       instead of comparing register numbers directly.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * reload1.c (mark_home_live_1): Use the mode parameter.
+
+2007-06-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * df-scan.c (df_insn_delete, df_insn_rescan, df_insn_rescan_all,
+       df_process_deferred_rescans, df_notes_rescan): Fixed spelling of
+       word "deferred".
+       * df-core.c: Ditto.
+       
+2007-06-11  Daniel Berlin  <dberlin@dberlin.org>
+
+       * Merge dataflow-branch into mainline (see ChangeLog.dataflow)
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md ("*movtf_internal): Penalize moves to and
+       from integer registers.
+       (FP mode splitters): Handle TFmode.
+
+2007-06-11  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-structalias.c (find_what_p_points_to): Return false
+       for ref-all pointers that point-to anything.
+
+2007-06-11  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm.c (arm_output_dwarf_dtprel,
+       TARGET_ASM_OUTPUT_DWARF_DTPREL): New.
+
+2007-06-11  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.md (movdi_insn, movsi_insn, movv2hi_insn,
+       movhi_insn, movqi_insn, movsf_insn, movdf_insn): Don't allow constant
+       to memory moves.
+
+2007-06-11  Rafael Avila de Espindola  <espindola@google.com>
+
+       * gcc/tree.c (signed_or_unsigned_type_for): New.
+       (unsigned_type_for): Use signed_or_unsigned_type_for.
+       (signed_type_for): Use signed_or_unsigned_type_for.
+       * gcc/tree.h (signed_or_unsigned_type_for): New.
+       (get_signed_or_unsigned_type): Remove.
+       * gcc/fold-const.c (fold_negate_expr): Use signed_type_for instead of
+       lang_hooks.types.signed_type
+       (size_diffop): Likewise.
+       (all_ones_mask_p): Likewise.
+       (build_range_check): Likewise.
+       (fold_cond_expr_with_comparison): Likewise.
+       (fold_cond_expr_with_comparison): Likewise.
+       (unextend): Likewise.
+       (extract_muldiv_1): Likewise.
+       (fold_single_bit_test_into_sign_test): Likewise.
+       (fold_binary): Likewise.
+       (fold_ternary): Likewise.
+       (operand_equal_for_comparison_p): Use signed_or_unsigned_type_for
+       instead of get_signed_or_unsigned_type.
+       * gcc/c-objc-common.h (LANG_HOOKS_SIGNED_TYPE): Remove.
+       (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+       * gcc/expr.c (signed_or_unsigned_type_for): Use
+       signed_or_unsigned_type_for instead of get_signed_or_unsigned_type.
+       * gcc/langhooks.c (get_signed_or_unsigned_type): Remove.
+       (lhd_signed_or_unsigned_type): Remove.
+       * gcc/langhooks.h (lang_hooks_for_types): Remove signed_type and
+       signed_or_unsigned_type.
+       (lhd_signed_or_unsigned_type): Remove.
+       * gcc/expmed.c (make_tree): Use signed_type_for instead of
+       lang_hooks.types.signed_type.
+       * gcc/c-common.c (same_scalar_type_ignoring_signedness): Use
+       c_common_signed_type instead of lang_hooks.types.signed_type.
+       (c_common_unsigned_type): New.
+       (c_common_signed_type): Just call c_common_signed_or_unsigned_type.
+       (shorten_compare): Use c_common_unsigned_type instead of
+       c_common_signed_or_unsigned_type.
+       (c_common_nodes_and_builtins): Use c_common_unsigned_type instead of
+       unsigned_type_for.
+       * gcc/convert.c (convert_to_integer): Use signed_type_for instead of
+       lang_hooks.types.signed_type.
+       * gcc/langhooks-def.h (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
+       (LANG_HOOK_FOR_TYPES_INITIALIZER): Remove LANG_HOOKS_SIGNED_TYPE and
+       LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE.
+       * gcc/c-format.c (check_format_types): Use c_common_unsigned_type
+       instead of unsigned_type_for.
+       * gcc/c-decl.c (groakdeclarator): Likewise.
+       * gcc/c-typeck.c (convert_for_assignment): Likewise.
+       * gcc/c-common.h (c_common_unsigned_type): New.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/32280
+       * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ...
+       * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here.
+
+2007-06-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR middle-end/32279
+       * fold-const (fold_binary) [RDIV_EXPR]: Optimize a/sqrt(b/c)
+       into a*sqrt(c/b) if flag_unsafe_math_optimizations is set.
+
+2007-06-10  Jan Sjodin  <jan.sjodin@amd.com>
+           Sebastian Pop  <sebpop@gmail.com>
+
+       * lambda-code.c (remove_iv): New.
+       (lambda_loopnest_to_gcc_loopnest): Use remove_iv.
+
+2007-06-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-data-ref.c (dr_analyze_alias): Handle case smt is NULL.
+       * tree-predcom.c (mark_virtual_ops_for_renaming): Exported.
+       * tree-ssa-loop-prefetch.c: Include optabs.h.
+       (FENCE_FOLLOWING_MOVNT): New macro.
+       (struct mem_ref): Add independent_p and storent_p fields.
+       (record_ref): Initalize the new fields.
+       (gather_memory_references_ref): Return true if the reference
+       could be analysed.
+       (gather_memory_references): Check whether all memory accesses
+       in loop were recorded.
+       (should_issue_prefetch_p): Return false for nontemporal stores.
+       (nontemporal_store_p, mark_nontemporal_store, emit_mfence_after_loop,
+       may_use_storent_in_loop_p, mark_nontemporal_stores): New functions.
+       (determine_loop_nest_reuse): Detect independent memory references.
+       (loop_prefetch_arrays): Call mark_nontemporal_stores.
+       * tree-flow.h (mark_virtual_ops_for_renaming): Declare.
+       * Makefile.in (tree-ssa-loop-prefetch.o): Add OPTABS_H dependency.
+       * config/i386/i386.h (x86_mfence): Declare.
+       (FENCE_FOLLOWING_MOVNT): Return x86_mfence.
+       * config/i386/i386.c (x86_mfence): New variable.
+       (ix86_init_mmx_sse_builtins): Initialize x86_mfence.
+
+       * tree-pretty-print.c (dump_generic_node): Mark nontemporal stores.
+       * optabs.c (init_optabs): Initialize storent_optab.
+       * optabs.h (enum optab_index): Add OTI_storent.
+       (storent_optab): Declare.
+       * genopinit.c (optabs): Add initialization for storent_optab.
+       * tree.h (MOVE_NONTEMPORAL): New macro.
+       * expr.c (expand_assignment, store_expr, store_constructor_field,
+       store_constructor, store_field, expand_expr_real_1): Propagate
+       nontemporality of the expanded store.
+       (emit_storent_insn): New function.
+       * expr.h (expand_assignment, store_expr): Declaration changed.
+       * function.c (assign_parm_setup_reg): Pass false as nontemporality
+       to expand_assignment.
+       * stmt.c (expand_asm_expr): Ditto.
+       * calls.c (initialize_argument_information): Pass false as
+       nontemporality to store_expr.
+       * config/i386/sse.md (storentv4sf, storentv2df, storentv2di,
+       storentsi): New.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-structalias.c (set_uids_in_ptset): Add is_deref'd
+       parameter, use it.
+       (find_what_p_points_to): Pass new parameter to set_uids_in_ptset.
+
+2007-06-09  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-data-ref.c (dr_may_alias_p): Check that decl_a != decl_b,
+       and allow DECL_P here.
+
+2007-06-09  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-scalar-evolution.c (follow_ssa_edge_in_rhs,
+       follow_ssa_edge_in_condition_phi, follow_ssa_edge): Keep more precise
+       track of the size of the expression.
+       * cfghooks.c (merge_blocks): Remove block from loops structure only
+       after call of the merge_blocks hook.
+
+2007-06-09  Tom Tromey  <tromey@redhat.com>
+
+       * c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
+       (deprecated_state): Removed.
+       (start_decl): Update.
+       (enum deprecated_states): Moved earlier.
+       (groktypename): Update.
+       (push_parm_decl): Likewise.
+       (grokfield): Likewise.
+       (start_function): Likewise.
+
+2007-06-09  Ian Lance Taylor  <iant@google.com>
+
+       PR tree-optimization/32169
+       * tree-vrp.c (extract_range_from_unary_expr): For NOP_EXPR and
+       CONVERT_EXPR, check whether min and max both converted to an
+       overflow infinity representation.
+
+2007-06-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * reload1.c (fixup_abnormal_edges): Clear bb field for insns
+       not inserted on the edge.
+
+2007-06-08  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm (__udivsi3): Use hardware divide
+       instructions if they are supported.
+       (__divsi3, __umodsi3, __modsi3): Likewise.
+       (__ashldi3, __ashrdi3, __lshrdi3): New.
+       * config/xtensa/t-xtensa (LIB1ASMFUNCS): Add DImode shift functions.
+       
+2007-06-08  Harsha Jagasia <harsha.jagasia@amd.com>
+           Tony Linthicum <tony.linthicum@amd.com>
+
+       * doc/extend.texi: Add fvect-cost-model flag.
+       * common.opt (fvect-cost-model): New flag.
+       * tree-vectorizer.c (new_stmt_vec_info): Initialize inside and outside
+       cost fields in stmt_vec_info struct for STMT.
+       * tree-vectorizer.h (stmt_vec_info): Define inside and outside cost
+       fields in stmt_vec_info struct and access functions for the same.
+       (TARG_COND_BRANCH_COST): Define cost of conditional branch.
+       (TARG_VEC_STMT_COST): Define cost of any vector operation, excluding
+       load, store and vector to scalar operation.
+       (TARG_VEC_TO_SCALAR_COST): Define cost of vector to scalar operation.
+       (TARG_VEC_LOAD_COST): Define cost of aligned vector load.
+       (TARG_VEC_UNALIGNED_LOAD_COST): Define cost of misasligned vector load.
+       (TARG_VEC_STORE_COST): Define cost of vector store.
+       (vect_estimate_min_profitable_iters): Define new function.
+       * tree-vect-analyze.c (vect_analyze_operations): Add a compile-time
+       check to evaluate if loop iterations are less than minimum profitable
+       iterations determined by cost model or minimum vect loop bound defined
+       by user, whichever is more conservative.
+       * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Add a
+       run-time check to evaluate if loop iterations are less than minimum
+       profitable iterations determined by cost model or minimum vect loop
+       bound defined by user, whichever is more conservative.
+       (vect_estimate_min_profitable_iterations): New function to estimate
+       mimimimum iterartions required for vector version of loop to be
+       profitable over scalar version.
+        (vect_model_reduction_cost): New function.
+       (vect_model_induction_cost): New function.
+       (vect_model_simple_cost): New function.
+       (vect_cost_strided_group_size): New function.
+       (vect_model_store_cost): New function.
+       (vect_model_load_cost): New function.
+       (vectorizable_reduction): Call vect_model_reduction_cost during
+       analysis phase.
+       (vectorizable_induction): Call vect_model_induction_cost during
+       analysis phase.
+       (vectorizable_load): Call vect_model_load_cost during analysis phase.
+       (vectorizable_store): Call vect_model_store_cost during analysis phase.
+       (vectorizable_call, vectorizable_assignment, vectorizable_operation,
+       vectorizable_promotion, vectorizable_demotion): Call 
+       vect_model_simple_cost during analysis phase.
+
+2007-06-08  Simon Baldwin  <simonb@google.com>
+
+       * reg-stack.c (get_true_reg): Readability change.  Moved default case
+       label into direct switch statement scope.
+
 2007-06-08  Simon Baldwin  <simonb@google.com>
 
        * tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment
        (ix86_expand_builtin) [IX86_BUILTIN_INFQ]: Expand builtin.
        [IX86_BUILTIN_FABSQ]: Expand builtin using ix86_expand_unop_builtin().
        [IX86_BUILTIN_COPYSIGNQ]: Expand builtin using
-       ix86_expand_unop_builtin().
+       ix86_expand_binop_builtin().
 
 2007-06-07  Bob Wilson  <bob.wilson@acm.org>