OSDN Git Service

PR target/15491
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f5e1820..1559b19 100644 (file)
@@ -1,3 +1,318 @@
+2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
+
+       PR target/15491
+        * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
+       (vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
+       FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
+       PRE_DEC, NEG and NOT.
+
+2005-03-25  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c: Convert uses of fold (build (...)) to
+       fold_buildN.
+
+2005-03-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR rtl-optimization/20249
+       * cse.c (insert_regs): Do not record equivalence of registers in
+       different modes.
+
+2005-03-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * emit-rtl.c (reverse_comparison): Remove.
+       * rtl.h: Remove the corresponding prototype.
+
+2005-03-24  James E Wilson  <wilson@specifixinc.com>
+
+       * doc/install.texi (--enable-altivec): Delete docs.
+
+2005-03-24  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (easy_fp_constant): Return 0 for
+       SFmode and DFmode before reload when
+       flag_unsafe_math_optimizations not enabled.
+
+2005-03-24  Geoffrey Keating  <geoffk@apple.com>
+
+       * c.opt (fvisibility-inlines-hidden): Allow for ObjC++.
+
+       * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add
+       MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE.
+
+2005-03-24  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * configure.ac (enable-checking): Add 'runtime' option.
+       * doc/install.texi (enable-checking): Document 'runtime' checking.
+       * tsystem.h (gcc_assert, gcc_unreachable): Define.
+       * config.in: Regenerated.
+       * configure: Regenerated.
+
+2005-03-23  Uros Bizjak  <uros@kss-loka.si>
+
+       * optabs.h (enum optab_index): Remove OTI_llrint.
+       (llrint_optab): Remove macro.
+       * optabs.c (init_optabs): Remove llrint_optab initialization.
+       * genopinit.c (optabs): Remove llrint_optab implementation.
+       * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LLRINT{,F,L}
+       using lrint_optab.
+
+2005-03-24  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR rtl-optimization/20532
+       * simplify-rtx.c (simplify_binary_operation_1): Protect from
+       overflow when adding coefficients for PLUS or MINUS.
+       (simplify_binary_operation_1): Handle CONST_DOUBLE exact power of
+       two as multiplier.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * langhooks.h (truthvalue_conversion): Remove.
+       * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove
+       LANG_HOOKS_TRUTHVALUE_CONVERSION.
+       * system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison.
+       * gimplify.c (gimple_boolify): Don't use truthvalue_conversion.
+       * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
+
+2005-03-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * params.def: Fix a typo.
+       * config/mips/mips.c: Follow the spelling convensions.
+       * doc/invoke.texi: Fix typos.
+
+2005-03-18  Dale Johannese  <dalej@apple.com>
+
+       * cp/tree.c (cp_tree_equal):  Handle SSA_NAME.
+
+2005-03-23  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/20601
+
+       * tree-ssa-pre.c (insert_aux): Add missing condition to
+       constification.
+
+2005-03-23  Ian Lance Taylor  <ian@airs.com>
+
+       * final.c (final_scan_insn): Don't remove no-op instructions.
+       * reload1.c (reload): Remove simple no-op instructions even when
+       not optimizing.
+
+2005-03-23  Dorit Naishlos  <dorit@il.ib.com>
+       PR tree-optimization/20501
+       * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
+       reporting that peeling for alignment is applied moved to...
+       * (vect_analyze_data_refs_alignment): Here.
+
+2005-03-23  Ian Lance Taylor  <ian@airs.com>
+
+       * reorg.c (dbr_schedule): Remove #if 0 code to call final.
+
+2005-03-23  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (alpha*-dec-osf[45]*): Remove target_cpu_default.
+       Define TARGET_SUPPORT_ARCH except on Tru64 UNIX V4.0A.
+
+2005-03-23  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not
+       imply that this is called once, independent of asms in code.
+       Adjust to now being pased output and input lists.  Mention helper
+       function decl_overlaps_hard_reg_set_p.
+       * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from
+       hook_tree_tree_identity and to take three trees, returning third.
+       * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the
+       prototype.
+       * stmt.c: include hard-reg-set.h before tree.h.
+       (decl_overlaps_hard_reg_set_p): New function, broken out from...
+       (decl_conflicts_with_clobbers_p): Call
+       decl_overlaps_hard_reg_set_p.
+       (expand_asm_operands): Pass output and input lists in call to
+       targetm.md_asm_clobbers.
+       * target-def.h (TARGET_MD_ASM_CLOBBERS): Define as
+       hook_tree_tree_tree_tree_3rd_identity.
+       * target.h (struct gcc_target.md_asm_clobbers): Take three tree
+       parameters.
+       * tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype.
+       * config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three
+       parameters, first two unused.
+       * config/cris/cris.c (cris_md_asm_clobbers): Adjust to added
+       parameters.  Only add MOF to clobbers if there's no 'h' mentioned
+       in constraint letters and MOF is not mentioned as a asm-declared
+       register in neither of the input and output lists.
+
+2005-03-23  DJ Delorie  <dj@redhat.com>
+
+       * optabs.c (expand_binop): Make sure the first subword's result
+       gets stored.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-common.c (c_common_truthvalue_conversion): Adjust comment.
+       Call c_common_truthvalue_conversion rather than
+       lang_hooks.truthvalue_conversion.
+       * c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
+       * c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
+       c-typeck.c.
+       * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
+       c_common_truthvalue_conversion.
+       * c-parser.c (c_parser_paren_condition, c_parser_for_statement,
+       c_parser_conditional_expression, c_parser_binary_expression): Call
+       c_objc_common_truthvalue_conversion.
+       * c-typeck.c (build_unary_op): Call
+       c_objc_common_truthvalue_conversion.
+       (build_conditional_expr): Do not call
+       lang_hooks.truthvalue_conversion.
+       (build_binary_op): Call c_common_truthvalue_conversion.
+       (c_objc_common_truthvalue_conversion): Moved from
+       c-objc-common.c.  Call default_function_array_conversion instead
+       of default_conversion.
+
+2005-03-23  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-common.h (default_conversion): Remove.
+       (perform_integral_promotions): Add.
+       * c-tree.h (default_conversion): Add.
+       * c-typeck.c (perform_integral_promotions): New, split out from
+       default_conversion.
+       * c-common.c (check_case_value): Use perform_integral_promotions,
+       not default_conversion.
+       (c_add_case_label): Don't continue processing case label after
+       found to be pointer.
+
+2005-03-23  Mark Mitchell  <mark@codesourcery.com>
+
+       * gcc.c (do_spec_1): Do not add a -L path for a directory in
+       the prefix list if we have already added a multilib directory
+       based on that path.
+       (main): Do not add MD_EXEC_PREFIX to the list of directories to
+       search with -L.
+
+2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * reload1.c (indirect_symref_ok, reload_obstack): Make them
+       static.
+       * reload.h: Remove the prototype for indirect_symref_ok.
+
+       * reload1.c (indirect_symref_ok): Make it global.
+       * reload.h: Add a prototype for indirect_symref_ok.
+
+2005-03-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.md (ashlhi3): Rename to *ashlhi3_n and add a new
+       ashlhi3 expander.
+
+2005-03-22  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       * tree.h (DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER): Clarify comments.
+
+2005-03-22  Daniel Berlin  <dberlin@dberlin.org>
+
+       * c-opts.c (c_common_parse_file): Only start/end main source file
+       if debug hooks says the writer wants it.
+       * dbxout.c (dbx_debug_hooks): Add start_end_main_source_file
+       member.
+       (xcoff_debug_hooks): Ditto.
+       * debug.c (do_nothing_hooks): Ditto.
+       * debug.h (gcc_debug_hooks): Ditto.
+       * dwarf2out.c (dwarf2_debug_hooks): Ditto.
+       * sdbout.c (sdb_debug_hooks): Ditto.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
+       
+2005-03-22  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/extend.texi: Deprecate C++ min/max operators.
+
+2005-03-22  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-ivopts.c (determine_iv_cost): Do not try to preserve
+       artificial original candidates.
+
+2005-03-22  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
+           Jan Hubicka  <jh@suse.cz>
+           Steven Bosscher <stevenb@suse.de
+
+       * cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
+       call cost based on argument sizes.
+       (cgraph_mark_inline_edge): Avoid inline unit from shrinking by
+       inlining.
+       * params.def: (max-inline-inssn-single): Set to 450.
+       (max-inline-insns-auto): Set to 90.
+       (max-inline-insns-recursive): Set to 450
+       (max-inline-insns-recursive-auto): Set to 450.
+       (large-function-insns): Set to 2700.
+       (inline-call-cost): New parameter.
+       * tree-inline.c (estimate_move_cost): New function.
+       (estimate_num_insns_1): Compute move sizes costs by estimate_move_cost
+       for non-gimple-regs, set cost to 0 for gimple-regs.  Compute call size
+       based on arguments.
+       * tree-inline.h (estimate_move_cost): Declare.
+       * invoke.texi: (max-inline-inssn-single): Change default to 450.
+       (max-inline-insns-auto): Change default to 90.
+       (max-inline-insns-recursive): Change default to 450
+       (max-inline-insns-recursive-auto): Change default to 450.
+       (large-function-insns): Change default to 2700.
+       (inline-call-cost): Document new parameter.
+
+2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/i860/i860.h (target_flags, TARGET_XP, TARGET_SWITCHES)
+       (TARGET_DEFAULT): Delete.
+       * config/i860/i860.opt: New file.
+
+2005-03-22  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/frv/frv-protos.h (frv_branch_cost_string, frv_branch_cost_int)
+       (frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
+       (frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
+       (frv_sched_lookahead): Delete.
+       * config/frv/frv.h (MASK_DEFAULT_ALLOC_CC): Move to frv.c.
+       (target_flags, MASK_GPR_32, MASK_FPR_32, MASK_SOFT_FLOAT)
+       (MASK_ALLOC_CC, MASK_DWORD, MASK_DOUBLE, MASK_MEDIA, MASK_MULADD)
+       (MASK_LIBPIC, MASK_ACC_4,  MASK_PACK, MASK_LONG_CALLS)
+       (MASK_ALIGN_LABELS, MASK_LINKED_FP, MASK_BIG_TLS, MASK_DEBUG_ARG)
+       (MASK_DEBUG_ADDR, MASK_DEBUG_STACK, MASK_DEBUG, MASK_DEBUG_LOC)
+       (MASK_DEBUG_COND_EXEC, MASK_NO_COND_MOVE, MASK_NO_SCC)
+       (MASK_NO_COND_EXEC, MASK_NO_VLIW_BRANCH, MASK_NO_MULTI_CE)
+       (MASK_FDPIC, MASK_INLINE_PLT, MASK_GPREL_RO, MASK_DEFAULT)
+       (TARGET_GPR_32, TARGET_FPR_32, TARGET_SOFT_FLOAT, TARGET_ALLOC_CC)
+       (TARGET_DWORD, TARGET_DOUBLE, TARGET_MEDIA, TARGET_MULADD)
+       (TARGET_LIBPIC, TARGET_ACC_4, TARGET_DEBUG_ARG, TARGET_DEBUG_ADDR)
+       (TARGET_DEBUG_STACK, TARGET_DEBUG, TARGET_DEBUG_LOC)
+       (TARGET_DEBUG_COND_EXEC, TARGET_NO_COND_MOVE, TARGET_NO_SCC)
+       (TARGET_NO_COND_EXEC, TARGET_NO_VLIW_BRANCH, TARGET_NO_MULTI_CE)
+       (TARGET_NO_NESTED_CE, TARGET_FDPIC, TARGET_INLINE_PLT, TARGET_BIG_TLS)
+       (TARGET_GPREL_RO, TARGET_PACK, TARGET_LONG_CALLS, TARGET_ALIGN_LABELS)
+       (TARGET_LINKED_FP, TARGET_GPR_64, TARGET_FPR_64, TARGET_HARD_FLOAT)
+       (TARGET_FIXED_CC, TARGET_COND_MOVE, TARGET_SCC, TARGET_COND_EXEC)
+       (TARGET_VLIW_BRANCH, TARGET_MULTI_CE, TARGET_NESTED_CE, TARGET_ACC_8)
+       (TARGET_SWITCHES, TARGET_OPTIONS, DEFAULT_CONDEXEC_TEMPS)
+       (DEFAULT_BRANCH_COST, DEFAULT_CONDEXEC_INSNS): Delete.
+       * config/frv/frv.c (frv_branch_cost_string, frv_branch_cost_int)
+       (frv_cpu_string, frv_condexec_insns_str, frv_condexec_insns)
+       (frv_condexec_temps_str, frv_condexec_temps, frv_sched_lookahead_str)
+       (frv_sched_lookahead): Delete.
+       (MASK_DEFAULT_ALLOC_CC): Moved from frv.h.
+       (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+       (frv_handle_option): New function.  Move -mcpu= handling from...
+       (frv_override_options): ...here.  Remove handling of other
+       TARGET_OPTIONS.
+       (frv_ifcvt_modify_tests): Check !TARGET_COND_EXEC instead of
+       TARGET_NO_COND_EXEC and !TARGET_NESTED_CE to TARGET_NO_NESTED_CE.
+       (frv_ifcvt_modify_multiple_tests): Likewise !TARGET_MULTI_CE
+       and TARGET_NO_MULTI_CE.
+       (frv_for_each_packet): Likewise TARGET_NO_VLIW_BRANCH and
+       !TARGET_VLIW_BRANCH.
+       * config/frv/frv.opt: New file.
+
+2005-03-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c (fold_ternary): Take decomposed arguments of
+       CALL_EXPR.
+       (fold): Update a call to fold_ternary.
+
+       * fold-const.c (fold_build1, fold_build2, fold_build3): New.
+       * tree.h: Add corresponding prototypes.
+
 2005-03-22  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/20561