OSDN Git Service

2005-03-04 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2657a00..703d62c 100644 (file)
+2005-03-04  Andrew Haley  <aph@redhat.com>
+
+       * unwind-dw2-fde-glibc.c (struct
+       unw_eh_callback_data.check_cache): New field.
+       (frame_hdr_cache): New.
+       (_Unwind_IteratePhdrCallback): Add ext_dl_phdr_info.
+       Cache frame header info.
+
+2005-03-04  Richard Sandiford  <rsandifo@redhat.com>
+
+       * rtl.h (copy_rtx_ptr_loc, print_rtx_ptr_loc, join_c_conditions)
+       (print_c_condition): Declare.
+       * read-rtl.c (ptr_loc): New structure.
+       (ptr_locs, ptr_loc_obstack, joined_conditions)
+       (joined_conditions_obstack): New variables.
+       (leading_ptr_hash, leading_ptr_eq_p, set_rtx_ptr_loc)
+       (get_rtx_ptr_loc, copy_rtx_ptr_loc, print_rtx_ptr_loc)
+       (join_c_conditions, print_c_condition): New functions.
+       (apply_macro_to_string): Associate the new string with the same
+       source location as the old one.
+       (add_condition_to_string): Use join_c_conditions.
+       (read_string): Use set_rtx_ptr_loc to record a filename and line
+       number for the string.
+       (read_rtx): Initialize the new variables above.
+       * genattrtab.c (write_test_expr, write_attr_value): Use
+       print_c_condition.
+       * genconditions.c (write_header): Don't define MAYBE_EVAL.  Move its
+       comment above the GCC_VERSION check.
+       (write_one_condition): Use print_rtx_ptr_loc and print_c_condition.
+       Inline the definition of MAYBE_EVAL.
+       * genemit.c (gen_expand, gen_split): Use print_rtx_ptr_loc.
+       * genoutput.c (process_template): Likewise.
+       * genpreds.c (write_predicate_subfunction): Likewise.
+       (write_predicate_expr): Use print_c_condition.
+       * genrecog.c (write_cond): Likewise.
+       * gensupport.c (process_rtx): Use join_c_conditions to join the
+       conditions of a define_insn_and_split.  Record a source location
+       for the string after the "&&".
+       (alter_test_for_insn): Use join_c_conditions.
+
+2005-03-04  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       Revert for now:
+       2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
+       PR tree-optimization/15784
+       * fold-const.c (fold): Fold ~A + 1 to -1.  Fold -A - 1
+       and -1 - A to ~A.
+
+2005-03-04  Ben Elliston  <bje@au.ibm.com>
+
+       * gcc.c (option_map): Add --coverage.
+       (LINK_COMMAND_SPEC): Pass -lgcov for `coverage'.
+       (cc1_options): Pass -fprofile-arcs -ftest-coverage for `coverage'.
+       * config/darwin.h: Pass -lgcov for `coverage'.
+       * doc/invoke.texi (Debugging Options): Document --coverage.
+
+2005-03-04  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcse.c (bypass_block): Use find_edge wherever possible.
+
+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.
+       (fold): Call fold_ternary on ternary expressions.  Remove
+       handling of ternary expressions.
+
+2005-03-03  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR tree-optimization/15784
+       * fold-const.c (fold): Fold ~A + 1 to -1.  Fold -A - 1
+       and -1 - A to ~A.
+
+2005-03-03  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (branch_comparison_operator):
+       Convert from C block to conditional format.
+
+2005-03-03  Jan Hubicka  <jh@suse.cz>
+
+       * tree-dfa.c (add_referenced_var): Don't walk initializer of external
+       and non-constant public variables.
+
+2005-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (stmt_starts_bb_p): Clean up by replacing code
+       with LABEL_EXPR.
+
+       * cfgexpand.c (construct_exit_block): Use EDGE_PRED instead of
+       EDGE_I.
+
+       * tree-phinodes.c (remove_phi_node): Clean up by factoring out
+       calls to release_ssa_name and release_phi_node.
+
+       * fold-const.c (fold): Remove handling of unary expressions.
+
+       * fold-const.c (fold_unary): Avoid directly using the original
+       expression t as much as possible.
+
+2005-03-03  Roger Sayle  <roger@eyesopen.com>
+           Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * jump.c (redirect_exp_1): If nlabel is a NULL pointer create a
+       RETURN rtx, and not a LABEL_REF containing a NULL pointer.
+
+2005-03-03  Hans-Peter Nilsson  <hp@axis.com>
+
+       Describe special registers SRP and MOF as allocatable registers.
+       * config/cris/cris.c (cris_md_asm_clobbers): New function.
+       (TARGET_MD_ASM_CLOBBERS): Define to cris_md_asm_clobbers.
+       (cris_conditional_register_usage): Enable CRIS_MOF_REGNUM if
+       TARGET_HAS_MUL_INSNS.
+       (cris_print_operand) <case 'd'>: New case.
+       <case REG>: Allow CRIS_MOF_REGNUM and CRIS_SRP_REGNUM.
+       * config/cris/cris.h (CRIS_PC_REGNUM, CRIS_SRP_REGNUM): Don't
+       define.
+       (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS)
+       (REG_ALLOC_ORDER): Update for MOF.
+       (enum reg_class): New members MOF_REGS, GENERAL_REGS and
+       SPECIAL_REGS.
+       (GENERAL_REGS): No longer a define of ALL_REGS.
+       (REGNO_REG_CLASS, REG_CLASS_CONTENTS, REG_CLASS_NAMES)
+       (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
+       Adjust accordingly.
+       (CRIS_SPECIAL_REGS_CONTENTS): New macro.
+       (REG_CLASS_FROM_LETTER): Allocate 'h' and 'x'.
+       (SECONDARY_RELOAD_CLASS): Define.
+       (STACK_POINTER_REGNUM): Define as CRIS_SP_REGNUM.
+       (FRAME_POINTER_REGNUM): Define as CRIS_FP_REGNUM.
+       (ARG_POINTER_REGNUM): Define as CRIS_AP_REGNUM.
+       (STATIC_CHAIN_REGNUM): Define as CRIS_STATIC_CHAIN_REGNUM.
+       (REGISTER_MOVE_COST): Define.
+       (PIC_OFFSET_TABLE_REGNUM): Define in terms of CRIS_GOT_REGNUM.
+       * config/cris/cris.md (CRIS_GOT_REGNUM, CRIS_STATIC_CHAIN_REGNUM)
+       (CRIS_FP_REGNUM, CRIS_SP_REGNUM, CRIS_SRP_REGNUM, CRIS_AP_REGNUM)
+       (CRIS_MOF_REGNUM): New define_constants.
+       ("*movsi_internal", "movhi", "movqi", "movsf"): Add alternatives for
+       special registers.
+       ("reload_inhi", "reload_outhi", "reload_inqi", "reload_outqi"):
+       New patterns.
+       ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3")
+       ("mulsidi3", "umulsidi3", "smulsi3_highpart", "umulsi3_highpart"):
+       Adjust for MOF being properly described as a register.
+       (indir_to_reg_split): Name this split.  Conditionalize on the
+       destination register being a general register.
+       (movei): Conditionalize on on operands 0 and 1 having the same
+       register class.
+
+2005-03-03  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/20277
+       * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
+       -mcpu to override any other explicitly given flags.
+
+2005-03-02  J"orn Rennecke <joern.rennecke@st.com>
+
+       * recog.c (verify_changes, confirm_change_group): New functions,
+       broken out of apply_change_group.
+       (apply_change_group): Use them.
+       * recog.h (verify_change, confirm_change_group): Declare.
+       * rtl.h (redirect_jump_2): Declare.
+       * jump.c (redirect_exp, invert_exp): Delete.
+       (invert_exp_1): Take second parameter.  Return value.  Changed caller.
+       (redirect_jump_2): New function, broken out of redirect_jump.
+       (redirect_jump): Use redirect_jump_1 and redirect_jump_2.
+       (invert_jump): Use invert_jump_1 and redirect_jump_2.
+       * ifcvt.c (dead_or_predicable): Use redirect_jump_2.
+
+2005-03-02  Geoffrey Keating  <geoffk@apple.com>
+
+       * varasm.c (named_section): Use xstrdup rather than doing it by
+       hand.
+
+       * 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,
+       disconnct_dest): New.
+       (unchecked_make_edge, remove_edge, redirect_edge_succ,
+       redirect_edge_pred): Use the new functions.
+
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
+       free_dominance_info only when needed.
+
+2005-03-02  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/20276
+       * config/rs6000/predicates.md (reg_or_cint64_operand): Fix typo.
+       (reg_or_sub_cint64_operand): Same.
+
+2005-03-02  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Fix setting of
+       CFG_ALTERED in the main DOM iteration loop.
+
+2005-03-02  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/19916
+       * varasm.c (initializer_constant_valid_p): Allow conversions
+       between OFFSET_TYPEs.  Tidy.
+
+2005-03-02  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("return"): Remove epilogue delay list
+       sanity check.
+
+2005-03-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/linux-elf.h (ARM_FUNCTION_PROFILER): Do not use (PLT)
+       for Thumb.
+       * config/arm/netbsd-elf.h (ARM_FUNCTION_PROFILER): Likewise.
+
+2005-03-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfgloop.h, cfgloopanal.c, cfgloopmanip.c, conflict.c,
+       loop-init.c, loop-unroll.c, print-tree.c, reg-notes.def,
+       config/m68k/m68k.c, config/mips/mips.h,
+       config/rs6000/rs6000-protos.h, doc/contrib.texi,
+       doc/include/gcc-common.texi: Update copyright.
+
+       PR middle-end/18029 and PR middle-end/18030
+       * expr.c (optimize_bitfield_assignment_op): Add a special case
+       to handle BIT_IOR_EXPR and BIT_XOR_EXPR.
+
+       * fold-const.c (fold_unary): New.
+       (fold): Call fold_unary on unary expressions.
+
+2005-03-02  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * cgraph.h (struct cgraph_edge): Add prev_caller and
+       prev_callee fields.
+       (cgraph_node_remove_callees): Export.
+       * cgraph.c (cgraph_create_edge): Initialize prev_caller
+       and prev_callee.
+       (cgraph_edge_remove_callee): New function.
+       (cgraph_edge_remove_caller): Likewise.
+       (cgraph_remove_edge): Use.
+       (cgraph_redirect_edge_callee): Likewise.
+       (cgraph_node_remove_callees): New function.
+       (cgraph_node_remove_callers): Likewise.
+       (cgraph_remove_node): Use.
+       * tree-optimize.c (tree_rest_of_compilation): Use
+       cgraph_node_remove_callees instead of manual loop.
+       * cgraphunit.c (cgraph_finalize_function): Likewise.
+       (cgraph_expand_function): Likewise.
+       (cgraph_remove_unreachable_nodes): Likewise.
+
+2005-03-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/8927
+       * c-tree.h (undeclared_variable, build_external_ref): Add extra
+       argument.
+       * c-decl.c (undeclared_variable): Take location as argument.
+       * c-typeck.c (build_external_ref): Likewise.
+       * c-parser.c (c_parser_postfix_expression): Pass location of
+       identifier to build_external_ref.
+
+2005-03-01  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.md (cceq splitter): Use operand mode, not
+       CCEQ mode for branch_positive_comparison_operator test.
+       * config/rs6000/predicates (branch_comparison_operator): Revert to
+       define_predicate.
+       (scc_comparison_operator): Same.
+       (branch_positive_comparison_operator): Same.
+
+2005-03-01  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_eligible_for_epilogue_delay)
+       (cris_delay_slots_for_epilogue): Remove.
+       (save_last): Move into cris_target_asm_function_epilogue.
+       (cris_target_asm_function_epilogue): Remove tests for file being
+       NULL.
+       * config/cris/cris-protos.h (cris_eligible_for_epilogue_delay)
+       (cris_delay_slots_for_epilogue): Remove prototypes.
+       * config/cris/cris.h (DELAY_SLOTS_FOR_EPILOGUE)
+       (ELIGIBLE_FOR_EPILOGUE_DELAY): Do not define.
+
+2005-03-01  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/predicates.md (branch_comparison_operator): Change
+       to define_special_predicate.
+       (scc_comparison_operator): Same.
+       (branch_positive_comparison_operator): Same.
+
+2005-03-01  Daniel Berlin <dberlin@dberlin.org>
+
+       * Makefile.in (tree-ssa-sink.o): New.
+       (OBJS-common): Add tree-ssa-sink.o.
+       * common.opt: Add -ftree-sink
+       * opts.c (decode_options): flag_tree_sink is set at O1 or higher.
+       * timevar.def (TV_TREE_SINK): new timevar.
+       * tree-flow.h (is_hidden_global_store): Prototype.
+       * tree-optimize.c (init_tree_optimization_passes): Add
+       pass_sink_code.
+       * tree-pass.h (pass_sink_code): New.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Move checking
+       for non-obvious global store store to is_hidden_global_store, and
+       call that new function.
+       * tree-ssa-sink.c: New file.
+       * doc/invoke.texi: Document -fdump-tree-sink and -ftree-sink.
+       * doc/passes.texi: Document forward store motion.
+       * testsuite/gcc.dg/tree-ssa/ssa-sink-1.c: New test
+       * testsuite/gcc.dg/tree-ssa/ssa-sink-2.c: New test
+       * testsuite/gcc.dg/tree-ssa/ssa-sink-3.c: New test
+       * testsuite/gcc.dg/tree-ssa/ssa-sink-4.c: New test
+
+2005-03-01  Per Bothner  <per@bothner.com>
+
+       * diagnostic.c (diagnostic_build_prefix): If USE_MAPPED_LOCATION
+       and we have a non-zero column-number, add it to the message.
+       Also factor out the diagnostic_kind_text.
+
+2005-03-01  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * cfgloop.c (flow_loop_entry_edges_find, flow_loop_exit_edges_find,
+       flow_loop_pre_header_scan, flow_loop_pre_header_find,
+       flow_loop_scan): Removed.
+       (flow_loop_dump): Do not dump removed fields.
+       (flow_loop_free): Do not free removed fields.
+       (flow_loops_find): Flags argument removed.  Do not call flow_loop_scan.
+       (loop_exit_edge_p): New function.
+       * cfgloop.h (struct loop): Removed fields pre_header, pre_header_edges,
+       num_pre_header_edges, entry_edges, num_entries, exit_edges,
+       num_exits, exits_doms.
+       (LOOP_TREE, LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
+       LOOP_EDGES, LOOP_ALL): Removed.
+       (flow_loop_scan): Declaration removed.
+       (loop_exit_edge_p, mark_loop_exit_edges): Declare.
+       * cfgloopmanip.c (create_loop_notes): Do not pass flags to
+       flow_loops_find.
+       * ifcvt.c (mark_loop_exit_edges): Moved to cfgloopanal.c.
+       (if_convert): Call flow_loops_find and flow_loops_free
+       when calling mark_loop_exit_edges.
+       * cfgloopanal.c (mark_loop_exit_edges): Moved from
+       ifcvt.c.  Removed the flow_loops_find, flow_loops_free and
+       free_dominance_info calls.
+       * loop-init.c (flow_loops_find): Ditto.
+       * passes.c (rest_of_handle_branch_prob): Ditto.
+       * lambda-code.c (perfect_nestify): Do not call flow_loops_find.
+       * loop-unroll.c (analyze_insns_in_loop): Do not use
+       EDGE_LOOP_EXIT.
+       * predict.c (predict_loops): Do not call flow_loop_scan.
+       Use get_loop_exit_edges.
+       (tree_estimate_probability): Do not pass flags to flow_loops_find.
+       * tree-if-conv.c (bb_with_exit_edge_p): Take loop as argument.
+       Do not use EDGE_LOOP_EXIT.
+       (tree_if_convert_cond_expr, if_convertible_modify_expr_p): Pass loop
+       to bb_with_exit_edge_p.
+       (if_convertible_loop_p): Do not call flow_loop_scan.  Use
+       loop->single_exit.  Do not use EDGE_LOOP_EXIT.  Pass loop
+       to bb_with_exit_edge_p.
+       (combine_blocks): Pass loop to bb_with_exit_edge_p.  Do not use
+       EDGE_LOOP_EXIT.
+       * tree-loop-linear.c (linear_transform_loops): Do not call
+       flow_loop_scan.  Use loop->single_exit.
+       * tree-vect-analyze.c (vect_analyze_operations): Use loop->single_exit.
+       (vect_analyze_loop_form): Do not call flow_loop_scan.
+       * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Use
+       loop->single_exit.
+       (vect_do_peeling_for_loop_bound): Use loop_preheader_edge and
+       loop->single_exit.
+       * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
+       slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+       slpeel_tree_duplicate_loop_to_edge_cfg,
+       slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
+       Use loop_preheader_edge and loop->single_exit.  Do not call
+       flow_loop_scan.
+
+2005-03-01  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (thumb_find_work_register): Check all of the
+       argument registers to see if they are free, and a couple of
+       special cases where the last argument register but can be proved
+       to be available during the function's prologue.
+       (print_multi_reg, arm_compute_save_reg0_reg12_mask,
+       output_return_instruction, emit_multi_reg_push, thumb_pushpop,
+       thumb_unexpanded_epilogue): Use unsigned long as the type for the
+       register bit-mask.
+       (thumb_compute_save_reg_mask): Likewise.  Also use
+       thumb_find_work_register() to ensure that there is agreement about
+       which work register is going to be used in the prologue.
+       (thumb_output_function_prologue): Use unsigned long as the type
+       for the register bit-mask.  Also delay pushing the link register if
+       other high registers are going to be pushed.
+       (thumb_compute_save_reg_mask, emit_multi_reg_push,
+       print_multi-reg, number_of_first_bit_set, thumb_pushpop): Remove
+       redundant prototypes.
+
+2005-02-28  John David Anglin  <dave.anglin#nrc-cnrc.gc.ca>
+
+       PR target/19819
+       * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
+       and after reload in REG+REG indexed addresses without REG_POINTER
+       set in the base and not set in the index.
+
+2005-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX):
+       Don't undefine here.
+       (HANDLE_PRAGMA_PACK_PUSH_POP): Delete.
+       (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC): Likewise.
+       (TARGET_OS_CPP_BUILTINS): Use LINUX_TARGET_OS_CPP_BUILTINS.
+       (LIB_SPEC, LINK_EH_SPEC, STARTFILE_SPEC, ENDFILE_SPEC,
+       LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED, TARGET_C99_FUNCTIONS):
+       Delete.
+       * config.gcc (sh*-*-linux*): Use config/linux.h.
+
+2005-02-28  Dale Johannesen  <dalej@apple.com>
+           Stan Shebs  <shebs@apple.com>
+
+       Rewrite of 64-bit Darwin structure-by-value pass/return.
+       * config/rs6000/rs6000.h (CUMULATIVE_ARGS): New fields
+       intoffset, use_stack, named.
+       * config/rs6000/rs6000.c (rs6000_darwin64_function_arg):  Remove.
+       (rs6000_darwin64_record_arg_advance_flush):  New.
+       (rs6000_darwin64_record_arg_advance_recurse): New.
+       (rs6000_darwin64_record_arg_flush):  New.
+       (rs6000_darwin64_record_arg_recurse):  New.
+       (rs6000_darwin64_record_arg):  New.
+       (rs6000_return_in_memory):  Remove AGGREGATE_TYPE_P check.
+       (function_arg_boundary):  Handle 128-bit aligned structs.
+       (function_arg_advance):  Rewrite darwin64 struct handling.
+       (function_arg):  Call rs6000_darwin64_record_arg.
+       (function_arg_partial_nregs):  Handle darwin64 structs.
+       (rs6000_darwin64_function_value):  Remove.
+       (rs6000_function_value):  Call rs6000_darwin64_record_arg.
+
+2005-02-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/20216
+       * tree-chrec.c (tree_fold_factorial): Delete.
+       (tree_fold_binomial): Change argument list to take a return type
+       and change the type of K to unsigned int.  Rewrite to avoid explicit
+       evaluation of factorials, and (recursively) calling fold to perform
+       compile-time arithmetic.  Return NULL on (internal) overflow.
+       (chrec_evaluate): Change type of K to an unsigned int.  Avoid
+       calling tree_fold_binomial unnecessarily.  Return chrec_dont_know
+       if any intermediate calculation overflows.
+       (chrec_apply): Update call to chrec_evaluate.
+
+2005-02-28  James E Wilson  <wilson@specifixinc.com>
+
+       * config/mips/mips.h (NO_PROFILE_COUNTERS): Define.
+
+2005-02-28  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20245
+       * c-parser.c (c_parser_compound_statement): Return error_mark_node
+       instead of NULL_TREE on error.
+
+2005-02-28  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (EASY_VECTOR_15): Remove.
+       (EASY_VECTOR_15_ADD_SELF): Remove.
+       (num_insns_constant_wide): Not static.
+       (validate_condition_mode): Not static.
+       (toc_relative_expr_p): Not static.
+       (legitimate_indirect_address_p): Not static.
+       (macho_lo_sum_memory_operand): Not static.
+       (invalid_e500_subreg): Not static.
+       (easy_vector_same): Not static.
+       (easy_vector_splat_const): Not static.
+       (RS6000_SYMBOL_REF_TLS_P): Remove.
+       (any_operand): Delete.
+       (any_parallel_operand): Delete.
+       (count_register_operand): Delete.
+       (altivec_register_operand): Delete.
+       (xer_operand): Delete.
+       (s8bit_cint_operand): Delete.
+       (short_cint_operand): Delete.
+       (u_short_cint_operand): Delete.
+       (non_short_cint_operand): Delete.
+       (exact_log2_cint_operand): Delete.
+       (gpc_reg_operand): Delete.
+       (cc_reg_operand): Delete.
+       (cc_reg_not_cr0_operand): Delete.
+       (reg_or_short_operand): Delete.
+       (reg_or_neg_short_operand): Delete.
+       (reg_or_aligned_short_operand): Delete.
+       (reg_or_u_short_operand): Delete.
+       (reg_or_cint_operand): Delete.
+       (reg_or_arith_cint_operand): Delete.
+       (reg_or_add_cint64_operand): Delete.
+       (reg_or_sub_cint64_operand): Delete.
+       (reg_or_logical_cint_operand): Delete.
+       (got_operand): Delete.
+       (got_no_const_operand): Delete.
+       (easy_fp_constant): Delete.
+       (easy_vector_constant): Delete.
+       (easy_vector_constant_add_self): Delete.
+       (zero_constant): Delete.
+       (zero_fp_constant): Delete.
+       (volatile_mem_operand): Delete.
+       (offsettable_mem_operand): Delete.
+       (mem_or_easy_const_operand): Delete.
+       (add_operand): Delete.
+       (non_add_cint_operand): Delete.
+       (logical_operand): Delete.
+       (non_logical_cint_operand): Delete.
+       (mask_operand): Delete.
+       (mask_operand_wrap): Delete.
+       (mask64_operand): Delete.
+       (mask64_2_operand): Delete.
+       (and64_operand): Delete.
+       (and64_2_operand): Delete.
+       (and_operand): Delete.
+       (reg_or_mem_operand): Delete.
+       (lwa_operand): Delete.
+       (symbol_ref_operand): Delete.
+       (call_operand): Delete.
+       (current_file_function_operand): Delete.
+       (input_operand): Delete.
+       (rs6000_nonimmediate_operand): Delete.
+       (rs6000_tls_symbol_ref): Delete.
+       (save_world_operation): Delete.
+       (restore_world_operation): Delete.
+       (load_multiple_operation): Delete.
+       (store_multiple_operation): Delete.
+       (vrsave_operation): Delete.
+       (mfcr_operation): Delete.
+       (mtcrf_operation): Delete.
+       (lmw_operation): Delete.
+       (stmw_operation): Delete.
+       (branch_comparison_operator): Delete.
+       (branch_positive_comparison_operator): Delete.
+       (scc_comparison_operator): Delete.
+       (trap_comparison_operator): Delete.
+       (boolean_operator): Delete.
+       (boolean_or_operator): Delete.
+       (min_max_operator): Delete.
+       * config/rs6000/rs6000.h (RS6000_SYMBOL_REF_TLS_P): Move to here.
+       (EASY_VECTOR_15): Moved to here.
+       (EASY_VECTOR_15_ADD_SELF): Move to here.
+       (PREDICATE_CODES): Delete.
+       * config/rs6000/rs6000-protos.h: Delete predicate functions.
+       Declare functions no longer static.
+       * config/rs6000/predicates.md: New.
+       * config/rs6000/rs6000.md: Include predicates.md
+
+2005-02-28  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * calls.c (emit_call_1): Don't use  REG_ALWAYS_RETURN.
+       (emit_library_call_value_1): Don't use LCT_ALWAYS_RETURN and
+       REG_ALWAYS_RETURN.
+       * cfgrtl.c (need_fake_edge_p): Likewise.
+       * combine.c (distribute_notes): Likewise.
+       * emit-rtl.c (try_split): Likewise.
+       * recog.c (peephole2_opimize): Likewise.
+       * reg-notes.def (ALWAYS_RETURN): Remove.
+       * rtl.h (LCT_ALWAYS_RETURN): Remove.
+       * tree-cfg.c (need_fake_edge_p): Don't use ECF_ALWAYS_RETURN.
+       * tree.h (ECF_ALWAYS_RETURN): Remove.
+
+2005-02-28  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/19874
+       * tree-ssa.c (tree_ssa_useless_type_conversion_1): A conversion
+       between different machine modes is never a "useless" conversion.
+
+2005-02-28  Geert Bosch  <bosch@gnat.com>
+
+       PR ada/15977
+       * doc/contrib.texi: List contributors for Ada front end
+
+2005-02-28 Paolo Bonzini <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_unary_operation_1,
+       simplify_const_unary_operation): New, extracted from...
+       (simplify_unary_operation): ... this one.
+       (simplify_binary_operation_1,
+       simplify_const_binary_operation): New, extracted from...
+       (simplify_binary_operation): ... this one.
+       * rtl.h (simplify_const_unary_operation,
+       simplify_const_binary_operation): Add prototypes.
+
+2005-02-28  Julian Brown  <julian@codesourcery.com>
+
+       * config/elfos.h: Revert my patch from 2005-02-25 since it broke
+       building libjava and caused PR regression/20228.
+
+2005-02-28  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR bootstrap/17383
+       * Makefile.in (host_subdir): New.
+       (build_objdir): New.  Replace ../$(build_subdir) with it throughout.
+       * configure: Regenerate.
+
+2005-02-27  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/alpha/t-osf4, config/arm/t-netbsd, config/ia64/t-hpux
+       * config/pa/t-hpux-shlib (SHLIB_INSTALL): Create the
+       installation directory first.
+
+2005-02-28  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/19065.
+       * config/cris/cris.h (EXTRA_CONSTRAINT_Q): Accept only (mem (reg)),
+       not including (reg). Do not check for reg being CRIS_PC_REGNUM.
+       (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
+       * config/cris/cris.md: Tweak comments referring to Q.
+       ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
+       ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
+       ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
+       ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")
+       ("*andqi_lowpart", "iorsi3", "iorhi3", "iorqi3", "uminsi3"):
+       Insert spaces in constraints to align alternatives vertically for
+       readability.
+       ("cmphi"): Ditto.  Add separate alternative for operand 0 "r",
+       operand 1: "M".
+
+2005-02-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR rtl-optimization/17728
+       * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
+       operand 0 from general_operand to move_dest_operand.
+
+2005-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa/elf.h, pa/som.h (ASM_OUTPUT_EXTERNAL): Use assemble_name_raw
+       instead of trying to save and restore TREE_SYMBOL_REFERENCED.
+       * pa/pa64-hpux.h (ASM_OUTPUT_TYPE_DIRECTIVE): Define.
+       (ASM_OUTPUT_EXTERNAL): Don't save and restore TREE_SYMBOL_REFERENCED.
+
+2005-02-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.ac: Rename cc_for_cross_gnattools to host_cc_for_libada.
+       * configure: Regenerate.
+       * libada-mk.in: Remove CC; rename
+       cc_for_cross_gnattools / cc_set_by_configure to host_cc_for_libada.
+
+2005-02-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/20188
+       * tree-ssa-alias.c (count_uses_and_derefs): If we have TREE_LIST
+       for the lhs, also walk over the tree.  Likewise for rhs.
+
+2005-02-26  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-dom.c (simple_iv_increment_p): New function.
+       (simplify_rhs_and_lookup_avail_expr, eliminate_redundant_computations):
+       Do not propagate value of iv before increment over the increment.
+
+2005-02-25  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * c-parser.c: New file.
+       * c-parse.in: Remove.
+       * Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
+       Remove.
+       (c-parser.o): Add dependencies.
+       (C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
+       maintainer-clean, TAGS): Update.
+       * c-config-lang.in (gtfiles): Update.
+       * gengtype-lex.l: Don't handle "@@".
+       * stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
+       objc_build_synchronized, objc_begin_try_stmt,
+       objc_begin_catch_clause, objc_finish_catch_clause,
+       objc_build_finally_clause, objc_finish_try_stmt): New.
+       * c-tree.h (struct c_declspecs): Add declspecs_seen_p and
+       type_seen_p.
+       (c_parse_init): Update comment.
+       * c-decl.c (c_init_decl_processing): Update comment.
+       (build_null_declspecs, declspecs_add_qual, declspecs_add_type,
+       declspecs_add_scspec, declspecs_add_attrs): Initialize and update
+       new c_declspecs members.
+
+2005-02-25  Julian Brown  <julian@codesourcery.com>
+
+       * config/elfos.h (MAKE_DECL_ONE_ONLY): Redefined to stop DECL_WEAK
+       from being used for symbols with vague linkage when
+       HAVE_GAS_COMDAT_GROUP is true.
+
+2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/include/gcc-common.texi (version-GCC): Update to 4.1.
+
+2005-02-25  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/19930
+       * doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
+       (LIBGCC2_HAS_DF_MODE): New.
+       (LIBGCC2_HAS_XF_MODE): New.
+       (LIBGCC2_HAS_TF_MODE): New.
+       * libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+       (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+       * libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
+       (LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
+       (LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
+       * config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
+       and add _fixtfdi, _fixunstfdi, _floatditf
+       * lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
+       L_fixunstfdi, L_floatditf.
+       * config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
+       (LIBGCC2_HAS_TF_MODE): Define.
+
+2005-02-25  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/20204
+       * tree-into-ssa.c (insert_phi_nodes_for): Do not use
+       REWRITE_THIS_STMT markers on PHI nodes.
+       (rewrite_initialize_block): Likewise.
+
+2005-02-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * version.c (version_string): Update to 4.1.
+
+2005-02-25  Paolo Carlini  <pcarlini@suse.de>
+
+       * doc/extend.texi (5.24 Declaring Attributes of Functions)<noreturn>:
+       Clarify that the alternative way doesn't work in GNU C++.
+
+2005-02-25  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       PR tree-optimization/19937
+       * tree-ssa-loop-ivopts.c (rewrite_use_compare): Cast the final value
+       to the type of the induction variable.
+
+2005-02-25  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR rtl-optimization/20117
+       * bb-reorder.c (duplicate_computed_gotos): Don't duplicate
+       the block including noncopyable insn.
+
+2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (delete_trivially_dead_insns): Speed up by minimizing
+       calls to find_reg_note.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/20127
+       * tree-sra.c (instantiate_element): Copy TREE_THIS_VOLATILE from
+       the type.
+
+2005-02-24  Fariborz Jahanian <fjahanian@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Check for
+       vector types if to use base reg for misaligned non-word ld/std.
+
+2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/14619
+       * config/cris/cris.c (cris_target_asm_function_prologue): Create
+       dwarf2 label manually and put it after, not before the prologue.
+
+2005-02-24  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/19019
+       * reload.c (operands_match_p): Only increment register number for
+       SCALAR_INT_MODE_P modes in multiple hard registers.
+
+       * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
+       Fix formatting.
+
+2005-02-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       * ChangeLog.5: Fix log message typo(s).
+       * ChangeLog.7: Likewise.
+       * ChangeLog.tree-ssa: Likewise.
+       * cfgexpand.c: Fix comment typo(s).
+       * conflict.c: Likewise.
+       * defaults.h: Likewise.
+       * dwarf2out.c: Likewise.
+       * gcse.c: Likewise.
+       * ggc-page.c: Likewise.
+       * tree-eh.c: Likewise.
+       * tree-ssa-dom.c: Likewise.
+
+2005-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/19019
+       * mklibgcc.in: Pass -DSHARED when compiling all *_s${objext} objects.
+       * config/rs6000/darwin-ldouble.c: Only use the .symver directives
+       if SHARED is defined.
+
+       PR target/20196
+       * config/rs6000/rs6000.md (LTU, GTU sCC splitters): Add earlyclobber,
+       allow splitting only if operands 0 and 3 don't overlap.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/19953
+       * builtins.c (fold_builtin_complex_mul, fold_builtin_complex_div): New.
+       (fold_builtin_1): Call them.
+       * fold-const.c (fold_complex_mult_parts): Split out from ...
+       (fold_complex_mult): ... here.  Fix typo in both imaginary case.
+       (fold_complex_div_parts, fold_complex_div): New.
+       (fold): Use them.
+       * tree.h (fold_complex_mult_parts, fold_complex_div_parts): Declare.
+
+2005-02-24  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree-ssa-ccp.c (visit_assignment): Verify that result of
+       VIEW_CONVERT_EXPR is_gimple_min_invariant.
+
+       * print-tree.c (print_node_brief): Print LABEL_DECL_UID.
+       (print_node): Likewise.
+       Print TYPE_SIZES_GIMPLIFIED.
+
+2005-02-24  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.md ("umulhisi3", "umulqihi3", "mulsi3")
+       ("mulqihi3", "mulhisi3", "mulsidi3", "umulsidi3"): Mark input
+       operands as commutative in constraints.
+
+2005-02-24  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c: Re-organize internal functions.
+
+2005-02-24  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/18902
+       * c-opts.c (c_common_post_options): Set flag_complex_method to 2
+       for c99.
+       * common.opt (fcx-limited-range): New.
+       * opts.c (set_fast_math_flags): Set flag_cx_limited_range.
+       * toplev.c (flag_complex_method): Initialize to 1.
+       (process_options): Set flag_complex_method to 0 if
+       flag_cx_limited_range.
+       * doc/invoke.texi (-fcx-limited-range): New.
+
+2005-02-24  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cse.c (delete_trivially_dead_insns): Speed up by using
+       NEXT_INSN and PREV_INSN directly instead of next_real_insn and
+       prev_real_insn.
+
+2005-02-24  Andrea Tarani  <andrea.tarani@gilbarco.com>
+
+       * config/m68k/m68k.c (m68k_save_reg): Also save A5 for non-leaf
+       functions when -mid-shared-library is being used.
+
+2005-02-23  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * doc/tm.texi (LINK_LIBGCC_SPECIAL): Remove.
+       (LINK_LIBGCC_SPECIAL_1): Don't mention it.
+       * gcc.c: Don't check for LINK_LIBGCC_SPECIAL.
+       * system.h: Poison LINK_LIBGCC_SPECIAL.
+
+2005-02-23  James E Wilson  <wilson@specifixinc.com>
+
+       * gengtype.c (note_insn_name): Make 1 element larger.
+
+2005-02-23  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/20018
+       PR rtl-optimization/20097
+       * simplify-rtx.c (simplify_relational_operation_1): Avoid creating
+       BImode SUBREGs of SImode registers which confuse the ia64 backend.
+
+2005-02-23  David Edelsohn  <edelsohn@gnu.org>
+
+       * t-aix43 (SHLIB_INSTALL): Create directory for shared library.
+       * t-aix52 (SHLIB_INSTALL): Same.
+
+2005-02-23  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * genpreds.c: Update copyright.
+
+2005-02-23  Michael Beach  <michaelb@ieee.org>
+
+       PR target/20159
+       * config/sparc/t-elf (startup files): Assemble with CPP.
+
+2005-02-23  Paolo Bonzini  <bonzini@gnu.org>
+
+       * genpreds.c (mark_mode_tests): Handle non-VOIDmode match_operands.
+       (write_predicate_expr): Likewise.
+
+2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/20100
+       PR tree-optimization/20115
+       * tree-optimize.c (init_tree_optimization_passes): Remove
+       pass_maybe_create_global_var.
+       * tree-pass.h (pass_maybe_create_global_var): Remove.
+       * tree-ssa-alias.c (aliases_computed_p): Declare.
+       (struct alias_info): Add field NUM_PURE_CONST_CALLS_FOUND.
+       (count_calls_and_maybe_create_global_var): Remove.
+       (pass_maybe_create_global_var): Remove.
+       (init_alias_info): Do not declare aliases_computed_p.
+       (maybe_create_global_var): If the function contains no
+       call-clobbered variables and a mix of pure/const and regular
+       function calls, create .GLOBAL_VAR.
+       Mark all call-clobbered variables for renaming.
+       (merge_pointed_to_info): Update comment.
+       (add_pointed_to_var): Likewise.
+       (is_escape_site): Likewise.
+       Accept struct alias_info * instead of size_t *.
+       Update all users.
+       Update AI->NUM_CALLS_FOUND and AI->NUM_PURE_CONST_CALLS_FOUND
+       as necessary.
+       * tree-ssa-operands.c (get_call_expr_operands): If
+       ALIASES_COMPUTED_P is false, do not add call-clobbering
+       operands.
+       * tree-ssa.c (init_tree_ssa): Set ALIASES_COMPUTED_P to false.
+       (delete_tree_ssa): Likewise.
+
+2005-02-22  James E Wilson  <wilson@specifixinc.com>
+
+       * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
+       (do_compile): Do call it here.
+
+2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR rtl-optimization/20017.
+       * passes.c (rest_of_handle_combine, rest_of_handle_cse,
+       rest_of_handle_cse2, rest_of_handle_gcse): Call
+       delete_dead_jumptables immediately before calling cleanup_cfg.
+
+2005-02-22  Devang Patel  <dpatel@apple.com>
+
+       PR 19952
+       * tree-if-conv.c (process_phi_nodes): Use bsi_after_labels and skip
+       all labels
+
+2005-02-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix.h (WINT_TYPE): Define.
+
+2005-02-22  Stan Shebs  <shebs@apple.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Default to
+       natural alignment for 64-bit Darwin.
+       (rs6000_parse_alignment_option): Warn about uses of -malign-power
+       on 64-bit Darwin.
+       * doc/invoke.texi: Document this.
+
+2005-02-22  DJ Delorie  <dj@redhat.com>
+
+       * c-common.c (c_common_type_for_mode): Pass the mode's precision
+       to make_[un]signed_type, not the mode itself.
+
+2005-02-22  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * cfg.c (cached_make_edge): Call make_edge if edge cache is
+       not available.  Use tail calls wherever possible.
+       (make_edge): Call unchecked_make_edge to create an edge.
+
+       * tree-outof-ssa.c (SSANORM_USE_COALESCE_LIST): Remove.
+       (coalesce_ssa_name): Don't check for
+       SSANORM_USE_COALESCE_LIST.
+       (rewrite_out_of_ssa): Don't use SSANORM_USE_COALESCE_LIST.
+
+2005-02-22  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-into-ssa.c (rewrite_blocks): Move debug dumps from ...
+       (rewrite_into_ssa): ... here.
+
+2005-02-21  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/19786
+       * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Add one
+       tag to another's may-alias bitmap when adding to the other's list.
+
+2005-02-21  DJ Delorie  <dj@redhat.com>
+
+       * tree-ssa-loop-ivopts.c (computation_cost): Start register
+       numbering at LAST_VIRTUAL_REGISTER+1 to avoid possibly using hard
+       registers in unsupported ways.
+       * expmed.c (init_expmed): Likewise.
+
+2005-02-21  Stan Cox  <scox@redhat.com>
+
+       * config/iq2000/iq2000.h (DWARF_FRAME_RETURN_COLUMN): Change to 31.
+
+2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (fold_cond_expr_cond): New.
+       (make_edges): Call fold_cond_expr_cond.
+       (find_taken_edge): Accept nothing but INTEGER_CST.
+       (find_taken_edge_cond_expr): Reject INTEGER_CST other than 0
+       and 1.
+       (find_taken_edge_switch_expr): Remove a check for INTEGER_CST.
+
+       * flow.c (delete_dead_jumptables): Speed up by scanning insns
+       that do not belong to any basic block.
+
+2005-02-21  Jeff Law  <law@redhat.com>
+
+       * cfganal.c (find_unreachable_blocks): Manually CSE load of
+       e->dest.
+
+2005-02-21  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-outof-ssa.c (SSANORM_REMOVE_ALL_PHIS): Remove.
+       (SSANORM_COALESCE_PARTITIONS, SSANORM_USE_COALESCE_LIST):
+       Adjust their definitions.
+       (remove_ssa_form): Don't check for SSANORM_REMOVE_ALL_PHIS.
+       (rewrite_out_of_ssa): Don't use SSANORM_REMOVE_ALL_PHIS.
+
+       * c-objc-common.h, c-pretty-print.c, cgraphunit.c, except.c,
+       genautomata.c, langhooks.c, langhooks.h, system.h,
+       config/arm/lib1funcs.asm: Update copyright.
+
+2005-02-21  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * dbxout.c (dbxout_function_end): Emit Lscope label always.
+
+2005-02-21  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR bootstrap/13770
+       * doc/install.texi: Document --with-gc.
+
+2005-02-21  Paolo Bonzini  <bonzini@gnu.org>
+
+       * simplify-rtx.c (simplify_unary_operation): Add a missing
+       "break" statement.
+
+2005-02-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR tree-optimization/18663
+       * tree-ssa-dom.c (extract_range_from_cond): Return 0
+       if the type has variable bounds.
+
+2005-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gcse.c: Remove an obsolete comment.
+
+       * cse.c (init_cse_reg_info): Use xmalloc instead of xrealloc.
+
+2005-02-20  Hans-Peter Nilsson  <hp@axis.com>
+
+       * doc/extend.texi (Function Attributes) <Attribute const>: The
+       attribute "pure" is below this text, not above.
+
+2005-02-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_assemble_integer, get_plabel): Small cleanups.
+       (pa_asm_output_mi_thunk): Use asm_output_insn instead of fprintf.
+       * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Small cleanup.
+
+2005-02-20  Zack Weinberg  <zack@codesourcery.com>
+
+       PR 18785
+       * langhooks.h (struct lang_hooks): Add to_target_charset.
+       * langhooks.c (lhd_to_target_charset): New function.
+       * langhooks-def.h: Declare lhd_to_target_charset.
+       (LANG_HOOKS_TO_TARGET_CHARSET): New macro.
+       (LANG_HOOKS_INITIALIZER): Update.
+       * c-common.c (c_common_to_target_charset): New function.
+       * c-common.h: Declare it.
+       * c-objc-common.h (LANG_HOOKS_TO_TARGET_CHARSET): Set to
+       c_common_to_target_charset.
+
+       * defaults.c (TARGET_BELL, TARGET_BS, TARGET_CR, TARGET_DIGIT0)
+       (TARGET_ESC, TARGET_FF, TARGET_NEWLINE, TARGET_TAB, TARGET_VT):
+       Delete definitions.
+       * system.h: Poison them.
+       * doc/tm.texi: Don't discuss them.
+       * builtins.c (fold_builtin_isdigit): Use lang_hooks.to_target_charset.
+       * c-pretty-print.c (pp_c_integer_constant): Don't use pp_c_char.
+       (pp_c_char): Do not attempt to generate letter escapes for
+       newline, tab, etc.
+       * config/arm/arm.c (output_ascii_pseudo_op): Likewise.
+       * config/mips/mips.c (mips_output_ascii): Likewise.
+
+2005-02-20  Dorit Naishlos  <dorit@il.ibm.com>
+
+       PR tree-optimization/19951
+       * tree-vect-analyze.c (vect_analyze_loop_form): Check if loop exit edge
+       is abnormal.
+
+2005-02-19  Steven Bosscher  <stevenb@suse.de>
+
+       PR middle-end/19698
+       * function.h (struct function): New field `max_loop_depth'.
+       * cfgloop.c (establish_preds): Update maximum loop depth seen so far.
+       (flow_loops_find): Reset the max loop depth count before finding loops.
+       * flow.c (MAX_LIVENESS_ROUNDS): New constant.
+       (update_life_info_in_dirty_blocks): Remove 2002-05-28 workaround.
+       (calculate_global_regs_live): Make sure the loop will terminate
+       when the initial sets are not empty.
+
+2005-02-19  Zack Weinberg  <zack@codesourcery.com>
+
+       * mklibgcc.in: If libgcc_eh.a would be empty, put a dummy
+       object inside.
+       * config/ia64/hpux.h: Don't define LIBGCC_SPEC.
+
+2005-02-19  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR other/19525
+       * doc/invoke.texi: Remove documentation of %M spec.
+       * gcc.c: Likewise.
+       (init_spec): Remove %M suffix from -lgcc_s.
+       (do_spec_1): Remove 'M' case.
+       * mklibgcc.in: Remove SHLIB_MULTILIB handling.  Expect SHLIB_LINK
+       to put shared libraries in the multilib directory.  Remove the
+       shlib_so_soname substitution variable.  Don't add a multilib encoding
+       to shlib_base_name.  Set shlib_slibdir_qual to the full pathname
+       reported by -print-multi-os-directory.  Pass @multilib_dir@ to
+       SHLIB_INSTALL as well as SHLIB_LINK.
+       * config/t-slibgcc-elf-ver (SHLIB_SONAME): Use @shlib_base_name@.
+       (SHLIB_NAME): Delete.
+       (SHLIB_DIR): New macro.
+       (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_SOLINK) in $(SHLIB_DIR).
+       (SHLIB_INSTALL): Adjust accordingly.
+       * config/t-slibgcc-darwin: As for t-slibgcc-elf-ver.
+       * config/t-slibgcc-sld: Likewise.
+       * config/t-libunwind-elf (SHLIBUNWIND_NAME): Delete.
+       (SHLIBUNWIND_SONAME): Use @shlib_base_name@.
+       (SHLIBUNWIND_LINK): Put $(SHLIBUNWIND_SONAME) and $(SHLIB_SOLINK)
+       in $(SHLIB_DIR).
+       (SHLIBUNWIND_INSTALL): Adjust accordingly.
+       * config/i386/t-nwld (SHLIB_SONAME): Delete.
+       (SHLIB_LINK, SHLIB_INSTALL): Use SHLIB_NAME instead of SHLIB_SONAME.
+       Use @shlib_base_name@ instead of @shlib_so_name@.
+       * config/ia64/t-hpux (SHLIB_LINK): Put @shlib_base_name@.so.0
+       and @shlib_base_name@.so in @multilib_dir@.
+       (SHLIB_INSTALL): Adjust accordingly.  Add @shlib_slibdir_qual@
+       to the install path.
+       * config/mips/t-slibgcc-irix: As for t-slibgcc-elf-ver.
+       (SHLIB_LINK): Remove previous workaround.
+       * config/pa/t-hpux-shlib (SHLIB_DIR, SHLIB_SLIBDIR_QUAL): New macros.
+       (SHLIB_LINK): Put $(SHLIB_SONAME) and $(SHLIB_NAME) in $(SHLIB_DIR).
+       (SHLIB_INSTALL): Adjust accordingly.  Add $(SHLIB_SLIBDIR_QUAL) to
+       the install path.
+       * config/rs6000/t-aix43 (SHLIB_LINK): Put @shlib_base_name@.a in
+       @multilib_dir@.  Use @multilib_dir@ to check for threading libraries.
+       (SHLIB_INSTALL): Adjust accordingly.
+       (SHLIB_LIBS): Use @multilib_dir@ to check for threading libraries.
+       * config/rs6000/t-aix52: As for config/rs6000/t-aix43.
+       * config/sh/t-linux (SHLIB_LINK, SHLIB_INSTALL): As for
+       config/t-slibgcc-elf-ver.
+
+2005-02-19  Zdenek Dvorak  <dvorakz@suse.cz>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/19828
+       * tree-ssa-loop-im.c: Add a TODO comment.
+       (movement_possibility): Return MOVE_PRESERVE_EXECUTION for calls
+       without side-effects.
+
+2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       * tree-ssa-ccp.c (widen_bitfield): Pass type to build_int_cst and don't
+       call fold_convert.
+
+2005-02-18  James E. Wilson  <wilson@specifixinc.com>
+
+       * doc/invoke.texi (IA-64 Options): Delete -mb-step.
+       * config/ia64/ia64.c (last_group, group_idx): Delete variables.
+       (errata_find_address_regs, errata_emit_nops, fixup_errata): Delete
+       functions.
+       (ia64_reorg): Delete fixup_errata call.
+       * config/ia64/ia64.h (MASK_B_STEP, TARGET_B_STEP): Delete.
+       (TARGET_SWITCHES): Delete -mb-step entry.
+
+2005-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/20043
+       * c-typeck.c (composite_type): Handle quals in transparent unions.
+       (type_lists_compatible_p): Likewise.
+
+2005-02-18  Stan Shebs  <shebs@apple.com>
+
+       * config/darwin.c (machopic_select_rtx_section): Don't put relocatable
+       expressions in the .literal8 section.
+
+2005-02-18  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/darwin-tramp.asm: Remove stray 'APPLE LOCAL' marker.
+
+2005-02-18  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (constant_boolean_node): Always create values of the
+       specified type, don't bother calling truthvalue_conversion.
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * except.c (output_function_exception_table): Call
+       assemble_external_libcall (eh_personality_libfunc).
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR target/19886
+       * config/ia64/ia64.h (struct machine_function): Add state_num.
+       * config/ia64/ia64.c (process_epilogue,
+       process_for_unwind_directive): Use new unwind state numbers each
+       time rather than state 1.
+
+2005-02-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       PR target/20054
+       * config/s390/s390.md ("*llgt_sidi", "*llgt_sidi_split"): Move to
+       before the "*llgt_didi" pattern.
+
+2005-02-18  Jason Merrill  <jason@redhat.com>
+
+       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Revert again.
+
+2005-02-18  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm/lib1funcs.asm (FUNC_ALIAS): New macro.
+       (div0): Use it in place of ARM_FUNC_ALIAS.
+       (lshrdi3, ashrdi3, ashlrdi3): Likewise.
+
+2005-02-18  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/20030
+       * fold-const.c (fold_indirect_ref_1): Use the correct index for zero
+       access, the lower bound of the array type if it exists.
+
+2005-02-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/20008
+       * stmt.c (expand_case): Don't assume cleanup_tree_cfg will remove
+       cases that are out-of-range for the index type.
+
+2005-02-18  James A. Morrison  <phython@gcc.gnu.org>
+
+       * stmt.c (emit_case_bit_tests): Call fold_convert instead of convert.
+       (estimate_case_costs): Don't call convert.
+       * expmed.c (expand_shift): Likewise.
+       (make_tree): Call fold_convert instead of convert.
+
+2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/19813
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Add assertion
+       that ref to be marked MEM_READONLY_P doesn't have base that needs
+       constructing.
+
+2005-02-18  Joseph S. Myers  <joseph@codesourcery.com>
+
+       * genautomata.c (output_get_cpu_unit_code_func,
+       output_cpu_unit_reservation_p): Don't generate old-style function
+       definitions.
+
+2005-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/20023
+       PR tree-optimization/20009
+       * convert.c (convert_to_integer): Revert 2005-02-16 change.
+
+       PR tree-optimization/18947
+       * cgraphunit.c (cgraph_finalize_function): When redefining an extern
+       inline, remove all nodes that are inlined into the extern inline
+       being redefined.
+
+2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bt-load.c, cfgloop.c, convert.c, dominance.c, global.c,
+       loop-invariant.c, stmt.c, tree-ssa-forwprop.c,
+       tree-ssa-live.c, tree-ssanames.c, tree-vn.c,
+       config/host-linux.c, config/arm/fpa.md, config/avr/avr.h:
+       Update copyright.
+
+2005-02-17  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/19917
+       * tree-eh.c (tree_could_trap_p): Consider calls to weak functions
+       to be potentially trapping.
+
+2005-02-17  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * libgcc2.c, tree-vect-analyze.c: Fix comment typos.
+
+2005-02-17  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * builtins.c (expand_builtin_return_addr): Remove tem parameter.
+       tem becomes a local variable which is set to the value of the
+       back end defined INITIAL_FRAME_ADDRESS macro.
+       (expand_builtin_frame_address): Omit the base parameter to
+       expand_builtin_return_addr.
+       (expand_builtin_profile_func): Likewise.
+       * config/s390/s390.h (INITIAL_FRAME_ADDRESS_RTX): Define new macro.
+       (DYNAMIC_CHAIN_ADDRESS): Remove the case for the initial frame.
+       * doc/tm.texi: Documentation for INITIAL_FRAME_ADDRESS_RTX added.
+
+2005-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/s390.c (s390_alloc_pool, s390_free_pool,
+       s390_chunkify_start): Use BITMAP_ALLOC and BITMAP_FREE.
+       * config/frv/frv.c (frv_function_epilogue): Likewise.
+
+2005-02-17  Daniel Berlin  <dberlin@dberlin.org>
+
+       * lambda-code (perfect_nestify): Remove mark/unmark
+       for rewriting hack.
+       * tree-loop-linear.c (linear_transform_loops): Add
+       rewrite_into_ssa call so that ssa is correct for
+       rewriting into loop closed.
+
+2005-02-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * bitmap.h (BITMAP_XMALLOC, BITMAP_XFREE): Remove.
+       * bb-reorder.c (duplicate_computed_gotos): Use BITMAP_ALLOC and
+       BITMAP_FREE.
+       * bt-load.c (btr_def_live_range, combine_btr_defs,
+       migrate_btr_def, migrate_btr_defs): Likewise.
+       * cfgcleanup.c (thread_jump): Likewise.
+       * cfgloop.c (get_loop_body_in_bfs_order): Likewise.
+       * df.c (df_insn_table_realloc, df_bitmaps_alloc, df_bitmaps_free,
+       df_alloc, df_free, df_du_chain_create, df_bb_rd_local_compute,
+       df_rd_local_compute, df_reg_info_compute): Likewise.
+       * dominance.c (init_dom_info, free_dom_info): Likewise.
+       * flow.c (init_propagate_block_info,
+       free_propagate_block_info): Likewise.
+       * gcse.c (alloc_gcse_mem, free_gcse_mem): Likewise.
+       * global.c (allocate_bb_info, free_bb_info, calculate_reg_pav,
+       modify_reg_pav): Likewise.
+       * loop-invariant.c (find_defs, find_invariant_insn,
+       find_invariants, free_inv_motion_data): Likewise.
+       * predict.c (tree_predict_by_opcode,
+       estimate_bb_frequencies): Likewise.
+       * stmt.c (expand_case): Likewise.
+       * tree-cfg.c (tree_duplicate_sese_region): Likewise.
+       * tree-dfa.c (mark_new_vars_to_rename): Likewise.
+       * tree-if-conv.c (get_loop_body_in_if_conv_order): Likewise.
+       * tree-into-ssa.c (insert_phi_nodes_for, def_blocks_free,
+       get_def_blocks_for, mark_def_site_blocks, rewrite_into_ssa,
+       rewrite_ssa_into_ssa): Likewise.
+       * tree-optimize.c (tree_rest_of_compilation): Likewise.
+       * tree-outof-ssa.c (new_temp_expr_table, free_temp_expr_table,
+       analyze_edges_for_bb, perform_edge_inserts): Likewise.
+       * tree-scalar-evolution.c (scev_initialize, scev_finalize): Likewise.
+       * tree-sra.c (tree_sra): Likewise.
+       * tree-ssa-alias.c (init_alias_info, delete_alias_info): Likewise.
+       * tree-ssa-ccp.c (ccp_fold_builtin): Likewise.
+       * tree-ssa-dce.c (tree_dce_init, tree_dce_done): Likewise.
+       * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+       * tree-ssa-dse.c (tree_ssa_dse): Likewise.
+       * tree-ssa-forwprop.c (tree_ssa_forward_propagate_single_use_var):
+       Likewise.
+       * tree-ssa-live.c (new_tree_live_info, delete_tree_live_info,
+       calculate_live_on_entry, calculate_live_on_exit,
+       build_tree_conflict_graph): Likewise.
+       * tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize_init, record_use,
+       record_important_candidates, set_use_iv_cost, find_depends,
+       determine_use_iv_costs, iv_ca_new, iv_ca_free, free_loop_data,
+       tree_ssa_iv_optimize_finalize): Likewise.
+       * tree-ssa-loop-manip.c (add_exit_phis_var, get_loops_exit,
+       find_uses_to_rename_use, rewrite_into_loop_closed_ssa,
+       tree_duplicate_loop_to_header_edge): Likewise.
+       * tree-ssa-pre.c (init_pre, fini_pre): Likewise.
+       * tree-ssa.c (verify_flow_insensitive_alias_info,
+       verify_name_tags, verify_ssa, init_tree_ssa,
+       delete_tree_ssa): Likewise.
+       * tree-ssanames.c (marked_ssa_names, init_ssanames,
+       fini_ssanames): Likewise.
+       * tree-vectorizer.c (slpeel_tree_peel_loop_to_edge): Likewise.
+
+2005-02-17  Ralf Corsepius  <ralf.corsepius@rtems.org>
+
+       * config/rs6000/t-rtems: Completely reworked.
+
+2005-02-17  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-data-ref.c (array_base_name_differ_p): Remove gcc_assert.
+
+2005-02-17  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vect-analyze.c (vect_analyze_pointer_ref_access): Use
+       POINTER_TYPE_P when checking that type is a pointer.
+       (vect_get_memtag): Remove.
+       (vect_address_analysis): Use POINTER_TYPE_P. Call
+       vect_object_analysis with dummy parameter for memtag.
+       (vect_object_analysis): Extract memtag (functionality that
+       used to be in vect_get_memtag and moved here). Fix printings.
+       (vect_analyze_data_refs): Fix comment. Call vect_object_analysis
+       with correct parameters. Remove call to vect_get_memtag.
+
+2005-02-17  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * Makefile.in (tree-vect-analyze.o, tree-vect-transform.o): New.
+       (tree-vectorizer.o): Added missing dependencies.
+
+       * tree-vectorizer.h (vect_dump, vect_verbosity_level): Added extern
+       decleration.
+       (slpeel_tree_peel_loop_to_edge): Function externalized (had a static
+       declaration in tree-vectorizer.c, now has an extern declaration in
+       tree-vectorizer.h).
+       (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+       slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+       get_vectype_for_scalar_type, vect_is_simple_use,
+       vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+       vect_supportable_dr_alignment, new_loop_vec_info, destroy_loop_vec_info,
+       new_stmt_vec_info, vect_analyze_loop, vectorizable_load,
+       vectorizable_store, vectorizable_operation, vectorizable_assignment,
+       vect_transform_loop, vect_print_dump_info, vect_set_verbosity_level,
+       find_loop_location): Likewise.
+
+       * tree-vectorizer.c (langhooks.h): #include removed.
+       (slpeel_tree_peel_loop_to_edge): Function externalized. Declaration
+       moved to tree-vectorized.h.
+       (slpeel_make_loop_iterate_ntimes, slpeel_can_duplicate_loop_p,
+       slpeel_verify_cfg_after_peeling, vect_strip_conversion,
+       get_vectype_for_scalar_type, vect_is_simple_use,
+       vect_is_simple_iv_evolution, vect_can_force_dr_alignment_p,
+       vect_supportable_dr_alignment, new_loop_vec_info,
+       destroy_loop_vec_info, new_stmt_vec_info, vect_print_dump_info,
+       vect_set_verbosity_level, find_loop_location): Likewise.
+
+       (vect_analyze_loop): Function externalized. Declaration moved to
+       tree-vectorized.h. Function definition moved to tree-vect-analyze.c.
+       (vect_analyze_loop_form): Moved to tree-vect-analyze.c.
+       (vect_mark_stmts_to_be_vectorized, vect_analyze_scalar_cycles,
+       vect_analyze_data_ref_accesses, vect_analyze_data_ref_dependences,
+       vect_analyze_data_refs_alignment, vect_compute_data_refs_alignment,
+       vect_enhance_data_refs_alignment, vect_analyze_operations,
+       exist_non_indexing_operands_for_use_p, vect_mark_relevant,
+       vect_stmt_relevant_p, vect_get_loop_niters,
+       vect_analyze_data_ref_dependence, vect_compute_data_ref_alignment,
+       vect_analyze_data_ref_access, vect_analyze_pointer_ref_access,
+       vect_can_advance_ivs_p, vect_get_ptr_offset, vect_analyze_offset_expr,
+       vect_base_addr_differ_p, vect_object_analysis, vect_address_analysis,
+       vect_get_memtag): Likewise.
+
+       (vectorizable_load): Function externalized. Declaration moved to
+       tree-vectorized.h. Function definition moved to tree-vect-transform.c.
+       (vectorizable_store, vectorizable_operation, vectorizable_assignment,
+       vect_transform_loop): Likewise.
+       (vect_transform_stmt): Moved to tree-vect-transform.c.
+       (vect_align_data_ref, vect_create_destination_var,
+       vect_create_data_ref_ptr, vect_create_index_for_vector_ref,
+       vect_create_addr_base_for_vector_ref, vect_get_new_vect_var,
+       vect_get_vec_def_for_operand, vect_init_vector,
+       vect_finish_stmt_generation, vect_generate_tmps_on_preheader,
+       vect_build_loop_niters, vect_update_ivs_after_vectorizer,
+       vect_gen_niters_for_prolog_loop, vect_update_inits_of_dr,
+       vect_update_inits_of_drs, vect_do_peeling_for_alignment,
+       vect_do_peeling_for_loop_bound): Likewise.
+
+       * tree-vect-analyze.c: New file.
+       * tree-vect-transform.c: New file.
+
+2005-02-17  Jason Merrill  <jason@redhat.com>
+
+       PR mudflap/19319, c++/19317
+       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
+       slot explicit.
+
+2005-02-17  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Update link for Darwin-specific
+       tool binary site.
+
+2005-02-16  James A. Morrison  <phython@gcc.gnu.org>
+
+       * fold-const.c (invert_truthvalue): <INTEGER_CST>: Call
+       constant_boolean_node.
+
+2005-02-16  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/19019
+       * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+       * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
+
+2005-02-16  Richard Henderson  <rth@redhat.com>
+
+       PR 19920
+       * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
+       with W_TYPE_SIZE.
+       (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
+       replace uses with Wtype_MAXp1_F.
+       (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
+       L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
+       L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
+       L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
+       and HAVE_TFMODE as appropriate.
+       (__fixunssfDI): Provide an implementation that doesn't need DFmode.
+       (__floatdisf): Likewise.
+       * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
+       (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
+       (Wtype_MAXp1_F): New.
+       (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
+       __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
+
+2005-02-16  Richard Earnshaw  <rearnsha@arm.com>
+
+       * PR target/19162
+       * arm.c (arm_apply_result_size): New function.
+       * arm.h (APPLY_RESULT_SIZE): Define.
+       * arm-protos.h (arm_apply_result_size): Add prototype.
+       * arm.md (RO_REGNUM, FPA_F0_REGNUM, FPA_F7_REGNUM): New constants.
+       (movxf): New expand.
+       (ldmsi_postinc4_thumb, stmsi_postinc4_thumb): New patterns for Thumb.
+       (call_value_symbol): Remove predicate for operand 0.
+       (call_value_insn, sibcall_value, sibcall_value_insn): Likewise.
+       (untyped_call): Rework to correclty return values for any type.
+       (untyped_return): New expand.
+       * fpa.md (movxf_fpa): Simplify and use sfm/lfm when appropriate.
+
+2005-02-16  Stan Shebs  <shebs@apple.com>
+
+       * config.gcc (powerpc-*-darwin*): Use fragment for Darwin 8 or later.
+       * config/rs6000/t-darwin8: New, for 64-bit multilib.
+
+2005-02-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (sparc-sun-solaris2*): Document required GMP
+       configure settings on Solaris 7 and later.
+
+2005-02-16  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/19865
+       * tree-optimize.c (init_tree_optimization_passes): Run
+       pass_may_alias after pass_sra.
+
+2005-02-16  Richard Henderson  <rth@redhat.com>
+           Stuart Hastings  <stuart@apple.com>
+
+       PR debug/19521
+       * dbxout.c (dbxout_function_end): Take decl parameter; update callers.
+       Do nothing if debug info suppressed for this function.
+       (dbxout_begin_function): Early exit if debug info suppressed for
+       this function.
+
+2005-02-16  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR target/20007
+       * config/ip2k/ip2k.c (ip2k_reorg): Adjust calls to
+       find_basic_blocks.
+       * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+
+       PR tree-optimization/19967
+       * builtins.c (expand_builtin_strstr, expand_builtin_strpbrk,
+       expand_builtin_strchr, expand_builtin_strrchr): Take a new
+       argument TYPE.  Adjust calls to fold_builtin_XXX.
+       (expand_builtin, fold_builtin_1): Adjust calls to
+       expand_builtin_XXX.
+       (fold_builtin_strchr, fold_builtin_strpbrk,
+       fold_builtin_strstr, fold_builtin_strrchr): Convert the folded
+       result to a requested type TYPE.
+
+2005-02-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/19857
+       * fold-const.c (fold): Don't optimize (T)(x & cst) to
+       (T)x & (T)cst if (T)cst overflows.
+       * convert.c (convert_to_integer) <case POINTER_TYPE>: Pass
+       TYPE_UNSIGNED (type) as type_for_size's UNSIGNEDP argument.
+
+2005-02-15  Jeff Law  <law@redhat.com>
+
+       * gcse.c (blocks_with_calls): New bitmap.
+       (alloc_gcse_mem): Allocate it.
+       (free_gcse_mem): Free it.
+       (clear_modifY_mem_tables): Clear it.
+       (record_last_mem_set_info): Set the proper bit in BLOCK_WITH_CALLS
+       when we encounter CALL_INSNs.
+       (compute_transp, case MEM): Handle blocks with calls separate
+       from blocks without calls.  Use bitmap iterators rather than
+       FOR_EACH_BB.
+
+2005-02-15  Peter O'Gorman  <peter@pogma.com>
+
+       PR bootstrap/18810
+       * mklibgcc.in (vis_hide): Use a temporary object file, not
+       -o /dev/null.
+
+2005-02-15  Andy Hutchinson  <HutchinsonAndy@netscape.net>
+
+       PR target/19924
+       * config/avr/avr.h (MODES_TIEABLE_P): Define to 1 to allow subreg
+       access optimization.
+
+2005-02-15  David Edelsohn  <edelsohn@gnu.org>
+           Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/19019
+       * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
+       (_xlqsub): Rename to __gcc_qsub.
+       (_xlqmul): Rename to __gcc_qmul.
+       (_xlqdiv): Rename to __gcc_qdiv.
+       Provide versioned symbol aliases with old names.
+       * config/rs6000/libgcc-ppc64.ver: Rename symbols.
+       * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
+       * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
+       * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
+       * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
+
+2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
+
+       * fold-const.c (fold): Fold -(~A) to A + 1.  Fold ~(-A) to A - 1.
+       Fold ~(A - 1) and ~(A + -1) to -A.
+
+2005-02-15  James A. Morrison  <phython@gcc.gnu.org>
+
+       PR pch/14940
+       PR target/19300
+       * config/host-linux.c (linux_gt_pch_use_address): Copy from
+       config/pa/pa-host.c:pa_gt_pch_use_address.
+
+2005-02-15  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-vn.c (get_value_handle): Make sure that given an
+       is_gimple_min_invariant expression, we always return it.
+
+2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * passes.c (rest_of_handle_gcse): Fix a comment.
+
+2005-02-15  Jeff Law  <law@redhat.com>
+
+       * gcse.c (canon_modify_mem_set_list_set): Kill unnecessary
+       bitmap.
+       (alloc_gcse_mem, free_gcse_mem): Corresponding changes.
+       (canon_list_insert, record_last_mem_set_info): Similarly.
+       (clear_modify_mem_tables): Similarly.
+
+2005-02-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * bitmap.c, bitmap.h, lambda-code.c, tree-dfa.c, tree-dump.c,
+       tree-dump.h, tree-ssa-loop-manip.c, value-prof.c,
+       config/mips/mips.md, config/rs6000/aix.h,
+       config/rs6000/beos.h, config/rs6000/sysv4.h: Update copyright.
+
+2005-02-15  Richard Henderson  <rth@redhat.com>
+
+       * bb-reorder.c (find_traces_1_round): Force fallthru edge from a
+       call to be best_edge.
+
+2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * basic-block.h: Adjust the prototype for find_basic_blocks.
+       * cfgbuild.c (find_basic_blocks): Remove unused arguments.
+       * passes.c (rest_of_handle_loop_optimize): Adjust the call to
+       find_basic_blocks.
+
+       * flow.c (recompute_reg_usage): Remove all arguments.
+       * passes.c (rest_of_compilation): Adjust the call to
+       recompute_reg_usage.
+       * rtl.h: Adjust the prototype for recompute_reg_usage.
+
+2005-02-14  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-dump.c (dump_files): Update to reflect new member
+       of dump_file_info.
+       (dump_register): Add new argument.
+       Set glob name.
+       (dump_switch_p_1): Check against glob name if doglob was passed.
+       (dump_switch_p): Check against regular first, then glob if
+       we didn't have any hits on the dump name.
+       * tree-optimize.c (register_one_dump_file):
+       Pass in glob name as well.
+       * tree-pass.h (struct dump_file_info): Add glob
+       member.
+
+2005-02-14  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/16323
+       * doc/invoke.texi: Document that -Wendif-labels is on by default.
+
+2005-02-14  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/19019
+       * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
+       (trunctfdf2_internal1): New.
+       (trunctfdf2_internal2): Renamed from trunctfdf2.
+
+2005-02-14  Diego Novillo  <dnovillo@redhat.com>
+
+       PR tree-optimization/19853
+       * tree-dfa.c (add_referenced_var): Always examine DECL_INITIAL.
+
 2005-02-14  Kazu Hirata  <kazu@cs.umass.edu>
 
        * passes.c (rest_of_handle_loop_optimize): Remove calls to
        swapping commutative operands.
 
 2005-02-14  Sebastian Pop  <pop@cri.ensmp.fr>
-        
+
        * lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
        Use standard_iv_increment_position for computing the bsi position
        for create_iv.
 2005-02-13  Zdenek Dvorak  <dvorakz@suse.cz>
 
        PR target/17428
-       * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending life range of hard
-       registers.
-       * value-prof.c (insn_prefetch_values_to_profile): Only scan normal insns.
+       * cfgrtl.c (safe_insert_insn_on_edge): Avoid extending
+       life range of hard registers.
+       * value-prof.c (insn_prefetch_values_to_profile): Only
+       scan normal insns.
 
        * value-prof.c (rtl_find_values_to_profile): Do not look for values to
        profile in libcalls.
 
 2005-02-13  Jason Merrill  <jason@redhat.com>
 
-       [reverted temporarily]
-
-       PR mudflap/19319
-       * gimplify.c (gimplify_modify_expr_rhs) [CALL_EXPR]: Make return
-       slot explicit.
-
        PR c++/16405
        * fold-const.c (fold_indirect_ref_1): Split out from...
        (build_fold_indirect_ref): Here.
        * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
        __mulsc3, __muldc3, __mulxc3, __multc3): New.
        * libgcc2.h: Declare them.
-       * libgcc-std.ver: Export them.
+       * libgcc-std.ver: Export them.
        * mklibgcc.in (lib2funcs): Build them.
 
 2005-02-11  Steven Bosscher  <stevenb@suse.de>
        * config/rs6000/t-rtems:
        (MULTILIB_OPTIONS): Remove mcpu=602.
        (MUTLILIB_DIRNAMES): Remove m602.
-       (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}. 
+       (MULTILIB_MATCHES): Add ${MULTILIB_MATCHES_FLOAT}.
        Let mcpu=602 match mcpu=603.
        (MULTILIB_NEW_EXCEPTIONS_ONLY): Add mcpu=601, mcpu=602, mcpu=m603.
 
 
 2005-02-09  Dorit Naishlos  <dorit@il.ibm.com>
 
-       * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file 
+       * tree-vectorizer.c (vect_set_dump_settings): Check that dump_file
        exists.
 
 2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
        (slpeel_tree_peel_loop_to_edge): Likewise.
 
        (vect_analyze_offset_expr): Call to vect_print_dump_info with
-       appropriate verbosity level instead of call to vect_debug_details 
-       or vect_debug_stats. 
+       appropriate verbosity level instead of call to vect_debug_details
+       or vect_debug_stats.
        (vect_get_base_and_offset):
        (vect_create_addr_base_for_vector_ref):
        (get_vectype_for_scalar_type):
        (vect_mark_stmts_to_be_vectorized):
        (vect_get_loop_niters):
        (vect_analyze_loop_form):
-       (vect_analyze_loop): Likewise. 
+       (vect_analyze_loop): Likewise.
        (vect_mark_stmts_to_be_vectorized): Add call to print_generic_expr.
 
 2005-02-07  Richard Sandiford  <rsandifo@redhat.com>
 
 2005-02-07  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
-       * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): 
+       * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC):
        Let !-mhard-float !-msoft-float imply -mfpu=softfpa.
 
 2005-02-06  Roger Sayle  <roger@eyesopen.com>
        (vect_analyze_loop_form): Argument in call to vect_debug_details/stats
        changed from loop to loop_loc.
 
-       (vect_enhance_data_refs_alignment): Removed unused variable loop.       
+       (vect_enhance_data_refs_alignment): Removed unused variable loop.
 
 2005-02-03  Leehod Baruch  <leehod@il.ibm.com>
            Dorit Naishlos  <dorit@il.ibm.com>
        (vect_create_index_for_vector_ref): Likewise.
        (vect_update_ivs_after_vectorizer): Likewise.
        (new_stmt_vec_info): Likewise.
-       
+
        (new_loop_vec_info): Second argument in call to new_stmt_vec_info was
        changed from loop to loop_vinfo.
        (vect_create_data_ref_ptr): First argument in call to
        was changed from loop to loop_vinfo.
        (vect_analyze_data_ref_dependences): Third argument in call to
        vect_analyze_data_ref_dependence was changed from loop to loop_vinfo.
-       
+
        (vect_create_index_for_vector_ref): Get the loop from loop_vinfo.
        (vect_create_data_ref_ptr): Likewise.
        (vect_init_vector): Likewise.
 2005-02-03  Dorit Naishlos  <dorit@il.ibm.com>
 
        * tree-vectorizer.c (slpeel_make_loop_iterate_ntimes): Call
-       standard_iv_increment_position. Remove call to bsi_next 
+       standard_iv_increment_position. Remove call to bsi_next
        (no need to bump the iterator anymore).
        (vect_create_index_for_vector_ref): Call
        standard_iv_increment_position. Remove second function argument.
-       (vect_finish_stmt_generation): Remove call to bsi_next 
+       (vect_finish_stmt_generation): Remove call to bsi_next
        (no need to bump the iterator anymore).
        (vect_create_data_ref_ptr): Remove second argument (bsi) in call
        to vect_create_index_for_vector_ref.
 
        * config.gcc: Don't include embedded systems fragment, switches default
        debugging format to ELF.
-       * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no 
+       * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
        longer pick it up there.
 
 2005-01-31  Dale Johannesen  <dalej@apple.com>
-       
+
        * doc/extend.texi (nested functions): Fix linkage description.
        Clarify that static is not allowed.
 
 2005-01-31  Dale Johannesen  <dalej@apple.com>
-       
+
        * config/rs6000/darwin.md (movsf_low_di):  Make work.
        (movdf_low_di):  Make work.
 
 2005-01-30  Daniel Berlin  <dberlin@dberlin.org>
 
        Fix PR tree-optimization/19624
-       
+
        * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
        * tree-ssa-pre.c: Add cfgloop.h.
        Update comment.
        PR target/19700
        * config/i386/i386.c (ix86_expand_copysign): New.
        (ix86_split_copysign_const): New.
-       (ix86_split_copysign_var): Rename from ix86_split_copysign, 
+       (ix86_split_copysign_var): Rename from ix86_split_copysign,
        rearrange op1/nmask operands.
        * config/i386/i386-protos.h: Update.
        * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
 
 2005-01-26  Steven Bosscher  <stevenb@suse.de>
 
-       PR middle-end/19616     
+       PR middle-end/19616
        * tree.h (CALL_EXPR_TAILCALL): Add comment.
        * calls.c (check_sibcall_argument_overlap_1): Revert the change
        to this function from 2004-07-10.
 
 2005-01-21  Mark Dettinger  <dettinge@de.ibm.com>
 
-       * config/s390/s390.c (struct processor_costs): New fields 
+       * config/s390/s390.c (struct processor_costs): New fields
        dlgr, dlr, dr, dsgfr, dsgr.
        (z900_cost, z990_cost): Values for new fields.
        (s390_rtx_costs): New cases MEM und COMPARE in switch
        (add_location_or_const_value_attribute): Use it.
        Also try to generate a frame_base from a single element location
        list.
-       
+
 2005-01-20  Kazu Hirata  <kazu@cs.umass.edu>
 
        PR tree-optimization/15349
 2005-01-19  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
        PR target/19529
-       * config/sh/t-rtems: New. 
+       * config/sh/t-rtems: New.
        * config.gcc (sh-*-rtems*): Reflect having added config/sh/t-rtems.
 
 2005-01-19  Zdenek Dvorak  <dvorakz@suse.cz>
 2005-01-15  Ralf Corsepius  <ralf.corsepius@rtems.org>
 
        * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
-       * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS): 
+       * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
        Remove little endian multilib variants.
        Add mips32 multilib variant.
 
        (TARGET_ASM_FILE_END): Call arm_file_end.
        (aof_file_end): Likewise.
        * arm-protos.h (thumb_call_via_reg): Declare.
-       * arm.md (call_reg_thumb, call_value_reg_thumb): Call 
+       * arm.md (call_reg_thumb, call_value_reg_thumb): Call
        thumb_call_via_reg in normal case.
 
 2005-01-14  Jakub Jelinek  <jakub@redhat.com>
        IX86_BUILTIN_MOVDQ2Q): Remove.
        (IX86_BUILTIN_VEC_EXT_V4SI): New.
        (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Update to match.
-       (ix86_expand_vector_extract): For V4S[FI], extract element 0 after 
+       (ix86_expand_vector_extract): For V4S[FI], extract element 0 after
        shuffling.
        * config/i386/sse.md (sse_concatv2sf): Accept zero operand 2.
        (sse2_pextrw): Fix immediate constraint.
        vec_extractv16qi, vec_initv16qi): New.
 
        * config/i386/emmintrin.h (__m128i, __m128d): Use typedef, not define.
-       (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x, 
+       (_mm_set_sd, _mm_set1_pd, _mm_setzero_pd, _mm_set_epi64x,
        _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128): Use
        constructor form.
        (_mm_load_pd, _mm_store_pd): Use plain dereference.