+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("INT"): New mode macro.
+ ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
+ Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("GPR", "P"): New mode macros.
+ ("cmpdi", "cmpsi"): Merge.
+ ("strlendi", "strlensi"): Merge.
+ ("*strlendi", "*strlensi"): Merge.
+ ("movmemdi", "movmemsi"): Merge.
+ ("clrmemdi", "clrmemsi"): Merge.
+
+2005-05-09 Adrian Straetling <straetling@de.ibm.com>
+
+ * config/s390/s390.md: ("HQI"): New mode macro.
+ ("icm_lo", "icm_hi", "max_uint"): New mode attributes.
+ ("*tmhi_full", "*tmqi_full"): Merge.
+ ("*tsthiCCT", "*tstqiCCT"): Merge.
+ ("*tsthi", "*tstqi"): Merge.
+ ("*tsthi_cconly", "tstqi_cconly"): Merge.
+ ("*sethighhisi", "*sethighqisi"): Merge.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * crtstuff.c, integrate.h, tree-scalar-evolution.h,
+ config/alpha/unicosmk.h, config/arc/arc.md,
+ config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
+ config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
+ config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
+ config/arm/semi.h, config/arm/uclinux-elf.h,
+ config/arm/wince-pe.h, config/fr30/fr30.c,
+ config/rs6000/altivec.h: Update copyright.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (pdp11_output_function_epilogue, output_move_double,
+ output_move_quad, print_operand_address, output_jump,
+ output_addr_const_pdp11): Likewise.
+ * config/pdp11/pdp11.h (FUNCTION_PROFILER,
+ ASM_OUTPUT_ALIGN): Likewise.
+ * config/pdp11/pdp11.md: Likewise.
+ (extendhisi2, subhi3, subqi3): Likewise.
+
+2005-05-09 David Edelsohn <edelsohn@gnu.org>
+
+ PR middle-end/21237
+ * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
+ to NE_EXPR case.
+
+2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ia64/ia64.c: Fix a comment typo.
+
+2005-05-09 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/21397
+ * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
+ (arm_override_options): Use them instead of manifest constants. Don't
+ allow -march to override the -mtune setting.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
+ (gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
+ (function_arg_advance, function_arg, save_restore_insns,
+ iq2000_expand_prologue, iq2000_output_conditional_branch,
+ expand_one_builtin, print_operand):
+ * config/iq2000/iq2000.md (tablejump): Likewise.
+
+2005-05-09 David Ung <davidu@mips.com>
+
+ * config/mips/mips.h (processor_type): Add names for the 24K.
+ * config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
+ processor family.
+ * config/mips/mips.md (cnv_mode): New attribute for recording the
+ conversion types of float convert insns.
+ (cpu): Add 24k and 24kx.
+ (include): Include 24k.md file.
+ (truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
+ (fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
+ (floatdisf2): Setup cnv_mode.
+ (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
+ setup cnv_mode.
+ * config/mips/24k.md: New file, contains 24k DFA pipeline
+ description.
+
+2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/sh/sh.c (print_operand_address): Use gcc_assert and
+ gcc_unreachable as appropriate.
+ (print_operand, prepare_move_operands, prepare_scc_operands,
+ output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
+ gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
+ fixup_mova, gen_far_branch, sh_reorg, split_branches,
+ final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
+ sh_set_return_address, sh_setup_incoming_varargs,
+ initial_elimination_offset, sh_pch_valid_p, get_free_reg,
+ sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
+ check_use_sfunc_addr): Likewise.
+ * config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
+ * config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
+ * config/sh/symbian.c (sh_symbian_mark_dllexport,
+ sh_symbian_mark_dllimport): Likewise.
+ * config/sh/sh.md: Likewise.
+ (movdicc, call_pop, call_value_pop, casesi_worker_1,
+ casesi_worker_2, casesi_shift_media, casesi_load_media,
+ return_media): Likewise.
+
+2005-05-08 Roger Sayle <roger@eyesopen.com>
+
+ PR inline-asm/8788
+ * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
+ operands.
+
+2005-05-08 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (adjust_address): Fix typo last change.
+
+2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/m68hc11.h (REG_VALID_P): A regno must be >= 0
+ and -1 can happen in reg_renumber when no hard register is assigned.
+
+2005-05-08 Steven Bosscher <stevenb@suse.de>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ PR tree-optimization/14841, tree-optimization/15838
+ * tree-ssa-ccp.c (fold_const_aggregate_ref): New.
+ (evaluate_stmt): Call it.
+
+2005-05-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/ia64.c (ia64_override_options): Don't set
+ ia64_flag_var_tracking and clear flag_var_tracking here...
+ (ia64_file_start): ... but here.
+
+2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
+ and gcc_unreachable as appropriate.
+ (expand_prologue, expand_epilogue, m68hc11_gen_lowpart,
+ m68hc11_gen_highpart, print_operand, print_operand_address,
+ m68hc11_expand_compare, m68hc11_expand_compare_and_branch,
+ m68hc11_gen_movhi): Likewise.
+ * config/m68hc11/m68hc11.h (HARD_X_REGNUM): Reword comment.
+ * config/m68hc11/m68hc11.md: Reword comment.
+
+2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/21281
+ * config/m68hc11/predicates.md (splitable_operand): An immediate is
+ allowed.
+
+2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/predicates.md (reg_or_some_mem_operand): Do not allow
+ the 68HC12 address indirect addressing mode as it is not supported by
+ bset and bclr.
+ * config/m68hc11/m68hc11-protos.h
+ (m68hc11_valid_addressing_p): Declare.
+ (m68hc11_add_mode): Declare.
+ * config/m68hc11/m68hc11.c (m68hc11_valid_addressing_p): Rename from
+ register_indirect_p and export it.
+ (m68hc11_z_replacement): Use emit_insn_after when adding the save Z
+ instruction so that it is part of the good BB.
+ (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
+ addressing with movw.
+ (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
+ 68HC12.
+ * config/m68hc11/m68hc11.h (ADDR_STRICT, ADDR_INCDEC, ADDR_INDEXED,
+ ADDR_OFFSET, ADDR_INDIRECT, ADDR__CONST): Moved from m68hc11.c.
+ * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
+ for 68HC11.
+ ("*movhi_68hc12"): Handle movhi_const0.
+ ("*subhi3", "subqi3"): Use general_operand for operand 1.
+ ("*subhi3_zext"): Likewise.
+
+2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/19051
+ * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for
+ operand 1 and fix constraints.
+ ("mulqihi3"): Use general_operand for operand 2.
+
+2005-05-08 Julian Brown <julian@codesourcery.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+ Paul Brook <paul@codesourcery.com>
+
+ * configure.ac: Set ld_vers_major, ld_vers_minor and ld_vers_patch for
+ GNU linker. Support linker version x.x.x.x.x. Require GNU linker
+ 20050308/2.16.0 or newer for comdat group.
+ * configure: Regenerated.
+ * config.in: Regenerated.
+ * varasm.c (default_function_rodata_section): Put .rodata section in
+ COMDAT group when necessary.
+ (default_elf_asm_named_section): Rename HAVE_GAS_COMDAT_GROUP to
+ HAVE_COMDAT_GROUP.
+ (default_unique_section_1): Don't use .gnu.linkonce when COMDAT is
+ available.
+
+2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
+ instead of VARRAY.
+ * tree-flow.h (num_referenced_var, referenced_var): Likewise.
+ * tree-into-ssa.c (mark_def_site_blocks): Likewise.
+ * tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
+
+2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/16925
+ * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
+ 64-bit constants on 64-bit hosts.
+ (m68hc11_split_logical): Simplify.
+ (m68hc11_split_move): Likewise.
+
+2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * Makefile.in (cs-tconfig.h): Pass USED_FOR_TARGET to mkconfig.sh
+ * aclocal.m4 (GCC_TARGET_TEMPLATE, AH_TEMPLATE): New.
+ * configure.ac (enable_checking): Fix typos in runtime_checking.
+ (ENABLE_RUNTIME_CHECKING): Mark as target template.
+ (xm_file): Prepend auto-host.h
+ (HAVE_GAS_HIDDEN, HAVE_LD_EH_FRAME_HDR): Mark as target template.
+ * mkconfig.sh: Do not automatically define USED_FOR_TARGET in
+ tconfig.h.
+ * crtstuff.c: Do not include auto-host.h.
+ (IN_LIBGCC2): Do not define.
+ * gcov-io.h: Include tconfig.h, not auto-host.h.
+ * libgcc2.c: Do not include auto-host.h.
+ (abort): Do not undefine.
+ * libgcov.c: Remove unneeded comment about config.h.
+ * unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
+ * config.in, configure: Regenerated.
+
+2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
+ Falk Hueffner <falk@debian.org>
+
+ * config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
+ and gcc_unreachable as appropriate.
+ (get_aligned_mem, get_unaligned_address,
+ alpha_emit_set_long_const, alpha_emit_conditional_branch,
+ alpha_emit_setcc, alpha_emit_conditional_move,
+ alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
+ alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
+ alpha_expand_unaligned_load, alpha_expand_block_move,
+ alpha_expand_zap_mask, get_trap_mode_suffix,
+ get_round_mode_suffix, get_some_local_dynamic_name,
+ print_operand_address, function_arg, alpha_return_in_memory,
+ function_value, alpha_expand_builtin,
+ alpha_initial_elimination_offset, alpha_expand_epilogue,
+ summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
+ alphaev5_next_group, alpha_align_insns,
+ unicosmk_initial_elimination_offset, unicosmk_unique_section,
+ unicosmk_ssib_name): Likewise.
+ * config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
+ * config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
+ ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
+ * config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
+ ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ * config/alpha/alpha.md (*divmodsi_internal_er,
+ *divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
+ call_nt, call_umk, call_vms, call_value, sibcall_value,
+ call_value_osf, call_value_nt, call_value_vms, call_value_umk,
+ *call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
+ * config/alpha/predicates.md (input_operand): Likewise.
+
+2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
+ gcc_unreachable, as appropriate.
+ (frv_function_prologue, frv_alloc_temp_reg,
+ frv_initial_elimination_offset, frv_expand_block_move,
+ frv_expand_block_clear, frv_print_operand_jump_hint,
+ frv_legitimize_tls_address, unspec_got_name, frv_emit_move,
+ frv_emit_movsi, frv_split_cond_move, frv_split_minmax,
+ frv_ifcvt_modify_insn, frv_ifcvt_modify_final,
+ frv_adjust_field_align, frv_insn_unit, frv_cond_flags,
+ frv_sort_insn_group, frv_reorder_packet, frv_matching_accg_mode,
+ frv_in_small_data_p, frv_asm_out_constructor,
+ frv_asm_out_destructor, frv_output_dwarf_dtprel): Likewise.
+ * config/frv/frv.md (reload_incc_fp, *cond_exec_si_binary1,
+ *cond_exec_si_binary2, *cond_exec_si_divide, *cond_exec_si_unary1,
+ *cond_exec_sf_conv, *cond_exec_sf_add, call, sibcall, call_value,
+ sibcall_value, casesi): Likewise.
+
+ * config/mn10300/mn10300.c (print_operand): Use gcc_assert and
+ gcc_unreachable as appropriate.
+ (print_operand_address, mn10300_print_reg_list, expand_prologue,
+ expand_epilogue, notice_update_cc, initial_offset,
+ mn10300_address_cost_1): Likewise.
+ * config/mn10300/mn10300.md: Likewise.
+ (absdf2, abssf2, negdf2, negsf2): Likewise.
+
+2005-05-08 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/21416
+ * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
+ comparisons.
+ * config/mips/mips.md (swapped_fcond): New code macro and attribute.
+ (sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond,
+ including sunge_<mode> and sungt_<mode>.
+
+2005-05-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * integrate.h (get_hard_reg_initial_val): Change type of register
+ parameter from int to unsigned int.
+ (has_hard_reg_initial_val): Likewise.
+ * integrate.c (get_hard_reg_initial_val): Likewise.
+ (has_hard_reg_initial_val): Likewise. Remove cast to unsigned int.
+
+2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * except.c (eh_status): Change the type of ttype_data to
+ VEC(tree,gc)*.
+ (add_ttypes_entry, assign_filter_values,
+ output_function_exception_table): Use VEC instead of VARRAY.
+
+2005-05-07 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant.
+
+2005-05-07 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.in: Fix dependencies.
+ (GCOV_IO_H, VARRAY_H): Set.
+
+2005-05-07 Anthony Green <green@redhat.com>
+
+ PR bootstrap/21403
+ * configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in
+ x$STMP_FIXPROTO test.
+ * configure: Rebuilt.
+
+2005-05-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define
+ inappropriate feature test macros if flag_iso.
+
+2005-05-07 Joseph S. Myers <joseph@codesourcery.com>
+
+ * config/ia64/hpux.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2005-05-07 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/21441
+ * config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
+ ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
+ Handle moved operand being in special register.
+ ("smulsi3_highpart", "umulsi3_highpart"): Change .error into
+ presumed working insn.
+ (mover2side): Add FIXME.
+
+2005-05-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * integrate.c (get_func_hard_reg_initial_val): Delete.
+ (has_func_hard_reg_initial_val): Delete.
+ (get_hard_reg_initial_val): Inline the old implementation of
+ get_func_hard_reg_initial_val. Use has_hard_reg_initial_val
+ instead of has_func_hard_reg_initial_val to test for an existing
+ pseudo. Only create an rtx if a new initial value entry is needed.
+ (has_hard_reg_initial_val): Scan the initial value list directly.
+ Don't create an rtx.
+
+2005-05-07 David Edelsohn <edelsohn@gnu.org>
+
+ * config.gcc ({powerpc,rs6000}-ibm-aix*): Remove rs6000/aix.opt
+ from extra_options.
+ * config.in (HAVE_AS_POPCNTB): New.
+ * configure.ac (HAVE_AS_MFCRF): Add .machine "pwr5" to AIX test.
+ (HAVE_AS_POPCNTB): New.
+ * configure: Regenerated.
+ * config/rs6000/aix.h (TARGET_XL_COMPAT): Delete.
+ * config/rs6000/rs6000.c (rs6000_override_options, power5): Add
+ MASK_POPCNTB. Uncomment rs6000_sched_restricted_insns_priority
+ and rs6000_sched_costly_dep.
+ * config/rs6000/rs6000.h (TARGET_POPCNTB): New.
+ (TARGET_XL_COMPAT): Delete.
+ * config/rs6000/rs6000.md (UNSPEC_POPCNTB): New.
+ (popcount<mode>2): New.
+ (popcntb<mode>2): New.
+ * config/rs6000/rs6000.opt (mpopcntb): New.
+
+ * opt-functions.awk (var_set): Emit OPTION_MASK_ for InverseMask
+ if variable name exists.
+
+2005-05-07 Matt Kraai <kraai@ftbfs.org>
+
+ * Makefile.in (c-gimplify.o): Depend on $(RTL_H) instead of rtl.h.
+
+2005-05-07 Richard Henderson <rth@redhat.com>
+
+ PR target/21412
+ * config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
+ with constant offsets.
+
+2005-05-07 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/v850/v850.c (print_operand): Use gcc_assert and
+ gcc_unreachable, as appropriate.
+ (print_operand_address, v850_handle_data_area_attribute,
+ v850_encode_data_area, construct_restore_jr, construct_save_jarl,
+ v850_insert_attributes, construct_prepare_instruction): Likewise.
+ * config/v850/v850.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ * config/v850/v850.md (movsicc, *sasf_1): Likewise.
+
+2005-05-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-loop-ivcanon.c, config/i386/i386.c,
+ config/rs6000/rs6000.h: Fix comment typos.
+
+2005-05-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Remove documentation for MIPS' -mint64 option.
+ * config/mips/mips.c (TARGET_SCALAR_MODE_SUPPORTED_P): Delete.
+ (mips_scalar_mode_supported_p): Delete.
+
+2005-05-06 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.opt: Remove -mint64 option.
+ * config/mips/mips.c (override_options): Remove -mint64
+ handling.
+ * config/mips/mips.h (INT_TYPE_SIZE): Define to 32.
+ * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove
+ 64-bit integer handling.
+ * doc/invoke.texi (Option Summary): Remove -mint64 for
+ mips.
+
+2005-05-06 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR tree-optimization/19401
+ * tree-flow.h (tree_unroll_loops_completely): Declaration changed.
+ * tree-ssa-loop-ivcanon.c (enum unroll_level): New.
+ (estimated_unrolled_size): New function.
+ (try_unroll_loop_completely, canonicalize_loop_induction_variables,
+ tree_unroll_loops_completely): Always unroll loops if the code size
+ does not increase.
+ * tree-ssa-loop.c (tree_complete_unroll): Indicate whether all
+ loops should be unrolled completely.
+ (gate_tree_complete_unroll): Run complete unrolling unconditionally.
+
+2005-05-06 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR rtl-optimization/21254
+ * loop-iv.c (iv_number_of_iterations): Simplify infiniteness
+ assumptions for loops that otherwise do not roll.
+ (find_simple_exit): Prefer # of iterations that is guaranteed
+ not to be infinite.
+ * loop-unroll.c (decide_peel_once_rolling,
+ decide_peel_completely): Check whether the loop is infinite.
+
+2005-05-06 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/sysv4.opt: Fix typo.
+
+2005-05-06 Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/21329
+ * config/i386/i386.c (ix86_expand_movmem): Don't use rep; movsb
+ for -Os if (movsl;)*(movsw;)?(movsb;)? sequence is shorter.
+ Don't use rep; movs{l,q} if the repetition count is really small,
+ instead use a sequence of movs{l,q} instructions.
+
+2005-05-06 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/21380
+ * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
+ thread through a block with no preds.
+
+2005-05-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-operands.c (clobbered_v_may_defs, clobbered_vuses,
+ ro_call_vuse, fini_ssa_operands, add_call_clobber_ops,
+ add_call_read_ops): Use VEC instead of VARRAY.
+
+2005-05-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/mcore/mcore.c (mcore_print_operand_address): Use
+ gcc_assert and gcc_unreachable as appropriate.
+ (mcore_print_operand, mcore_gen_compare_reg, mcore_output_call,
+ mcore_output_andn, output_inline_const, mcore_output_move,
+ mcore_output_movedouble, mcore_expand_block_move,
+ layout_mcore_frame, mcore_initial_elimination_offset,
+ mcore_expand_prolog, mcore_mark_dllexport,
+ mcore_mark_dllimport): Likewise.
+ * config/mcore/mcore.h (switch_to_section): Likewise.
+ * config/mcore/mcore.md: Likewise.
+
+2005-05-06 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/linux64.h: Remove MASK_PROFILE_KERNEL, and
+ TARGET_PROFILE_KERNEL.
+
+ * config/rs6000/rs6000.c (output_profile_hook): Add comment to
+ TARGET_PROFILE_KERNEL use.
+
+2005-05-06 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/m32r/m32r.c (m32r_encode_section_info): Use gcc_assert
+ and gcc_unreachable, as appropriate.
+ (gen_compare, gen_split_move_double, m32r_setup_incoming_varargs,
+ m32r_expand_prologue, m32r_output_function_epilogue,
+ m32r_legitimize_pic_address, m32r_print_operand_address,
+ emit_cond_move, m32r_function_symbol,
+ m32r_output_block_move): Likewise.
+ * config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
+ * config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
+ *rev_zero_branch_insn): Likewise.
+
+2005-05-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/20961
+ * varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
+ if both NEWDECL and OLDDECL are already weak.
+
+2005-05-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/rs6000/sysv4.h (EXTRA_SUBTARGET_SWITCHES): Delete.
+
+2005-05-05 J"orn Rennecke <joern.rennecke@st.com>
+ Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_builtin_saveregs): Use copy_to_mode_reg
+ and plus_constant.
+
+2005-05-05 Aldy Hernandez <aldyh@redhat.com>
+ David Edelsohn <edelsohn@gnu.org>
+
+ * config.gcc: Add .opt magic for the rs6000 ports.
+
+ * doc/invoke.texi: Document -mabi= option properly. Document
+ -misel and -mno-sel. Document -mspe and -mno-spe. Document
+ -mvrsave and -mno-vrsave. Document deprecation of -mspe= and
+ -misel=.
+
+ * config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
+ SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
+ TARGET_XL_COMPAT.
+
+ * config/rs6000/aix.opt: New.
+ * config/rs6000/aix41.opt: New.
+ * config/rs6000/aix64.opt: New.
+ * config/rs6000/darwin.opt: New.
+ * config/rs6000/linux64.opt: New.
+ * config/rs6000/rs6000.opt: New.
+ * config/rs6000/sysv4.opt: New.
+
+ * config/rs6000/sysv4.h: Delete definitions of MASK_* and
+ associated TARGET_*. Remove SUBTARGET_OPTIONS,
+ SUBTARGET_SWITCHES.
+ Define TARGET_USES_SYSV4_OPT.
+ * config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
+ * config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
+ TARGET_USES_AIX64_OPT.
+ * config/rs6000/aix51.h: Same.
+ * config/rs6000/aix52.h: Same.
+ * config/rs6000/darwin.h: Remove SUBTARGET_SWITCHES,
+ MASK_MACHO_DYNAMIC_NO_PIC, TARGET_MACHO_DYNAMIC_NO_PIC.
+ Use TARGET_ALTIVEC_VRSAVE instead of rs6000_altivec_vrsave.
+ Define TARGET_DYNAMIC_NO_PIC as TARGET_MACHO_DYNAMIC_NO_PIC.
+ * config/rs6000/linux64.h: Use
+ rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
+
+ * config/rs6000/rs6000.c: Remove definitions of
+ rs6000_sched_restricted_insns_priority,
+ rs6000_long_double_size_string, rs6000_altivec_vrsave,
+ rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
+ rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+ rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
+ rs6000_alignment_string. Define rs6000_explicit_options.
+ (rs6000_parse_abi_options): Remove.
+ (rs6000_parse_alignment_option): Remove.
+ (rs6000_parse_float_gprs_option): Remove.
+ (rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
+ TARGET_DEFAULT_TARGET_FLAGS.
+ (rs6000_override_options): Revamp to use new .opt machinery.
+
+ * config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
+ of new .opt machinery. Remove target_flags. Redefine
+ TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
+ SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
+ rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
+ rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
+ rs6000_longcall_switch, rs6000_default_long_calls,
+ rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
+ rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
+ TARGET_ALTIVEC_VRSAVE.
+
+2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config.gcc (hppa1.1-*-rtems*): Remove.
+ * config/pa/rtems.h: Remove.
+
+2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
+ Exclude roe/603e multilib variants.
+
+2005-05-04 Denis Chertykov <denisc@overta.ru>
+
+ PR target/21284
+ * config/avr/avr.c (avr_output_addr_vec_elt): Use special section
+ for output.
+
+2005-05-05 Richard Sandiford <rsandifo@redhat.com>
+
+ * config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
+ arm/pe.opt to $extra_options.
+ * config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
+ (target_float_abi_name, target_float_switch, target_abi_name)
+ (ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
+ (ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
+ (ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
+ (ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
+ (ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
+ (THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
+ (THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
+ (TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
+ (TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
+ (TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
+ (TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
+ (TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
+ (TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
+ (TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
+ (arm_pic_register_string): Delete.
+ (TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
+ TARGET_TPCS_FRAME.
+ (TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
+ * config/arm/coff.h (TARGET_DEFAULT): Likewise.
+ * config/arm/elf.h (TARGET_DEFAULT): Likewise.
+ * config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
+ * config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
+ * config/arm/semi.h (TARGET_DEFAULT): Likewise.
+ * config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
+ * config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
+ * config/arm/pe.h (TARGET_DEFAULT): Likewise.
+ (TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
+ (SUBTARGET_SWITCHES): Delete.
+ * config/arm/arm.c (target_float_switch): Delete.
+ (arm_cpu_select): Moved from config/arm/arm.h.
+ (target_fpu_name, target_fpe_name, target_float_abi_name)
+ (target_abi_name, structure_size_string, arm_pic_register_string)
+ (arm_select): Make static.
+ (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ (arm_handle_option): New function.
+ (arm_override_options): Update target_flags checks for new mask names.
+ Remove target_float_switch code.
+ (arm_expand_prologue, thumb_expand_prologue): Check
+ !TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
+ * config/arm/arm.opt, config/arm/pe.opt: New files.
+
+2005-05-05 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/arc/arc.c (get_arc_condition_code): Use gcc_assert &
+ gcc_unreachable as appropriate.
+ (arc_double_limm_p, arc_setup_incoming_varargs,
+ arc_compute_function_type, arc_output_function_prologue,
+ arc_output_function_epilogue, arc_eligible_for_epilogue_delay,
+ output_shift, arc_print_operand, arc_print_operand_address,
+ arc_final_prescan_insn): Likewise.
+ * config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
+
+2005-05-04 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/rs6000.md (P): Use TARGET_*BIT rather than
+ comparing Pmode.
+ (SDI): New.
+ (cmp): Delete.
+ (wd): New.
+ (add<mode>3, add<mode>3_internal1, add<mode>3_internal2,
+ add<mode>3_internal3, one_cmpl<mode>2, sub<mode>3, neg<mode>2,
+ clz<mode>2, ctz<mode>2, ffs<mode>2): New.
+ (addsi3, addsi3_internal1, addsi3_internal2, addsi3_internal3,
+ (one_cmplsi2, subsi3, negsi2, clzsi2, ctzsi2, ffssi2): Remove.
+ (adddi3, adddi3_internal1, adddi3_internal2, adddi3_internal3,
+ (one_cmpldi2, subdi3, negdi2, clzdi2, ctzdi2, ffsdi2): Remove.
+ (sync_compare_and_swap<mode>): Use <wd> rather than <cmp>.
+
+2005-05-05 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.in: Replace dependencies on basic-block.h, c-pragma.h,
+ cfgloop.h, diagnostic.h, insn-attr.h, langhooks-def.h, params.h,
+ regs.h, system.h, tree-dump.h, tree-gimple.h, tree-scalar-evolution.h
+ and tree-data-ref.h with *_H variables.
+
+2005-05-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * config/m32r/xm-m32r.h, config/m32r/xm-linux.h: Delete files.
+
+2005-05-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * system.h: Poison BYTEORDER and HOST_WORDS_BIG_ENDIAN.
+
+2005-05-04 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks.
+
+2005-05-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Emit
+ setting of vrsave register for current function after
+ call to save_world is emitted.
+
+2005-05-05 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/mmix/predicates.md: New file.
+ * config/mmix/mmix.c (mmix_symbolic_or_address_operand)
+ (mmix_reg_or_constant_operand, mmix_reg_cc_operand)
+ (mmix_foldable_comparison_operator, mmix_comparison_operator)
+ (mmix_reg_or_0_operand, mmix_reg_or_8bit_operand): Remove.
+ * config/mmix/mmix.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
+ Don't define.
+ * config/mmix/mmix.md: Include predicates.md.
+ ("call", "call_value"): Force address to register if it isn't a
+ mmix_symbolic_or_address_operand.
+
+2005-05-04 Andrew MacLeod <amacleod@redhat.com>
+
+ * tree-flow-inline.h (op_iter_init_use, op_iter_init_def): Assert that
+ the flags are of appropriate types.
+ (num_ssa_operands): Generalize using the generic interface.
+ * tree-ssa-dce.c (remove_dead_stmt): Don't ask for kills on a DEF
+ iterator.
+
+2005-05-04 Richard Sandiford <rsandifo@redhat.com>
+
+ * protoize.c (version_flag, quiet_flag, nochange_flag, nosave_flag)
+ (keep_flag, local_flag, global_flag, cplusplus_flag): Make extern.
+
+2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-outof-ssa.c (edge_leader, stmt_list,
+ analyze_edges_for_bb): Use VEC instead of VARRAY.
+ (init_analayze_edges_for_bb, fini_analayze_edges_for_bb): New.
+ (perform_edge_inserts): Call init_analayze_edges_for_bb and
+ fini_analayze_edges_for_bb.
+
+2005-05-04 James E Wilson <wilson@specifixinc.com>
+
+ PR driver/21112
+ * gcc.c (process_command): In the second argv scan loop, ignore
+ Xassembler and Xpreprocessor, along with their argument.
+
+2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-flow-inline.h, tree-ssa-operands.c,
+ tree-ssa-operands.h, tree-ssa-opfinalize.h:
+ Likewise. tree-vn.c: Fix comment typos.
+ * doc/passes.texi, doc/tree-ssa.texi: Fix typos.
+
+2005-05-04 Paolo Bonzini <bonzini@gnu.org>
+
+ * doc/tm.texi (Target Hooks): Document
+ TARGET_RESOLVE_OVERLOADED_BUILTIN.
+
+2005-05-04 Paul Brook <paul@codesourcery.com>
+
+ * Makefile.in: Change dependencies on target.h to $(TARGET_H).
+
+2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * dwarf2out.c (incomplete_types, retry_incomplete_types,
+ gen_struct_or_union_type_die, dwarf2out_init): Use VEC instead
+ of VARRAY.
+
+ * loop-unroll.c (var_to_expand, analyze_insn_to_expand_var,
+ get_expansion, expand_var_during_unrolling,
+ insert_var_expansion_initialization,
+ combine_var_copies_in_loop_exit, release_var_copies): Use VEC
+ instead of VARRAY.
+
+ * tree-ssa-loop-ivopts.c (rewrite_address_base): Don't call
+ update_stmt.
+
+2004-05-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/15618
+ * fold-const.c (fold_widened_comparison): Treat BOOLEAN_TYPE
+ the same as INTEGER_TYPE.
+ (fold_binary): Fold "bool_var != 0" to bool_var.
+ Fold "bool_var == 1" to bool_var.
+
+2004-05-03 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/21318
+ * function.c (instantiate_virtual_regs_in_insn): Use the mode
+ from recog_data instead of insn_data.
+
2005-05-03 DJ Delorie <dj@redhat.com>
* common.opt (fdiagnostics-show-option): No variable is needed.