OSDN Git Service

* arm.c (arm_return_in_memory): Add handling for vector return types.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5ed9ea9..a6034e2 100644 (file)
@@ -1,3 +1,721 @@
+2005-05-13  Josh Conner  <jconner@apple.com>
+
+       * arm.c (arm_return_in_memory): Add handling for vector return types.
+
+2005-05-13  David Ung  <davidu@mips.com>
+
+       * config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
+       name.
+       * config/mips/mips.c: Add 4km alias.
+       * config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
+       * config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
+       description.
+
+2005-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * c-decl.c (finish_function): Suppress "control reaches end of
+       non-void function" when "no return statement in function
+       returning non-void" is issued.
+
+       * tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
+       * tree-optimize.c (pass_gimple): Kill.
+       (init_tree_optimization_passes): Kill pass_gimple.
+       * tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
+       * tree-dump.c (dump_files): Rename .generic to .gimple.*
+
+2005-05-13  J"orn Rennecke <joern.rennecke@st.com>
+
+       PR rtl-optimization/20756:
+       * basic-block.h (PROP_DEAD_INSN): Define.
+       * flow.c (propagate_one_insn): Set during mark_set_regs call
+       for a dead insn.
+       (mark_set_1): Emit a clobber when we are about to delete a dead insn
+       that kills a live register.
+
+2005-05-13  Adrian Straetling  <straetling@de.ibm.com>
+
+       * config/s390/s390.md: ("DBL"): New mode attribute.
+       ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
+       ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
+       ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
+
+2005-05-13  Richard Guenther  <rguenth@gcc.gnu.org>
+
+       * c-format.c (check_format_arg): Handle string literals of
+       the form &"string"[offset].
+
+       * g++.dg/warn/format4.C: New testcase.
+
+2005-05-13  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/mips/3000.md, config/mips/4000.md,
+       config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
+       config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
+       config/mips/generic.md, config/pdp11/pdp11.md,
+       config/sh/crt1.asm, config/sh/lib1funcs.asm,
+       config/sh/sh-modes.def, config/sh/sh-protos.h,
+       config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
+
+2005-05-13  Richard Henderson  <rth@redhat.com>
+
+       * function.c (instantiate_virtual_regs_in_insn): Do not simplify
+       addition to move unless dest is a register.  Do not skip 
+       instantiation in dest on addition simplification.
+
+2005-05-13  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.c (cris_print_operand) <case 'H'; case
+       CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
+       output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
+
+2005-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (FOR_ALL_BB_FN): New macro.
+       (init_flow): Initialize cfg structure.
+       * function.c (allocate_struct_function): Do not initialize cfg structure.
+       * tree-cfg.c (init_empty_tree_cfg): Break out from ...
+       (build_tree_cfg): ... here.
+       * tree-flow.h (init_empty_tree_cfg): Declare.
+
+2005-05-12  Steven Bosscher <stevenb@suse.de>
+
+       Fix PR tree-optimization/21520
+       * tree-ssa-pre.c (phi_translate): Use fully_constant_expression
+       to attempt to fold constants.
+
+2005-05-12  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
+       only when TARGET_ADJUST_UNROLL_MAX is defined.
+       (general_movsrc_operand): Use the C style comment.
+       (ua_offset): Use prototype.
+
+2005-05-12  Zdenek Dvorak  <dvorakz@suse.cz>
+
+       * tree-ssa-loop-im.c (struct mem_ref): Add field "next".
+       (struct hmr_data, hoist_memory_reference, memref_del,
+       struct fmrv_data): Removed.
+       (hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
+       (gather_mem_refs, gather_mem_refs_stmt): Add new references to the
+       list.
+       (find_more_ref_vops): Traverse the list of memory references.
+       (determine_lsm_loop): Work with the list of memory references instead
+       of traversing the hashtable.
+
+2005-05-12  Steven Bosscher  <stevenb@suse.de>
+           Stuart Hastings <stuart@apple.com>
+           Jan Hubicka  <jh@suse.cz>
+           
+       * except.c  (duplicate_eh_region_1, duplicate_eh_region_2,
+       duplicate_eh_regions): New functions, based on old
+       implementation removed with RTL inliner.
+       (reachable_next_level): Modify behaviour pre-inline.
+       * except.h (duplicate_eh_regions_map, duplicate_eh_regions):
+       Declare.
+       * function.h (struct function): Add after_inlining flag.
+       * tree-optimize.c (tree_rest_of_compilation): Set it.
+       * tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
+       when needed.
+       * tree-cfg.c (label_to_block_fn): Deal with cases where
+       label was never insterted into code.
+
+2005-05-12  Zack Weinberg  <zack@codesourcery.com>
+
+       * doc/cpp.texi: Document that #sccs is a synonym for #ident.
+
+2005-05-12  Daniel Berlin  <dberlin@dberlin.org>
+
+       Fix PR tree-optimization/21532
+       * tree-ssa-pre.c (create_expression_by_pieces): stmt
+       needs to go onto the inserted_exprs list.
+
+2005-05-12  Ian Lance Taylor  <ian@airs.com>
+
+       * c-common.h (statement_code_p): Don't declare.
+       (STATEMENT_CODE_P): Don't define.
+       (INIT_STATEMENT_CODES): Don't define.
+       * c-common.c (statement_code_p): Don't define.
+
+2005-05-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.h: Remove dead code.
+       * config/sparc/sparc.c (sparc_compute_frame_size): Use
+       FIRST_PARM_OFFSET for the size of the register window area.
+       (emit_save_regs): Rename into emit_save_or_restore_regs.
+       Add 'action' parameter.  Use 4095 as upper bound for the offset.
+       Pass 'action' to save_or_restore_regs.
+       (emit_restore_regs): Delete.
+       (sparc_expand_prologue): Call emit_save_or_restore_regs.
+       (sparc_expand_epilogue): Likewise.
+       * config/sparc/sparc.md (mode macro P): Move.
+       (movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
+       (mov<V32:mode> expander): Move to the top of the V32 section.
+       (movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
+       (movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
+       (sibcall_epilogue): Move.
+
+2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       PR target/21501
+       * arm.c (arm_gen_constant): Sign-extend intermediate values when
+       synthesizing a constant of the difference of two immediates.
+
+2005-05-12  Richard Earnshaw  <richard.earnshaw@arm.com>
+
+       * arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
+       (negdf2_vfp): Likewise.  Convert to define_insn_and_split and split
+       the alternatives using integer registers into the appropriate
+       primitives.
+
+2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
+       bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
+       * bitmap.h: Fixed comments.
+
+2005-05-11  Richard Henderson  <rth@redhat.com>
+
+       PR target/21412
+       * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
+       (ia64_cannot_force_const_mem): New.
+       (tls_symbolic_operand_type): New.
+       (ia64_legitimate_constant_p): New.
+       (ia64_expand_load_address): Return true on success.  Improve
+       checks for when we should not split.
+       (ia64_expand_tls_address): New addend operand.  Distribute it
+       as appropriate to the tls_kind.  Delay referencing gp.
+       (ia64_expand_move): Split symbolic addend as necessary.  Handle
+       tls symbols with addends.
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
+       p0, f0, f1, and r13.
+       (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
+       * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
+       (symbolic_operand splitter): Pass everything through
+       ia64_expand_load_address and FAIL or DONE as appropriate.
+       (load_fptr): Only accept after reload.
+       (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
+       load_symptr_low, load_ltoff_dtpmod,
+       (load_dtpmod): New.
+       (load_dtprel): Only accept tls symbols.
+       (load_dtprel64, load_dtprel22): Likewise.
+       (load_tprel, load_tprel64, load_tprel22): Likewise.
+       (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
+       (add_dtprel): Only accept tls symbols.  Canonicalize PLUS.
+       (add_dtprel14, add_dtprel22): Likewise.
+       (add_tprel, add_tprel14, add_tprel22): Likewise.
+       * config/ia64/predicates.md (small_addr_symbolic_operand): New.
+       (any_offset_symbol_operand, aligned_offset_symbol_operand): New.
+       (got_symbolic_operand): Check CONST offsets.
+       (tls_symbolic_operand, ld_tls_symbolic_operand): New.
+       (ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
+       (move_operand): Don't handle tls here.  Check CONST offsets.
+
+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,
 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
 
        * config/s390/s390.c: (s390_match_ccmode_set,
        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_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. 
+       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.
 
        Move target macro definitions to the end of the file.  Move several
        functions within the file to assure correct compiling.
 
 
 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
 
 
 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
 
-       * config/s390/s390.c: (s390_adjust_priority): Adapt to changed 
+       * 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
        attribute names.
        * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
        "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
 
 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
 
 
 2005-05-09  Adrian Straetling  <straetling@de.ibm.com>
 
-       * config/s390/s390.md: ("DSI", "SCOND"): New mode 
+       * config/s390/s390.md: ("DSI", "SCOND"): New mode
        macros.
        ("E", "g"): New mode attributes.
        ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
        macros.
        ("E", "g"): New mode attributes.
        ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
        ("*tsthi", "*tstqi"): Merge.
        ("*tsthi_cconly", "tstqi_cconly"): Merge.
        ("*sethighhisi", "*sethighqisi"): 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,
 2005-05-09  Kazu Hirata  <kazu@cs.umass.edu>
 
        * crtstuff.c, integrate.h, tree-scalar-evolution.h,
 
 2005-05-09  David Ung  <davidu@mips.com>
 
 
 2005-05-09  David Ung  <davidu@mips.com>
 
-       * config/mips/mips.h (processor_type): Add names for the 24K. 
+       * 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
        * 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
        (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
        setup cnv_mode.
        * config/mips/24k.md: New file, contains 24k DFA pipeline
        (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. 
+       description.
 
 2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
 
 
 2005-05-09  Nathan Sidwell  <nathan@codesourcery.com>
 
        * libgcov.c: Remove unneeded comment about config.h.
        * unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
        * config.in, configure: Regenerated.
        * 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>
 
 2005-05-08  Nathan Sidwell  <nathan@codesourcery.com>
            Falk Hueffner  <falk@debian.org>
 
        * config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
        * config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
        *rev_zero_branch_insn): 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
 2005-05-06  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/20961
        * 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.
        * 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
 2005-05-04  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/21265
 
 2005-05-03  Andrew MacLeod  <amacleod@redhat.com>
 
 
 2005-05-03  Andrew MacLeod  <amacleod@redhat.com>
 
-       * lambda-code.c (gcc_loop_to_lambda_loop, 
+       * 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.
        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, 
+       * 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.
        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.
        (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_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 
+       (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
        type check.
        type check.
-       (op_iter_next_mustdef, op_iter_next_maydef, 
+       (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_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_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.
        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.
        (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.
        (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, 
+       * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
        dump_replaceable_exprs, rewrite_trees): Use generic interface.
        dump_replaceable_exprs, rewrite_trees): Use generic interface.
-       * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node): 
+       * 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.
        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-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
        (ccp_fold): Use new interface.
        (ccp_visit_stmt): Remove unused variables and code.
        * 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 
+       (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.
        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 
+       * 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.
        annotation in table.
        (thread_across_edge): Use generic interface.
        (initialize_hash_element): Initialzie with 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.
        (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 
+       * 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.
        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_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.
        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): 
+       (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.
        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.
        (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,
        (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. 
+       finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
        (cleanup_v_may_defs): Use new implmentation.
        (cleanup_v_may_defs): Use new implmentation.
-       (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New 
+       (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
        implementation.
        implementation.
-       (append_def, append_use, append_v_may_def, append_vuse, 
+       (append_def, append_use, append_v_may_def, append_vuse,
        append_v_must_def): Call opbuild_append routine instead of using varray.
        append_v_must_def): Call opbuild_append routine instead of using varray.
-       (build_ssa_operands): Simplify to simply use stmt, don't maintain a 
+       (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.
        global parse_old_ops variable.
        (free_ssa_operands): New implementation.
        (update_stmt_operands): Move.  Change argument to build_ssa_operands.
        (add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
        rather than a varray.
        (verify_imm_links): Use use_operand_p.
        (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 
+       (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.
        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.
        (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_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, 
+       STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
        SET_V_MUST_DEF_KILL): Delete.
        SET_V_MUST_DEF_KILL): Delete.
-       (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT, 
+       (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_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_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.
        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.
        (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.
        (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_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.
        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_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.
        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.
        stmt around.
        (compute_avail): Use generic iterator interface.
        * tree-ssa-propagate.c (first_vdef): Use generic operand interface.
        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 
+       (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.
        ZERO_SSA_OPERANDS.
        * tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
        (statement_sink_location): Use generic interface.
        * 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.
        * 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 
+       (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
        interface.
        interface.
-       * tree-vect-transform.c (update_vuses_to_preheader): Use generic 
+       * 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.
        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): 
+       (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.
        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.
 
 2005-05-02  Paolo Bonzini  <bonzini@gnu.org>
 
 
 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.
+       * 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>
 
 
 2005-05-02  Kazu Hirata  <kazu@cs.umass.edu>
 
        PR tree-optimization/21272
        PR tree-optimization/21266
        * tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
        PR tree-optimization/21272
        PR tree-optimization/21266
        * tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
-       
+
 2005-04-29  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-flow-inline.h: Fix a comment typo.
 2005-04-29  Kazu Hirata  <kazu@cs.umass.edu>
 
        * tree-flow-inline.h: Fix a comment typo.
        * config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
        (SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
        * doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
        * config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
        (SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
        * doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
-       (FINI_ARRAY_SECTION_ASM_OP): Likewise.  
+       (FINI_ARRAY_SECTION_ASM_OP): Likewise.
 
 2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
 
 
 2005-04-29  Nathan Sidwell  <nathan@codesourcery.com>
 
        * dbxout.c (have_used_extensions): Remove.
        (dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
        have_used_extensions.
        * dbxout.c (have_used_extensions): Remove.
        (dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
        have_used_extensions.
-       
+
 2005-04-28  James E Wilson  <wilson@specifixinc.com>
 
        * doc/install.texi: Update -enable-languages info.  Correct path to
 2005-04-28  James E Wilson  <wilson@specifixinc.com>
 
        * doc/install.texi: Update -enable-languages info.  Correct path to
 
 2005-04-27  Caroline Tice  <ctice@apple.com>
 
 
 2005-04-27  Caroline Tice  <ctice@apple.com>
 
-        * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+       * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
        Remove targetm.have_named_sections test.
        (fix_edges_for_rarely_executed_code): Likewise.
        (insert_section_boundary_note): Likewise.
        Remove targetm.have_named_sections test.
        (fix_edges_for_rarely_executed_code): Likewise.
        (insert_section_boundary_note): Likewise.
        (default_section_type_flags_1):  Get cold text section name from
        function struct if there is one; Set flags correctly for
        cold text section if there is not a current function struct.
        (default_section_type_flags_1):  Get cold text section name from
        function struct if there is one; Set flags correctly for
        cold text section if there is not a current function struct.
-       
+
 2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
 
        * tree-ssa-propagate.c (set_rhs): Revert last change.
 2005-04-27  Richard Guenther  <rguenth@gcc.gnu.org>
 
        * tree-ssa-propagate.c (set_rhs): Revert last change.
        * rtl.h (optimize_save_area_alloca): Likewise...
        * passes.c (rest_of_compilation): and don't call it any more.
        * reg-notes.def (SAVE_AREA): Delete.
        * rtl.h (optimize_save_area_alloca): Likewise...
        * passes.c (rest_of_compilation): and don't call it any more.
        * reg-notes.def (SAVE_AREA): Delete.
-       
+
 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
 
        * config/fp-bit.c (abort): Add noreturn attribute.
 2005-04-27  Nathan Sidwell  <nathan@codesourcery.com>
 
        * config/fp-bit.c (abort): Add noreturn attribute.
        * dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
 
 2005-04-27  Matt Thomas <matt@3am-software.com>
        * dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
 
 2005-04-27  Matt Thomas <matt@3am-software.com>
-            Jan-Benedict Glaw <jbglaw@microdata-pos.de>
+           Jan-Benedict Glaw <jbglaw@microdata-pos.de>
 
        * config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
        (vax_output_mi_thunk): Ditto.
 
        * config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
        (vax_output_mi_thunk): Ditto.
 
        * config/vax/vax.c (legitimate_constant_address_p): New.  Formerly
        CONSTANT_ADDRESS_P in config/vax/vax.h
 
        * config/vax/vax.c (legitimate_constant_address_p): New.  Formerly
        CONSTANT_ADDRESS_P in config/vax/vax.h
-       (legitimate_constant_p): Added.  Formerly CONSTANT_P in vax.h. 
+       (legitimate_constant_p): Added.  Formerly CONSTANT_P in vax.h.
        (INDEX_REGISTER_P): New.
        (BASE_REGISTER_P): New.
        (indirectable_constant_address_p): New.  Adapted from
        (INDEX_REGISTER_P): New.
        (BASE_REGISTER_P): New.
        (indirectable_constant_address_p): New.  Adapted from
 2005-04-25  Devang Patel <dpatel@apple.com>
 
        * dbxout.c (dbxout_type): Emit attribute vector.
 2005-04-25  Devang Patel <dpatel@apple.com>
 
        * dbxout.c (dbxout_type): Emit attribute vector.
-       
+
 2005-04-05  Paul Brook  <paul@codesourcery.com>
 
        * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
 2005-04-05  Paul Brook  <paul@codesourcery.com>
 
        * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
 2005-04-24  Devang Patel  <dpatel@apple.com>
 
        *  config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
 2005-04-24  Devang Patel  <dpatel@apple.com>
 
        *  config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
-       
+
 2005-04-24  Ian Lance Taylor  <ian@airs.com>
 
        * c-semantics.c (build_stmt): Remove test of specific tree codes
 2005-04-24  Ian Lance Taylor  <ian@airs.com>
 
        * c-semantics.c (build_stmt): Remove test of specific tree codes
        config/stormy16/stormy16.c, config/v850/v850-c.c,
        config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
        callers.
        config/stormy16/stormy16.c, config/v850/v850-c.c,
        config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
        callers.
-       
+
 2005-04-23  Richard Henderson  <rth@redhat.com>
 
        PR rtl-opt/21102
 2005-04-23  Richard Henderson  <rth@redhat.com>
 
        PR rtl-opt/21102
 
        * builtins.c (gimplify_va_arg_expr): Reword comments to avoid
        'abort'. Use gcc_assert and gcc_unreachable as appropriate.
 
        * builtins.c (gimplify_va_arg_expr): Reword comments to avoid
        'abort'. Use gcc_assert and gcc_unreachable as appropriate.
-       * c-format.c (get_constant, decode_format_attr, get_flag_spec, 
+       * c-format.c (get_constant, decode_format_attr, get_flag_spec,
        find_char_info_specifier_index,
        find_length_info_modifier_index): Likewise.
        * c-typeck.c (composite_type, pop_init_level): Likewise.
        find_char_info_specifier_index,
        find_length_info_modifier_index): Likewise.
        * c-typeck.c (composite_type, pop_init_level): Likewise.
        final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
        output_operand): Likewise
        flow.c (recompute_reg_usage): Likewise
        final.c (this_is_asm_operands, shorten_branches, final_scan_insn,
        output_operand): Likewise
        flow.c (recompute_reg_usage): Likewise
-       * function.c (assign_stack_temp_for_type, assign_temp, 
+       * function.c (assign_stack_temp_for_type, assign_temp,
        handle_epilogue_set): Likewise
        * genextract.c (main): Likewise
        * gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
        handle_epilogue_set): Likewise
        * genextract.c (main): Likewise
        * gimplify.c (mostly_copy_tree_r, gimplify_return_expr,
        vectors.
        (gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
        lbv_to_gcc_expression, lle_to_gcc_expression,
        vectors.
        (gcc_loop_to_lambda_loop, gcc_loopnest_to_lambda_loopnest,
        lbv_to_gcc_expression, lle_to_gcc_expression,
-       lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest, 
+       lambda_loopnest_to_gcc_loopnest, can_convert_to_perfect_nest,
        perfect_nestify): Likewise.
        lambda.h (gcc_loopnest_to_lambda_loopnest,
        lambda_loopnest_to_gcc_loopnest): Likewise.
        perfect_nestify): Likewise.
        lambda.h (gcc_loopnest_to_lambda_loopnest,
        lambda_loopnest_to_gcc_loopnest): Likewise.
        cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
        * cgraphunit.c (cgraph_default_inline_p,
        cgraph_decide_inlining_incrementally,  ncalls_inlined,
        cgraph_mark_inline_edge, cgraph_default_inline_p): Declare.
        * cgraphunit.c (cgraph_default_inline_p,
        cgraph_decide_inlining_incrementally,  ncalls_inlined,
-       nfunctions_inlined, initial_insns, overall_insns, 
+       nfunctions_inlined, initial_insns, overall_insns,
        cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
        cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
        cgraph_mark_inline, cgraph_check_inline_limits,
        cgraph_estimate_size_after_inlining, cgraph_estimate_growth,
        cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
        cgraph_mark_inline, cgraph_check_inline_limits,
        * tree.h: Likewise.
        * vec.h: Likewise.
        * tree-flow-inline.h (relink_imm_use): Use gcc_assert.
        * tree.h: Likewise.
        * vec.h: Likewise.
        * tree-flow-inline.h (relink_imm_use): Use gcc_assert.
-       
+
        * optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
        comments to avoid 'abort'.  Use gcc_assert as necessary.
        * opts.c (common_handle_option): Likewise.
        * optabs.c (prepare_cmp_insn, emit_cmp_and_jump_insns): Reword
        comments to avoid 'abort'.  Use gcc_assert as necessary.
        * opts.c (common_handle_option): Likewise.
        * regmove.c (try_auto_increment): Likewise.
        * reload.c (find_valid_class, find_reloads_toplev,
        find_equiv_reg): Likewise.
        * regmove.c (try_auto_increment): Likewise.
        * reload.c (find_valid_class, find_reloads_toplev,
        find_equiv_reg): Likewise.
-       * reload1.c (reload, forget_old_reloads_1, function_invariant_p, 
+       * reload1.c (reload, forget_old_reloads_1, function_invariant_p,
        merge_assigned_reloads): Likewise.
        * tree-inline.c (inline_forbidden_p_1,
        estimate_num_insns_1): Likewise.
        merge_assigned_reloads): Likewise.
        * tree-inline.c (inline_forbidden_p_1,
        estimate_num_insns_1): Likewise.
        get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
        * tree-ssa-pre.c (find_or_generate_expression): Likewise.
        * tree-ssanames.c (release_ssa_name): Likewise.
        get_indirect_ref_operands, create_ssa_artficial_load_stmt): Likewise.
        * tree-ssa-pre.c (find_or_generate_expression): Likewise.
        * tree-ssanames.c (release_ssa_name): Likewise.
-       * tree.c (int_bit_position, int_byte_position, tree_low_cst, 
+       * tree.c (int_bit_position, int_byte_position, tree_low_cst,
        walk_tree): Likewise.
 
        * tree-ssa-operands.c (verify_abort): Fold into ..
        walk_tree): Likewise.
 
        * tree-ssa-operands.c (verify_abort): Fold into ..
        * tree-if-conv.c (find_phi_replacement_condition): Avoid generating
        x = !(a == b) : p , q;.
        (pass_if_conversion): Verify stmts and flow.
        * tree-if-conv.c (find_phi_replacement_condition): Avoid generating
        x = !(a == b) : p , q;.
        (pass_if_conversion): Verify stmts and flow.
-       
+
 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
 
        * optabs.c (gen_conditional_trap): Restore #define.
 2005-04-21  Nathan Sidwell  <nathan@codesourcery.com>
 
        * optabs.c (gen_conditional_trap): Restore #define.
        (push_macro_expansion):  Chain on new macro. Process multiple
        args, create follow on expansion. Return follow on argument.
        (macro_input): Deal with multiple arguments.
        (push_macro_expansion):  Chain on new macro. Process multiple
        args, create follow on expansion. Return follow on argument.
        (macro_input): Deal with multiple arguments.
-       
+
        * tree.h: Define VEC(tree,heap) and VEC(tree,gc).
        (struct tree_binfo): Adjust.
        * basic-block.h: Define VEC(edge,gc).
        * tree.h: Define VEC(tree,heap) and VEC(tree,gc).
        (struct tree_binfo): Adjust.
        * basic-block.h: Define VEC(edge,gc).
        lookup_avail_expr, record_range): Likewise.
        * tree-ssa-pre.c: Define VEC(basic_block,heap).
        (compute_antic_aux): Adjust.
        lookup_avail_expr, record_range): Likewise.
        * tree-ssa-pre.c: Define VEC(basic_block,heap).
        (compute_antic_aux): Adjust.
-       (inserted_exprs, create_expression_by_pieces, 
-       insert_into_preds_of_block, eliminate, mark_operand_necessary, 
+       (inserted_exprs, create_expression_by_pieces,
+       insert_into_preds_of_block, eliminate, mark_operand_necessary,
        remove_dead_inserted_code, fini_pre): Likewise.
        * tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
        remove_dead_inserted_code, fini_pre): Likewise.
        * tree-ssa-propagate.c (interesting_ssa_edges): Adjust.
-       (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist. 
+       (varying_ssa_edges, add_ssa_edge, process_ssa_edge_worklist.
        ssa_prop_init): Likewise.
        * tree-ssa.c: Define VEC(bitmap,heap).
        (verify_name_tags): Adjust.
        ssa_prop_init): Likewise.
        * tree-ssa.c: Define VEC(bitmap,heap).
        (verify_name_tags): Adjust.
        * varasm.c: Remove alias_pair pointer typedef, define
        VEC(alias_pair,gc).
        (finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
        * varasm.c: Remove alias_pair pointer typedef, define
        VEC(alias_pair,gc).
        (finish_aliases_1, finish_aliases_2, assemble_alias): Adjust.
-       
+
        * config/pa/pa.c (typedef extern_symbol): Typedef the structure,
        not a pointer to it.  Create an object vector.
        (extern_symbols): Turn into an object vector.
        * config/pa/pa.c (typedef extern_symbol): Typedef the structure,
        not a pointer to it.  Create an object vector.
        (extern_symbols): Turn into an object vector.
 
 2005-04-19  Paul Brook  <paul@codesourcery.com>
 
 
 2005-04-19  Paul Brook  <paul@codesourcery.com>
 
-       * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs. 
+       * config/arm/arm.c (arm_init_libfuncs): Clear mod optabs.
 
 2005-04-19  Andrew Haley  <aph@redhat.com>
 
 
 2005-04-19  Andrew Haley  <aph@redhat.com>
 
 2005-04-18  Devang Patel  <dpatel@apple.com>
 
        * config/rs6000/atlivec.md (mulv4si3): New pattern.
 2005-04-18  Devang Patel  <dpatel@apple.com>
 
        * config/rs6000/atlivec.md (mulv4si3): New pattern.
-       
+
 2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
 
        PR tree-optimization/20922
 2005-04-18  James A. Morrison  <phython@gcc.gnu.org>
 
        PR tree-optimization/20922