+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