+2005-03-08 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-03-08 J"orn Rennecke <joern.rennecke@st.com>
+
+ * jump.c (invert_jump_1): Don't call redirect_jump_1 with
+ nlabel == JUMP_LABEL (jump).
+
+2005-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.c, c-opts.c, combine.c, cse.c, dojump.c,
+ gimplify.c, tree-dfa.c, tree-ssa-loop-ivopts.c,
+ tree-ssa-phiopt.c, tree-ssa-pre.c, tree-ssa-sink.c,
+ tree-vect-analyze.c, tree.def, tree.h: Fix comment formatting.
+
+2005-03-08 Alexey Neyman <alex.neyman@auriga.ru>
+
+ PR c/14411
+ * calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute.
+ * c-common.c (handle_returns_twice): New function.
+ (c_common_attribute_table): Declare eturns_twice' attribute.
+ * doc/extend.texi: Document eturns_twice' attribute.
+ * tree.h (DECL_IS_RETURNS_TWICE): New macro.
+ (struct tree_decl): Add returns_twice_flag.
+
+2005-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-phiopt.c: Fix a comment typo.
+
+ * c-semantics.c, cfghooks.c, diagnostic.h, loop-iv.c,
+ loop-unswitch.c, modulo-sched.c, stor-layout.c, tree-gimple.h,
+ config/i386/cygwin1.c, doc/cfg.texi, doc/objc.texi: Update
+ copyright.
+
+2005-03-08 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (code_for_builtin): Replace special-case
+ builtin codes with ctzdi2, clzdi2, popcountdi2.
+ (struct alpha_builtin_def): Add is_const.
+ (zero_arg_builtins, one_arg_builtins, two_arg_builtins): Init it.
+ (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_vector_minmax, alpha_fold_builtin_perr,
+ alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb,
+ alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw,
+ alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz,
+ alpha_fold_builtin_ctpop, alpha_fold_builtin): New.
+ (TARGET_FOLD_BUILTIN): New.
+ * config/alpha/alpha.md (UNSPEC_CTTZ): Remove.
+ (UNSPEC_CTLZ, UNSPEC_CTPOP): Remove.
+ (ffsdi2): Use ctz.
+ (cttz, builtin_cttz, builtin_ctlz, builtin_ctpop): Remove.
+
+2005-03-08 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/20122
+ * tree-vect-analyze.c (vect_object_analysis): Analyze initial
+ condition of access function instead of base.
+
+2005-03-07 Jeff Law <law@redhat.com>
+ Steven Bosscher <stevenb@suse.de>
+
+ * tree-cfg.c (find_taken_edge_computed_goto): New function.
+ (find_taken_edge): Call find_taken_edge_computed_goto as
+ appropriate. Allow any gimple invariant rather than just
+ INTEGER_CST for VAL.
+ (cleanup_control_flow): Cleanup a computed goto which has turned
+ into a simple goto.
+ (tree_merge_blocks): If block B has any forced labels, move
+ them to the start of block A.
+ * tree-ssa-dom.c (thread_across_edge): Allow threading across
+ computed gotos as well.
+ * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Handle
+ removal of unnecessary computed gotos too.
+ (lookup_redirection_data): Fix type of INSERT argument. Callers
+ updated.
+
+2005-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-phiopt.c: Update copyright. Fix indentations.
+ Remove trailing spaces.
+
+ * gimplify.c (gimple_push_bind_expr, gimple_pop_bind_expr,
+ unshare_all_trees): Make them static.
+ * tree-gimple.h: Remove the corresponding prototypes.
+
+ * diagnostic.h: Remove unused prototype
+ debug_output_buffer.
+ * modulo-sched.c: Remove unused prototype
+ set_row_column_for_ps.
+
+ * tree-ssa-phiopt.c (tree_ssa_phiopt,
+ replace_phi_edge_with_variable): Remove unused variable i.
+
+2005-03-07 Per Bothner <per@bothner.com>
+
+ * 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.
+ (candidate_bb_for_phi_optimization): Remove.
+ (replace_phi_with_stmt): Rename to ...
+ (replace_phi_edge_with_variable): this and change so that we
+ replace the phi argument instead of removing the PHI.
+ (conditional_replacement): Change so we deal with PHI with more
+ than two arguments.
+ (value_replacement): Likewise.
+ (abs_replacement): Likewise.
+
+2005-03-07 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000-protos.h: Rename output_e500_flip_eq_bit to
+ output_e500_flip_gt_bit.
+
+ * config/rs6000/rs6000.c (print_operand): case D: Print out bit 31
+ as bit 31.
+ (rs6000_generate_compare): Fix logic to look at the correct bits.
+ (output_e500_flip_eq_bit): Rename to output_e500_flip_gt_bit.
+ Look at GT bit.
+ (rs6000_emit_sCOND): Rename gen_e500_flip_eq_bit to
+ gen_e500_flip_gt_bit. Rename gen_move_from_CR_eq_bit to
+ gen_move_from_CR_gt_bit.
+
+ * config/rs6000/rs6000.md ("move_from_CR_eq_bit"): Change bit
+ ("move_from_CR_eq_bit"): Rename to move_from_CR_gt_bit.
+ (UNSPEC_MV_CR_EQ): Rename to UNSPEC_MV_CR_GT.
+
+ * config/rs6000/spe.md ("e500_cr_ior_compare"): New.
+ (E500_CR_IOR_COMPARE): New constant.
+
+2005-03-08 Earl Chew <earl_chew@agilent.com>
+ David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * config/i386/host-cygwin.c: New file to support precompiled
+ headers on cygwin
+ * config/i386/x-cygwin: Use host-cygwin.c on cygwin host
+ * config.host: Use above files for cygwin host.
+
+2005-03-07 David Edelsohn <edelsohn@gnu.org>
+
+ * fold-const.c (fold_binary_op_with_conditional_arg): Fix typo
+ ordering ops from earlier change.
+
+2005-03-07 Per Bothner <per@bothner.com>
+
+ Various fixes to allow us to again build if --enable-mapped-location:
+ * c-decl.c (finish_function): Use SET_EXPR_LOCATION instead of
+ unavailable annotate_with_file_line, if USE_MAPPED_LOCATION.
+ * 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.
+ * 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.
+
+2005-03-07 Richard Sandiford <rsandifo@redhat.com>
+
+ PR rtl-optimization/19683
+ * reload1.c (choose_reload_regs): Pass the number of bits, not the
+ number of bytes, to smallest_int_for_mode. Fix arguments to
+ REG_CANNOT_CHANGE_MODE_P.
+
+2005-03-07 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * reorg.c (relax_delay_slots): Check that the jump is
+ conditional before trying to invert it.
+
+2005-03-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bb-reorder.c (max_entry_frequency, max_entry_frequency):
+ Make them static.
+
+ * calls (stack_arg_under_construction): Make it static.
+
+ * flow.c (regs_live_at_setjmp): Make it static.
+ * flow.h: Remove the corresponding prototype.
+
+ * reload1.c (reload_startobj, reload_firstobj,
+ something_needs_operands_changed, reload_inherited,
+ reload_inheritance_insn, reload_override_in,
+ reload_spill_index): Make them static.
+
+ * recog.c (verify_changes): Make it static.
+ * recog.h: Remove the corresponding prototype.
+
+ * cfgbuild.c (find_sub_basic_blocks): Remove.
+ * basic-block.h: Remove the corresponding prototype.
+ * cfgexpand.c, cfgrtl.c: Don't mention find_sub_basic_blocks
+ in comments.
+ * doc/cfg.texi: Don't mention find_sub_basic_blocks.
+
+ * tree-ssa-operands.c (check_build_stmt): Remove.
+
+ * stor-layout.c (set_alignment): Remove.
+ * tree.h: Remove the corresponding prototype.
+
+ * tree-ssa-pre.c (has_abnormal_preds): Make it static.
+
+ * tree-ssa-dce.c (control_dependence_map,
+ visited_control_parents): Make them static.
+
+ * cfghooks.c (verify_flow_info): Remove local variable
+ num_bb_notes.
+
+ * cfgrtl.c (rtl_verify_flow_info_1): Remove local variable
+ last_bb_seen.
+
+ * loop-unswitch.c (unswitch_loop): Remove local variable src.
+
+2005-03-07 David Billinghurst <David.Billinghurst@riotinto.com>
+
+ * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
+
+2005-03-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/ia64/hpux.h (LINK_SPEC): Add -z.
+ * config/ia64/ia64.c (ia64_function_value): Return a REG not a
+ PARALLEL for an empty structure.
+
+2005-03-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c (fold_binary): Remove handling of RANGE_EXPR.
+
+ * fold-const.c (fold_binary): Unroll the very first "for"
+ loop.
+
+2005-03-06 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/predicates.md (branch_comparison_operator): Remove
+ redundant match_code test.
+ (scc_comparison_operator): Swap match_operand and match_code
+ tests.
+ (branch_positive_comparison_operator): Same.
+ (trap_comparison_operator): Use comparison_operator and swap with
+ match_code test.
+
+2005-03-06 Marek Michalkiewicz <marekm@amelek.gda.pl>
+
+ PR target/20288
+ * config/avr/avr.c (print_operand): Add 'p' and 'r'.
+ (out_movhi_r_mr): Read low byte of volatile MEM first.
+ (out_movhi_mr_r): Write high byte of volatile MEM first.
+
+2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cselib.c (reg_values, reg_values_size): Make them static.
+
+ * cse.c (cse_reg_info_table): Make it static.
+
+ * fold-const.c (fold_unary): Use build1 instead of copy_node.
+
+2005-03-06 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cse.c (find_best_addr): Use canon_for_address.
+
+2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (fold_rtx_subreg, fold_rtx_mem): New.
+ (fold_rtx): Call fold_rtx_subreg and fold_rtx_mem to handle
+ SUBREG and MEM, respectively.
+
+ * fold-const.c (fold_binary): Use code instead of t.
+
+ * fold-const.c (optimize_minmax_comparison): Take decomposed
+ arguments code, type, op0, and op1 instead of t.
+ (fold_binary): Update a call to optimize_minmax_comparison.
+
+ * fold-const.c (fold_range_test): Take decomposed arguments
+ code, type, op0, and op1 instead of t.
+ (fold_binary): Update a call to fold_range_test.
+
+ * fold-const.c (fold_binary_op_with_conditional_arg): Take
+ decomposed arguments code, type, op0, and op1 instead of t.
+ (fold_binary): Update a call to fold_range_test.
+
+2005-03-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c (fold_binary): Avoid directly using the original
+ expression t as much as possible.
+
+2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-semantics.c (build_stmt): Use TYPE_P instead of
+ IS_NON_TYPE_CODE_CLASS.
+ * tree.h (IS_NON_TYPE_CODE_CLASS): Remove.
+ (NON_TYPE_CHECK): Use TYPE_P instead of
+ IS_NON_TYPE_CODE_CLASS.
+
+ * fold-const.c (fold): Remove handling of binary expressions.
+
+2005-03-05 James A. Morrison <phython@gcc.gnu.org>
+
+ * doc/c-tree.texi: Wrap comments in @r{}.
+ * doc/cpp.texi: Likewise.
+ * doc/cppinternals.texi: Likewise.
+ * doc/extend.texi: Likewise.
+ * doc/md.texi: Likewise.
+ * doc/objc.texi: Likewise.
+ * doc/sourcebuild.texi: Likewise.
+ * doc/tm.texi: Likewise.
+ * doc/tree-ssa.texi
+
+2005-03-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * predict.c (apply_return_prediction): Standardize PHI chain
+ walking.
+ * tree-ssa.c (ssa_redirect_edge): Likewise.
+
+ * genattrtab.c, genemit.c, genoutput.c, genrecog.c,
+ gensupport.c, jump.c, tree-phinodes.c, unwind-dw2-fde-glibc.c:
+ Update copyright.
+
+ * tree-phinodes.c (remove_phi_node): Drop the last argument.
+ * tree-flow.h: Adjust the prototype for remove_phi_node.
+ * lambda-code.c (perfect_nestify): Adjust a call to
+ remove_phi_node.
+ * tree-cfg.c
+ (remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
+ * tree-outof-ssa.c (eliminate_virtual_phis, remove_ssa_form):
+ Likewise.
+ * tree-ssa-dce.c (remove_dead_phis): Likewise.
+ * tree-ssa-loop-ivopts.c (remove_statement): Likewise.
+ * tree-ssa-pre.c (remove_dead_inserted_code): Likewise.
+ * tree-ssa.c (kill_redundant_phi_nodes): Likewise.
+
+ * combine.c (simplify_and_const_int): Use gen_int_mode instead
+ of GEN_INT (trunc_int_for_mode (...)).
+ * loop-iv.c (iv_number_of_iterations): Likewise.
+ * postreload.c (reload_cse_move2add): Likewise.
+ * simplify-rtx.c (simplify_const_unary_operation,
+ simplify_const_binary_operation): Likewise.
+ * stor-layout.c (get_mode_bounds): Likewise.
+
+ * fold-const.c (fold_binary): New.
+ (fold): Call fold_binary on binary expressions.
+
+2005-03-05 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Document new MIPS -msym32 and -mno-sym32 options.
+ * config/mips/mips.h (MASK_SYM32, TARGET_SYM32): New macros.
+ (TARGET_SWITCHES): Add -msym32 and -mno-sym32.
+ (ABI_HAS_64BIT_SYMBOLS): Set to false if TARGET_SYM32.
+ (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>
+
+ PR c++/19797
+ * pa/elf.h, pa64-hpux.h, som.h (ASM_OUTPUT_EXTERNAL_REAL): Define.
+ (ASM_OUTPUT_EXTERNAL): Call pa_hpux_asm_output_external.
+ * pa-protos.h (pa_hpux_asm_output_external): Add prototype.
+ * pa.c (get_plabel): Change argument to symbol_ref. Call
+ maybe_get_identifier instead of get_identifier.
+ (pa_hpux_asm_output_external, pa_hpux_file_end): New functions.
+ (struct deferred_plabel): Replace name field with symbol field.
+ (TARGET_ASM_FILE_END): Define as pa_hpux_file_end if
+ ASM_OUTPUT_EXTERNAL_REAL is defined.
+ (output_global_address): Use output_addr_const for output of all
+ symbol_refs.
+ (output_deferred_plabels): Use symbol_ref instead of name for address
+ output.
+ * pa.h (SYMBOL_FLAG_REFERENCED, SYMBOL_REF_REFERENCED_P,
+ ASM_OUTPUT_SYMBOL_REF): New macros.
+ * som.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use assemble_name_raw. Update
+ comment.
+ (ASM_WEAKEN_LABEL): Use targetm.asm_out.globalize_label to globalize
+ label.
+
+2005-03-05 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config.gcc (hppa*64*-*-hpux11*): Use pa/pa-hpux1111.h for
+ *-*-hpux11.[1-9]*, not just for *-*-hpux11.11.
+
+2005-03-04 Jeff Law <law@redhat.com>
+
+ * basic-block.h (rediscover_loops_after_threading): Declare.
+ * tree-ssa-dom.c: Include cfgloop.h.
+ (tree_ssa_dominator_optimize): Discover loops and some basic
+ properties. Remove forwarder blocks recreated by loop header
+ canonicalization. Also mark backedges in the CFG.
+ * tree-ssa-threadupdate.c: Include cfgloop.h
+ (rediscover_loops_after_threading): Define.
+ (struct local_info): New field, JUMP_THREADED.
+ (prune_undesirable_thread_requests): New function.
+ (redirect_edges): Clear EDGE_ABNORMAL. If edges were threaded
+ then record that fact for the callers of redirct_edges.
+ (thread_block): If BB has incoming backedges, then call
+ prune_undesirable_thraed_requests. Note when we are
+ going to have to rediscover loop information. Return a
+ boolean indicating if any jumps were threaded.
+ (thread_through_all_blocks): Bubble up boolean indicating
+ if any jumps were threaded.
+ * Makefile.in (tree-ssa-dom.o): Depend on cfgloop.h
+ (tree-ssa-threadupdate.o): Similarly.
+
+2005-03-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c (fold_ternary): Unroll the "for" loop to
+ extract operands.
+
+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,
(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