X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=ab0c2259876dbfcae881326367c6626c77dc4517;hb=81f218ecb3acb624ea04cb97c1c5f280a6bc23e1;hp=621396fd1b1ccb31050356b93ba564fdbecc1b3a;hpb=3fa1e4f2e76c9791e7d74d3347552fbbbcbcd26e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 621396fd1b1..ab0c2259876 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,252 @@ +2007-06-09 Tom Tromey + + * 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 + + 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 + + * reload1.c (fixup_abnormal_edges): Clear bb field for insns + not inserted on the edge. + +2007-06-08 Bob Wilson + + * 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 + Tony Linthicum + + * 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 + + * reg-stack.c (get_true_reg): Readability change. Moved default case + label into direct switch statement scope. + +2007-06-08 Simon Baldwin + + * tree-flow-inline.h (var_ann): Replaced erroneous '=' assignment + in gcc_assert() with '==' comparison. + +2007-06-08 Uros Bizjak + + * config/i386/i386.c (override_options): Merge TARGET_SSE4_2 and + TARGET_ABM handling of x86_popcnt variable. + +2007-06-08 Uros Bizjak + + * doc/extend.texi (X86 Built-in Functions): Document __builtin_fabsq, + __builtin_copysignq and __builtin_infq built-in functions. + +2007-06-08 Uros Bizjak + + * 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 + + 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 + + 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 + + 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 + + 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 + + * 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 + + * config/i386/darwin.h (STACK_BOUNDARY): Define. + +2007-06-07 Simon Martin + + 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 + Hui-May Chang + + * 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 + + * 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. + (copysign3): Rename from copysingsf3 and copysigndf3. Macroize + expander using CSGNMODE mode macro. Handle TFmode. + (copysign3_const): Rename from copysignsf3_const and + copysigndf3_const. Macroize pattern using CSGNMODE mode macro. + Handle TFmode. + (copysign3_var): Rename from copysignsf3_var and + copysigndf3_var. Macroize pattern using CSGNMODE mode macro. + Handle TFmode. + (copysign3_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 + + * config/xtensa/lib1funcs.asm: Clean up whitespace. + +2007-06-07 Steve Ellcey + + 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 PR tree-optimization/32220