OSDN Git Service

* cfglayout.c (fixup_reorder_chain): Handle case where the
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 825208b..b4c81e7 100644 (file)
@@ -1,3 +1,663 @@
+2004-06-16  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cfglayout.c (fixup_reorder_chain): Handle case where the
+       destination of E_FALL is EXIT_BLOCK_PTR.
+
+2004-06-16  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/15653
+       * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
+       after shifts before asm.
+
+2004-06-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR tree-optimization/15993
+       * tree-ssa-dom.c (thread_across_edge): Do not thread edge if its
+       destination is unchanged.
+
+2004-06-16  Andreas Jaeger  <aj@suse.de>
+
+       * doc/install.texi (Configuration): Update description for
+       --enable-version-specific-runtime-libs.
+
+2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/install.texi: boehm-gc now uses automake 1.8.5.
+
+2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * toplev.h (rest_of_compilation): Adjust prototype.
+
+2004-06-16  Paolo Bonzini  <bonzini@gnu.org>
+
+       * coverage.c: Remove argument to rest_of_compilation.
+       * expr.c (execute_expand, set_save_expr_context, pass_expand): New.
+       * passes.c (rest_of_compilation): Remove argument.
+       (pass_rest_of_compilation): New.
+       (rest_of_handle_final, rest_of_handle_delay_slots,
+       rest_of_handle_stack_regs, rest_of_handle_variable_tracking
+       rest_of_handle_machine_reorg, rest_of_handle_regrename
+       rest_of_handle_sched, rest_of_handle_sched2, rest_of_handle_gcse2
+       rest_of_handle_regmove, rest_of_handle_tracer
+       rest_of_handle_if_conversion, rest_of_handle_if_after_combine
+       rest_of_handle_web, rest_of_handle_branch_prob
+       rest_of_handle_value_profile_transformations, rest_of_handle_cfg
+       rest_of_handle_addressof, rest_of_handle_jump_bypass
+       rest_of_handle_life, rest_of_handle_cse, rest_of_handle_cse2):
+       Check that the two arguments are actually superfluous.
+       * tree-optimize.c (register_dump_files): Add properties argument.
+       Track validity of passes.  Only initialize dump files for
+       tree-based passes.  Store the full set of provided passes in
+       the pass.
+       (init_tree_optimization_passes): Register pass_expand and
+       pass_rest_of_compilation.
+       (execute_one_pass): Do not track the presence of required properties
+       here.  Set in_gimple_form.  Do not update current_properties.
+       (current_properties): Remove.
+       (set_save_expr_context): Remove.
+       (tree_rest_of_compilation): Do not set in_gimple_form.  Do not
+       expand to RTL here, and do not call rest_of_compilation.  Push
+       GGC context even before gimplification.
+       * tree-pass.h (PROP_rtl, PROP_trees): New flags.
+       (pass_expand, pass_rest_of_compilation): Declare.
+
+2004-06-15  Jeff Law  <law@redhat.com>
+
+       * fold-const.c (swap_tree_comparison): No longer static.
+       (tree_swap_operands_p): Similarly.  Return true if both operands
+       are SSA_NAMEs and the first operand has a higher version number than
+       the second operand.
+       * tree.h (swap_tree_comparison): Prototype.
+       (tree_swap_operands_p): Prototype.
+       * tree-ssa-operands.c (get_expr_operands): For commutative
+       operators and relational comparisons, canonicalize the
+       order of the operands.
+
+2004-06-15  Richard Henderson  <rth@redhat.com>
+
+       * c-common.c (lang_gimplify_stmt): Remove next_p argument.
+       (if_elt, if_stack, if_stack_space, c_expand_start_cond, c_finish_then,
+       c_expand_end_cond, c_expand_start_else, c_finish_else, c_begin_if_stmt,
+       c_begin_while_stmt, c_finish_while_stmt_cond): Move to c-typeck.c.
+       (finish_fname_decls, fname_decl): Use statement_lists.
+       (c_expand_expr_stmt): Don't set last_expr_type.
+       (c_type_hash): Fix indentation.
+       (c_safe_from_p): Don't follow TREE_CHAIN.
+       (c_tree_chain_matters_p): Remove.
+       * c-common.def (SCOPE_STMT): Remove.
+       (CLEANUP_STMT): Redefine to contain its own body.
+       * c-common.h (struct stmt_tree_s): Remove x_last_stmt,
+       x_last_expr_type, x_last_expr_filename, x_scope_stmt_stack.
+       Add x_cur_stmt_list.
+       (last_tree, last_expr_type, last_expr_filename, RECHAIN_STMTS): Remove.
+       (cur_stmt_list): New.
+       (STATEMENT_LIST_STMT_EXPR): New.
+       (SCOPE_BEGIN_P, SCOPE_END_P, SCOPE_STMT_BLOCK, SCOPE_NULLIFIED_P,
+       SCOPE_NO_CLEANUPS_P, SCOPE_PARTIAL_P, NEW_FOR_SCOPE_P): Remove.
+       (CLEANUP_BODY): New.
+       (CLEANUP_DECL): Move to operand 2.
+       (c_common_stmt_codes): Remove SCOPE_STMT.
+       (COMPOUND_STMT_NO_SCOPE, COMPOUND_STMT_BODY_BLOCK): Remove.
+       * c-decl.c (c_scope_stmt_stack, current_scope_stmt_stack): Remove.
+       (c_push_function_context, c_pop_function_context): Don't save it.
+       (finish_decl): Set TREE_USED on the decl for a cleanup.
+       Use push_cleanup.
+       (store_parm_decls): Use statement lists.
+       (finish_function): Remove compstmt rule workaround.  Use statement
+       lists.  Call finish_fname_decls after finalizing the body.
+       (c_begin_compound_stmt): Move to c-typeck.c.
+       * c-dump.c (c_dump_tree): Remove SCOPE_STMT.
+       * c-gimplify.c (gimplify_cleanup_stmt, gimplify_cleanup_stmts): New.
+       (c_genericize): Invoke them.
+       (c_gimplify_stmt): Don't look through TREE_CHAIN.  Kill SCOPE_STMT.
+       (c_build_bind_expr): Export.
+       (gimplify_block, gimplify_cleanup): Remove.
+       (gimplify_condition): Use gimplify_stmt.
+       (gimplify_for_stmt): Remove FOR_INIT_STMT chaining hack.
+       (gimplify_if_stmt): Remove recursion hack.
+       (c_gimplify_expr): Remove STMT_EXPR handling.
+       (stmt_expr_last_stmt, gimplify_stmt_expr): Remove.
+       (is_last_stmt_of_scope): Remove.
+       * c-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Remove.
+       * c-mudflap.c (mflang_flush_calls): Use c_begin_compound_stmt,
+       c_end_compound_stmt.
+       * c-objc-common.c (build_cdtor): Likewise.
+       * c-parse.in (primary): Use c_finish_stmt_expr.
+       (push_scope, pop_scope): Remove.
+       (c99_block_start, compstmt_start): Use c_begin_compound_stmt.
+       (c99_block_end, compstmt): Use c_end_compound_stmt.
+       (c99_block_lineno_labeled_stmt): Likewise.
+       (compstmt_primary_start): Use c_begin_stmt_expr.
+       (simple_if, select_or_iter_stmt): Update calls to stmt builders.
+       (do_stmt_start): Fill in body directly.
+       (lineno_stmt): Avoid setting lineno on constants.
+       * c-pretty-print.c (pp_c_statement): Handle STATEMENT_LIST.
+       Remove SCOPE_STMT.
+       * c-semantics.c (begin_stmt_tree): Remove.
+       (push_stmt_list, re_push_stmt_list, pop_stmt_list): New.
+       (add_stmt): Use statement lists.
+       (add_scope_stmt, finish_stmt_tree): Remove.
+       (push_cleanup): New.
+       * c-tree.h: Move some decls from c-common.h.
+       * c-typeck.c (c_tree_expr_nonnegative_p): Simplify for statement lists.
+       (do_case, c_finish_case): Likewise.
+       (c_finish_then): Take body for then as argument.
+       (c_finish_else): Similarly.
+       (c_begin_for_stmt, c_finish_for_stmt_init, c_finish_for_stmt_cond,
+       c_finish_for_stmt_incr, c_finish_for_stmt): New.
+       (c_begin_stmt_expr, c_finish_stmt_expr): New.
+       (c_begin_compound_stmt): Do scope management.
+       (c_end_compound_stmt): New.
+       * fold-const.c (tree_expr_nonnegative_p): Fix BIND_EXPR.
+       * gimplify.c (voidify_wrapper_expr): Accept temporary argument.
+       Look through exception handling constructs.
+       (gimplify_bind_expr): Accept temporary argument.
+       (gimplify_target_expr): Special case BIND_EXPR bodies.
+       (gimplify_expr): Handle fallback == fb_none like a statement.
+       * langhooks-def.h (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P): Kill.
+       * langhooks.c (lhd_tree_inlining_tree_chain_matters_p): Remove.
+       * langhooks.h (tree_chain_matters_p): Remove.
+       * stub-objc.c (objc_clear_super_receiver): New.
+       * tree-gimple.h (voidify_wrapper_expr): Update decl.
+       (append_to_statement_list, append_to_statement_list_force): Move
+       to tree-iterator.h.
+       * tree-inline.c (expand_call_inline): Update call.
+       (clone_body): Use statement lists.
+       (walk_tree): Don't check tree_chain_matters_p.
+       (copy_tree_r): Likewise.
+       * tree-iterator.c (alloc_stmt_list): Clear lang bits.
+       (tsi_link_before, tsi_link_after): Set TREE_SIDE_EFFECTS properly.
+       * tree-iterator.h (append_to_statement_list,
+       append_to_statement_list_force): Moved from tree-gimple.h.
+       * tree-pretty-print.c (dump_generic_node): Clean up TARGET_EXPR dump.
+       * objc/objc-act.c (build_module_descriptor): Use c_begin_compound_stmt.
+       (objc_enter_block): Likewise.
+       (objc_exit_block): Use c_end_compound_stmt.
+       (objc_build_try_enter_fragment): Add #error and comment for
+       rewriting for OBJCPLUS.
+       (objc_build_extract_fragment, objc_build_try_epilogue,
+       objc_build_catch_stmt, objc_build_finally_prologue,
+       objc_build_finally_epilogue): Update for C statement builders.
+       * objc/objc-lang.c (LANG_HOOKS_TREE_INLINING_TREE_CHAIN_MATTERS_P):
+       Remove.
+
+2004-06-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * df.c (df_reg_clobber_gen): Removed.
+       (df_bb_rd_local_compute, df_insn_refs_record, df_rd_local_compute):
+       Make more effective for hard regs.
+       * ra-build.c (livethrough_conflicts_bb): Check contains_call.
+
+2004-06-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-pragma.h (c_lex_string_translate): Change type to int.
+       * c-parse.in: Change all assignments of c_lex_string_translate
+       to true and false to 1 and 0.
+       * c-lex.c (c_lex_string_translate): Likewise.
+       (lex_string): Convert string without translation in the -1
+       case.
+
+2004-06-15  Mark G. Adams  <mark.g.adams@sympatico.ca>
+
+       * convert.h: Add include guards
+
+2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-flow-inline.h: Document all functions.
+
+2004-06-15  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-flow-inline.h (stmt_ann): Remove use of is_essa_node.
+       * tree-dfa.c (create_stmt_ann): Ditto.
+       * tree-pretty-print.c (dump_generic_node): Remove E* node handling.
+       * tree-inline.c (estimate_num_insns_1): Ditto.
+       * tree.c (tree_size): Ditto.
+       (make_node_stat): Ditto.
+       (tree_node_structure): Ditto.
+       (ephi_node_elt_check_failed): Remove.
+       (is_essa_node): Ditto.
+       * tree.def (EPHI_NODE): Ditto.
+       (EEXIT_NODE): Ditto.
+       (EUSE_NODE): Ditto.
+       (EKILL_NODE): Ditto.
+       * tree.h (EREF_NODE_CHECK): Remove.
+       (EPHI_NODE_ELT_CHECK): Ditto.
+       (struct tree_eref_common): Ditto.
+       (struct tree_euse_node): Ditto.
+       (struct ephi_arg_d): Ditto.
+       (struct tree_ephi_node): Ditto.
+       (ephi_node_elt_check_failed): Remove prototype.
+       (is_essa_node): Ditto.
+       (enum tree_node_structure_enum): Remove TS_E*_NODE.
+       (union tree_node): Remove E*_NODE uses.
+
+2004-06-15  Jerry Quinn  <jlquinn@optonline.net>
+
+       * alias.c (record_set, record_base_value, canon_rtx, get_addr,
+       nonlocal_mentioned_p_1, init_alias_analysis): Use REG_P.
+       * bt-load.c (find_btr_reference, insn_sets_btr_p, note_btr_set):
+       Likewise.
+       * builtins.c (expand_builtin_setjmp, expand_builtin_apply,
+       expand_builtin_mathfn, expand_builtin_strlen, expand_builtin_memcmp,
+       expand_builtin_strcmp, expand_builtin_strncmp,
+       expand_builtin_frame_address): Likewise.
+       * caller-save.c (mark_set_regs, add_stored_regs, mark_referenced_regs,
+       insert_one_insn): Likewise.
+       * calls.c (prepare_call_address, precompute_register_parameters,
+       precompute_arguments, expand_call, emit_library_call_value_1): Likewise.
+       * cfganal.c (flow_active_insn_p): Likewise.
+       * combine.c (set_nonzero_bits_and_sign_copies, can_combine_p,
+       combinable_i3pat, try_combine, find_split_point, COMBINE_RTX_EQUAL_P,
+       subst, combine_simplify_rtx, simplify_if_then_else, simplify_set,
+       make_extraction, recog_for_combine, gen_lowpart_for_combine,
+       simplify_comparison, record_dead_and_set_regs_1,
+       record_dead_and_set_regs, record_promoted_value,
+       check_promoted_subreg, get_last_value_validate, get_last_value,
+       reg_dead_at_p_1, reg_bitfield_target_p, distribute_notes,
+       unmentioned_reg_p_1): Likewise.
+       * conflict.c (mark_reg): Likewise.
+       * cse.c (HASH, COST, COST_IN, approx_reg_cost_1, notreg_cost,
+       mention_regs, insert_regs, lookup, lookup_for_remove, insert,
+       merge_equiv_classes, flush_hash_table, invalidate,
+       remove_invalid_refs, remove_invalid_subreg_refs, rehash_using_reg,
+       invalidate_for_call, use_related_value, canon_hash, exp_equiv_p,
+       cse_rtx_varies_p, canon_reg, find_best_addr, fold_rtx, equiv_constant,
+       record_jump_cond, cse_insn, addr_affects_sp_p,
+       invalidate_from_clobbers, cse_process_notes, cse_around_loop,
+       cse_set_around_loop, count_reg_usage, set_live_p, cse_change_cc_mode,
+       cse_cc_succs, cse_condition_code_reg): Likewise.
+       * cselib.c (cselib_reg_set_mode, rtx_equal_for_cselib_p,
+       cselib_lookup, cselib_invalidate_regno, cselib_invalidate_rtx,
+       cselib_record_set, cselib_record_sets): Likewise.
+       * dbxout.c (dbxout_symbol_location, dbxout_parms, dbxout_reg_parms,
+       dbxout_block): Likewise.
+       * df.c (df_ref_record, df_def_record_1, df_uses_record): Likewise.
+       * dojump.c (do_jump): Likewise.
+       * dwarf2out.c (dwarf2out_frame_debug_expr, is_pseudo_reg,
+       is_based_loc, rtl_for_decl_location): Likewise.
+       * emit-rtl.c (set_reg_attrs_for_parm, set_decl_rtl,
+       set_decl_incoming_rtl, mark_user_reg): Likewise.
+       * explow.c (copy_all_regs, copy_all_regs, memory_address, force_reg,
+       copy_to_suggested_reg, allocate_dynamic_stack_space,
+       probe_stack_range, hard_function_value): Likewise.
+       * expmed.c (store_bit_field, store_fixed_bit_field,
+       store_split_bit_field, extract_bit_field, extract_fixed_bit_field,
+       extract_split_bit_field, expand_divmod, emit_store_flag_force):
+       Likewise.
+       * expr.c (convert_move, convert_modes,
+       block_move_libcall_safe_for_call_parm, emit_group_load, use_reg,
+       use_group_regs, emit_move_insn, emit_move_insn_1,
+       compress_float_constant, push_block, emit_single_push_insn,
+       emit_push_insn, get_subtarget, expand_assignment, store_expr,
+       store_constructor, store_field, force_operand, safe_from_p,
+       expand_expr_real_1, expand_increment, do_store_flag, do_tablejump):
+       Likewise.
+       * final.c (profile_function, final_scan_insn, alter_subreg,
+       get_mem_expr_from_op, output_asm_operand_names, output_operand,
+       only_leaf_regs_used, leaf_renumber_regs_insn): Likewise.
+       * flow.c (verify_wide_reg_1, mark_regs_live_at_end,
+       find_regno_partial, propagate_one_insn, init_propagate_block_info,
+       insn_dead_p, libcall_dead_p, mark_set_1, not_reg_cond,
+       attempt_auto_inc, find_auto_inc, mark_used_regs,
+       count_or_remove_death_notes_bb): Likewise.
+       * function.c (find_temp_slot_from_address, update_temp_slot_address,
+       preserve_temp_slots, put_var_into_stack, fixup_var_refs_insn,
+       fixup_var_refs_1, fixup_stack_1, optimize_bit_field, flush_addressof,
+       put_addressof_into_stack, purge_addressof_1, insns_for_mem_walk,
+       purge_single_hard_subreg_set, instantiate_decl,
+       instantiate_virtual_regs_1, aggregate_value_p, assign_parms,
+       promoted_input_arg, setjmp_vars_warning, setjmp_args_warning,
+       setjmp_protect, setjmp_protect_args, fix_lexical_addr,
+       expand_function_start, diddle_return_value, clobber_return_register,
+       expand_function_end, keep_stack_depressed, handle_epilogue_set,
+       update_epilogue_consts): Likewise.
+       * genemit.c (gen_exp, gen_insn): Likewise.
+       * genrecog.c (make_insn_sequence): Likewise.
+       * global.c (global_conflicts, expand_preferences, mark_reg_store,
+       mark_reg_conflicts, set_preference, reg_becomes_live,
+       build_insn_chain, mark_reg_change): Likewise.
+       * haifa_sched.c (CONST_BASED_ADDRESS_P, find_set_reg_weight):
+       Likewise.
+       * ifcvt.c (noce_try_abs, noce_get_condition, noce_process_if_block):
+       Likewise.
+       * integrate.c (copy_rtx_and_substitute, try_constants,
+       subst_constants, mark_stores, allocate_initial_values): Likewise.
+       * jump.c (reversed_comparison_code_parts, delete_prior_computation,
+       delete_computation, rtx_renumbered_equal_p, true_regnum,
+       reg_or_subregno): Likewise.
+       * lcm.c (reg_dies, reg_becomes_live): Likewise.
+       * local-alloc.c (validate_equiv_mem_from_store, validate_equiv_mem,
+       update_equiv_regs, no_equiv, block_alloc, combine_regs, reg_is_set,
+       wipe_dead_reg, no_conflict_p): Likewise.
+       * loop-iv.c (simple_reg_p, simple_set_p, kill_sets,
+       iv_get_reaching_def, iv_analyze_biv, altered_reg_used, mark_altered,
+       simple_rhs_p, simplify_using_assignment, implies_p): Likewise.
+       * loop.c (scan_loop, combine_movables, rtx_equal_for_loop_p,
+       move_movables, note_set_pseudo_multiple_uses, consec_sets_invariant_p,
+       find_single_use_in_loop, count_one_set, loop_bivs_init_find,
+       loop_givs_rescan, check_insn_for_bivs, check_insn_for_givs,
+       valid_initial_value_p, simplify_giv_expr, consec_sets_giv,
+       loop_regs_update, check_dbra_loop, maybe_eliminate_biv,
+       maybe_eliminate_biv_1, record_initial, update_reg_last_use,
+       canonicalize_condition, loop_regs_scan, load_mems, try_copy_prop,
+       try_swap_copy_prop): Likewise.
+       * optabs.c (expand_binop, expand_vector_binop, expand_vector_unop,
+       expand_abs, emit_no_conflict_block, emit_libcall_block, expand_float):
+       Likewise.
+       * postreload.c (reload_cse_simplify, reload_cse_simplify_set,
+       reload_cse_simplify_operands, reload_combine,
+       reload_combine_note_store, reload_combine_note_use,
+       reload_cse_move2add, move2add_note_store): Likewise.
+       * print-rtl.c (print_rtx): Likewise.
+       * ra-build.c (copy_insn_p, remember_move, init_one_web_common,
+       contains_pseudo, handle_asm_insn): Likewise.
+       * ra-debug.c (ra_print_rtx_object, dump_constraints,
+       dump_static_insn_cost): Likewise.
+       * ra-rewrite.c (slots_overlap_p, emit_colors,
+       remove_suspicious_death_notes): Likewise.
+       * recog.c (validate_replace_rtx_1, find_single_use_1, find_single_use,
+       register_operand, scratch_operand, nonmemory_operand,
+       constrain_operands): Likewise.
+       * reg-stack (check_asm_stack_operands, remove_regno_note,
+       emit_swap_insn, swap_rtx_condition, subst_stack_regs_pat,
+       subst_asm_stack_regs): Likewise.
+       * regclass.c (scan_one_insn, record_reg_classes, copy_cost,
+       record_address_regs, reg_scan_mark_refs): Likewise.
+       * regmove.c (discover_flags_reg, replacement_quality,
+       copy_src_to_dest, reg_is_remote_constant_p, regmove_optimize,
+       fixup_match_1): Likewise.
+       * regrename.c (note_sets, clear_dead_regs, build_def_use, kill_value,
+       kill_set_value, copyprop_hardreg_forward_1): Likewise.
+       * reload.c (MATCHES, push_secondary_reload, find_reusable_reload,
+       reload_inner_reg_of_subreg, can_reload_into, push_reload,
+       combine_reloads, find_dummy_reload, hard_reg_set_here_p,
+       operands_match_p, decompose, find_reloads, find_reloads_toplev,
+       find_reloads_address, subst_indexed_address, find_reloads_address_1,
+       find_reloads_subreg_address, find_replacement,
+       refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p,
+       refers_to_mem_for_reload_p, find_equiv_reg, regno_clobbered_p): Likewise.
+       * reload1.c (replace_pseudos_in, reload, calculate_needs_all_insns,
+       find_reg, delete_dead_insn, alter_reg, eliminate_regs,
+       elimination_effects, eliminate_regs_in_insn, scan_paradoxical_subregs,
+       forget_old_reloads_1, reload_reg_free_for_value_p, choose_reload_regs,
+       emit_input_reload_insns, emit_output_reload_insns, do_input_reload,
+       do_output_reload, emit_reload_insns, gen_reload,
+       delete_address_reloads_1, inc_for_reload): Likewise.
+       * reorg.c (update_reg_dead_notes, fix_reg_dead_note,
+       update_reg_unused_notes, fill_slots_from_thread): Likewise.
+       * resource.c (update_live_status, mark_referenced_resources,
+       mark_set_resources, mark_target_live_regs): Likewise.
+       * rtlanal.c (nonzero_address_p, get_jump_table_offset,
+       global_reg_mentioned_p_1, reg_mentioned_p, reg_referenced_p,
+       reg_set_p, set_noop_p, find_last_value, refers_to_regno_p,
+       note_stores, dead_or_set_p, dead_or_set_regno_p, find_regno_note,
+       find_reg_fusage, find_regno_fusage, replace_regs, regno_use_in,
+       parms_set, find_first_parameter_load, keep_with_call_p,
+       hoist_test_store, hoist_update_store, address_cost, nonzero_bits1,
+       num_sign_bit_copies1): Likewise.
+       * rtlhooks.c (gen_lowpart_general): Likewise.
+       * sched-deps.c (deps_may_trap_p, sched_analyze_1, sched_analyze_insn,
+       sched_analyze): Likewise.
+       * sched-rgn.c (check_live_1, update_live_1, sets_likely_spilled_1):
+       Likewise.
+       * sdbout.c (sdbout_symbol, sdbout_parms, sdbout_reg_parms): Likewise.
+       * simplify-rtx.c (simplify_replace_rtx, simplify_unary_operation,
+       simplify_binary_operation, simplify_const_relational_operation,
+       simplify_subreg): Likewise.
+       * stmt.c (decl_conflicts_with_clobbers_p, expand_asm_operands,
+       expand_end_stmt_expr, expand_return, expand_decl,
+       expand_anon_union_decl): Likewise.
+       * unroll.c (precondition_loop_p, calculate_giv_inc, copy_loop_body,
+       find_splittable_regs, find_splittable_givs, find_common_reg_term,
+       loop_iterations): Likewise.
+       * var-tracking.c (variable_union, variable_part_different_p,
+       variable_different_p, count_uses, add_uses, add_stores,
+       compute_bb_dataflow, set_variable_part, delete_variable_part,
+       emit_notes_in_bb, vt_get_decl_and_offset, vt_add_function_parameters):
+       Likewise.
+       * varasm.c (assemble_variable): Likewise.
+
+2004-06-15  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
+       definition.
+       * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
+       #undef and #if 0'd definition.
+
+2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * combine.c (distribute_notes): Comment typo fix.
+
+2004-06-15  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (synth_mult): Mask bits of the multiplier to the
+       machine mode of the multiplication.  Don't consider shifts
+       by more than (or equal to) the width of the operation's mode.
+
+2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/install.texi: Yet another update for autoconf
+       and automake versions.
+
+2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * function.h (struct function): Remove cannot_inline field.
+       (current_function_cannot_inline): Remove.
+       * passes.c (rest_of_compilation): Reset DECL_DEFER_OUTPUT.
+       Simplify conditionals to ignore warn_return_type.
+       * tree-optimize.c (tree_rest_of_compilation): Do not reset
+       DECL_DEFER_OUTPUT.
+       * objc/objc-act.c (build_module_descriptor, finish_method_def):
+       Do not set current_function_cannot_inline.
+
+2004-06-15  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * cfglayout.c (fixup_reorder_chain): Handle case where the
+       destination of E_TAKEN is EXIT_BLOCK_PTR.
+
+2004-06-15  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-ssa-copy.c (cprop_into_successor_phis): Fix typo.
+
+2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * fold-const.c (operand_equal_p): Update comment.
+
+2004-06-15  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
+
+       * config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
+       (INCOMING_RETURN_ADDR_RTX): Define.
+       * config/m32r/m32r-protos.h (m32r_return_addr): Added.
+       * config/m32r/m32r.c (m32r_exppand_prologue): Changed for
+       __builtin_return_address(0).
+       (m32r_return_addr): Added for __builtin_return_address(0).
+       (m32r_reload_lr): Ditto.
+
+       * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
+
+2004-06-15  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/install.texi (Prerequisites): Update libbanshee,
+       fastjar, libcpp, libjava/libltdl entries to
+       automake 1.8.5.
+
+2004-06-15  Eric Botcazou  <ebotcazou@act-europe.fr>
+            Olivier Hainque  <hainque@act-europe.fr>
+
+       * function.c (fixup_var_refs): Also adjust the start of sequence
+       after fixing up the insns.
+
+2004-06-15  Giovanni Bajo  <giovannibajo@gcc.gnu.org>
+
+       * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
+
+2004-06-14  Benjamin Kosnik  <bkoz@redhat.com>
+
+       * doc/install.texi (Prerequisites): Update libstdc++ entry to
+       automake 1.8.5.
+
+2004-06-14  Eric Christopher  <echristo@redhat.com>
+
+       * config/s390/s390.h (TARGET_SWITCHES): Change -mtpf (-mno-tpf)
+       to -mtpf-trace (-mno-tpf-trace).
+       * doc/invoke.texi (S/390 and zSeries Options): Add tpf option
+       documentation.
+
+2004-06-14  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * real.c: Fix bit count in head comment.
+
+2004-06-14  Jeff Law  <law@redhat.com>
+
+       * tree-ssa.c (kill_redundant_phi_nodes): More correctly handle
+       PHIs where the destination or an argument is marked with
+       SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+
+2004-06-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/15945
+       * simplify-rtx.c (simplify_binary_operation): Don't optimize out
+       Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
+
+2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * opts.sh (var_args): Fix regexp.
+
+2004-06-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/15178
+       * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
+
+2004-06-14  Paul Brook  <paul@codesourcery.com>
+
+       * dwarf2out.c (output_call_frame_info): Support dwarf3 cie entries.
+
+2004-06-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (FLAGS_H): New.
+       (flags.h): Replace by FLAGS_H.
+       * c.opt: Document Var, VarExists, Init and Report attributes.
+       * common.opt: Fill the values of the attributes.
+       * diagnostic.c (flag_fatal_errors): Do not define.
+       * except.c (flag_non_call_exceptions): Do not define.
+       * flags.h: Include options.h.  Remove declarations conflicting with
+       the automatically defined ones.
+       * opts.c: Remove automatically defined variables.
+       (handle_option): Perform default initialization.
+       (common_handle_option): Do not handle options covered by the
+       default initialization.
+       * opts.h (struct cl_option): Add flag_var, has_set_value and set_value
+       fields.
+       (CL_REPORT): New.
+       * opts.sh: Generate variable declarations, handle CL_REPORT.
+       * toplev.c: Remove automatically defined variables.
+       (f_options): Removed.
+       (print_switch_values): Use cl_options instead of f_options.
+       * toplev.h (version_flag): Declaration removed.
+
+2004-06-14  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/sparc/sparc.h: Correct comment about availability of
+       little endian option.
+
+       * config.gcc: Remove sparc64-*-aout*.
+       * config/sparc/sparc.c (sparc_aout_select_rtx_section): Remove.
+       * config/sparc/sp64-aout.h: Remove.
+       * config/sparc/aout.h: Remove.
+
+2004-06-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c: Include "tree-gimple.h".
+       (s390_gimplify_va_arg): New function.
+       (TARGET_GIMPLIFY_VA_ARG_EXPR): Define.
+       (s390_va_arg): Remove.
+       * config/s390/s390-protos.h (s390_va_arg): Remove.
+       * config/s390/s390.h (EXPAND_BUILTIN_VA_ARG): Call abort ().
+
+2004-06-14  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * basic-block.h (could_fall_through): Declare.
+       * cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
+       Fail if the source already has a fallthrough edge to the exit
+       block pointer.
+       (could_fall_through): New function.
+       * cfgbuild.c (make_edges): Check if we already have a fallthrough
+       edge to the exit block pointer.
+       * cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
+       not called before reload has completed.
+       Handle special case of first block having a fall-through exit edge.
+       (cfg_layout_finalize): Don't call it before reload or if we have
+       rtl epilogues.
+       (fixup_reorder_chain): A fall through to the exit block does not
+       require the block to come last.  Add sanity checks.
+       * cfgrtl.c (rtl_split_edge): Add special handling of fall through
+       edges to the exit block.
+       * function.c (cfglayout.h): #include.
+       (thread_prologue_and_epilogue_insns): If we have neither return nor
+       epilogue, but a fall through to the exit block from mid-function,
+       force a non-fall-through exit.
+       * Makefile.in (function.o): Depend on CFGLAYOUT_H.
+
+2004-06-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
+       for power5 and rs64a.  Correct condition for default.  Correct power3,
+       620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries.  Add -many.
+
+2004-06-13  Steven Bosscher <stevenb@suse.de>
+
+       * gcse.c (hash_scan_set, hash_scan_insn, mark_set, mark_oprs_set):
+       Revert previous change, don't use CALL_P.
+
+2004-06-13  Jason Merrill  <jason@redhat.com>
+
+       * tree.h: Move std_gimplify_va_arg_expr protoype here.
+       * tree-gimple.h: From here.
+
+2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/15979
+       Fix PR tree-optimization/15981
+       * tree-ssa-pre.c (insert_aux): Fix faulty logic so that we don't
+       try to insert values undefined along some path.
+
+2004-06-13  Daniel Berlin  <dberlin@dberlin.org>
+
+       * tree-ssa-pre.c (add_to_value): is_gimple_min_invariant things
+       are available everywhere too.
+
+2004-06-13  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fold-const.c (fold_checksum_tree <case 't'>): Only
+       look at TREE_VALUES if the EXPR is an ENUMERAL_TYPE.
+       Only look at TYPE_MIN_VALUE and TYPE_MAX_VALUE if
+       EXPR is an INTEGERAL_TYPE or a scalar float type.
+
+2004-06-13  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-sra.c (tree_sra): Update documentation.
+
+2004-06-13  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       * c-typeck.c (comptypes, tagged_types_tu_compatible_p,
+       function_types_compatible_p, type_lists_compatible_p): Remove
+       flags parameter.
+       * c-tree.h (comptypes): Likewise.
+       (COMPARE_STRICT): Remove.
+       * c-decl.c, c-lang.c, c-parse.in, c-typeck.c, objc/objc-act.c: All
+       callers changed.
+
+2004-06-13  Eric Christopher  <echristo@redhat.com>
+
+       * c-decl.c (diagnose_mismatched_decls): Improve error message.
+       Remove unused code.
+       * c-typeck.c (comptypes): Add location in standard we're checking.
+
+2004-06-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/libgcc-std.ver: Add __unorddf2 and __unordsf2 with
+       version 3.3.4.
+
 2004-06-12  Roger Sayle  <roger@eyesopen.com>
 
        * expmed.c (shift_cost, shiftadd_cost, shiftsub_cost): Additionally
        num_sign_bit_copies, cached_num_sign_bit_copies,
        num_sign_bit_copies1): New, from combine.c.
        * rtlhooks.c: New file.
+       * rtlhooks-def.h: New file.
 
 2004-05-25  Svein E. Seldal  <Svein.Seldal@solidas.com>
 
        * config/arm/t-xscale-elf: Disable iwmmxt multilibs until they can
        be safely built.
 
-2004-04-16  Kazuhiro Inaoka <inaoka dot kazuhiro at renesas dot com>
+2004-04-16  Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
 
        * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
        bug.