X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=fe0ad784239c107a0a4639335557f6e487ad891d;hp=b5d13144c917f48f148770e8c89c21540f2c046f;hb=c820eb51bcf40cf015442b390969f759f75cf488;hpb=7d271ed52478fceb49379493ecfde376956f3ffe diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b5d13144c91..fe0ad784239 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,190 @@ +2005-02-28 John David Anglin + + PR target/19819 + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during + and after reload in REG+REG indexed addresses without REG_POINTER + set in the base and not set in the index. + +2005-02-28 Kaz Kojima + + * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): + Don't undefine here. + (HANDLE_PRAGMA_PACK_PUSH_POP): Delete. + (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise. + (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS. + (LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC, + LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS): + Delete. + * config.gcc (sh*-*-linux*): Use config/linux.h. + +2005-02-28 Dale Johannesen + Stan Shebs + + Rewrite of 64-bit Darwin structure-by-value pass/return. + * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields + intoffset, use_stack, named. + * config/rs6000/rs6000.c (rs6000_darwin64_function_arg): Remove. + (rs6000_darwin64_record_arg_advance_flush): New. + (rs6000_darwin64_record_arg_advance_recurse): New. + (rs6000_darwin64_record_arg_flush): New. + (rs6000_darwin64_record_arg_recurse): New. + (rs6000_darwin64_record_arg): New. + (rs6000_return_in_memory): Remove AGGREGATE_TYPE_P check. + (function_arg_boundary): Handle 128-bit aligned structs. + (function_arg_advance): Rewrite darwin64 struct handling. + (function_arg): Call rs6000_darwin64_record_arg. + (function_arg_partial_nregs): Handle darwin64 structs. + (rs6000_darwin64_function_value): Remove. + (rs6000_function_value): Call rs6000_darwin64_record_arg. + +2005-02-28 Roger Sayle + + PR tree-optimization/20216 + * tree-chrec.c (tree_fold_factorial): Delete. + (tree_fold_binomial): Change argument list to take a return type + and change the type of K to unsigned int. Rewrite to avoid explicit + evaluation of factorials, and (recursively) calling fold to perform + compile-time arithmetic. Return NULL on (internal) overflow. + (chrec_evaluate): Change type of K to an unsigned int. Avoid + calling tree_fold_binomial unnecessarily. Return chrec_dont_know + if any intermediate calculation overflows. + (chrec_apply): Update call to chrec_evaluate. + +2005-02-28 James E Wilson + + * config/mips/mips.h (NO_PROFILE_COUNTERS): Define. + +2005-02-28 Joseph S. Myers + + PR c/20245 + * c-parser.c (c_parser_compound_statement): Return error_mark_node + instead of NULL_TREE on error. + +2005-02-28 David Edelsohn + + * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove. + (EASY_VECTOR_15_ADD_SELF): Remove. + (num_insns_constant_wide): Not static. + (validate_condition_mode): Not static. + (toc_relative_expr_p): Not static. + (legitimate_indirect_address_p): Not static. + (macho_lo_sum_memory_operand): Not static. + (invalid_e500_subreg): Not static. + (easy_vector_same): Not static. + (easy_vector_splat_const): Not static. + (RS6000_SYMBOL_REF_TLS_P): Remove. + (any_operand): Delete. + (any_parallel_operand): Delete. + (count_register_operand): Delete. + (altivec_register_operand): Delete. + (xer_operand): Delete. + (s8bit_cint_operand): Delete. + (short_cint_operand): Delete. + (u_short_cint_operand): Delete. + (non_short_cint_operand): Delete. + (exact_log2_cint_operand): Delete. + (gpc_reg_operand): Delete. + (cc_reg_operand): Delete. + (cc_reg_not_cr0_operand): Delete. + (reg_or_short_operand): Delete. + (reg_or_neg_short_operand): Delete. + (reg_or_aligned_short_operand): Delete. + (reg_or_u_short_operand): Delete. + (reg_or_cint_operand): Delete. + (reg_or_arith_cint_operand): Delete. + (reg_or_add_cint64_operand): Delete. + (reg_or_sub_cint64_operand): Delete. + (reg_or_logical_cint_operand): Delete. + (got_operand): Delete. + (got_no_const_operand): Delete. + (easy_fp_constant): Delete. + (easy_vector_constant): Delete. + (easy_vector_constant_add_self): Delete. + (zero_constant): Delete. + (zero_fp_constant): Delete. + (volatile_mem_operand): Delete. + (offsettable_mem_operand): Delete. + (mem_or_easy_const_operand): Delete. + (add_operand): Delete. + (non_add_cint_operand): Delete. + (logical_operand): Delete. + (non_logical_cint_operand): Delete. + (mask_operand): Delete. + (mask_operand_wrap): Delete. + (mask64_operand): Delete. + (mask64_2_operand): Delete. + (and64_operand): Delete. + (and64_2_operand): Delete. + (and_operand): Delete. + (reg_or_mem_operand): Delete. + (lwa_operand): Delete. + (symbol_ref_operand): Delete. + (call_operand): Delete. + (current_file_function_operand): Delete. + (input_operand): Delete. + (rs6000_nonimmediate_operand): Delete. + (rs6000_tls_symbol_ref): Delete. + (save_world_operation): Delete. + (restore_world_operation): Delete. + (load_multiple_operation): Delete. + (store_multiple_operation): Delete. + (vrsave_operation): Delete. + (mfcr_operation): Delete. + (mtcrf_operation): Delete. + (lmw_operation): Delete. + (stmw_operation): Delete. + (branch_comparison_operator): Delete. + (branch_positive_comparison_operator): Delete. + (scc_comparison_operator): Delete. + (trap_comparison_operator): Delete. + (boolean_operator): Delete. + (boolean_or_operator): Delete. + (min_max_operator): Delete. + * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here. + (EASY_VECTOR_15): Moved to here. + (EASY_VECTOR_15_ADD_SELF): Move to here. + (PREDICATE_CODES): Delete. + * config/rs6000/rs6000-protos.h: Delete predicate functions. + Declare functions no longer static. + * config/rs6000/predicates.md: New. + * config/rs6000/rs6000.md: Include predicates.md + +2005-02-28 Kazu Hirata + + * calls.c (emit_call_1): Don't use REG_ALWAYS_RETURN. + (emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and + REG_ALWAYS_RETURN. + * cfgrtl.c (need_fake_edge_p): Likewise. + * combine.c (distribute_notes): Likewise. + * emit-rtl.c (try_split): Likewise. + * recog.c (peephole2_opimize): Likewise. + * reg-notes.def (ALWAYS_RETURN): Remove. + * rtl.h (LCT_ALWAYS_RETURN): Remove. + * tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN. + * tree.h (ECF_ALWAYS_RETURN): Remove. + +2005-02-28 Roger Sayle + + PR middle-end/19874 + * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion + between different machine modes is never a "useless" conversion. + +2005-02-28 Geert Bosch + + PR ada/15977 + * doc/contrib.texi: List contributors for Ada front end + +2005-02-28 Paolo Bonzini + + * simplify-rtx.c (simplify_unary_operation_1, + simplify_const_unary_operation): New, extracted from... + (simplify_unary_operation): ... this one. + (simplify_binary_operation_1, + simplify_const_binary_operation): New, extracted from... + (simplify_binary_operation): ... this one. + * rtl.h (simplify_const_unary_operation, + simplify_const_binary_operation): Add prototypes. + 2005-02-28 Julian Brown * config/elfos.h: Revert my patch from 2005-02-25 since it broke