+2005-03-27 Steven Bosscher <stevenb@suse.de>
+
+ * vax-protos.h (vax_output_int_move, vax_output_int_add,
+ vax_output_conditional_branch): New prototypes.
+ * vax.c (vax_output_int_move, vax_output_int_add): New functions,
+ extracted from vax.md mov and add patterns.
+ (vax_output_conditional_branch): New function to output conditional
+ branch instructions.
+ * vax.md: Use mode macros for arithmetic and mov patterns.
+ Use code macros for the jump patterns.
+
+2005-03-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * Makefile.in (libbackend.o): Depend on version files;
+ add custom generation command.
+
+2005-03-26 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR target/20636
+ * config/rs6000/rs6000.md (extendsfdf2_fpr): Check to make
+ sure that we have a REG before getting its REGNO.
+
+2005-03-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
+ * builtins.def (BUILT_IN_STRNDUP): New.
+
+2005-03-25 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR tree-optimization/20470
+ * fold-const.c (fold_cond_expr_with_comparison): Recognize/fold
+ ABS(x-y).
+
+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.
+
+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>
+
+ * varasm.c (do_assemble_alias): Restore comment describing function.
+ Annotate the target parameter as potentially unused.
+
+2005-03-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ PR target/18551
+ * config/avr/avr.c (avr_output_function_prologue): Do not use
+ current_function_name() in a label, use a local label instead.
+
+2005-03-20 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_generate_compare): Test
+ flag_finite_math_only, not flag_unsafe_math_optimizations.
+
+2005-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_1): Update a call to
+ targetm.fold_builtin.
+ * hooks.c (hook_tree_tree_bool_null): Rename to
+ hook_tree_tree_tree_bool_null. Take one more argument of type
+ tree.
+ * hooks.h: Update the prototype of hook_tree_tree_bool_null.
+ * target-def.h (TARGET_FOLD_BUILTIN): Define it as
+ hook_tree_tree_tree_bool_null.
+ * target.h (gcc_target): Update the prototype of fold_builtin.
+ * config/alpha/alpha.c (alpha_fold_builtin): Take decomposed
+ arguments of CALL_EXPR.
+ * doc/tm.texi (TARGET_FOLD_BUILTIN): Update. Mention the
+ new prototype.
+
+2005-03-20 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_node): Add prev_clone pointer.
+ * cgraph.c (cgraph_remove_node): Remove from doubly linked chain.
+ (cgraph_clone_node): Produce doubly linked chain.
+
+2005-03-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c (handle_aligned_attribute, check_function_sentinel,
+ get_nonnull_operand, handle_sentinel_attribute,
+ check_function_arguments_recurse): Do not strip NOPS from
+ INTEGER_CSTs.
+ * c-decl.c (check_bitfield_type_and_width, build_enumerator):
+ Likewise.
+ * c-format.c (get_constant): Likewise.
+ * c-parser.c (c_parser_postfix_expression): Likewise.
+ * c-typeck.c (set_init_index): Likewise.
+ (convert_arguments): Don't check for NOP_EXPR containing integer
+ constant.
+
+2005-03-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_fixed_mathfn, fold_builtin_trunc,
+ fold_builtin_floor, fold_builtin_ceil, fold_builtin_lround):
+ Take decomposed arguments of CALL_EXPR.
+ (fold_builtin_1): Update calls to the functions mentioned
+ above.
+
+2005-03-20 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-decl.c (check_bitfield_type_and_width): Require bit-field
+ width to have integer type.
+ (build_enumerator): Require enumerator value to have integer type.
+
+2005-03-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * doc/extend.texi (__builtin_inf): Move statement about INFINITY
+ to __builtin_inff.
+
+2005-03-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
+ std=iso9899:199x): Correct descriptions.
+
+2005-03-19 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config.gcc: Consistently use solaris2.1[0-9]* instead of
+ solaris2.1[0-9].
+
+2005-03-19 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_memcpy): Take decomposed arguments
+ of CALL_EXPR.
+ (expand_builtin_memcpy, fold_builtin_1): Update calls to
+ fold_builtin_memcpy.
+
+ * builtins.c (fold_trunc_transparent_mathfn): Take decomposed
+ arguments of CALL_EXPR.
+ (fold_builtin_trunc, fold_builtin_floor, fold_builtin_ceil,
+ fold_builtin_found, fold_builtin_1): Update calls to
+ fold_trunc_transparent_mathfn.
+
+2005-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/20493
+ * fold-const.c (fold_widened_comparison): Don't optimize casts of
+ function pointers on targets that require function pointer
+ canonicalization.
+ (fold_sign_changed_comparison): Likewise.
+
+2005-03-19 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * combine.c (try_combine): When changing the mode of a hard reg, make
+ sure that doing so is valid.
+
+2005-03-19 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/avr/avr.c (avr_init_stack, avr_mcu_name): Make static.
+ (TARGET_HANDLE_OPTION): Override default.
+ (avr_handle_option): New function.
+ * config/avr/avr.h (MASK_ALL_DEBUG, MASK_ORDER_1, MASK_INSN_SIZE_DUMP)
+ (MASK_ORDER_2, MASK_NO_TABLEJUMP, MASK_INT8, MASK_NO_INTERRUPTS)
+ (MASK_CALL_PROLOGUES, MASK_TINY_STACK, MASK_SHORT_CALLS)
+ (TARGET_ORDER_1, TARGET_ORDER_2, TARGET_INT8, TARGET_NO_INTERRUPTS)
+ (TARGET_INSN_SIZE_DUMP, TARGET_CALL_PROLOGUES, TARGET_TINY_STACK)
+ (TARGET_NO_TABLEJUMP, TARGET_SHORT_CALLS, TARGET_ALL_DEBUG)
+ (TARGET_SWITCHES, avr_init_stack, avr_mcu_name)
+ (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
+ * dwarf2out.c (declare_in_namespace): Ignore decls with an abstract
+ origin.
+
+2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/mn10300/mn10300-protos.h: Remove the prototypes for
+ call_address_operand, const_8bit_operand.
+ * config/mn10300/mn10300.c (call_address_operand,
+ const_8bit_operand, const_1f_operand): Move to predicates.md.
+ * config/mn10300/mn10300.h (PREDICATE_CODES): Remove.
+ * config/mn10300/mn10300.md: Include predicates.md.
+ * config/mn10300/predicates.md: New.
+
+2005-03-18 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c, c-decl.c, c-format.c, c-typeck.c: Use %D for
+ declarations in diagnostics and %E for identifiers, not %s.
+
+2005-03-18 Jan Hubicka <jh@suse.cz>
+ Dale Johannesen <dalej@apple.com>
+
+ * basic-block.h (scale_bbs_frequencies_int,
+ scale_bbs_frequencies_gcov_type): Declare.
+ * cfg.c (RDIV): New macro.
+ (update_bb_frequency_for_threading): Fix.
+ * basic-block.h (scale_bbs_frequencies_int,
+ scale_bbs_frequencies_gcov_type): New.
+ * cfgloopmanip.c (scale_bbs_frequencies): Kill.
+ (scale_loop_frequencies, duplicate_loop_to_header_edge): Use
+ scale_bbs_frequencies_int.
+ * tree-ssa-loop-ch.c (copy_loop_headers): Fix profiling info.
+
+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.
+
+ * config/pa/pa-protos.h: Add prototypes for magic_milli and
+ shadd_constant_p.
+ * config/pa/pa.c (reg_or_0_operand, call_operand_address,
+ symbolic_operand, symbolic_memory_operand,
+ reg_or_0_or_nonsymb_mem_operand, reg_before_reload_operand,
+ indexed_memory_operand, move_dest_operand, move_src_operand,
+ prefetch_cc_operand, prefetch_nocc_operand,
+ reg_or_cint_move_operand, pic_label_operand, fp_reg_operand,
+ arith_operand, arith11_operand, pre_cint_operand,
+ post_cint_operan, arith_double_operand, ireg_or_int5_operand,
+ ireg_operand, int5_operand, uint5_operand, int11_operand,
+ uint32_operand, arith5_operand, and_operand, ior_operand,
+ lhs_lshift_operand, lhs_lshift_cint_operand, arith32_operand,
+ pc_or_label_operand, div_operand, plus_xor_ior_operator,
+ shadd_operand, movb_comparison_operator,
+ cmpib_comparison_operator): Move to predicates.md.
+ (magic_milli, shadd_constant_p): Make it extern.
+ * config/pa/pa.h (PREDICATE_CODES): Remove.
+ * config/pa/pa.md: Include predicates.md.
+ * config/pa/predicates.md: New.
+
+ * config/v850/v850.h (PREDICATE_CODES): Remove a nonexistent
+ predicate.
+
+2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * hooks.c, hooks.h, intl.c, opts.h, prefix.c, tree-gimple.c,
+ config/alpha/ev4.md, config/alpha/ev5.md, config/alpha/ev6.md,
+ config/alpha/freebsd.h, config/alpha/linux.h,
+ config/alpha/netbsd.h, config/alpha/osf5.h,
+ config/alpha/vms.h, config/arc/arc.c, config/arc/arc.h,
+ config/h8300/h8300-protos.h, config/h8300/h8300.c,
+ config/h8300/h8300.h, config/ia64/unwind-ia64.c,
+ doc/cppopts.texi: Update copyright.
+
+2005-03-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/20225
+ * cgraph.c (cgraph_mark_reachable_node): Assert that it is not called
+ too late.
+ * varasm.c (find_decl_and_mark_needed): Mark needed only when not
+ called too late.
+
+2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-into-ssa.c (find_idf): Use VEC_quick_push instead of
+ VEC_safe_push.
+
+2005-03-18 Paolo Bonzini <bonzini@gnu.org>
+
+ * combine.c (gen_binary): Remove.
+ (known_cond, simplify_shift_const, find_split_point,
+ combine_simplify_rtx, simplify_if_then_else, simplify_set,
+ simplify_logical, expand_field_assignment, extract_left_shift,
+ force_to_mode, if_then_else_cond, apply_distributive_law,
+ simplify_and_const_int, simplify_shift_const, gen_lowpart_for_combine,
+ simplify_comparison, reversed_comparison): Replace with
+ simplify_gen_binary, simplify_gen_relational or
+ distribute_and_simplify_rtx.
+ (distribute_and_simplify_rtx): New function.
+
+2005-03-18 Alexey Neyman <alex.neyman@auriga.ru>
+ Paolo Bonzini <gcc.gnu.org>
+
+ * calls.c (setjmp_call_p, special_function_p): Update comments
+ at the head of the functions.
+
+2005-03-18 Jan Hubicka <jh@suse.cz>
+
+ * tree-cfg.c (fold_cond_expr_cond): Use boolean types for condition.
+
+ * 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-18 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config/i386/t-rtems-i386 (MULTILIBS): Remove k6, athlon,
+ mno-fp-ret-in-387 multilib variants.
+
+2005-03-18 Richard Sandiford <rsandifo@redhat.com>
+
+ * common.opt (m): Remove.
+ * opts.c (handle_option): Pass 'm' options to set_target_switch if
+ table lookup fails.
+ (common_handle_option): Remove OPT_m case.
+
+2005-03-18 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (fold_builtin_bitop): Take decomposed arguments
+ of CALL_EXPR.
+ (fold_builtin_1): Update a call to fold_builtin_bitop.
+
+ * builtins.c (fold_builtin_signbit): Take decomposed arguments
+ of CALL_EXPR.
+ (fold_builtin_1): Update a call to fold_builtin_signbit.
+
+2005-03-17 Dorit Naishlos <dorit@il.ibm.com>
+
+ PR tree-optimization/20474
+ * 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>
+
+ * config/h8300/h8300-protos.h: Remove prototypes for
+ general_operand_src, general_operand_dst, single_one_operand,
+ single_zero_operand, call_insn_operand,
+ two_insn_adds_subs_operand, small_call_insn_operand,
+ jump_address_operand, bit_operand, bit_memory_operand,
+ stack_pointer_operand, const_int_gt_2_operand,
+ const_int_ge_8_operand, const_int_qi_operand,
+ const_int_hi_operand, incdec_operand, bit_operator,
+ nshift_operator, eqne_operator, gtle_operator,
+ gtuleu_operator, iorxor_operator.
+ Add prototypes for h8sx_shift_type h8sx_classify_shift and
+ h8300_ldm_stm_parallel.
+ * config/h8300/h8300.c (h8sx_shift_type,): Move to
+ h8300-protos.h.
+ (SYMBOL_FLAG_FUNCVEC_FUNCTION, SYMBOL_FLAG_EIGHTBIT_DATA,
+ SYMBOL_FLAG_TINY_DATA): Move to h8300.h.
+ (h8300_ldm_stm_parallel): Make it extern.
+ (h8300_ldm_parallel, h8300_stm_parallel,
+ h8300_return_parallel, general_operand_src,
+ general_operand_dst, h8300_dst_operand, h8300_src_operand,
+ nibble_operand, reg_or_nibble_operand, single_one_operand,
+ single_zero_operand, call_insn_operand,
+ two_insn_adds_subs_operand, small_call_insn_operand,
+ jump_address_operand, bit_operand, bit_memory_operand,
+ stack_pointer_operand, const_int_gt_2_operand,
+ const_int_ge_8_operand, const_int_qi_operand,
+ const_int_hi_operand, incdec_operand, eqne_operator,
+ gtle_operator, gtuleu_operator, iorxor_operator, bit_operator,
+ h8sx_binary_memory_operator, h8sx_unary_memory_operator,
+ h8sx_unary_shift_operator, h8sx_binary_shift_operator,
+ nshift_operator): Move to predicates.md.
+ * config/h8300/h8300.h (PREDICATE_CODES): Remove.
+ * config/h8300/h8300.md: Include predicates.md.
+ * config/h8300/predicates.md: New.
+
+2005-03-17 Richard Henderson <rth@redhat.com>
+
+ * config.gcc (ia64*-*-hpux*): Add extra_options.
+ * config/ia64/hpux.h (SUBTARGET_SWITCHES): Remove.
+ (TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
+ * config/ia64/ia64.c (ia64_fixed_range_string): Remove.
+ (ia64_tls_size_string, ia64_tune_string): Remove.
+ (ia64_tune): Init to PROCESSOR_ITANIUM2.
+ (TARGET_DEFAULT_TARGET_FLAGS): New.
+ (TARGET_HANDLE_OPTION): New.
+ (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_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,
+ 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,
+ TARGET_INLINE_INT_DIV_LAT, TARGET_INLINE_INT_DIV_THR,
+ TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_INT_DIV, TARGET_INLINE_SQRT_LAT,
+ TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT, TARGET_DWARF2_ASM,
+ TARGET_EARLY_STOP_BITS): Remove.
+ (TARGET_ILP32): Default false.
+ (TARGET_SWITCHES, SUBTARGET_SWITCHES, TARGET_OPTIONS): Remove.
+ (enum ia64_inline_type): New.
+ (TARGET_DEFAULT): Remove MASK_INLINE_FLOAT_DIV_THR.
+ * config/ia64/ia64.md: Update for new definitions of
+ TARGET_INLINE_INT_DIV, TARGET_INLINE_FLOAT_DIV, TARGET_INLINE_SQRT.
+ * config/ia64/ia64.opt: New file.
+ * config/ia64/ilp32.opt: New file.
+
+2005-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/18380
+ * config/ia64/unwind-ia64.c (_Unwind_FindTableEntry): Removed.
+
+2005-03-17 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.c (h8300_init_once): Use MASK_H8300S_1
+ instead of MASK_H8300S.
+ * config/h8300/h8300.h (target_flags, MASK_H8300S, MASK_MAC,
+ MASK_INT32, MASK_ADDRESSES, MASK_QUICKCALL, MASK_SLOWBYTE,
+ MASK_NORMAL_MODE, MASK_RELAX, MASK_H8300H, MASK_ALIGN_300,
+ MASK_H8300SX, TARGET_INT32, TARGET_ADDRESSES,
+ TARGET_QUICKCALL, TARGET_SLOWBYTE, TARGET_H8300H,
+ TARGET_H8300XS, TARGET_NORMAL_MODE, TARGET_ALIGN_300,
+ TARGET_SWITCHES): Remove.
+ (TARGET_H8300S): Redefine interms of TARGET_H8300S_1 and
+ TARGET_H8300SX.
+ * config/h8300/h8300.opt: New.
+
+ * config/alpha/alpha.opt, config/arc/arc.opt,
+ config/h8300/h8300.opt, config/mips/mips.opt: Add copyright
+ notices.
+
+2005-03-17 Ian Lance Taylor <ian@airs.com>
+
+ * gmon.c: Remove.
+
+2005-03-17 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/arc/arc.c (arc_cpu_string): Make static. Default to "base"
+ (arc_text_string, arc_data_string, arc_rodata_string): Make static.
+ (TARGET_HANDLE_OPTION): Override default.
+ (arc_handle_option): New function.
+ (arc_init): Remove code to set arch_cpu_string.
+ * config/arc/arc.h (target_flags, TARGET_MASK_MANGLE_CPU)
+ (TARGET_MANGLE_CPU, TARGET_MASK_MANGLE_CPU_LIBGCC)
+ (TARGET_MANGLE_CPU_LIBGCC, TARGET_MASK_ALIGN_LOOPS, TARGET_ALIGN_LOOPS)
+ (TARGET_MASK_BIG_ENDIAN, TARGET_BIG_ENDIAN, TARGET_MASK_NO_COND_EXEC)
+ (TARGET_NO_COND_EXEC, TARGET_SWITCHES, TARGET_DEFAULT)
+ (SUBTARGET_SWITCHES, arc_cpu_string, arc_text_string, arc_data_string)
+ (arc_rodata_string, TARGET_OPTIONS): Delete.
+ * config/arc/arc.opt: New file.
+
+2005-03-17 Richard Henderson <rth@redhat.com>
+
+ * doc/extend.texi (Weak Pragmas): New section.
+ (attribute alias): Clarify that target must be in the same
+ translation unit.
+
+2005-03-17 Richard Henderson <rth@redhat.com>
+
+ * 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_fprm_string, alpha_fptm_string): Make static.
+ (alpha_tls_size_string): Remove.
+ (alpha_handle_option): New.
+ (override_options): Update for alpha_cpu/alpha_tune split.
+ (alpha_file_start): Likewise.
+ (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_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,
+ TARGET_BWX, MASK_MAX, TARGET_MAX, MASK_FIX, TARGET_FIX, MASK_CIX,
+ TARGET_CIX, MASK_EXPLICIT_RELOCS, TARGET_EXPLICIT_RELOCS,
+ MASK_SMALL_DATA, TARGET_SMALL_DATA, MASK_TLS_KERNEL, TARGET_TLS_KERNEL,
+ MASK_SMALL_TEXT, TARGET_SMALL_TEXT, MASK_LONG_DOUBLE_128,
+ TARGET_LONG_DOUBLE_128, MASK_CPU_EV5, TARGET_CPU_EV5, MASK_CPU_EV6,
+ TARGET_CPU_EV6, MASK_SUPPORT_ARCH): Remove.
+ (TARGET_SWITCHES, TARGET_OPTIONS): Remove.
+ (TARGET_DEFAULT): Remove MASK_FP.
+ (TARGET_FP): Redefined based on TARGET_SOFT_FP.
+ (TARGET_SUPPORT_ARCH): Default on if HAVE_AS_EXPLICIT_RELOCS.
+ (alpha_cpu_string, alpha_tune_string, alpha_fprm_string,
+ alpha_fptm_string, alpha_tp_string, alpha_mlat_string,
+ alpha_tls_size_string): Remove.
+ * config/alpha/alpha.md (prefetch): Use alpha_cpu.
+ (attribute tune): Rename from attribute cpu.
+ * config/alpha/ev4.md: Update to match.
+ * config/alpha/ev5.md, config/alpha/ev6.md: Likewise.
+ * config/alpha/freebsd.h (TARGET_DEFAULT): Remove MASK_FP.
+ * config/alpha/linux.h (TARGET_DEFAULT): Likewise.
+ * config/alpha/netbsd.h (TARGET_DEFAULT): Likewise.
+ * config/alpha/osf5.h (TARGET_DEFAULT): Likewise.
+ * config/alpha/vms.h (TARGET_DEFAULT): Likewise.
+
+2005-03-16 James E. Wilson <wilson@specifixinc.com>
+
+ * config/ia64/ia64.c (issue_nops_and_insn): Check first_insn attribute,
+ and return without creating new state if before_nops_num is nonzero.
+ * config/ia64/ia64.md (first_insn): New attribute.
+ (alloc): Set it to yes.
+
+2005-03-16 Daniel Berlin <dberlin@dberlin.org>
+
+ * 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
+ return actual first param load or the call if none,
+ instead of first in block, when not all loads exist.
+
+2005-03-16 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (expand_copysign_absneg): Make static.
+ * optabs.h (expand_copysign_absneg): Delete prototype.
+ * config/rs6000/rs6000.md (copysigntf3): Delete pattern.
+
+2005-03-16 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/15700
+ * varasm.c (struct alias_pair): Rename from struct output_def_pair.
+ (alias_pairs): Rename from output_defs.
+ (find_decl_and_mark_needed): Split out from assemble_alias.
+ (do_assemble_alias): New.
+ (assemble_output_def): Remove.
+ (finish_aliases_1, finish_aliases_2): New.
+ (process_pending_assemble_output_defs): Remove.
+ (assemble_alias): Defer aliases for which we don't yet have a
+ non-external decl for the target symbol.
+ * passes.c (rest_of_decl_compilation): Register variables with cgraph.
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Use finish_aliases_1.
+ * toplev.c (compile_file): Use finish_aliases_2 instead of
+ process_pending_assemble_output_defs.
+ * tree.h (finish_aliases_1, finish_aliases_2): Declare.
+ (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
+ for empty structures.
+
+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.
+
+2005-03-16 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/i386/emmintrin.h (_mm_extract_epi16): Correct the number
+ of closing parenthesis.
+
+2005-03-16 Kazu Hirata <kazu@cs.umass.edu>
+
+ * builtins.c (expand_movstr): Update a call to
+ fold_builtin_strcpy.
+ (expand_builtin_strncpy): Update a call to
+ fold_builtin_strncpy.
+ (fold_builtin_strcpy, fold_builtin_strncpy): Take decomosed
+ arguments of CALL_EXPR.
+ (fold_builtin_1): Update calls to fold_builtin_strcpy and
+ fold_builtin_strncpy.
+ * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+ * tree.h: Update the prototypes of fold_builtin_strcpy and
+ fold_builtin_strncpy.
+
+2005-03-16 Steven Bosscher <stevenb@suse.de>
+ 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"
+ error.
+
+2005-03-16 Steven Bosscher <stevenb@suse.de>
+
+ * tree-inline.c (walk_type_fields, walk_tree,
+ walk_tree_without_duplicates): Move from here...
+ * tree.c: ...to here.
+
+2005-03-15 Zack Weinberg <zack@codesourcery.com>
+
+ * BASE-VER, DATESTAMP, DEV-PHASE: New files.
+ * Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
+ (BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
+ (BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
+ (version): Define using $(BASEVER_c).
+ (Makefile, config.status, build/gcov-iov.o): No longer depends on
+ version.c.
+ (version.o): Depend on version files; add custom generation command.
+ (prefix.o): Define BASEVER on command line.
+ (s-iov): Depend on version files; adjust command.
+ (TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
+ Add gcc-vers.texi.
+ (gcc-vers.texi): New rule.
+ (doc/%.info, doc/%.dvi): Add -I . to command line.
+ (doc/gccinstall.dvi): Likewise.
+ (PACKAGE): Delete. All uses replaced with "gcc".
+ * aclocal.m4: Do not include gcc-version.m4.
+ * configure.ac: Do not invoke TL_AC_GCC_VERSION.
+ Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
+ Set is_release based on contents of DEV-PHASE.
+ Set gcc_version based on contents of BASE-VER.
+ Define WIN32_REGISTRY_KEY only if the user overrode the default.
+ * config.in, configure: Regenerate.
+ * gccbug.in: Determine version of GCC in use at runtime.
+ * gcov-iov.c: Get version number and development phase from
+ command line, not by including version.c.
+ * intl.c: Replace all uses of PACKAGE with "gcc".
+ * libada-mk.in: Delete unused "gcc_version" variable.
+ * prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
+ * version.c: (VERSUFFIX): New hook for redistributors; adjust
+ commentary to match.
+ (version_string): Put together from pieces.
+ * config/alpha/x-vms: Do not use $(gcc_version).
+ * config/i386/t-nwld: Likewise.
+ * doc/include/gcc-common.texi: Include gcc-vers.texi for
+ version-GCC and DEVELOPMENT.
+
+2005-03-15 Roger Sayle <roger@eyesopen.com>
+
+ PR tree-optimization/17454
+ * tree.c (tree_size): Add case for TREE_BINFO.
+ * fold-const.c (fold_checksum_tree): Only clear the overloaded
+ field TYPE_CACHED_VALUES if TYPE_CACHED_VALUES_P is set.
+
+2005-03-15 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (expand_doubleword_mult): Avoid clobbering op0 and
+ op1 whilst expanding the signed widenening multiply variant.
+
+2005-03-15 Richard Sandiford <rsandifo@redhat.com>
+
+ * toplev.c (display_target_options): Avoid unused variable warning if
+ TARGET_SWITCHES and TARGET_OPTIONS are both undefined.
+ * config/mips/mips.c (mips_arch_string, mips_tune_string): Make static.
+ (mips_isa_string, mips_abi_string, mips_fix_vr4130_string): Delete.
+ (mips_isa): Initialize to MIPS_ABI_DEFAULT.
+ (mips_isa_info): New variable.
+ (mips_parse_cpu): Remove the first argument and leave the caller
+ to report errors.
+ (TARGET_HANDLE_OPTION): Override default.
+ (mips_handle_option): New function. Move option validation code from...
+ (override_options): ...here. Update calls to mips_parse_cpu.
+ * config/mips/mips.h (mips_arch_string, mips_tune_string)
+ (mips_isa_string, mips_abi_string, TARGET_OPTIONS)
+ (SUBTARGET_TARGET_OPTIONS): Delete.
+ * config/mips/mips.opt (mabi=, march=, mflush-func=, mips)
+ (mno-flush-func, mtune=): New options.
+
+2005-03-15 Roger Sayle <roger@eyesopen.com>
+ Richard Henderson <rth@redhat.com>
+
+ * real.c (c4x_single_format, c4x_extended_format): Provide values
+ for signbit_ro for c4x's single and extended floating point formats.
+ * optabs.c (expand_copysign): Use the floating point format's
+ signbit_ro for expanding via expand_copysign_absneg, and it's
+ signbit_rw field for expanding via expand_copysign_bit.
+
+2005-03-15 Dorit Naishlos <dorit@il.ibm.com>
+
+ * tree-vectorizer.h (unknown_alignment_for_access_p): Replaced by
+ known_alignment_for_access_p.
+ (known_alignment_for_access_p): New.
+ (do_peeling_for_alignment): Field made int instead of bool and renamed
+ to peeling_for_alignment.
+ (LOOP_DO_PEELING_FOR_ALIGNMENT): Renamed to LOOP_PEELING_FOR_ALIGNMENT.
+ * tree-vect-analyze.c (vect_determine_vectorization_factor): New. This
+ functionality used to be in vect_analyze_operations.
+ (vect_analyze_operations): Code to determine vectorization factor was
+ moved to vect_determine_vectorization_factor.
+ (vect_enhance_data_refs_alignment): Update to correct alignment when it
+ is known instead of -1. Set LOOP_PEELING_FOR_ALIGNMENT to peeling
+ factor.
+ (vect_analyze_loop): Call vect_determine_vectorization_factor (used to
+ be part of vect_analyze_operations).
+ * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Use fold when
+ creating the guard condition, as the number of iterations may be
+ constant.
+ (slpeel_tree_peel_loop_to_edge): Use new name of
+ LOOP_DO_PEELING_FOR_ALIGNMENT. Set it to 0 instead of false.
+ * tree-vect-transform.c (vect_gen_niters_for_prolog_loop): Handle known
+ alignment case more efficiently. Use LOOP_PEELING_FOR_ALIGNMENT.
+ (vect_do_peeling_for_alignment): Use fold.
+ (vect_transform_loop): Use new name of LOOP_DO_PEELING_FOR_ALIGNMENT.
+
+ (vect_update_inits_of_dr): Renamed to
+ vect_update_init_of_dr.
+ (vect_update_inits_of_drs): Use new name of vect_update_inits_of_dr.
+ (vectorizable_store): Fix assertion to use == instead of =.
+
+2005-03-15 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Don't clear
+ call_used_regs for wCG registers.
+
+2005-03-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_secondary_output_reload_class): Adapt check
+ for non-offsettable memory references to cope with outstanding reload
+ replacements, take 2.
+
+2005-03-15 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/18668
+ * config/i386/i386.h (x86_fisttp): New.
+ (TARGET_FISTTP): New macro.
+ * config/i386/i386.c (x86_fisttp): Set for NOCONA.
+ (output_fix_trunc): Add fisttp parameter. Generate fisttp x87
+ instruction when fisttp flag is set.
+ * config/i386/i386-protos.h (output_fix_trunc): Change declaration.
+
+ * config/i386/i386.md (type attribute): Add fisttp.
+ (unit attribute): Set to i387 for fisttp type.
+ (X87MODEF, X87MODEI, SSEMODEF, SSEMODEI24): New mode macros.
+ (fix_truncxfdi2, fix_truncxfsi2): Generate fisttp patterns for
+ TARGET_FISTTP.
+ (fix_truncdfdi2, fix_truncsfdi2, fix_truncdfsi2, fix_truncsfsi2):
+ Generate fisttp patterns for TARGET_FISTTP. Implement using mode
+ macros.
+ (fix_truncxfhi2, fix_truncdfhi2, fix_truncsfhi2): Generate fisttp
+ patterns for TARGET_FISTTP. Enable patterns for
+ (TARGET_FISTTP && !TARGET_SSE_MATH). Implement using mode macros.
+ (fix_trunc<mode>_i387_fisttp_1, fix_trunc<mode>_i387_fisttp,
+ fix_trunc<mode>_i387_fisttp_with_temp): New instruction patterns to
+ implement fisttp x87 insn.
+ (fix_trunc*_i387_fisttp splitters): New patterns.
+ (*fix_truncdi_i387, *fix_truncsi_i387, *fix_trunchi_i387):
+ Rename to *fix_trunc<mode>_i387_1. Implement using mode macros.
+ Disable patterns for TARGET_FISTTP. Add comment about FLAGS_REG
+ clobber.
+ (fix_truncdi_memory, fix_truncdi_nomemory, fix_trunchi_nomemory):
+ Rename to fix_trunc<mode>_i387 and fix_trunc<mode>_i387_with_temp.
+ Implement using mode macros. Disable patterns for TARGET_FISTTP.
+ (fix_truncsi_memory, fix_truncsi_nomemory, fix_trunchi_memory,
+ fix_trunchi_nomemory): Rename to fix_trunc<mode>_i387 and
+ fix_trunc<mode>_i387_with_temp. Implement using mode macros.
+ Disable patterns for TARGET_FISTTP.
+ (fix_trunc*_i387 splitters): Implement usign mode macros.
+ (fix_truncdfdi_sse, fix_truncsfdi_sse, fix_truncdfsi_sse,
+ fix_truncsfsi_sse): Disable for (TARGET_FISTTP && !TARGET_SSE_MATH).
+ (fix_trunx*_sse peephole2s): Implement using mode macros.
+
+2005-03-15 J"orn Rennecke <joern.rennecke@st.com>
+
+ PR rtl-optimization/20291
+ * combine.c (try_combine): If splitting fails, re-try with
+ original combined pattern, i.e. before clobber stripping.
+
+2005-03-14 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.h (DWARF_CIE_DATA_ALIGNMENT): Change for
+ STACK_GROWS_DOWNWARD.
+
+2005-03-14 Roger Sayle <roger@eyesopen.com>
+
+ * real.h (struct real_format): Split the signbit field into two
+ two fields, signbit_ro and signbit_rw.
+ * real.c (ieee_single_format, mips_single_format, ieee_double_format,
+ mips_double_format, ieee_extended_motorola_format,
+ ieee_extended_intel_96_format, ieee_extended_intel_96_round_53_format,
+ ieee_extended_intel_128_format, ibm_extended_format,
+ mips_extended_format, ieee_quad_format, mips_quad_format,
+ vax_f_format, vax_d_format, vax_g_format, i370_single_format,
+ i370_double_format, c4x_single_format, c4x_extended_format,
+ real_internal_format): Update initializers for new field.
+ * builtins.c (expand_builtin_signbit): Use signbit_ro field of the
+ real_format structure.
+ * optabs.c (expand_absneg_bit, expand_copysign): Use signbit_rw
+ field of the real_format structure.
+
+2005-03-14 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/20458
+
+ * tree-flow-inline.h (mark_call_clobbered): Don't fiddle
+ DECL_EXTERNAL on STRUCT_FIELD tags.
+ (clear_call_clobbered): Ditto.
+ * tree-ssa-operands.c (note_addressable): Make sure the original
+ variable doesn't slip into the addressable list if we have
+ subvars.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Look at STRUCT_FIELD
+ tags too.
+
+2005-03-14 Geoffrey Keating <geoffk@apple.com>
+
+ * doc/cppopts.texi (-fexec-charset): Add concept index entry.
+ (-fwide-exec-charset): Likewise.
+ (-finput-charset): Likewise.
+ * doc/invoke.texi (Warning Options): Document -Wnormalized=.
+ * c-opts.c (c_common_handle_option): Handle -Wnormalized=.
+ * c.opt (Wnormalized): New.
+
+2005-03-14 Devang Patel <dpatel@apple.com>
+
+ * doc/invoke.texi: Add reference to Visibility document.
+
+2005-03-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * config.gcc (mips*-*-*): Rename MASK_SPLIT_ADDRS to
+ MASK_SPLIT_ADDRESSES.
+ * config/mips/mips.h (target_flags, mips_fix_vr4130_string): Delete.
+ (MASK_INT64, MASK_LONG64, MASK_SPLIT_ADDR, MASK_NO_FUSED_MADD)
+ (MASK_EXPLICIT_RELOCS, MASK_MEMCPY, MASK_SOFT_FLOAT)
+ (MASK_FLOAT64, MASK_ABICALLS, MASK_XGOT, MASK_LONG_CALLS)
+ (MASK_64BIT, MASK_EMBEDDED_DATA, MASK_BIG_ENDIAN)
+ (MASK_SINGLE_FLOAT, MASK_MAD, MASK_4300_MUL_FIX, MASK_MIPS16)
+ (MASK_NO_CHECK_ZERO_DIV, MASK_BRANCHLIKELY)
+ (MASK_UNINIT_CONST_IN_RODATA, MASK_FIX_R4000, MASK_FIX_R4400)
+ (MASK_FIX_SB1, MASK_FIX_VR4120, MASK_VR4130_ALIGN)
+ (MASK_FP_EXCEPTIONS, MASK_DIVIDE_BREAKS, MASK_PAIRED_SINGLE)
+ (MASK_MIPS3D, MASK_SYM32, MASK_DEBUG, MASK_DEBUG_D)
+ (MASK_MIPS_TFILE, TARGET_INT64, TARGET_LONG64, TARGET_FLOAT64)
+ (TARGET_64BIT, TARGET_SPLIT_ADDRESSES, TARGET_DEBUG_MODE)
+ (TARGET_DEBUG_D_MODE, TARGET_MEMCPY, TARGET_ABICALLS)
+ (TARGET_XGOT, TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT)
+ (TARGET_LONG_CALLS, TARGET_EMBEDDED_DATA)
+ (TARGET_UNINIT_CONST_IN_RODATA, TARGET_BIG_ENDIAN)
+ (TARGET_SINGLE_FLOAT, TARGET_DOUBLE_FLOAT, TARGET_MAD)
+ (TARGET_FUSED_MADD, TARGET_4300_MUL_FIX, TARGET_CHECK_ZERO_DIV)
+ (TARGET_DIVIDE_TRAPS, TARGET_BRANCHLIKELY, TARGET_FIX_SB1)
+ (TARGET_FIX_R4000, TARGET_FIX_R4400, TARGET_FIX_VR4120)
+ (TARGET_FIX_VR4130, TARGET_VR4130_ALIGN, TARGET_FP_EXCEPTIONS)
+ (TARGET_PAIRED_SINGLE_FLOAT, TARGET_MIPS3D, TARGET_SYM32)
+ (TARGET_EXPLICIT_RELOCS): Delete.
+ (TARGET_SWITCHES, SUBTARGET_TARGET_SWITCHES): Delete.
+ (TARGET_OPTIONS): Remove entry for -mfix-vr4130.
+ * config/mips/mips.c (TARGET_DEFAULT_TARGET_FLAGS): Define.
+ (override_options): Set MASK_LONG64 if -mint64 is given and no
+ -mlongXX option is. Complain about -mint64 -mlong32.
+ (override_options, CMP_BUILTINS, mips_bdesc, sb1_desc): Rename
+ MASK_PAIRED_SINGLE to MASK_PAIRED_SINGLE_FLOAT.
+ * config/mips/mips.opt: New file.
+
+2005-03-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * config.gcc (extra_options): New variable for listing option files.
+ Add ${cpu_type}/${cpu_type}.opt to it if that file exists.
+ * configure.ac (extra_opt_files): New AC_SUBST variable.
+ (tm_file_list, tm_include_list): Include options.h first.
+ * configure: Regenerate.
+ * Makefile.in (extra_opt_files, ALL_OPT_FILES): New variables.
+ (s-options): Use $(ALL_OPT_FILES) instead of $(lang_opt_files)
+ (s-options-h): New rule.
+ (options.h): Depend on it.
+ (TEXI_GCCINT_FILES): Add options.texi.
+ * hooks.h (hook_bool_size_t_constcharptr_int_true): Declare.
+ * hooks.c (hook_bool_size_t_constcharptr_int_true): New function.
+ * target.h (gcc_target): Add default_target_flags and handle_option.
+ * target-def.h (TARGET_DEFAULT_TARGET_FLAGS)
+ (TARGET_HANDLE_OPTION): New macros.
+ (TARGET_INITIALIZER): Include them.
+ * opt-functions.awk (opt_args, nth_arg): New functions.
+ (switch_flags): Handle the "Target" flag.
+ (var_args): Delete.
+ (var_name): Use opt_args and nth_arg.
+ (var_set, var_ref): Likewise. Handle "Mask" and "InverseMask".
+ * opth-gen.awk: Declare target_flags. Declare MASK_* and TARGET_*
+ macros for the "Mask" and "InverseMask" options.
+ * opts.h (cl_var_cond): New enum.
+ (cl_option): Replace the "has_set_value" and "set_value" fields with
+ "var_cond" and "var_value".
+ (CL_TARGET): New macro.
+ (option_enabled, print_filtered_help): Declare.
+ (decode_options): Move definition.
+ * opts.c (handle_option): Search for the original option before
+ removing any "no-" prefix. Handle CL_TARGET. Adjust for the new
+ var_cond and var_value fields. Use targetm.handle_option to handle
+ target options.
+ (decode_options): Set target_flags to targetm.default_target_flags.
+ (print_filtered_help): Make global. Handle CL_TARGET.
+ (option_enabled): New function.
+ * toplev.c (target_switches): Guard with #ifdef TARGET_SWITCHES.
+ (display_target_options, set_target_switch, print_switch_values)
+ (default_pch_valid_p): Guard uses of target_switches with
+ #ifdef TARGET_SWITCHES. Also...
+ (display_target_options): Display the CL_TARGET entries in cl_options.
+ (set_target_option): Don't complain about the "" option when
+ TARGET_SWITCHES is undefined.
+ (print_switch_values): Use option_enabled.
+ (default_pch_valid_p): Check cl_options[] when looking for something
+ that has changed the value of target_flags.
+ * c.opt: Remove documentation from top of file.
+ * doc/gccint.texi: Add an "Options" chapter. Include options.texi.
+ * doc/sourecebuild.texi: Refer to the new options documentation
+ instead of c.opt. Document machine-specific .opt files.
+ * doc/tm.texi (target_flags): Say that this variable is declared
+ by options.h.
+ (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Document.
+ (TARGET_SWITCHES, TARGET_OPTIONS): Refer to the option files as
+ an alternative.
+ * doc/options.texi: New file.
+
+2005-03-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/18628
+ * cse.c (fold_rtx_mem): Don't fold a load from a jumptable into a
+ register.
+
+2005-03-14 Alexandre Oliva <aoliva@redhat.com>
+
+ PR c++/20280
+ * gimplify.c (gimplify_cond_expr): Add fallback argument. Use a
+ temporary variable of pointer type if an lvalues is required.
+ (gimplify_modify_expr_rhs): Request an rvalue from it.
+ (gimplify_expr): Pass fallback on.
+
+2005-03-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cfgbuild.c: Update comments.
+
+2005-03-14 Roger Sayle <roger@eyesopen.com>
+
+ PR rtl-optimization/17236
+ * optabs.c (expand_doubleword_mult): New helper function split out
+ from expand_binop. Permute the order in which instructions are
+ emitted to minimize the number of simultaneously live registers.
+ (expand_binop): Call expand_doubleword_mult to synthesize a double
+ word multiplication.
+
+2005-03-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * basic-block.h: Update the prototypes of cached_make_edge and
+ rtl_make_eh_edge.
+ * cfg.c (cached_make_edge): Take edge_cache representing one
+ row of the adjacency matrix of edges.
+ * cfgbuild.c (make_label_edge, rtl_make_eh_edge): Likewise.
+ (make_edges): Initialize edge_cache to represent one row of
+ the adjacency matrix of edges.
+
+2005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-ssa-phiopt.c (minmax_replacement, blocks_in_phiopt_order):
+ New functions.
+ (tree_ssa_phiopt): Use blocks_in_phiopt_order and minmax_replacement.
+ Remove unused removed_phis variable.
+ (conditional_replacement): Use build1/build2.
+ (abs_replacement): Use last_and_only_stmt and build1/build2.
+
+2005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
+ ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
+ * builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
+ (BUILT_IN_PREFETCH): Set the NOVOPS attribute.
+ * c-common.c (handle_novops_attribute): New function.
+ (c_common_attribute_table): Add "no vops" entry.
+ * c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
+ * calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
+ * tree-ssa-operands.c (get_call_expr_operands): Do not
+ create virtual operands for calls with ECF_NOVOPS flag.
+ * tree.h (DECL_IS_NOVOPS): New macro.
+ (struct tree_decl): Add novops_flag.
+ (ECF_NOVOPS): New constant.
+
+2005-03-14 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/17688
+ * config/i386/i386.c (x86_use_himode_fiop): New.
+ (x86_use_simode_fiop): Rename from x86_use_fiop.
+ * config/i386/i386.h (x86_use_himode_fiop): Declare.
+ (TARGET_USE_HIMODE_FIOP): New.
+ (x86_use_simode_fiop): Rename from x86_use_fiop.
+ (TARGET_USE_SIMODE_FIOP): Rename from TARGET_USE_FIOP.
+
+ * config/i386/i386.md (X87MODEI12): New mode macro define.
+ (*cmpfp_<mode>): Rename from *cmpfp_si. Use X87MODEI12 mode macro
+ to implement x87 FP compare with HImode input operands.
+ (*fp_jcc_8<mode>_387, splitter): Rename from *fp_jcc_8_387.
+ Use X87MODEI12 mode macro to handle HImode input operands.
+ (*fop_sf_2<mode>_i387, *fop_sf_3<mode>_i387, *fop_df_2<mode>_i387,
+ *fop_df_3<mode>_i387, *fop_xf_2<mode>_i387, *fop_xf_3<mode>_i387):
+ Renamed from *fop_sf_2_i387, *fop_sf_3_i387, *fop_df_2_i387,
+ *fop_df_3_i387, *fop_xf_2_i387, *fop_xf_3_i387. Use X87MODEI12 mode
+ macro to implement x87 operators with HImode input operands.
+ (fop splitters): Use X87MODEI12 mode macro to handle HImode
+ input operands.
+
+2005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-cfg.c (find_taken_edge_cond_expr): Use zero_p instead of
+ integer_zerop.
+ * tree-gimple.c (is_gimple_min_invariant): Consider overflowed
+ constants invariant.
+
+2005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * basic-block.h (BB_VISITED): Removed.
+ * cfganal.c (dfs_enumerate_from): Do not use BB_VISITED flag.
+
+2005-03-14 Falk Hueffner <falk@debian.org>
+
+ PR bootstrap/20424
+ * config/alpha/alpha.c (alpha_fold_builtin_cmpbge): Fix typo.
+
+2005-03-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * ggc-zone.c: Fix comment typos.
+
+ * alloc-pool.c, except.h, ggc-common.c, ggc-zone.c, ggc.h,
+ stringpool.c, config/mips/mips-protos.h: Update copyright.
+
+2005-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/rs6000-protos.h: Replace "struct rtx_def *"
+ throughout with its typedef, "rtx".
+ * config/rs6000/rs6000.c: Likewise. Formatting fixes.
+ (rs6000_tls_symbol_ref_1): Remove inline keyword.
+ * config/rs6000/rs6000.h (REG_ALLOC_ORDER): Formatting. Reorder
+ regs in comment to match code.
+
+2005-03-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * except.c (check_handled): Make it static.
+ * except.h: Remove the corresponding prototype.
+
+ * function.c (get_func_frame_size): Make it static.
+ * function.h: Remove the corresponding type.
+
+ * regclass.c (reg_class_superclasses, reg_class_subclasses):
+ Make them static.
+ * hard-reg-set.h: Remove the corresponding declarations.
+
+ * tree-cfg.c (verify_stmts): Check that
+ bb_for_stmt (stmt) == bb for every PHI node and statement.
+
+2005-03-14 Alan Modra <amodra@bigpond.net.au>
+
+ * config.gcc: Remove excess indentation.
+ (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5 and 8548.
+
+2005-03-13 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/19331
+ * tree.c (get_unwidened): Treat CONVERT_EXPR and NOP_EXPR identically.
+ * fold-const.c (fold_sign_changed_comparison): Likewise.
+ (fold_binary): Optimize comparisons against widened operands if
+ the extension is represented by a CONVERT_EXPR, same as a NOP_EXPR.
+
+2005-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * config/sparc/sparc.c (struct_value_alias_set): New global variable.
+ (sparc_override_options): Initialize it.
+ (sparc_struct_value_rtx): Set it on the MEM to be returned.
+
2005-03-13 David Edelsohn <edelsohn@gnu.org>
* config/rs6000/predicates.md (mem_or_easy_const_operand): Delete.
* configure.ac: Define GGC_ZONE for --with-gc=zone.
* config.in: Regenerated.
* configure: Regenerated.
- * gentype.c (write_types_process_field, write_func_for_structure):
+ * gengtype.c (write_types_process_field, write_func_for_structure):
Pass new argument to gt_pch_note_object.
* ggc-common.c (struct ptr_data): Add TYPE.
(gt_pch_note_object): Take TYPE argument and save it.
* expmed.c (expand_mult): Use synthetic multiplication sequences for
more classes of DImode multiplication by constant. Allow both
- multiplication by small negative constants (by performing a
+ multiplication by small negative constants (by performing a
multiplication by a positive constant and negating the result) and
multiplications by large powers of two, by using a left shift.
Don't mark variables non-addressable if they still have
addressable subvars.
Also mark subvars addressable when the real variable is marked
- addressable.
+ addressable.
(add_pointed_to_var): Try to prune the pointed-to set by only
pointing to subvars when possible.
Otherwise, make sure we set addresses_needed and pt_vars to
(STMT_VINFO_SUBVARS): New macro.
* common.opts: add flag_tree_salias.
-
+
* opts.c (decode_options): flag_tree_salias defaults to on.
-
+
* doc/invoke.texi: Document fdump-tree-svars and -ftree-salias.
* doc/tree-ssa.texi: Document structural alias analysis.
-
+
2005-03-12 Steven Bosscher <stevenb@suse.de>
* tree-cfg.c (make_goto_expr_edges): Don't use error_mark_node.
2005-03-12 Geoffrey Keating <geoffk@apple.com>
- * c-lex.c (c_lex_with_flags): Add parameter to call to
+ * c-lex.c (c_lex_with_flags): Add parameter to call to
cpp_spell_token.
2005-03-11 Per Bothner <per@bothner.com>
ATTR_NOTHROW_NONNULL_1_4, ATTR_CONST_NOTHROW_NONNULL_1,
ATTR_PURE_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1_2,
ATTR_MALLOC_NOTHROW_NONNULL_1): Delete.
-
+
* builtins.def: Use the non-specific "nonnull" attibute lists.
2005-03-11 Zdenek Dvorak <dvorakz@suse.cz>
2005-03-08 Fariborz Jahanian <fjahanian@apple.com>
- * config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn):
+ * config/rs6000/rs6000.c (invalid_arg_for_unprototyped_fn):
Define the real function for ppc-darwin.
* c-typeck.c (convert_arguments): Check for target-specific
invalid argument call to unprototyped function.
- * target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
+ * target-def.h (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
New Macro.
- * target.h (invalid_arg_for_unprototyped_fn): New field
+ * target.h (invalid_arg_for_unprototyped_fn): New field
in struct calls.
- * targhooks.c (hook_invalid_arg_for_unprototyped_fn): New
+ * targhooks.c (hook_invalid_arg_for_unprototyped_fn): New
default target hook.
- * targhooks.h (hook_invalid_arg_for_unprototyped_fn):
+ * targhooks.h (hook_invalid_arg_for_unprototyped_fn):
Declare.
2005-03-08 Kazu Hirata <kazu@cs.umass.edu>
(alpha_v8qi_u, alpha_v8qi_s, alpha_v4hi_u, alpha_v4hi_s): New.
(alpha_init_builtins): Init them. Set nothrow and const attributes
on builtins.
- (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
- alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
- alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
+ (alpha_fold_builtin_cmpbge, alpha_fold_builtin_zapnot,
+ alpha_fold_builtin_extxx, alpha_fold_builtin_insxx,
+ alpha_fold_builtin_mskxx, alpha_fold_builtin_umulh,
alpha_fold_vector_minmax, alpha_fold_builtin_perr,
alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
* tree.h (DECL_IS_BUILTIN): Reverted my patch from earlier today.
2005-03-06 Andrew Pinski <pinskia@physics.uc.edu>
-
+
PR tree-opt/17671
* tree-ssa-phiopt.c (tree_ssa_phiopt): Rewrite so we base the
bbs on the COND_EXPR instead of the PHI_NODEs.
* tree-cfg.c (remove_bb): If USE_MAPPED_LOCATION, change type of
local variable loc. Change logic appropriately.
* tree-vect-transform.c (vect_finish_stmt_generation): Use
- EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.
+ EXPR_LOCATION rather than EXPR_LOCUS if USE_MAPPED_LOCATION.
* c-parser.c (c_parser_for_statement): Initialize loc variable.
* tree.h (DECL_IS_BUILTIN): Temporarily revert definition of
DECL_IS_BUILTIN in the USE_MAPPED_LOCATION because of jc1 issues.
(ASM_SPEC): Pass down -msym32 and -mno-sym32.
2005-03-04 Devang Patel <dpatel@apple.com>
-
+
PR tree-optimization/18815
* tree-if-conv.c (combine_blocks): Adjust loop header edges for
loops with zero exit edges.
2005-03-04 Devang Patel <dpatel@apple.com>
* doc/invoke.texi: Remove reference to webpage that does not exist.
-
+
2005-03-04 John David Anglin <dave.danglin@nrc-cnrc.gc.ca>
Joseph S. Myers <joseph@codesourcery.com>
2005-03-04 Kazu Hirata <kazu@cs.umass.edu>
* fold-const.c (fold_ternary): Unroll the "for" loop to
- extract operands.
+ extract operands.
2005-03-04 Andrew Haley <aph@redhat.com>
2005-03-03 Daniel Berlin <dberlin@dbrelin.org>
Fix PR debug/20253
-
+
* c-opts.c (c_common_parse_file): Call start_source_file
and end_source_file at the approriate times.
* dwarf2out.c (dwarf2out_finish): Don't auto-end
the main file, it will be done for us now.
-
+
2005-03-04 Kazu Hirata <kazu@cs.umass.edu>
* fold-const.c (fold_ternary): New.
* config/darwin8.h (LIB_SPEC): Switch -lmx and -lSystem.
2005-03-02 Devang Patel <dpatel@apple.com>
-
+
Undo PR tree-optimization/18815 fix.
-
+
2005-03-02 Devang Patel <dpatel@apple.com>
PR tree-optimization/18815
* tree-if-conv.c (combine_blocks): Adjust loop header edges for
loops with zero exit edges.
-
+
2005-03-02 Kazu Hirata <kazu@cs.umass.edu>
* cfg.c (connect_src, connect_dest, disconnect_src,