OSDN Git Service

* config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index eb6d27c..afbf5af 100644 (file)
+2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
+       Remove hilo_operand check.
+       (rm7_impy_si_mul): Just match imul3.  Remove hilo_operand check.
+       * config/mips/predicates.md (hilo_operand): Delete.
+
+2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/sr71k.md, config/mips/7000.md: Reformat.
+
+2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimizer/18472
+       * tree-if-conv.c (tree_if_convert_stmt,
+       if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
+
+2005-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
+       (GTFILES): add except.h.
+       * except.c (eh_status): Add throw_stmt_table.
+       (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
+       * except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
+       lookup_stmt_eh_region_fn): Declare.
+       (throw_stmt_node): New structure.
+       (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
+       * gengtype.c (open_base_files): Add except.h to inlines.
+       * tree-eh.c (throw_stmt_node): Kill.
+       (record_stmt_eh_region): Update.
+       (add_stmt_to_eh_region_fn): Break out from ...
+       (add_stmt_to_eh_region): ... here.
+       (remove_stmt_from_eh_region_fn): Break out from ...
+       (remove_stmt_from_eh_region): ... here.
+       (lookup_stmt_eh_region_fn): Break out from ...
+       (lookup_stmt_eh_region): ... here.
+       (honor_protect_cleanup_actions): Use build_resx.
+       (lower_try_finally_onedest): Likewise.
+       (lower_try_finally_copy): Likewise.
+       (lower_try_finally_switch): Likewise.
+       (lower_eh_constructs): Update eh table construction.
+       * tree.c (build_resx): New.
+       * tree.h (build_resx): Declare.
+
+2005-05-11  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
+       is needed.
+
+2005-05-11  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * fold-const.c, libgcov.c: Fix comment typos.
+
+       * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
+       redundant code.
+
+2005-05-11  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+       * config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
+       default definition.
+       (FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
+
+2005-05-11  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR bootstrap/21481
+       * crtstuff.c: Include auto-host.h again, for now.
+
+2005-05-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/24k.md: Remove trailing whitespace.
+
+2005-05-11  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.md (type): Add imul3.
+       (length, hazard, may_clobber_hilo): Check for imul3.
+       (mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
+       (*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
+       * config/mips/24k.md (r24k_int_mul3): Enable this reservation
+       for a 3 operand mul and its bypasses.
+       * config/mips/3000.md (r3k_imul): Add imul3 to reservations.
+       * config/mips/4000.md (r4k_imul): Likewise.
+       * config/mips/4100.md (r4100_imul_si, r4100_imul_di):  Likewise.
+       * config/mips/4130.md (vr4130_class, vr4130_mulsi)
+       (vr4130_muldi): Likewise.
+       * config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
+       * config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
+       * config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
+       * config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
+       (ir_vr54_imadd_si): Likewise.
+       * config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di):  Likewise.
+       * config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
+       (rm7_impy_di): Likewise.
+       * config/mips/9000.md (rm9k_mulsi, rm9k_muldi):  Likewise.
+       * config/mips/generic.md (generic_imul): Likewise.
+       * config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
+       * config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di):  Likewise.
+
+2005-05-11  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR middle-end/20371:
+       * tree.h (record_layout_info_s): New member prev_packed.
+       * stor-layout.c (update_alignment_for_field): Fix comment about
+       KNOWN_ALIGN.  For MS bitfields, if we start a new run, make sure
+       we start it properly aligned.
+       (place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
+       to update_alignment_for_field, and recompute it afterwards using
+       the alignment of the record.
+       When a packed bitfield precedes an MS bitfield, don't add padding
+       at the end of the packed bitfield on behalf of the base type of
+       the packed bit field.
+       Don't adjust rli->bitpos at the end
+       of an MS bitfield run if we already adjusted bitpos/offset for an
+       alignment as large or larger than the bitfield type size.
+       Take possible record alignment > BIGGEST_ALIGNMENT into account
+       when calculating actual_align.
+       Only put packed buit fields into rli->prev_field if they end up
+       suitably aligned.
+       Also set rli->remaining_in_alignment when we re-set rli->prev_field.
+       Update rli->remaining_in_alignment when we have already started a
+       run of bit fields and we process a packed bit field.
+
+2005-05-11  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-data-ref.c (find_data_references_in_loop): Give up when
+       the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
+       may embed arbitrary side effects.
+       Remove the assumption that GIMPLE form contains a single array
+       access per statement.
+       When the statement contains virtual operands, fail if it is not
+       a MODIFY_EXPR or a CALL_EXPR.
+       Return after the dont know node is inserted.
+
+2005-05-11  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
+
+2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       PR middle-end/19807
+       PR tree-optimization/19639
+       * fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
+       and generic summands for char* as s * delta, too, folding &a[i]
+       CODE x to &a[i CODE x/s].  Use tree_int_cst_equal
+       for comparison of steps.  Convert types for index addition.
+       (fold_binary): Adjust the callers to always dispatch to
+       try_move_mult_to_index.
+       * tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
+       expr with non-gimple ARRAY_REF offset.
+
+2005-05-11  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * fold-const.c (fold_indirect_ref_1): Avoid removing
+       NOP_EXPRs with type qualifiers like const.
+
+2005-05-11  Richard Henderson  <rth@redhat.com>
+
+       PR c/21502
+       * c-decl.c (finish_decl): Propagate the completed array type of
+       a global variable into the binding.
+
+2005-05-10  Matt Kraai  <kraai@ftbfs.org>
+
+       * Makefile.in (gtype-desc.o, build/genautomata.o)
+       (build/varray.o): Depend on $(VARRAY_H).
+       
+2005-05-10  Diego Novillo  <dnovillo@redhat.com>
+
+       * tree-optimize.c (init_tree_optimization_passes): Re-organize
+       optimization passes to do an initial batch of scalar cleanups.
+
+2005-05-10  Ian Lance Taylor  <ian@airs.com>
+
+       * read-rtl.c (struct macro_traverse_data): Define.
+       (map_attr_string): New static function, broken out of
+       apply_macro_to_string.
+       (mode_attr_index, apply_mode_maps): New static functions.
+       (apply_macro_to_string): Call map_attr_string.
+       (apply_macro_to_rtx): Add mode_maps and infile parameters.  Change
+       all callers.
+       (apply_macro_traverse): Expect data to point to a struct
+       macro_traverse_data.
+       (read_rtx): Add mode_maps local variable.  Use mode_traverse_data
+       to pass data through htab_traverse.
+       (read_rtx_1): Add mode_maps parameter.  Change all callers.
+       Handle mode names which are attribute strings.
+       * doc/md.texi (Substitutions): Rename from String Substitutions.
+       Change references.  Document using attributes as modes.
+
+2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-cfg.c (tree_duplicate_sese_region): Update profile.
+       * tree-optimize.c (init_tree_optimization_passes) Swap
+       pass_ch and pass_profile.
+       * tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
+       here.  Remove rewrite_into_loop_closed_ssa call.
+
+2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
+       function.
+       (legitimate_reload_constant_p): Add check for const double zero.
+       * config/s390/s390.md: Add comment for constraint letter 'G'.
+       ("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
+       attributes for new case.
+       * config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
+       s390_const_double_ok_for_constraint_p.
+       * config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
+       Add prototype.
+
+2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       PR tree-optimization/21170
+       * tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
+       rewrite_ssa_into_ssa in comments with update_ssa.
+
+2005-05-10  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-im.c: Include hashtab.h.
+       (struct mem_ref_loc): New.
+       (struct mem_ref): Describe the set of references with the same
+       shape.
+       (max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
+       maybe_queue_var, fem_single_reachable_address,
+       for_each_memref, single_reachable_address,
+       is_call_clobbered_ref, determine_lsm_reg): Removed.
+       (record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
+       hoist_memory_reference, memref_hash, memref_eq, memref_del,
+       gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
+       New functions.
+       (rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
+       (determine_lsm_loop): Rewritten.
+       (determine_lsm): Do not set stmt uids.
+
+2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: Add comment lines for 'f' and 't' constraint
+       letters.
+       
+2005-05-10  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
+       ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
+       ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
+
+2005-05-10  Jeff Law  <law@redhat.com>
+
+       * tree-ssa-dom.c (dom_opt_finalize_block): Do not call
+       thread_across_edge for any abnormal edges.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_expand_atomic_op): New.
+       * config/ia64/ia64-protos.h: Declare it.
+       * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
+       (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
+       (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
+       (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
+       (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
+       (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>.  Zero
+       extend result; use release semantics.
+       (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
+       (sync_val_compare_and_swap_<IMODE>): Update to match.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
+       before comparing it for success.
+
+2005-05-10  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
+       no return value pattern.
+
+2005-05-10  Grigory Zagorodnev  <grigory.zagorodnev@intel.com>
+            H.J. Lu  <hongjiu.lu@intel.com>
+
+       * libgcov.c (create_file_directory): New function. Create
+       directory for the given file name.
+       (gcov_max_filename): New static var. Keeps size of the longest
+       file name.
+       (gcov_exit): Always try to create directory for output
+       file. Relocate each filename basing on environment vars.
+       (__gcov_init): Remember the longest file name.
+       * tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
+       * doc/gcov.texi (Cross-profiling): New node documenting
+       cross-profiling management.
+       * doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
+
+2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (mem_min_alignment): Do not rely
+       on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
+
+2005-05-10  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
+       case code to avoid one move instruction.
+       (__umodsi3, __modsi3): Merge duplicated code sequences.
+
+2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
+       config/sh/sh.md, config/sh/superh.h: Fix comment typos.
+       * doc/invoke.texi: Fix typos.
+
+       * tree-data-ref.c (analyze_array_indexes, analyze_array,
+       init_data_ref, access_functions_are_affine_or_constant_p,
+       free_data_refs): Use VEC instead of VARRAY.
+       * tree-data-ref.h (data_reference): Change the type of
+       access_fns to VEC(tree,gc)*.
+       (DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
+
+2005-05-10  Gabor Loki <loki@gcc.gnu.org>
+
+       PR c/17913
+       * c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
+       * fold-const.c (fold): Expand the condition of reducing cond_expr.
+       (contains_label_1, contains_label_p): New functions for checking
+       labels in a sub-tree.
+
+2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21342
+       * c-decl.c (pushdecl): When there is a declaration in the current
+       scope and the declarations are external linkage, check for
+       compatibility with the type in the external scope and update the
+       type in the external scope with the composite type information.
+       Do not form a composite type of the new type and the visible type
+       if they are incompatible.
+
+2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * crtstuff.c: Revert part of 2005-05-08 Change.
+       (IN_LIBGCC2): Define.
+
+2005-05-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
+       remove redundant test.
+       (fp_mov_p): Accept 0.
+       (fp_high_losum_p): Remove redundant test.
+       * config/sparc/predicates.md (const_high_operand): Explicitly test
+       (not small_int_operand).
+       (fp_const_high_losum_operand): New.
+       * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'.  Reorder.
+       (movdi_insn_sp32_v9): Use canonical predicates.
+       (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
+       (movdi_insn_sp64_novis): Delete.
+       (movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
+       (movsf_insn_novis): Delete.
+       (movsf_insn_vis): Rename into movsf_insn.
+       (movsf_no_f_insn): Rename into movsf_insn_no_fpu.
+       (movsf_lo_sum): Use fp_const_high_losum_operand.
+       (movsf_high): Likewise.
+       (movsf_high_losum splitter): Likewise.
+       (mov<V32:mode> expander): Use register_or_zero_operand.
+       (mov<V64:mode> expander): Likewise.
+       (movdf_insn_sp32): Use register_or_zero_operand.
+       (movdf_no_e_insn_sp32): Use register_or_zero_operand.
+       Rename into movdf_insn_sp32_no_fpu.
+       (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
+       Rename into movdf_insn_sp32_v9_no_fpu.
+       (movdf_insn_v9only_novis): Delete.
+       (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
+       (movdf_insn_sp64_novis): Delete.
+       (movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
+       (movdf_no_e_insn_sp64): Use register_or_zero_operand. 
+       Rename into movdf_insn_sp64_no_fpu.
+       (movtf expander): Use register_or_zero_operand.
+       (movtf_insn_sp32): Delete.
+       (movtf_insn_vis_sp32): Use register_or_zero_operand.
+       Rename into movtf_insn_sp32.
+       (movtf_no_e_insn_sp32): Use register_or_zero_operand.
+       Rename into movtf_insn_sp32_no_fpu.
+       (movtf_insn_hq_sp64): Delete.
+       (movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
+       Rename into movtf_insn_sp64_hq.
+       (movtf_insn_sp64): Delete.
+       (movtf_insn_vis_sp64): Use register_or_zero_operand.
+       Rename into movtf_insn_sp64.
+       (movtf_no_e_insn_sp64): Use register_or_zero_operand.
+       Rename into movtf_insn_sp64_no_fpu.
+
+2005-05-10  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
+       gcc_assert and gcc_unreachable as appropriate.
+       (xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
+       xstormy16_output_cbranch_si, xstormy16_split_move,
+       xstormy16_initial_elimination_offset,
+       xstormy16_encode_section_info, xstormy16_print_operand_address,
+       xstormy16_expand_call, xstormy16_expand_arith,
+       xstormy16_output_shift, xstormy16_init_builtins): Likewise.
+
+2005-05-10  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * tree-outof-ssa.c (_elim_graph): Change the type of nodes and
+       const_copies to VEC(tree,heap)*.
+       (new_elim_graph, delete_elim_graph, elim_graph_size,
+       elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
+       instead of VARRAY.
+
+2005-05-10  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR other/21052
+       * doc/extend.texi (Type Attributes): Correct example syntax.
+
+2005-05-09  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/21160
+       * doc/invoke.texi (-Wuninitialized): Update documentation.
+
+2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.c (const_ok_for_arm): Use a faster algorithm.
+
+2005-05-09  David Edelsohn  <edelsohn@gnu.org>
+
+        PR target/21477
+        * config/rs6000/rs6000.md (add_op2): New.
+        (add<mode>3): Use it.
+
+2005-05-09  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm.c (arm_gen_constant): Add new heuristic for generating
+       constant integers that can be expressed as the difference of two
+       valid immediates.
+
+2005-05-09  Roger Sayle  <roger@eyesopen.com>
+
+       * c-tree.h (parser_build_unary_op): New prototype.
+       * c-typeck.c (parser_build_unary_op): New function to construct
+       a unary operation in the C parser.
+       * c-parser.c (c_parser_unary_expression):  Use the new function
+       parser_build_unary_op when appropriate.
+
+2005-05-09  Mark Mitchell  <mark@codesourcery.com>
+
+       PR 18655
+       * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
+       before outputting DWARF_FRAME_RETURN_COLUMN.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c: (s390_branch_condition_mask,
+       s390_branch_condition_mnemonic, s390_extra_constraint_str,
+       s390_const_ok_for_constraint_p, s390_expand_plus_operand,
+       legitimize_pic_address, s390_emit_tls_call_insn,
+       legitimize_tls_address, legitimize_tls_address,
+       s390_expand_addcc, print_shift_count_operand, print_operand,
+       addr_generation_dependency_p, annotate_constant_pool_refs,
+       s390_split_branches, find_constant_pool_ref,
+       replace_constant_pool_ref, s390_add_constant, s390_find_constant,
+       s390_find_execute, s390_mainpool_start, s390_chunkify_start,
+       s390_output_pool_entry, s390_function_value,
+       s390_call_saved_register_used, s390_emit_call): Replace
+       conditional aborts by gcc_assert and unconditional by gcc_unreachable.
+       (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
+       s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
+       get_some_local_dynamic_name, s390_function_arg_size,
+       s390_function_arg_advance, s390_function_arg,
+       s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
+       default case by gcc_unreachable.
+       * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
+       conditional abort by gcc_assert.
+       ("doloop_si31"): Replace abort in last else by gcc_unreachable.
+       ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c: (s390_decompose_address,
+       tls_symbolic_operand, legitimate_pic_operand_p,
+       legitimate_constant_p, legitimate_reload_constant_p,
+       s390_expand_plus_operand, legitimate_address_p,
+       legitimate_la_operand_p, ): Remove 'register' from signature.
+       (symbolic_reference_mentioned_p,
+       tls_symbolic_reference_mentioned_p): Remove 'register' from local
+       variable declarations.
+       (legitimize_address): Remove 'register' from
+       signature and local variable declarations.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390-protos.h: (s390_match_ccmode,
+       s390_match_ccmode_set, reg_used_in_mem_p,
+       symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+       legitimate_la_operand_p, preferred_la_operand_p,
+       s390_short_displacement, addr_generation_dependency_p,
+       legitimate_reload_constant_p, legitimate_address_p): Change return type
+       into 'bool'.
+       (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. 
+       * config/s390/s390.c: (s390_match_ccmode,
+       symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
+       legitimate_reload_constant_p): Change return type into 'bool'.
+       (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
+       Likewise.  Additionally adapted comment.  
+       (s390_extra_constraint_p): Change Comment to reflect 'int' return type.
+       (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'. 
+       (s390_decompose_address): Change the type of the internal flags
+       "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
+       (struct s390_address): Change type of "pointer" into bool.
+       * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
+       Adapt calls for 's390_tm_ccmode' to the new signature.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c: (s390_match_ccmode_set,
+       s390_branch_condition_mnemonic, s390_short_displacement,
+       s390_decompose_address, get_thread_pointer, legitimize_tls_address,
+       print_shift_count_operand, get_some_local_dynamic_name,
+       get_some_local_dynamic_name_1, reg_used_in_mem_p,
+       addr_generation_dependency_p, s390_split_branches,
+       annotate_constant_pool_refs, find_constant_pool_ref,
+       replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
+       s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
+       s390_register_info, s390_frame_info, s390_init_frame_layout,
+       s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
+       restore_gprs, s390_function_arg_size, s390_function_arg_float,
+       s390_init_machine_status, s390_assemble_integer, s390_handle_option,
+       s390_encode_section_info, s390_cannot_force_const_mem,
+       s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
+       s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
+       s390_adjust_priority, s390_issue_rate,
+       s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
+       s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
+       s390_build_builtin_va_list, s390_gimplify_va_arg,
+       s390_function_ok_for_sibcall, s390_call_saved_register_used,
+       s390_pass_by_reference, s390_fixed_condition_code_regs,
+       s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
+       s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
+       s390_chunkify_cancel, s390_start_pool, s390_end_pool,
+       s390_add_pool_insn, s390_find_pool, s390_add_constant,
+       s390_find_constant, s390_add_execute, s390_find_execute,
+       s390_execute_label, s390_execute_target, s390_dump_pool,
+       s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes. 
+       Move target macro definitions to the end of the file.  Move several
+       functions within the file to assure correct compiling.
+
+2005-05-09  Steven Bosscher  <stevenb@suse.de>
+
+       * calls.c (purge_reg_equiv_notes): Remove, fold into...
+       (fixup_tail_calls): ...here.  Only look at insns between the
+       start of the function and the FUNCTION_BEG insn note.
+
+       * gcse.c (one_cprop_pass): Fix typos in dumps.
+
+       * tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
+       * config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
+       "RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
+       Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
+       CC_REGNUM)'.
+       ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
+       '(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
+       ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
+       REG_SC)'.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("gf") New mode attribute.
+       ("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
+       "fixuns_truncsfsi2"): Merge.
+       ("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
+       ("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
+       "fix_truncsfsi2_ieee"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("FPR") New mode macro.
+       ("de", "dee"): New mode attributes.
+       ("cmpdf", "cmpsf"): Merge.
+       ("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
+       ("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
+       ("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
+       ("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
+       ("floatdidf2", "floatdisf2"): Merge.
+       ("adddf3", "addsf3"): Merge.
+       ("*adddf3", "*addsf3"): Merge.
+       ("*adddf3_cc", "*addsf3_cc"): Merge.
+       ("*adddf3_cconly", "*addsf3_cconly"): Merge.
+       ("*adddf3_ibm", "*addsf3_ibm"): Merge.
+       ("subdf3", "subsf3"): Merge.
+       ("*subdf3", "*subsf3"): Merge.
+       ("*subdf3_cc", "*subsf3_cc"): Merge.
+       ("*subdf3_cconly", "*subsf3_cconly"): Merge.
+       ("*subdf3_ibm", "*subsf3_ibm"): Merge.
+       ("muldf3", "mulsf3"): Merge.
+       ("*muldf3", "*mulsf3" "): Merge.
+       ("*muldf3_ibm", "*mulsf3_ibm"): Merge.
+       ("*fmadddf", "*fmaddsf"): Merge.
+       ("*fmsubdf", "*fmsubsf"): Merge.
+       ("divdf3", "divsf3"): Merge.
+       ("*divdf3", "*divsf3"): Merge.
+       ("*divdf3_ibm", "*divsf3_ibm"): Merge.
+       ("negdf2", "negsf2"): Merge.
+       ("*negdf2_cc", "*negsf2_cc"): Merge.
+       ("*negdf2_cconly", "*negsf2_cconly"): Merge.
+       ("*negdf2", "*negsf2"): Merge.
+       ("*negdf2_ibm", "*negsf2_ibm"): Merge.
+       ("absdf2", "abssf2"): Merge.
+       ("*absdf2_cc", "*abssf2_cc"): Merge.
+       ("*absdf2_cconly", "*abssf2_cconly"): Merge.
+       ("*absdf2", "*abssf2"): Merge.
+       ("*absdf2_ibm", "*abssf2_ibm"): Merge.
+       ("*negabsdf2_cc", "*negabssf2_cc"): Merge.
+       ("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
+       ("*negabsdf2", "*negabssf2"): Merge.
+       ("sqrtdf2", "sqrtsf2"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.c: (s390_adjust_priority): Adapt to changed 
+       attribute names.
+       * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
+       "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
+       ("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
+       "x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
+       attribute names.
+       * config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
+       fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
+       "fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
+       fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
+       ("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
+       "*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
+       "*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
+       "*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
+       "*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
+       "mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
+       "*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
+       "*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
+       "*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
+       "*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
+       "*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
+       "*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
+       'type' value.
+       ("*divsf3"): Additionally rename second pattern to
+       "*divsf3_ibm".
+       ("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
+       "*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
+       "*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
+       "subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
+       "subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
+       'type values' and rename 'type' value.
+       ("*addsf3"): Additionally rename second pattern to
+       "*addsf3_ibm".
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("SHIFT"): New mode macro.
+       ("lr", "shift"): New mode attributes.
+       ("ashldi3", "lshrdi3"): Merge.
+       ("*ashldi3_31", "*lshrdi3"_31): Merge.
+       ("*ashldi3_64", "*lshrdi3"_64): Merge.
+       ("ashlsi3", "lshrsi3"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("DSI", "SCOND"): New mode 
+       macros.
+       ("E", "g"): New mode attributes.
+       ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
+       ("*adddi3_alc", "*addsi3_alc"): Merge.
+       ("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
+       ("*subdi3_slb", "*subsi3_slb"): Merge.
+       ("adddicc", "addsicc"): Merge.
+       ("*sconddi", "*scondsi"): Merge.
+       ("*sconddi_neg", "*scondsi_neg"): Merge.
+       ("sltu", "sgtu", "sleu", "sgeu"): Merge.
+       ("negdi2", "negsi2"): Extract expander pattern from
+       "negsi2" and merge with "negdi2".
+       ("*negdi2"): Merge with instruction pattern of "negsi2".
+       ("*negdi2_cc", "*negsi2_cc"): Merge.
+       ("*negdi2_cconly", "*negsi2_cconly"): Merge.
+       ("rotldi3", "rotlsi3"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("hc"): New mode attribute.
+       ("extendhidi2", "extendqidi2"): Merge.
+       ("*extendhidi2", "*extendqidi2"): Merge.
+       ("extendhisi2", "extendqisi2"): Merge.
+       ("zero_extendhidi2", "zero_extendqidi2"): Merge.
+       ("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
+       Merged 2 define_split.
+       ("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
+       ("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
+
+2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("COMPARE"): New mode macro.
+       ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
+       "ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
+       "bungt", "bunle", "bunge", "bltgt"): Merge.
+
+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.
+       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>