OSDN Git Service

2005-05-09 Adrian Straetling <straetling@de.ibm.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index c5d2304..abc2104 100644 (file)
@@ -1,7 +1,877 @@
+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.
+       * diagnostic.h (diagnostic_context): Add show_option_requested flag.
+       * diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
+       (diagnostic_report_diagnostic): Test for enabled diagnostics here.
+       Save and restore original message format.  Use flag in context
+       instead of global.
+       (warning): Don't test for enabled warnings here.
+       * opts.c (common_handle_option): Handle -fdiagnostics-show-option
+       here.
+
+2005-05-04  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN.
+       * config/m32r/xm-linux.h: Don't undefine HOST_WORDS_BIG_ENDIAN.
+       * mips-tfile.c: Use WORDS_BIG_ENDIAN instead of HOST_WORDS_BIG_ENDIAN.
+       * aclocal.m4: Don't include accross.m4.
+       * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
+       Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
+       * configure, config.in: Regenerate.
+       
+2005-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/21265
+       * expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL.
+       (clear_storage): Add argument.
+       * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall):
+       Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to
+       tailcall.
+       (emit_block_move): Handle BLOCK_OP_TAILCALL method.
+       (clear_storage): Add method argument, handle BLOCK_OP_TAILCALL.
+       (store_expr, store_constructor): Adjust callers.
+       * builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL
+       to emit_block_move if CALL_EXPR_TAILCALL (exp).
+       (expand_builtin_memmove): Add ORIG_EXP argument, copy
+       CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR.
+       (expand_builtin_bcopy): Replace ARGLIST and TYPE arguments
+       with EXP.  Pass EXP to expand_builtin_memmove.
+       (expand_builtin_memset): Add ORIG_EXP argument, pass
+       BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp).
+       (expand_builtin_bzero): Replace ARGLIST argument with EXP.
+       Pass EXP to expand_builtin_memset.
+       (expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to
+       the new CALL_EXPR.
+       (expand_builtin_strncmp): Likewise.
+       (expand_builtin_printf): Replace ARGLIST argument with EXP.
+       Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR.
+       (expand_builtin_fprintf): Likewise.
+       (expand_builtin): Adjust calls to
+       expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}.
+
+       * config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th
+       item in V4SF mode.
+
+       PR rtl-optimization/21239
+       * combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo.
+
+2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-flow.h (tree_ann_common_d): Move aux to ...
+       (stmt_ann_d): ... here.
+       * tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
+       move_computations_stmt, schedule_sm): Update references to
+       aux.
+       * tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
+
+       * tree-cfg.c (remove_bb): Remove a redundant call to
+       set_bb_for_stmt.
+       * tree-if-conv.c (replace_phi_with_cond_modify_expr):
+       Likewise.
+
 2005-05-03  Richard Henderson  <rth@redhat.com>
 
        * config/rs6000/rs6000.c: Remove conflict markers.
 
+       * cfg.c (dump_flow_info): Use max_reg_num, not max_regno.
+
 2005-05-03  James E Wilson  <wilson@specifixinc.com>
 
        * dwarf2out.c (lookup_filename): Call maybe_emit_file.