OSDN Git Service

* config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4f48773..d967aca 100644 (file)
+2005-05-07  Hans-Peter Nilsson  <hp@axis.com>
+
+       * 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.
+
+2005-05-03  DJ Delorie  <dj@redhat.com>
+
+       * c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery
+       decide if the warning will be printed.
+       * calls.c (expand_call): Likewise.
+       * function.c (init-function_start): Likewise.
+
+       * common.opt (-fdiagnostics-show-option): New.
+       * opts.c (option_enabled): Accept the option index instead of a
+       pointer to the option descriptor.
+       * opts.h (option_enabled): Likewise.
+       * toplev.c (print_switch_values): Pass option index, not option
+       descriptor.
+       * diagnostic.h (diagnostic_info): Add option_index.
+       * diagnostic.c: Include opts.h.
+       (diagnostic_set_info): Initialize option_index.
+       (diagnostic_report_diagnostic): Amend option name if appropriate.
+       (warning): Check to see if the specified warning is enabled.
+       Store option index.
+       * doc/invoke.texi (-fdiagnostics-show-options): Document.
+
+2005-05-03  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix ALL_REGS and
+       SPEC_OR_GEN_REGS definitions.
+
+2005-05-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/16888
+       * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
+       for unavailable registers.
+
+2005-05-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-cfg.c (tree_forwarder_block_p): Fix a typo.
+
+       * cfglayout.c (block_locators_blocks,
+       insn_locators_initialize, insn_scope): Use VEC instead of
+       VARRAY.
+
+       * tree-mudflap.c (deferred_static_decls, mudflap_enqueue_decl,
+       mudflap_finish_file, mudflap_finish_file): Use VEC instead of
+       VARRAY.
+
+2005-05-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/predicates.md (const_compl_high_operand): New.
+       * config/sparc/sparc.c (sparc_emit_set_safe_HIGH64): Rename into
+       gen_safe_HIGH64.
+       (sparc_emit_set_const64_quick1): Adjust for above change.
+       (sparc_emit_set_const64_quick2): Likewise.
+       (sparc_emit_set_const64_longway): Likewise.
+       (sparc_emit_set_const64): Likewise.
+       * config/sparc/sparc.md (movhi_const64_special, movsi_const64_special,
+       movdi_const64_special): Delete.
+       (logical constant splitters): Use const_compl_high_operand.
+
+2005-05-03  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Use STRIP_TYPE_NOPS
+       rather than STRIP_NOPS.
+
+2005-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/21330
+       * loop-unswitch.c (may_unswitch_on): Set *cinsn only when
+       returning non-NULL.
+       (unswitch_single_loop): Clear cinsn when retrying.
+
+       PR target/21297
+       * config/i386/i386.c (legitimize_address): When canonicalizing
+       ASHIFT into MULT, multiply by 1 << shift_count instead of
+       1 << log2 (shift_count).
+
+2005-05-03  Andrew MacLeod  <amacleod@redhat.com>
+
+       * lambda-code.c (gcc_loop_to_lambda_loop, 
+       lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
+       stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
+       generic operand interface.
+       * tree-data-ref.c (find_data_references_in_loop): Use generic interface.
+       * tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
+       generic operand interface.
+       * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list, 
+       link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
+       next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
+       num_imm_uses): Use ssa_use_operand_t.
+       (get_def_ops, get_use_ops, get_v_may_def_ops, get_vuse_ops,
+       get_v_must_def_ops): Delete.
+       (get_def_from_ptr, get_phi_result_ptr): Get def directly now.
+       (get_use_op_ptr, get_def_op_ptr, get_v_may_def_result_ptr,
+       get_v_may_def_op_ptr, get_vuse_op_ptr, get_v_must_def_result_ptr,
+       get_v_must_def_kill_ptr): Delete.
+       (delink_stmt_imm_use): Move and use new operand interface.
+       (op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
+       op_iter_next_tree): Use new operand implementation.
+       (clear_and_done_ssa_iter): New.  Initialize a blank operand iterator.
+       (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator 
+       type check.
+       (op_iter_next_mustdef, op_iter_next_maydef, 
+       op_iter_next_must_and_may_def): Delete. Replace with...
+       (op_iter_next_maymustdef): New.  Combine must and may next operations.
+       (op_iter_init_maydef, op_iter_init_mustdef, 
+       op_iter_init_must_and_may_def): Use new interface.
+       (single_ssa_tree_operand ): New.  Process single operands only as trees.
+       (single_ssa_use_operand): New.  Process single operands only as uses.
+       (single_ssa_def_operand): New.  Process single operands only as defs.
+       (zero_ssa_operands): New.  Return TRUE if there are zero operands of the
+       specified types.
+       (num_ssa_operands): New.  Count the number of specified operands.
+       (compare_ssa_operands_equal): New.  Compare two statements' operands.
+       (single_phi_def): New.  Return true if PHI has one def of the specified
+       operand type.
+       (op_iter_init_phiuse): New.  Initialize the iterator for PHI arguments.
+       (op_iter_init_phidef): New.  Initialize the iterator for the PHI def.
+       * tree-flow.h (struct immediate_use_iterator_d): Use ssa_use_operand_t.
+       (struct stmt_ann_d): Operands field no longer require GTY().
+       (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
+       * tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
+       * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb, 
+       dump_replaceable_exprs, rewrite_trees): Use generic interface.
+       * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node): 
+       Use use_operand_p instead of ssa_imm_use_t *.
+       * tree-pretty-print.c (dump_vops): check if operands are active before
+       dumping virtual operands.
+       * tree-sra.c (sra_walk_function): Use ZERO_SSA_OPERANDS.
+       * tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
+       (ccp_fold): Use new interface.
+       (ccp_visit_stmt): Remove unused variables and code.
+       (convert_to_gimple_builtin): Insert statements before calling 
+       mark_new_vars_to_rename.
+       * tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
+       (copy_prop_visit_cond_stmt): Use generic interface.
+       * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the 
+       annotation in table.
+       (thread_across_edge): Use generic interface.
+       (initialize_hash_element): Initialzie with stmt, not annotation.
+       (eliminate_redundant_computations): Use generic interface.
+       (record_equivalences_from_stmt): Pass stmt, not annotation.
+       (avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
+       interface.
+       * tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
+       * tree-ssa-loop-ivopts.c (find_invariants_stmt, 
+       find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use 
+       generic operand interface.
+       * tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
+       interface.
+       * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
+       Interface.
+       * tree-ssa-operands.c (struct opbuild_list_d): New.  Operand build type.
+       (build_defs, build_uses, build_v_may_defs, build_vuses, 
+       build_v_must_defs): Change type to struct opbuild_list_d.
+       (ops_active): New.  Operands active boolean.
+       (operand_memory, operand_memory_index): New.  Operand memory managers.
+       (allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
+       allocate_vuse_optype, allocate_v_must_def_optype): Delete.
+       (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs): 
+       Change from functions to static variable list heads.
+       (opbuild_initialize_virtual): New.  Initialize a virtual build list.
+       (opbuild_initialize_real): New.  Initialize a virtual build list.
+       (opbuild_free): New.  Free a build list.
+       (opbuild_num_elems): New.  Number of items in a list.
+       (opbuild_append_real): New.  Add a real (tree *) operand.
+       (opbuild_append_virtual): New.  Add and sort a virtual (tree) operand.
+       (opbuild_first): New.  Return first element index in a list.
+       (opbuild_next): New.  Return next element in a list.
+       (opbuild_elem_real): New.  Return real element.
+       (opbuild_elem_virtual): New.  Return virtual element.
+       (opbuild_elem_uid): New.  Return UID of virtual element.
+       (opbuild_clear): New.  Reset an operand list.
+       (opbuild_remove_elem): New.  Remove an element form a list.
+       (ssa_operands_active): New.  Return true if operand cache is active.
+       (init_ssa_operands, fini_ssa_operands): Initialize new implementation.
+       (ssa_operand_alloc): New.  Allocate memory from an operand chunk.
+       (correct_use_link): Use use_operand_p.
+       (finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
+       finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation. 
+       (cleanup_v_may_defs): Use new implmentation.
+       (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New 
+       implementation.
+       (append_def, append_use, append_v_may_def, append_vuse, 
+       append_v_must_def): Call opbuild_append routine instead of using varray.
+       (build_ssa_operands): Simplify to simply use stmt, don't maintain a 
+       global parse_old_ops variable.
+       (free_ssa_operands): New implementation.
+       (update_stmt_operands): Move.  Change argument to build_ssa_operands.
+       (copy_virtual_operands): Move. New generic implementation.
+       (create_ssa_artficial_load_stmt): Move. New implementation.
+       (swap_tree_operands): Update for new implementation.
+       (get_expr_operands): Add stmt parameter to calls to swap_tree_operands.
+       (add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
+       rather than a varray.
+       (verify_imm_links): Use use_operand_p.
+       (dump_immediate_uses_for): If the immediate use variable is a virtual 
+       variable, show the virtual ops in the stmt.
+       * tree-ssa-operands.h (def_operand_p): No longer a structure.
+       (NULL_DEF_OPERAND_P): Now a #define.
+       (def_optype_d, use_optype_d, v_def_use_operand_type, v_may_def_optype_d,
+       vuse_operand_type, vuse_optype_d, v_must_def_optype_d): Delete.
+       (def_optype_d, use_optype_d, maydef_optype_d, vuse_optype_d,
+       mustdef_optype_d): New.  Use Linked list representation.
+       (SSA_OPERAND_MEMORY_SIZE): New.  Size of operand memory chunk.
+       (struct ssa_operand_memory_d): New.  Allocated Chunk node.
+       (struct stmt_operands_d): Change to new pointers that are not GTY.
+       (STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
+       STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
+       SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
+       STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT, 
+       SET_V_MUST_DEF_KILL): Delete.
+       (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT, 
+       V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
+       (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT, 
+       V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
+       (enum ssa_op_iter_type): Operand iterator typechecking values.
+       (struct ssa_operand_iterator_d): Use linked lists of operands.
+       (SSA_OP_VMUSTDEFKILL): Rename to SSA_OP_VMUSTKILL.
+       (FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_MUSTDEF_OPERAND,
+       FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): Use op_iter_next_maymustdef.
+       (FOR_EACH_PHI_ARG): New.  Iterate over PHI arguments.
+       (FOR_EACH_PHI_OR_STMT_USE): New.  Iterate over PHI or stmt uses.
+       (FOR_EACH_PHI_OR_STMT_DEF): New.  Iterate over PHI or stmt defs.
+       (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND, 
+       SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
+       * tree-ssa-opfinalize.h: New.  Function templates for expansion.
+       (FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
+       alloc_vuse, and alloc_mustdef.
+       (FINALIZE_FUNC): Expands into finalize_ssa_def_ops, 
+       finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
+       and finalize_ssa_v_must_def_ops.
+       * tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
+       (create_value_expr_from): Use stmt not vuse_optype as a parameter. Pass
+       stmt around.
+       (compute_avail): Use generic iterator interface.
+       * tree-ssa-propagate.c (first_vdef): Use generic operand interface.
+       (stmt_makes_single_load, stmt_makes_single_store): Use 
+       ZERO_SSA_OPERANDS.
+       * tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
+       (statement_sink_location): Use generic interface.
+       * tree-ssa.c (verify_ssa):  Use %p in fprintf.  Use generic interface.
+       (delete_tree_ssa): Don't call release_defs.  Call release_ssa_name and
+       reset the immediate use link nodes.
+       (stmt_references_memory_p): Use ZERO_SSA_OPERANDS.
+       * tree-ssanames.c (make_ssa_name): Use use_operand_p.
+       * tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
+       (eliminate_tail_call): Use generic operand interface.
+       * tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
+       (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic 
+       interface.
+       * tree-vect-transform.c (update_vuses_to_preheader): Use generic 
+       interface.
+       * tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
+       * tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
+       vuse_optype.
+       (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add): 
+       Use statement pointer instead of vuse_optype.  Use generic interface.
+       * tree-vrp.c (maybe_add_assert_expr): Use generic interface.
+       (stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
+       * tree.h (struct ssa_imm_use_d): Renamed to ssa_use_operand_d.
+       (tree_ssa_name, phi_arg_d): Use ssa_use_operand_d.
+       * doc/tree-ssa.texi: Update documentation for operand interface.
+
+2005-05-03  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/darwin.c (machopic_define_symbol): Use gcc_assert or
+       gcc_unreachable as appropriate.
+       (machopic_function_base_name, machopic_indirect_data_reference,
+       machopic_legitimize_pic_address, darwin_non_lazy_pcrel): Likewise.
+       * config/host-darwin.c (darwin_gt_pch_use_address): Likewise
+       * config/rs6000/altivec.md (*mov<mode>_internal,
+       build_vector_mask_for_load): Likewise.
+       * config/rs6000/darwin.md (movdf_low_si, movdf_low_di,
+       *call_nonlocal_darwin64, *call_value_nonlocal_darwin64,
+       *sibcall_symbolic_64, *sibcall_value_symbolic_64): Likewise.
+       * config/rs6000/predicates.md (easy_fp_constant,
+       logical_operand): Likewise.
+       * config/rs6000/rs6000.c (spe_expand_predicate_builtin,
+       compute_save_world_info, rs6000_emit_prologue,
+       rs6000_output_mi_thunk): Reword comments to avoid 'abort'.
+       * config/rs6000/host-darwin.c (segv_handler): Use fancy_abort
+       directly.
+
+2005-05-03  Uros Bizjak  <uros@kss-loka.si>
+
+       PR middle-end/21282
+       * convert.c (convert_to_integer): Convert ceil and floor in
+       c99 mode only.
+
+2005-04-29  Geoffrey Keating  <geoffk@apple.com>
+
+       PR target/20813
+       * config/rs6000/rs6000.md (floatsidf2_internal): Merge to create
+       define_insn_and_split.  Split only when memory operand is
+       offsettable.  Use adjust_address rather than plus_constant.
+       (floatunssidf2_internal): Likewise.
+       (fix_truncdfsi2_internal): Split only when memory operand is
+       offsettable.  Use adjust_address rather than plus_constant.
+       (fix_trunctfsi2_internal): Likewise.
+       (floatsidf2_internal): Likewise.
+
+2005-05-02  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-vrp.c (set_value_range_to_nonnull): Declare inline.
+       (set_value_range_to_null): Likewise.
+       (set_value_range_to_varying): New function.  Use it in all
+       call sites that used to call set_value_range (vr, VR_VARYING, ...).
+       (extract_range_from_assert): If the integral type has a
+       super-type, and LIMIT is not within MIN and MAX values of that
+       type, set the resulting range to VR_VARYING.
+
+2005-05-02  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/mmix.opt: New file.
+       * config/mmix/mmix.h: Move options-related comments to mmix.opt.
+       (mmix_cc1_ignored_option): Don't declare.
+       (TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
+       (TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
+       (TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
+       (TARGET_MASK_BRANCH_PREDICT, TARGET_MASK_USE_RETURN_INSN)
+       (TARGET_MASK_BASE_ADDRESSES, TARGET_LIBFUNC, TARGET_ABI_GNU,
+       (TARGET_FCMP_EPSILON, TARGET_ZERO_EXTEND, TARGET_KNUTH_DIVISION)
+       (TARGET_TOPLEVEL_SYMBOLS, TARGET_BRANCH_PREDICT)
+       (TARGET_BASE_ADDRESSES, TARGET_USE_RETURN_INSN, TARGET_SWITCHES):
+       Don't define.
+       (TARGET_DEFAULT): Change TARGET_MASK_... to MASK_...
+       * config/mmix/mmix.c (mmix_cc1_ignored_option): Remove.
+       (TARGET_DEFAULT_TARGET_FLAGS): Override default.
+
+2005-05-02  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/15698
+       * c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New.
+       * c-decl.c (current_function_prototype_built_in,
+       current_function_prototype_arg_types): New.
+       (merge_decls): Keep source location of prototype followed by
+       nonprototype declaration.  Update C_DECL_BUILTIN_PROTOTYPE.
+       (builtin_function): Set C_DECL_BUILTIN_PROTOTYPE.
+       (start_function): Always set current_function_prototype_locus,
+       current_function_prototype_built_in and
+       current_function_prototype_arg_types.  Check for external
+       prototype whether or not visible for external function and set
+       current_function_prototype_arg_types accordingly.
+       (store_parm_decls_oldstyle): Use
+       current_function_prototype_arg_types for checking old-style
+       definition against prototype.  Give warnings only if
+       current_function_prototype_built_in).
+
+2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * ggc.h (ggc_alloc_zone_pass_stat): New macro.
+       (ggc_alloc_zone_stat): Don't define.
+       * ggc-zone.c (ggc_alloc_typed_stat, ggc_alloc_stat): Use
+       ggc_alloc_zone_pass_stat.
+       * rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Likewise.
+       * tree.c (make_node_stat, copy_node_stat, make_tree_binfo_stat)
+       (make_tree_vec_stat, tree_cons_stat, build1_stat): Likewise.
+
+2005-05-02  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * calls.c (expand_call): Handle current_function_pretend_args_size
+       when checking for sibcalls.
+
+2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21294
+       * tree-vrp.c (vrp_expr_computes_nonzero): New.
+       (extract_range_from_expr): Call vrp_expr_computes_nonzero.
+
+2005-05-02  Janis Johnson  <janis187@us.ibm.com>
+
+       PR 19985
+       * gcov-io.h: Declare gcov external functions hidden.
+
+2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-ssa-uncprop.c (equiv_hash_elt, remove_equivalence,
+       record_equiv, tree_ssa_uncprop, uncprop_into_successor_phis):
+       Use VEC instead of VARRAY.
+       (equiv_free): New.
+
+       * tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor
+       out common code.
+
+2005-05-02  Paolo Bonzini  <bonzini@gnu.org>
+
+        * c-common.c (resolve_overloaded_builtin): Forward to target
+        hook for BUILT_IN_MD built-ins.
+        * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
+        for all types of built-in.
+        * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New.  Use it
+        in the definition of the target hooks struct.
+        * target.h (struct gcc_target): Add resolve_overloaded_builtin.
+        * config/rs6000/altivec.h: Rewritten.
+        * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
+        altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
+        rs6000_builtin_type, rs6000_builtin_type_compatible,
+        altivec_overloaded_builtins, rs6000_builtin_type,
+        rs6000_builtin_type_compatible): New.
+        * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
+        New.
+        (def_builtin): Turn into a function.  Check for duplicates and store
+        the builtin into rs6000_builtin_decls.
+        (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
+        bdesc_1arg): Add overloaded builtins.
+        (altivec_expand_builtin): Check for unresolved overloaded builtins,
+        do not support ALTIVEC_COMPILETIME_ERROR.
+        (rs6000_init_builtins): Add opaque 128-bit vector, and internal
+        nodes to represent front-end types.
+        (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
+        with opaque arguments and/or return values.
+        * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
+        ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
+        (rs6000_builtin_type_index): New.
+        (is_ev64_opaque_type): Rename to...
+        (rs6000_is_opaque_type): ... this.
+        (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
+        target hook.
+
+2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * function.c (reorder_blocks, reorder_blocks_1): Use VEC
+       instead of VARRAY.
+
+2005-05-02  Nathan Sidwell  <nathan@codesourcery.com>
+           Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (emit_link_insn, effective_address_32bit_p,
+       print_address_operand, print_operand, legitimize_pic_address,
+       asm_conditional_branch, bfin_gen_compare, output_push_multiple,
+       output_pop_multiple): Use gcc_assert or gcc_unreachable as
+       appropriate.
+       * config/bfin/bfin.md (movsf splitter, beq, bne): Likewise.
+
+2005-05-02  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * doc/passes.texi: Document vectorization pass.
+
+2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-scalar-evolution.c (get_exit_conditions_rec,
+       select_loops_exit_conditions,
+       number_of_iterations_for_all_loops,
+       analyze_scalar_evolution_for_all_loop_phi_nodes,
+       scev_analysis): Use VEC instead of VARRAY.
+
+2005-05-02  Michael Matz  <matz@suse.de>
+
+       PR c++/19542
+       * c-common.c (c_common_nodes_and_builtins): Create global null_node.
+       (warn_strict_null_sentinel): Define.
+       (check_function_sentinel): Check for null_node as valid sentinel too.
+       * c-common.h (c_tree_index): Added CTI_NULL.
+       (null_node) Define global_tree[CTI_NULL].
+       (warn_strict_null_sentinel): Declare.
+       * c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
+       * c.opt: (Wstrict-null-sentinel): New C++ option.
+       * doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
+
+2005-05-01  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * gimplify.c (gimplify_compound_lval): Use VEC instead of
+       VARRAY.
+
+       * global.c (calculate_reg_pav): Use VEC instead of VARRAY.
+
+       * dwarf2out.c (decl_scope_table, push_decl_scope,
+       pop_decl_scope, scope_die_for, dwarf2out_init): Use VEC
+       instead of VARRAY.
+
 2005-05-01  Mark Mitchell  <mark@codesourcery.com>
 
+       PR C++/14391
        * c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_WEAK__ to 1
        if !flag_weak.
        * doc/cpp.texi (__DEPRECATED): Document.