-2005-03-31 James E Wilson <wilson@specifixinc.com>
+2005-04-03 Steven Bosscher <stevenb@suse.de>
+
+ PR middle-end/20648
+ * bb-reorder.c (duplicate_computed_gotos): Do not unfactor
+ a computed goto if the edge to the computed goto block has
+ incoming abnormal edges. Clarify how the function works.
+
+2005-04-03 Nathan Sidwell <nathan@codesourcery.com>
+
+ * params.c (set_param_value): Use gcc_assert & gcc_unreachable.
+ * passes.c (open_dump_file, rest_of_handle_final): Likewise.
+ * postreload-gcse.c (expr_equiv_p, oprs_unchanged_p,
+ hash_scan_set, reg_set_between_after_reload_p,
+ reg_used_between_after_reload_p, get_avail_load_store_reg,
+ eliminate_partially_redundant_load): Likewise.
+ * postreload.c (reload_cse_simplify_set,
+ reload_combine_note_use): Likewise.
+ * predict.c (predict_insn, expected_value_to_br_prob,
+ propagate_freq, expensive_function_p): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * profile.c (instrument_edges, instrument_values,
+ compute_branch_probabilities, branch_prob, union_groups,
+ tree_register_profile_hooks, rtl_register_profile_hooks): Likewise.
+ * protoize.c (in_system_include_dir, file_could_be_converted,
+ file_normally_convertible, gen_aux_info_file, seek_to_line,
+ do_cleaning): Likewise.
+ * tree-ssa-alias.c (collect_points_to_info_r): Likewise.
+ * tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
+ * tree-ssa-loop-ivopts.c (produce_memory_decl_rtl): Likewise.
+
+2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * cfg.c (clear_bb_flags): Don't clear BB_DISABLE_SCHEDULE.
+ * modulo-sched.c (undo_replace_buff_elem): New structure.
+ (kernel_number_of_cycles, ps_unschedule_node,
+ undo_generate_reg_moves,free_undo_replace_buff,
+ undo_permute_partial_schedule, loop_single_full_bb_p,
+ SIMPLE_SMS_LOOP_P, loop_canon_p, canon_loop,
+ build_loops_structure, get_sched_window): New.
+ (generate_reg_moves): Return undo_replace_buff_elem and other
+ fixes.
+ (generate_prolog_epilog): Remove old loop versioning.
+ (sms_schedule): Use loop information and loop_version.
+ (sms_schedule_by_order): Split part of it to get_sched_window.
+ * passes.c (rest_of_handle_sms): call cfg_layout_initialize
+ cfg_layout_finalize and free_dominance_info before/after SMS.
+
+2005-04-03 Mostafa Hagog <mustafa@il.ibm.com>
+
+ * cfghooks.c (lv_flush_pending_stmts,
+ cfg_hook_duplicate_loop_to_header_edge, extract_cond_bb_edges,
+ lv_adjust_loop_header_phi, lv_add_condition_to_bb): New.
+ * cfghooks.h (cfg_hook_duplicate_loop_to_header_edge,
+ lv_add_condition_to_bb,
+ lv_adjust_loop_header_phi, extract_cond_bb_edges,
+ flush_pending_stmts): New in cfg_hooks structure.
+ (cfg_hook_duplicate_loop_to_header_edge, lv_flush_pending_stmts,
+ extract_cond_bb_edges, lv_adjust_loop_header_phi,
+ lv_add_condition_to_bb): New declarations.
+ * cfgloop.h (duplicate_loop_to_header_edge): Change return type to
+ bool.
+ (loop_version): Declare.
+ * cfgloopmanip.c (cfghooks.h): Include.
+ (duplicate_loop_to_header_edge): Change return type to bool.
+ (loop_version, lv_adjust_loop_entry_edge): Move here.
+ * cfgrtl.c (cfgloop.h): Include.
+ (rtl_verify_flow_info_1): Fix.
+ (rtl_lv_add_condition_to_bb, rtl_extract_cond_bb_edges): New.
+ (rtl_cfg_hooks, cfg_layout_rtl_cfg_hook): Add hooks to
+ initialization.
+ * tree-cfg.c (tree_lv_adjust_loop_header_phi,
+ tree_lv_add_condition_to_bb): New.
+ (tree_cfg_hooks): Add new hooks to initialization.
+ * tree-ssa-loop-manip.c (lv_adjust_loop_header_phi,
+ lv_adjust_loop_entry_edge, tree_ssa_loop_version): Remove.
+
+2005-04-03 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/stormy16/stormy16.h (PREDICATE_CODES): Add SUBREG to
+ xstormy16_below100_or_register,
+ xstormy16_splittable_below100_or_register, and
+ nonimmediate_nonstack_operand.
+
+ * config/stormy16/stormy16-protos.h: Remove the prototypes for
+ xstormy16_ineqsi_operator, equality_operator,
+ inequality_operator, shift_operator,
+ xstormy16_below100_operand, xstormy16_below100_or_register,
+ xstormy16_splittable_below100_or_register,
+ xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand.
+ * config/stormy16/stormy16.c (xstormy16_ineqsi_operator,
+ equality_operator, inequality_operator,
+ xstormy16_below100_operand, xstormy16_below100_or_register,
+ xstormy16_splittable_below100_or_register,
+ xstormy16_onebit_set_operand, xstormy16_onebit_clr_operand,
+ nonimmediate_nonstack_operand, shift_operator): Move to
+ predicates.md.
+ * config/stormy16/stormy16.h (PREDICATE_CODES): Remove.
+ * config/stormy16/stormy16.md: Include predicates.md.
+ * config/stormy16/predicates.md: New.
+
+2005-04-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/iq2000/iq2000.c (uns_arith_operand, arith_operand,
+ small_int, large_int, reg_or_0_operand, simple_memory_operand,
+ equality_op, cmp_op, pc_or_label_operand, call_insn_operand,
+ move_operand, power_of_2_operand): Move to predicates.md.
+ * config/iq2000/iq2000.h (SPECIAL_MODE_PREDICATES,
+ PREDICATE_CODE): Remove.
+ * config/iq2000/iq2000.md: Include predicates.md.
+ * config/iq2000/predicates.md: New.
+
+2005-04-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/m68hc11/m68hc11.h (target_flags, MASK_SHORT)
+ (MASK_AUTO_INC_DEC, MASK_M6811, MASK_M6812, MASK_M68S12)
+ (MASK_NO_DIRECT_MODE, MASK_MIN_MAX, MASK_LONG_CALLS)
+ (TARGET_SHORT, TARGET_M6811, TARGET_M6812, TARGET_M68S12)
+ (TARGET_AUTO_INC_DEC, TARGET_MIN_MAX, TARGET_NO_DIRECT_MODE)
+ (TARGET_LONG_CALLS, TARGET_SWITCHES, TARGET_OPTIONS)
+ (SUBTARGET_SWITCHES, SUBTARGET_OPTIONS, m68hc11_regparm_string)
+ (m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
+ (TARGET_M68HC11): Delete.
+ (TARGET_DEFAULT): Change the default setting from MASK_M6811 to 0.
+ * config/m68hc11/m68hc12.h (TARGET_M68HC12): Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_regparm_string)
+ (m68hc11_reg_alloc_order, m68hc11_soft_reg_count)
+ (nb_soft_regs): Delete.
+ (TARGET_DEFAULT_TARGET_FLAGS): Override default with TARGET_DEFAULT.
+ (m68hc11_override_options): Remove the code that caters for MASK_M6811
+ and MASK_M6812 being set simultaneously. Change the code that sets
+ the default m68hc11_soft_reg_count to use integers instead of strings.
+ (m68hc11_conditional_register_usage, hard_regno_mode_ok): Use
+ m68hc11_soft_reg_count (which now has an int type) as the number
+ of soft registers.
+ * config/m68hc11/m68hc11.opt: New file.
+
+2005-04-02 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/fr30/fr30.h (PREDICATE_CODES): Remove
+ fp_displacement_operand, sp_displacement_operand.
+
+ * config/m68hc11/m68hc11-protos.h: Add a prototype for
+ m68hcc_auto_inc_p.
+ Remove the prototypes for tst_operand, cmp_operand,
+ stack_register_operand, d_register_operand,
+ hard_addr_reg_operand, splitable_operand,
+ m68hc11_logical_operator, m68hc11_arith_operator,
+ m68hc11_non_shift_operator, m68hc11_shift_operator,
+ m68hc11_unary_operator, m68hc11_eq_compare_operator,
+ non_push_operand, hard_reg_operand, and
+ reg_or_some_mem_operand.
+ * config/m68hc11/m68hc11.c (m68hcc_auto_inc_p): Make it
+ extern.
+ (tst_operand, cmp_operand, non_push_operand,
+ splitable_operand, reg_or_some_mem_operand,
+ stack_register_operand, d_register_operand,
+ hard_addr_reg_operand, hard_reg_operand,
+ m68hc11_eq_compare_operator, m68hc11_logical_operator,
+ m68hc11_arith_operator, m68hc11_non_shift_operator,
+ m68hc11_shift_operator, m68hc11_unary_operator): Move to
+ predicates.md.
+ * config/m68hc11/m68hc11.h (PREDICATE_CODES): Remove.
+ * config/m68hc11/m68hc11.md: Include predicates.md.
+ * config/m68hc11/predicates.md: New.
+
+2005-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/19345
+ * dwarf2out.c (add_abstract_origin_attribute): Revert accidental
+ change checked in along with 2005-03-03's patch for debug/20253.
+ * tree-inline.c (remap_type): Remap TYPE_STUB_DECL.
+ (remap_decl): Insert type decl in map earlier.
+
+2005-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/20640
+ * tree-ssa-dce.c (remove_dead_stmt): Don't redirect edge to
+ post-dominator if it has phi nodes.
+ (eliminate_unnecessary_stmts): Remove dead phis in all blocks
+ before dead statements.
+
+2005-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR middle-end/20491
+ * final.c (alter_subreg): Don't call subreg_regno for a non-REG.
+
+2005-04-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR rtl-optimization/20290
+ * loop.c (for_each_insn_in_loop): Don't assume the loop body runs
+ in every iteration if the entry point is the exit test.
+
+2005-04-02 Hans-Peter Nilsson <hp@axis.com>
+
+ * config/cris/cris.md (attribute "length"): Define.
+
+2005-04-02 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/predicates.md (indexed_or_indirect_operand): New.
+ (word_offset_memref_operand): New.
+ * config/rs6000/rs6000-protos.h (word_offset_memref_operand): Delete.
+ (indexed_or_indirect_operand): Delete.
+ * config/rs6000/rs6000.c (word_offset_memref_operand): Delete.
+ (indexed_or_indirect_operand): Delete.
+
+ * config/rs6000/t-darwin8: Comment out ppc64 multilib.
+
+ PR 20650
+ * config/rs6000/rs6000.md (fix_truncdfsi2): Make destination
+ a register.
+
+ * config/rs6000/t-darwin (TARGET_LIBGCC2_CFLAGS): Add -pipe.
+ * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Likewise.
+
+2005-04-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * gcc/config/vax/vax.md: Spellcheck, fix whitespace.
+
+2005-04-01 Ian Lance Taylor <ian@airs.com>
+
+ * gcc.c: Don't include <sys/resource.h> or declare getrusage.
+ (rus, prus): Remove static variables.
+ (execute): Use pex_run/pex_get_status rather than pexecute/pwait.
+ (process_command): Permit report_times and use_pipes together.
+
+2005-04-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-decl.c (validate_proto_after_old_defn): Look at
+ TYPE_MAIN_VARIANT of argument types.
+
+2005-04-01 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (thumb_call_via_label): Include space for SP.
+ (arm_output_function_epilogue): Allow call_via_SP.
+ (thumb_call_via_reg, arm_file_end): Ditto.
+ * config/arm/arm.h (struct machine_function): Include space for SP.
+ (thumb_call_via_label): Update declaration.
+
+2005-04-01 Ian Lance Taylor <ian@airs.com>
+
+ * final.c (final_scan_insn): Revert part of 2005-03-30 patch: when
+ doing a peephole optimization, once again put any notes in the
+ proper position.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bb-reorder.c, fold-const.c, varasm.c: Fix comment typos.
+
+2005-04-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable.
+ (block_alloc, find_free_reg): Likewise.
+ * loop-doloop.c (doloop_modify): Likewise.
+ * loop-invariant.c (record_use): Likewise.
+ * loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze,
+ get_iv_value, canon_condition, eliminate_implied_condition,
+ eliminate_implied_condition, simplify_using_initial_values,
+ shorten_into_mode, canonicalize_iv_subregs,
+ iv_number_of_iterations): Likewise.
+ * loop-unroll.c (expand_var_during_unrolling): Likewise.
+ * loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
+ unswitch_loop): Likewise.
+ * loop.c (INSN_LUID, loop_optimize, rtx_equal_for_loop_p,
+ move_movables, replace_call_address, find_and_verify_loops,
+ rtx_equal_for_prefetch_p, fold_rtx_mult_add, loop_iterations,
+ record_giv, final_giv_value, general_induction_var,
+ simplify_giv_expr, extension_within_bounds_p, try_copy_prop,
+ loop_giv_dump): Likewise.
+
+ * gcov-io.h (GCOV_CHECK, GCOV_CHECK_READING,
+ GCOV_CHECK_WRITING): Remove.
+ (gcov_position, gcov_rewrite): Use gcc_assert.
+ * gcov-io.c (gcov_open, gcov_write_words, gcov_write_length,
+ gcov_read_words, gcov_sync, gcov_seek): Use gcc_assert.
+ * libgcov.c (__gcov_merge_single, __gcov_merge_delta): Use
+ gcc_assert.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-inline.c: Fix a typo.
+
+2005-04-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.ac (enable-checking): Explicitly set all variables for
+ collective switch values. Alphabetize variables. Rename
+ ac_checking_valgrind to ac_valgrind_checking. Allow 'none' as
+ synonym for 'no'.
+ * doc/install.texi (enable-checking): Update documentation.
+ * configure: Rebuilt.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-inline.c (copy_body_r): Use CONSTANT_CLASS_P where
+ possible.
+
+2005-04-01 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (adjacent_mem_locations): Reject volatile memory refs.
+ Also reject cases where this pattern will cause load delay stalls
+ unless optimizing for size and it will produce a shorter sequence.
+ * arm.md (arith_adjacent_mem): Make better use of ldm addressing
+ variants to avoid pre-adjusting the base when possible.
+
+2005-04-01 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (minmax_arithsi): Reject all eliminable registers, not just
+ the frame and argument pointers.
+ (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec): Likewise.
+ (loadqisi_preinc, loadqisi_predec, strsi_preinc): Likewise.
+ (strsi_predec, loadsi_preinc, loadsi_predec): Likewise.
+ (strqi_shiftpreinc, strqi_shiftpredec, loadqi_shiftpreinc): Likewise.
+ (loadqi_shiftpredec, strsi_shiftpreinc, strsi_shiftpredec): Likewise.
+ (loadsi_shiftpreinc, loadsi_shiftpredec): Likewise.
+
+2005-04-01 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define,
+ with entry for selectany attribute.
+ * config/i386/i386-protos.h (ix86_handle_selectany_attribute):
+ Declare.
+ * config/i386/winnt.c (ix86_handle_selectany_attribute): Define.
+ (i386_pe_asm_named_section): Handle sections generated by
+ selectany attribute.
+ * doc/extend.texi (selectany): Document attribute.
+
+2005-04-01 Paolo Bonzini <bonzini@gnu.org>
+ Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
+ to fix addresses involving EBP and ESP.
+ (aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
+ for SUBREGed registers.
+ (legitimate_address_p): Accept SUBREGed registers.
+
+2005-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/19406
+ * dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL.
+ (dwarf2out_imported_module_or_decl): Use gen_type_die_for_member
+ for FIELD_DECLs.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos.
+
+2005-04-01 James E Wilson <wilson@specifixinc.com>
PR c++/20505
* dwarf2out.c (rtl_for_decl_init): New function.
last_text_section_name as appropriate.
(function_section): Change test for 'unlikely' to depend on
first_function_block_is_cold (moved old test to
- current_function_section).
+ current_function_section).
(current_function_section): New function.
(assemble_start_function): Move code that frees
unlikely_text_section_name; initialize hot_section_end_label;
2005-03-31 Olivier Hainque <hainque@adacore.com>
- * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
- defined and non-zero.
+ * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
+ defined and non-zero.
2005-03-31 Gabriel Dos Reis <gdr@integrable-solutions.net>