+2004-05-21 Richard Henderson <rth@redhat.com>
+
+ * gimplify.c (mostly_copy_tree_r): Don't attempt to copy decls.
+ (copy_if_shared_r): Don't copy decls, types, constants, BINDs.
+ Don't mark VA_ARG_EXPRs volatile here.
+ (gimplify_modify_expr): Unshare TYPE_SIZE_UNIT.
+
+2004-05-21 Richard Henderson <rth@redhat.com>
+
+ * Makefile.in (tree-dump.o): Depend on tree-iterator.h.
+ * tree-dump.c (dequeue_and_dump): Dump STATEMENT_LISTs.
+
+2004-05-21 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold, fold_relational_hi_lo,
+ nondestructive_fold_binary_to_constant,
+ fold_read_from_constant_string): Use fold_convert instead of convert.
+ * builtins.c (simplify_builtin, simplify_builtin_strstr,
+ simplify_builtin_strchr, simplify_builtin_strrchr,
+ simplify_builtin_strpbrk): Use fold_convert instead of convert.
+
+2004-05-21 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-flow-inline.h (num_immediate_uses): Don't abort if DF
+ is NULL.
+
+2004-05-21 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
+ override sparc.h definition.
+
+2004-05-20 Roger Sayle <roger@eyesopen.com>
+
+ * tree.c (array_type_nelts, save_expr, substitute_in_expr,
+ get_unwidened, get_narrower): Replace build with build2.
+ * fold-const.c (negate_expr, associate_trees, size_binop,
+ fold_convert, eval_subst, omit_one_operand, invert_truthvalue,
+ pedantic_omit_one_operand, distribute_bit_expr,
+ make_bit_field_ref, optimize_bit_field_compare,
+ decode_field_reference, range_binop, make_range,
+ build_range_check, fold_range_test, fold_truthop,
+ optimize_minmax_comparison, extract_muldiv_1,
+ fold_binary_op_with_conditional_arg, fold_mathfn_compare,
+ fold_inf_compare, fold_single_bit_test, fold,
+ fold_relational_hi_lo, nondestructive_fold_binary_to_constant):
+ Likewise replace build with either build2 or build3.
+
+2004-05-20 Paul Brook <paul@codesourcery.com>
+
+ * unwind-dw2-fde.c (get_cie_encoding): Handle dwarf3 CIE format.
+ * unwind-dw2.c (extract_cie_info): Ditto.
+ (_Unwind_FrameState): Change retaddr_column to word type.
+
+2004-05-20 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/3074
+ * fold-const.c (strip_compound_expr): Delete function.
+ (count_cond): Delete function.
+ (fold_binary_op_with_conditional_arg): Only perform transformations
+ "a + (b?c:d) -> b ? a+c : a+d" and "(b?c:d) + a -> b ? c+a : d+a"
+ when a is constant. This greatly simplifies this routine.
+
+ * tree.c (saved_expr_p): Delete function.
+ * tree.h (saved_expr_p): Delete function prototype.
+
+2004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * common.opt (ftree-loop-optimize): Remove.
+
+2004-05-20 Daniel Jacobowitz <dan@debian.org>
+
+ * Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET)
+ (NM_FOR_TARGET): Use := and $(shell).
+ (mainversion): Remove unused variable.
+
+2004-05-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * reorg.c (delete_from_delay_slot): If we have a barrier after the
+ sequence containing the insn to be deleted, always reemit it.
+
+2004-05-20 Richard Henderson <rth@redhat.com>
+
+ PR 15454
+ * tree-nested.c (get_chain_decl): Create a PARM_DECL by hand.
+ * function.c (expand_function_start): Expand static_chain_decl by hand.
+ * gimplify.c (create_tmp_var_name): Export.
+ * tree-gimple.h (create_tmp_var_name): Declare.
+
+2004-05-20 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * rs6000.c (print_operand) <case 'z'>: Call
+ mark_decl_referenced before assemble_name.
+
+2004-05-20 Zack Weinberg <zack@codesourcery.com>
+
+ * cgraph.c (hash_node, eq_node, cgraph_node, cgraph_remove_node)
+ (cgraph_varpool_hash_node, eq_cgraph_varpool_node)
+ (cgraph_varpool_node): Hash on the pointer to the decl, not
+ the DECL_UID. Fixes 64-bit bootstrap failure.
+
+2004-05-20 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (ite_ne_zeroextractsi, ite_ne_zeroextractsi_shifted): Ensure
+ we don't earlyclobber operands used in the second insn.
+
+2004-05-20 Steven Bosscher <stevenb@suse.de>
+
+ * tree-mudflap.c: Formatting fixes.
+
+2004-05-20 J"orn Rennecke <joern.rennecke@superh.com>
+
+ * Makefile.in (GTFILES): Add $(srcdir)/reload.h.
+ * gengtype.c (open_base_files): Include reload.h in ifiles.
+ * reload.h (reg_equiv_memory_loc_varray): Declare.
+ * reload1.c (reg_equiv_memory_loc_varray): New variable.
+ (init_reload): Initialize it.
+ (reload): Instead of freeing reg_equiv_memory_loc, 'grow'
+ reg_equiv_memory_loc_varray to size 0.
+ * ra.c (reg_alloc): Allocate reg_equiv_memory_loc by
+ growing reg_equiv_memory_loc_varray to the desired size.
+ * passes.c (rest_of_handle_old_regalloc): Likewise.
+ * reload.c: Amend comment on calling init_reload.
+
+2004-05-20 Nick Clifton <nickc@redhat.com>
+
+ * config/c4x/c4x.h (INITIALIZE_TRAMPOLINE): Replace 'tramp'
+ with 'TRAMP' in the body of the macro definition.
+
+2004-05-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/15383
+ * config/ia64/ia64.c (ia64_expand_compare): Don't check
+ TARGET_HPUX for TFmode compare. Abort if op0 is in TFmode and
+ cmptf_libfunc isn't set.
+ (ia64_init_libfuncs): Rename TFmode libfuncs using the HPUX
+ conventions.
+ (ia64_sysv4_init_libfuncs): New.
+
+ * config/ia64/sysv4.h (TARGET_INIT_LIBFUNCS): New. Defined as
+ ia64_sysv4_init_libfuncs.
+
+2004-05-20 Falk Hueffner <falk@debian.org>
+
+ PR other/15526
+ * libgcc2.c (__mulvsi3): Fix overflow test.
+
+2004-05-19 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR c/14171
+ * reg-stack.c (nan): Rename to ...
+ (not_a_num): Here.
+ (reg_to_stack): Rename nan to not_a_num.
+ (subst_stack_regs_pat): Likewise.
+ (convert_regs_entry): Likewise.
+ (convert_regs_1): Likewise.
+
+ * tree-cfg.c (find_case_label_for_value): Replace call to
+ simple_cst_equal with tree_int_cst_equal.
+
+2004-05-19 Jeff Law <law@redhat.com>
+
+ * tree-into-ssa.c (prepare_operand_for_rename): New argument is_use.
+ If the operand is for a use, then strip away the SSA_NAME, do not
+ strip away the SSA_NAME for a set. Never call release_ssa_name.
+ (mark_def_sites): Appropriately pass additional argument to
+ prepare_operand_for_rename. If a VDEF_RESULT is not an SSA_NAME,
+ then set the VDEF_RESULT to the VDEF_OP.
+ (set_def_block): Strip away any SSA_NAME to get to the real
+ underlying variable.
+
+ * tree-ssa-phiopt.c (value_replacement): Handle the case where
+ the desired edge out of COND_BLOCK reaches OTHER_BLOCK rather than
+ BB directly.
+
+2004-05-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ PR c++/15463
+ * loop-iv.c (iv_number_of_iterations): Use trunc_int_for_mode on
+ result of inverse.
+
+ PR rtl-optimization/15274
+ * loop-iv.c (determine_max_iter, shorten_into_mode,
+ iv_number_of_iterations): Handle constants correctly.
+ * rtl.h (get_mode_bounds): Declaration changed.
+ * stor-layout.c (get_mode_bounds): Return a constant suitable for
+ the target mode.
+
+ PR rtl-optimization/14692
+ * loop-unswitch.c (may_unswitch_on): Try folding the result.
+ (unswitch_single_loop): Work correctly when may_unswitch_on
+ returns a folded constant.
+
+ * loop-iv.c (implies_p): Handle A < B ==> A + 1 <= B.
+ * simplify-rtx.c (simplify_const_relational_operation): Optimize
+ comparisons with mode bounds.
+
+ * function.c (struct temp_slot): Add new field prev.
+ (free_after_compilation, init_temp_slots): Free new fields.
+ (cut_slot_from_list, insert_slot_to_list,
+ temp_slots_at_level, max_slot_level, move_slot_to_level,
+ make_slot_available): New functions.
+ (assign_stack_temp_for_type, combine_temp_slots,
+ find_temp_slot_from_address, preserve_temp_slots,
+ preserve_rtl_expr_result, free_temp_slots,
+ free_temps_for_rtl_expr, pop_temp_slots): Work with
+ the new structure of lists.
+ (mark_all_temps_used): Removed.
+ * function.h (struct function): Field x_temp_slots
+ replaced by x_used_temp_slots and x_avail_temp_slots.
+ (temp_slots): Replaced by ...
+ (used_temp_slots, avail_temp_slots): New.
+ * tree.h (mark_all_temps_used): Declaration removed.
+
+ * loop-iv.c (mark_single_set, get_biv_step_1, iv_analyze,
+ simplify_using_assignment): Take the expression out of
+ the expr_list wrapper.
+
+ * loop-iv.c (iv_number_of_iterations): Improve clasification of
+ infinite loops.
+
+2004-05-19 Roger Sayle <roger@eyesopen.com>
+
+ * doc/tm.texi (TARGET_RTX_COSTS): Document that instruction
+ costs should be based on code size when optimizing for size.
+
+2004-05-19 Paolo Bonzini <bonzini@gnu.org>
+
+ * fold-const.c: Remove non-printable character 160.
+
+2004-05-19 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi (ARM Options): Fix typo.
+ Remove descrption of -mshort-load-bytes and
+ -mno-short-load-bytes.
+
+ * config/ip2k/ip2k.c (ip2k_composite_xexp_not_uses_reg_p): Add
+ missing parenthesis.
+ * config/ip2k/ip2k.c (ip2k_unary_operator): Likewise.
+ * config/ip2k/ip2k.c (ip2k_binary_operator): Likewise.
+
+2004-05-19 Steven Bosscher <stevenb@suse.de>
+
+ * expr.c (store_constructor): Build loop start and end by hand
+ instead of via loop functions from stmt.c.
+ (expand_expr_real_1): Abort if we see an EXIT_EXPR or a LOOP_EXPR.
+ Remove the code to expand them.
+
+ * stmt.c (loop_stack): Remove this and everything related.
+ (struct nesting, enum nesting_desc): Update.
+ (expand_fixup): Likewise.
+ (expand_loop_start, expand_start_loop_continue_elsewhere,
+ expand_start_null_loop, expand_loop_continue_here, expand_end_loop,
+ expand_end_null_loop, expand_continue_loop, expand_exit_loop,
+ expand_exit_loop_if_false, expand_exit_loop_top_cond,
+ expand_exit_something): Remove.
+ * tree.h: Remove prototypes.
+
2004-05-18 Mike Stump <mrs@apple.com>
Devang Patel <dpatel@apple.com>