OSDN Git Service

* c-decl.c (grokdeclarator): Added 'deprecated_state' argument.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 621396f..ab0c225 100644 (file)
@@ -1,3 +1,252 @@
+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
+       in gcc_assert() with '==' comparison.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and
+       TARGET_ABM handling of x86_popcnt variable.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq,
+       __builtin_copysignq and __builtin_infq built-in functions.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Add missing `@item's in
+       SSE4.2 section.  Correct built-in function names in SSE4A section.
+
+2007-06-08  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/32243
+       * tree-vect-transform.c (vectorizable_type_promotion): Move check
+       for ncopies after ratio check between nunits_out and nunits_in.
+       (vectorizable_type_demotion): Remove single-use variable "scalar_type".
+
+2007-06-08  Dorit Nuzman  <dorit@il.ibm.com>
+
+       PR tree-optimization/32224
+       * tree-vect-analyze.c (vect_determine_vectorization_factor): Fail
+       vectorization upon a non GIMPLE_MODIFY_STMT.
+
+2007-06-08  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/29953
+       * config/sh/sh.md (doloop_end): New pattern and splitter.
+       * loop-iv.c (simple_rhs_p): Check for hardware registers.
+       
+2007-06-08  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR middle-end/32209
+       * dominance.c (debug_dominance_tree, debug_dominance_tree_1): New
+       functions.
+       (verify_dominators): Do not change dominance tree.
+
+2007-06-08  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/constraints.md: New file.
+       * config/sh/sh.c: Include tm-constrs.h.
+       (reg_class_from_letter): Remove.
+       (prepare_cbranch_operands): Use satisfies_constraint_*
+       function instead of macro.
+       (andcosts, broken_move, sh_secondary_reload): Likewise.
+       * config/sh/predicates.md (trapping_target_operand): Likewise.
+       (and_operand, arith_operand, arith_reg_or_0_operand,
+       cmp_operand, logical_operand, target_operand,
+       ua_address_operand, ua_offset, xor_operand): Likewise.
+       * config/sh/sh.md: Include constraints.md.
+       (*movsicc_t_false): Use satisfies_constraint_* function
+       instead of macro.
+       (*movsicc_t_true, ashlsi3_std, ashlhi3_k, lshrsi3_m,
+       lshrsi3_k, movsi_const_16bit+2, *movhi_media+1,
+       movdi_const_16bit+1, beq, bne, *ptb): Likewise.
+       * config/sh/sh.h (reg_class_from_letter): Remove prototype.
+       (OVERRIDE_OPTIONS): Don't modify reg_class_from_letter.
+       (REG_CLASS_FROM_CONSTRAINT): Remove.
+       (CONSTRAINT_LEN, CONST_OK_FOR_I20, CONST_OK_FOR_I,
+       CONST_OK_FOR_J, CONST_OK_FOR_K16, CONST_OK_FOR_K,
+       CONST_OK_FOR_P27, CONST_OK_FOR_P, CONST_OK_FOR_M,
+       CONST_OK_FOR_N, CONST_OK_FOR_CONSTRAINT_P,
+       CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
+       (SECONDARY_INOUT_RELOAD_CLASS): Use satisfies_constraint_*
+       function instead of macro.
+       (SECONDARY_INPUT_RELOAD_CLASS): Likewise.
+       (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_A,
+       EXTRA_CONSTRAINT_Bsc, EXTRA_CONSTRAINT_B,
+       EXTRA_CONSTRAINT_Css, EXTRA_CONSTRAINT_Csu): Remove.
+       (IS_PC_RELATIVE_LOAD_ADDR_P): New macro.
+       (IS_LITERAL_OR_SYMBOLIC_S16_P): Likewise.
+       (IS_LITERAL_OR_SYMBOLIC_U16_P): Likewise.
+       (IS_NON_EXPLICIT_CONSTANT_P): Likewise.
+       (EXTRA_CONSTRAINT_Csy, EXTRA_CONSTRAINT_Z, EXTRA_CONSTRAINT_W,
+       EXTRA_CONSTRAINT_Cpg, EXTRA_CONSTRAINT_C,
+       EXTRA_MEMORY_CONSTRAINT, EXTRA_CONSTRAINT_Sr0,
+       EXTRA_CONSTRAINT_Sua, EXTRA_CONSTRAINT_S,
+       EXTRA_CONSTRAINT_STR): Likewise.
+       (GO_IF_LEGITIMATE_INDEX): Fix indentation.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/i386/darwin.h (STACK_BOUNDARY): Define.
+
+2007-06-07  Simon Martin  <simartin@users.sourceforge.net>
+
+       PR c++/30759
+       * c-common.h (flag_cpp0x): Replaced by...
+       (cxx_dialect): ... this new variable specifying the C++ dialect that
+       is used.
+       * c-common.c (flag_cpp0x): Removed.
+       (cxx_dialect): Defined.
+       * c-cppbuiltin.c (c_cpp_builtins): flag_cpp0x rewritten in terms of
+       cxx_dialect.
+       * c-opts.c (c_common_post_options): Likewise.
+       (set_std_cxx98): Set cxx_dialect to cxx98.
+       (set_std_cxx0x): Set cxx_dialect to cxx0x.
+
+2007-06-07  Geoffrey Keating  <geoffk@apple.com>
+           Hui-May Chang <hm.chang@apple.com>
+
+       * doc/invoke.texi (Darwin Options): Update documentation for
+       -mmacosx-version-min.
+       * config.gcc (*-*-darwin*): Set extra_gcc_objs.
+       * config/darwin-driver.c: New file.
+       * config/darwin.h (GCC_DRIVER_HOST_INITIALIZATION): New.
+       * config/t-darwin (darwin-driver.o): New rule.
+
+       * config/darwin-c.c (version_as_macro): Ignore low digit.
+
+2007-06-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (standard sse constant splitter): Handle TFmode.
+       (negtf2, abstf2, *absnegtf2_sse): New insn patterns.
+       (CSGNMODE): New mode macro.
+       (CSGNVMODE): New mode attribute.
+       (copysign<mode>3): Rename from copysingsf3 and copysigndf3.  Macroize
+       expander using CSGNMODE mode macro.  Handle TFmode.
+       (copysign<mode>3_const): Rename from copysignsf3_const and
+       copysigndf3_const.  Macroize pattern using CSGNMODE mode macro.
+       Handle TFmode.
+       (copysign<mode>3_var): Rename from copysignsf3_var and
+       copysigndf3_var.  Macroize pattern using CSGNMODE mode macro.
+       Handle TFmode.
+       (copysign<mode>3_var splitter): Macroize pattern using CSGNMODE
+       mode macro.  Handle TFmode.
+       * config/i386/sse.md (andtf3, *andtf3, *nandtf3): New insn patterns.
+       (iortf3, *iortf3): Ditto.
+       (xortf3, *xortf3): Ditto.
+       * config/i386/i386.c (ix86_build_signbit_mask): Create scalar
+       TFmode and TImode masks.
+       (ix86_expand_copysign): Expand TFmode copysign insn.
+       (IX86_BUILTIN_INFQ): New.
+       (IX86_BUILTIN_FABSQ): Ditto.
+       (IX86_BUILTIN_COPYSIGNQ): Ditto.
+       (ix86_init_mmx_sse_builtins) [__builtin_infq]: New builtin definition.
+       [__builtin_fabsq]: Ditto.
+       [__builtin_copysignq]: Ditto.
+       (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_binop_builtin().
+
+2007-06-07  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm: Clean up whitespace.
+
+2007-06-07  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/31850
+       * rtl.h (push_to_sequence2): New.
+       * emit-rtl.c (push_to_sequence2): New.
+       * function.c (assign_parm_data_all): Add new fields.
+       (assign_parm_setup_block): Call push_to_sequence2 instead of 
+       push_to_sequence.
+       (assign_parm_setup_reg): Ditto.
+       (assign_parm_setup_stack): Ditto.
+       (assign_parms_unsplit_complex): Ditto.
+       (assign_parms): Change field name.
+
 2007-06-07  Zdenek Dvorak  <dvorakz@suse.cz>
 
        PR tree-optimization/32220