+2005-03-25 Mike Stump <mrs@apple.com>
+
+ * config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0
+ sized objects.
+
+2005-03-25 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/darwin-fallback.c: Don't include <ucontext.h>.
+ Use our own structure definitions.
+
+ * config/rs6000/rs6000.md (UNSPEC constants): Add UNSPEC_STFIWX.
+ (fix_truncdfsi2): Allow registers or memory as destination.
+ When TARGET_PPC_GFXOPT, generate simplified pattern.
+ (fix_truncdfsi2_internal): Use define_insn_and_split.
+ (fix_truncdfsi2_internal_gfxopt): New.
+ (fctiwz): Don't confuse register allocation by giving it no choices.
+ (stfiwx): New.
+ * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'.
+ (EXTRA_MEMORY_CONSTRAINT): Likewise.
+ * config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
+ * config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New.
+
+2005-03-25 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dominance.c (free_dominance_info): Speed up by freeing et
+ data structures without maintaining other nodes.
+ * et-forest.c (et_free_tree_force): New.
+ * et-forest.h: Add a prototype for et_free_tree_force.
+
+ * tree.c (get_set_constructor_bits,
+ get_set_constructor_bytes): Remove.
+ * tree.h: Remove the corresponding prototypes.
+
+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.
+
+>>>>>>> 2.7995
+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
+ * cfglayout.c (reemit_insn_block_notes): Don't put block notes in
+ between jump table and its label.
+ * final.c (shorten_branches): Handle notes in between ADDR_VEC
+ resp. ADDR_DIFF_VEC and the label preceeding it.
+ (final_scan_insn): Likewise. Ensure ADDR_VEC resp. ADDR_DIFF_VEC
+ is emitted in the right section.
+
+2005-03-22 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c (fold_unary, fold_binary): Update comments
+ about arguments.
+
+2005-03-22 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/20527
+ * combine.c (can_combine_p) [AUTO_INC_DEC]: When INSN has an
+ REG_INC note, test that the register also isn't mentioned in PRED
+ or SUCC.
+
+2005-03-22 Ben Elliston <bje@au.ibm.com>
+
+ * dwarf2out.c (dwarf_type_encoding_name): Remove unused prototype
+ and definition.
+
+2005-03-21 Mike Stump <mrs@apple.com>
+
+ * varasm.c (default_assemble_visibility): Remove extra ().
+
+2005-03-21 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/20557
+ * bb-reorder.c (duplicate_computed_gotos): Use can_duplicate_block_p
+ to determine whether a block can be duplicated, rather than test
+ whether the block contains noncopyable insns ourselves.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/i860/i860.h (PREDICATE_CODES): Remove nonexistent
+ predicates.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/ip2k/ip2k.h (target_flags, TARGET_SWITCHES): Delete.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/fr30/fr30.h (TARGET_SMALL_MODEL_MASK, TARGET_SMALL_MODEL)
+ (TARGET_DEFAULT, target_flags, TARGET_SWITCHES): Delete.
+ * config/fr30/fr30.opt: New file.
+
+2005-03-18 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20542
+
+ * tree-flow-inline.h (overlap_subvar): Move to here.
+ * tree-ssa-operands.c: From here.
+ * tree-flow.h (overlap_subvar): Declare.
+ * tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
+ * tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
+ for variables with subvars.
+
+2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
+
+ PR middle-end/20177
+ * ddg.c (create_ddg_dependence): Ignore reg-anti dependency.
+ * modulo-sched.c (const_iteration_count): Return on NULL
+ pre-header.
+ (print_node_sched_params): Return on NULL dump_file.
+ (generate_reg_moves): Handle reg-anti dependencies and disregard
+ closing branch when generating register moves.
+ (sms_schedule): Mark the SMSed block dirty.
+ * passes.c (rest_of_handle_sms): Call update_life_info for all
+ basic-blocks.
+ * testsuite/gcc.dg/20050321-1.c: New test.
+
+2005-03-21 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/lib1funcs.asm (__mulsi3): Use symbolic name for ACCLO.
+ * config/xtensa/xtensa.md (movsi_internal, movhi_internal,
+ movqi_internal): Likewise.
+
+2005-03-21 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa-protos.h: (xtensa_simm7, xtensa_uimm8,
+ xtensa_uimm8x2, xtensa_uimm8x4, xtensa_ai4const, xtensa_lsi4x4,
+ xtensa_b4const): Delete prototypes.
+ (xtensa_simm8, xtensa_simm8x256, xtensa_simm12b, xtensa_b4constu,
+ xtensa_mask_immediate, xtensa_mem_offset): Update prototypes.
+ (xtensa_b4const_or_zero, xtensa_const_ok_for_letter_p,
+ xtensa_extra_constraint): New prototypes.
+ (add_operand, arith_operand, nonimmed_operand, mem_operand,
+ mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ move_operand, const_float_1_operand, fpmem_offset_operand,
+ branch_operator, ubranch_operator, boolean_operator): Delete prototypes.
+ * config/xtensa/xtensa.c (b4const_or_zero): Rename to ...
+ (xtensa_b4const_or_zero): ...this. Change return type to bool and
+ argument type to HOST_WIDE_INT.
+ (xtensa_simm8, xtensa_simm8x256, xtensa_simm12b,
+ xtensa_mask_immediate): Likewise.
+ (xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4, xtensa_b4const):
+ Likewise. Also make these functions static.
+ (xtensa_simm7, xtensa_ai4const, xtensa_lsi4x4): Delete.
+ (xtensa_const_ok_for_letter_p): New.
+ (add_operand, arith_operand, nonimmed_operand, mem_operand,
+ mask_operand, extui_fldsz_operand, sext_operand, sext_fldsz_operand,
+ lsbitnum_operand, branch_operand, ubranch_operand, call_insn_operand,
+ move_operand, const_float_1_operand, fpmem_offset_operand,
+ branch_operator, ubranch_operator, boolean_operator): Move to
+ predicates.md.
+ (smalloffset_mem_p): Inline code from xtensa_lsi4x4.
+ (xtensa_mem_offset): Change return type to bool.
+ (xtensa_extra_constraint): New.
+ (gen_int_relational): Update type of const_range_p function pointer.
+ Use xtensa_b4const_or_zero.
+ * config/xtensa/xtensa.h (CONST_OK_FOR_LETTER_P): Define to
+ xtensa_const_ok_for_letter_p. Update comments.
+ (EXTRA_CONSTRAINT): Define to xtensa_extra_constraint.
+ (PREDICATE_CODES): Delete.
+ * config/xtensa/xtensa.md: Include predicates.md.
+ * config/xtensa/predicates.md: New file.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/v850/v850-protos.h: Remove the prototypes for
+ reg_or_int9_operand, reg_or_const_operand,
+ pattern_is_ok_for_prepare, pattern_is_ok_for_dispose,
+ reg_or_0_operand, reg_or_int5_operand, call_address_operand,
+ movsi_source_operand, power_of_two_operand,
+ not_power_of_two_operand, special_symbolref_operand,
+ pattern_is_ok_for_prologue, pattern_is_ok_for_epilogue, and
+ register_is_ok_for_epilogue.
+ * config/v850/v850.c (reg_or_0_operand, reg_or_int5_operand,
+ reg_or_int9_operand, reg_or_const_operand,
+ call_address_operand, special_symbolref_operand,
+ movsi_source_operand, power_of_two_operand,
+ not_power_of_two_operand, register_is_ok_for_epilogue,
+ pattern_is_ok_for_epilogue, pattern_is_ok_for_prologue,
+ pattern_is_ok_for_dispose, pattern_is_ok_for_prepare): Move to
+ predicates.md.
+ * config/v850/v850.h (PREDICATE_CODES): Remove.
+ * config/v850/v850.md: Include predicates.md.
+ * config/v850/predicates.md: New.
+
+2005-03-21 Zack Weinberg <zack@codesourcery.com>
+
+ * Makefile.in (BASEVER, DEVPHASE, DATESTAMP)
+ (BASEVER_c, DEVPHASE_c, DATESTAMP_c)
+ (BASEVER_s, DEVPHASE_s, DATESTAMP_s, version): Set with :=.
+ (itoolsdir, itoolsdatadir): Move definition above new first use.
+ (install-itoolsdirs): New rule.
+ (install-mkheaders): Depend on install-itoolsdirs, not
+ install-include-dir.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-into-ssa.c: Remove obsolete comments.
+
+2005-03-21 Richard Guenther <rguenth@gcc.gnu.org>
+
+ * tree-ssa-loop.c (gate_tree_complete_unroll): Run complete
+ unrolling if -fpeel-loops is specified, too.
+ * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
+ Remove superfluous check for flag_unroll_loops.
+
+2005-03-21 Uros Bizjak <uros@kss-loka.si>
+
+ * optabs.h (enum optab_index): Add new OTI_lrint and OTI_llrint.
+ (lrint_optab, llrint_optab): Define corresponding macros.
+ * optabs.c (init_optabs): Initialize lrint_optab and llrint_optab.
+ * genopinit.c (optabs): Implement lrint_optab using lrintsi2
+ pattern and llrint_optab using llrintdi2 patterns.
+ * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LRINT{,F,L}
+ using lrint_optab and BUILT_IN_LLRINT{,F,L} using llrint_optab.
+ (expand_builtin): Expand BUILT_IN_LRINT{,F,L} and
+ BUILT_IN_LLRINT{,F,L} using expand_builtin_mathfn if
+ flag_unsafe_math_optimizations is set.
+
+2005-03-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * combine.c (combine_simplify_rtx, simplify_if_then_else,
+ simplify_logical, if_then_else_cond, known_cond,
+ simplify_comparison): Adjust calls to reverse_comparison.
+ Don't use combine_reversed_comparison_code).
+ (combine_reversed_comparison_code): Remove.
+ (reversed_comparison): Using reversed_comparison_code, move it...
+ * jump.c (reversed_comparison): ... here.
+ * rtl.h (reversed_comparison): Add prototype.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin): Take decomposed arguments of
+ CALL_EXPR.
+ * fold-const.c (fold_ternary): Update a call to fold_builtin.
+ * gimplify.c (gimplify_call_expr): Likewise.
+ * tree-ssa-ccp.c (ccp_fold, ccp_fold_builtin): Likewise.
+ * tree.h: Update the prototype of fold_builtin.
+
+2005-03-21 Paolo Bonzini <bonzini@gnu.org>
+
+ * rtl.h (struct rtx_hooks): Add gen_lowpart_no_emit.
+ * rtlhooks.c (gen_lowpart_no_emit_general): New.
+ * rtlhooks-def.h (gen_lowpart_no_emit_general): Declare.
+ (RTL_HOOKS_GEN_LOWPART_NO_EMIT): New.
+ * simplify-rtx.c (simplify_binary_operation_1): Use it.
+
+2005-03-21 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_1): Take decomposed arguments of
+ CALL_EXPR.
+ (fold_builtin): Update a call to fold_builtin_1.
+
+2005-03-21 Nathan Sidwell <nathan@codesourcery.com>
+
+ PR other/20564
+ * gcov.c (output_lines): Only output function block summary when
+ outputting branch information.
+ * doc/gcov.texi: Document format of preamble and additional block
+ information lines.
+
+2005-03-21 Richard Sandiford <rsandifo@redhat.com>
+
+ * libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
+ (LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
+ the defaults false if BITS_PER_UNIT != 8.
+ (SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
+ (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
+ than BITS_PER_UNIT != 8.
+ (L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
+ (L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
+ (L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
+ #undefs.
+ * libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
+ (__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
+
+2005-03-20 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/20539
+ * fold-const.c (fold_binary): Fix type mismatch between
+ TRUTH_{AND,OR,XOR}_EXPR nodes an their operands' types.
+ (fold_binary) <TRUTH_XOR_EXPR>: Avoid calling invert_truthvalue
+ for non-truth-valued expressions.
+
+ * c-common.c (c_common_truthvalue_conversion): Handle ERROR_MARK
+ and FUNCTION_DECL in the main switch.
+ <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR,
+ TRUTH_XOR_EXPR>: When changing the result type of these tree nodes,
+ we also need to convert their operands to match.
+ <TRUTH_NOT_EXPR>: Likewise.
+
+2005-03-21 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c (lvalue_or_else): Replace by lvalue_error; only give
+ diagnostic without checking whether an lvalue.
+ * c-common.h (lvalue_p): Remove.
+ (enum lvalue_use): Update comment.
+ (lvalue_or_else): Replace by lvalue_error.
+ * c-typeck.c (lvalue_p): Make static.
+ (lvalue_or_else): New. Call lvalue_error.
+
+2005-03-21 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000.c (rs6000_parm_start): New function.
+ (function_arg_advance): Use rs6000_parm_start.
+ (function_arg, rs6000_arg_partial_bytes): Likewise.
+
+2005-03-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c (check_case_value): Adjust comment about stripping
+ NOPs.
+ (handle_vector_size_attribute): Don't strip NON_LVALUE_EXPR.
+ * c-typeck.c (default_conversion, convert_arguments,
+ build_modify_expr, convert_for_assignment, store_init_value,
+ digest_init): Use STRIP_TYPE_NOPS instead of stripping nops
+ manually. Remove inaccurate comments.
+
2005-03-20 Roger Sayle <roger@eyesopen.com>
Joseph S. Myers <joseph@codesourcery.com>
(TARGET_OPTIONS): Delete.
* config/avr/avr.opt: New file.
+2005-03-18 2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/m32r/m32r-protos.h: Remove the prototypes for
+ call_address_operand, symbolic_operand, seth_add3_operand,
+ cmp_int16_operand, uint16_operand, reg_or_int16_operand,
+ reg_or_uint16_operand, reg_or_cmp_int16_operand,
+ two_insn_const_operand, move_src_operand,
+ move_double_src_operand, move_dest_operand,
+ eqne_comparison_operator, signed_comparison_operator,
+ large_insn_p, conditional_move_operand, carry_compare_operand,
+ m32r_block_immediate_operand, extend_operand,
+ reg_or_eq_int16_operand, int8_operand, and
+ reg_or_zero_operand.
+ * config/m32r/m32r.c (call_address_operand, symbolic_operand,
+ seth_add3_operand, int8_operand, cmp_int16_operand,
+ uint16_operand, reg_or_int16_operand, reg_or_uint16_operand,
+ reg_or_eq_int16_operand, reg_or_cmp_int16_operand,
+ reg_or_zero_operand, two_insn_const_operand, move_src_operand,
+ move_double_src_operand, move_dest_operand,
+ eqne_comparison_operator, signed_comparison_operator,
+ extend_operand, small_insn_p, large_insn_p,
+ conditional_move_operand, carry_compare_operand,
+ m32r_block_immediate_operand): Move to predicates.md.
+ (MAX_MOVE_BYTES): Move to m32r.h.
+ * config/m32r/m32r.h (PREDICATE_CODES): Remove.
+ * config/m32r/m32r.md: Include predicates.md.
+ * config/m32r/predicates.md: New.
+
2005-03-18 James E Wilson <wilson@specifixinc.com>
PR c++/19769
* tree-cfg.c (fold_cond_expr_cond): Use boolean types for condition.
- * cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
+ * cgraph.c (cgraph_remove_node): Avoid loop in code deciding whether
function body should be released; do not proactively release function
bodies in non-unit-at-a-time mode.
2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
PR tree-optimization/20474
- * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
+ * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Check the
size_type of the relevant pointer. Check for COMPLETE_TYPE_P.
2005-03-17 Kazu Hirata <kazu@cs.umass.edu>
(ia64_override_options): Move options parsing ...
(ia64_handle_option): ... here. New.
* config/ia64/ia64.h (target_flags, MASK_BIG_ENDIAN, MASK_GNU_AS,
- MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
+ MASK_GNU_LD, MASK_NO_PIC, MASK_VOL_ASM_STOP, MASK_ILP32,
MASK_REG_NAMES, MASK_NO_SDATA, MASK_CONST_GP, MASK_AUTO_PIC,
MASK_INLINE_FLOAT_DIV_LAT, MASK_INLINE_FLOAT_DIV_THR,
MASK_INLINE_INT_DIV_LAT, MASK_INLINE_INT_DIV_THR,
- MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
- MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
+ MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR, MASK_DWARF2_ASM,
+ MASK_EARLY_STOP_BITS, TARGET_BIG_ENDIAN, TARGET_GNU_AS, TARGET_GNU_LD,
TARGET_NO_PIC, TARGET_VOL_ASM_STOP, TARGET_ILP32, TARGET_REG_NAMES,
TARGET_NO_SDATA, TARGET_CONST_GP, TARGET_AUTO_PIC,
TARGET_INLINE_FLOAT_DIV_LAT, TARGET_INLINE_FLOAT_DIV_THR,
* config/alpha/alpha.opt: New file.
* config/alpha/alpha.c (alpha_tune): New. Rename all existing uses
of alpha_cpu.
- (alpha_cpu_string, alpha_tune_string, alpha_tp_string,
+ (alpha_cpu_string, alpha_tune_string, alpha_tp_string,
alpha_fprm_string, alpha_fptm_string): Make static.
(alpha_tls_size_string): Remove.
(alpha_handle_option): New.
(TARGET_DEFAULT_TARGET_FLAGS): New.
(TARGET_HANDLE_OPTION): New.
* config/alpha/alpha.h (alpha_tune): Declare.
- (MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
+ (MASK_FP, MASK_FPREGS, TARGET_FPREGS, MASK_GAS, TARGET_GAS,
MASK_IEEE_CONFORMANT, TARGET_IEEE_CONFORMANT, MASK_IEEE, TARGET_IEEE,
MASK_IEEE_WITH_INEXACT, TARGET_IEEE_WITH_INEXACT, MASK_BUILD_CONSTANTS,
TARGET_BUILD_CONSTANTS, MASK_FLOAT_VAX, TARGET_FLOAT_VAX, MASK_BWX,
* tree-vectorizer.c (new_vec_stmt_info): Initialize
STMT_VINFO_SUBVARS to NULL.
* tree-vect-analyze.c (vect_analyze_data_refs): Ditto.
-
+
2005-03-16 Dale Johannesen <dalej@apple.com>
* rtlanal.c (find_first_parameter_load): Rewrite to
(process_pending_assemble_output_defs): Remove.
2005-03-16 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/20489
* tree-ssa-alias.c (push_fields_onto_fieldstack): DTRT
2005-03-16 Daniel Berlin <dberlin@dberlin.org>
Fix PR tree-optimization/20490
-
+
* tree-ssa-pre.c (create_expression_by_pieces): Use
force_gimple_operand on result of fold.
fold_builtin_strncpy.
2005-03-16 Steven Bosscher <stevenb@suse.de>
- Dorit Naishlos <dorit@il.ibm.com>
+ Dorit Naishlos <dorit@il.ibm.com>
- * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
- UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
+ * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Copy
+ UNITS_PER_SIMD_WORD to a local variable to avoid a "division by zero"
error.
2005-03-16 Steven Bosscher <stevenb@suse.de>