+2005-01-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (delete_trivially_dead_insn): Don't iterate.
+
+2005-01-31 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/rs6000.md (copysignsf3): New expand.
+ (copysigndf3): Likewise.
+
+2005-01-31 Steven Bosscher <stevenb@suse.de>
+
+ * recog.c (constrain_operands): Only look for earlyclobber operand
+ conflicts if an '&' constraint was seen.
+
+2005-01-31 Marc Espie <espie@openbsd.org>
+
+ * config.gcc: Don't include embedded systems fragment, switches default
+ debugging format to ELF.
+ * config/i386/openbsdelf.h: Add DBX_REGISTER_NUMBER since we no
+ longer pick it up there.
+
+2005-01-31 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/darwin.md (movsf_low_di): Make work.
+ (movdf_low_di): Make work.
+
+2005-01-31 Dale Johannesen <dalej@apple.com>
+
+ * config/rs6000/darwin-tramp.asm (__trampoline_setup):
+ Make work for 64 bit.
+
+2005-01-31 Roger Sayle <roger@eyesopen.com>
+ Dale Johannesen <dalej@apple.com>
+
+ PR middle-end/19650
+ * fold-const.c (fold_binary_op_with_conditional_arg):
+ Make types match original operands, before STRIP_NOPS.
+
+2005-01-31 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/linux-unwind.h (struct gcc_vregs): New.
+ (struct gcc_regs): Rename from gcc_pt_regs. Add more regs.
+ (struct gcc_sigcontext): Delete. Merge contents to..
+ (struct gcc_ucontext): ..here.
+ (get_sigcontext): Delete.
+ (get_regs): New function, like get_sigcontext but return regs ptr.
+ 64-bit version finds regs from r1 to support vdso.
+ (ppc_linux_aux_vector): New function.
+ (ppc_fallback_frame_state): Modify for get_regs. Restore fprs
+ and vector regs.
+
+2005-01-31 Ira Rosen <irar@il.ibm.com>
+
+ * tree-vectorizer.c (vect_analyze_offset_expr): Use ssizetype instead
+ sizetype.
+ (vect_get_base_and_offset): Use ssizetype instead sizetype. Remove
+ redundant fold. Fix misalignment for MINUS_EXPR.
+ (vect_compute_data_ref_alignment): Use ssizetype instead sizetype.
+ (vect_analyze_pointer_ref_access): Likewise.
+ (vect_get_memtag_and_dr): Likewise.
+
+2005-01-31 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (absnegsf2_mixed): Remove all of the # hackery.
+ (absnegsf2_sse, absnegsf2_i387, absnegdf2_mixed, absnegdf2_sse,
+ absnegdf2_i387, absnegxf2_i387): Likewise.
+
+2005-01-31 Richard Henderson <rth@redhat.com>
+
+ PR 19696
+ * optabs.c (expand_copysign_absneg): New.
+ (expand_copysign_bit): Split out from ...
+ (expand_copysign): ... here. Use expand_copysign_absneg.
+
+2005-01-30 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/19697
+ * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
+ constant as the second operand and a register as the third.
+
+2005-01-31 Danny Smith <dannysmith@users.sourceforge.net>
+
+ PR target/19704
+ * config/i386/i386.c (ix86_function_ok_for_sibcall): Also check
+ that dllimport'd functions do not use all call-clobbered registers
+ to pass parameters.
+
+2005-01-30 Richard Henderson <rth@redhat.com>
+
+ PR 19696
+ * optabs.c (expand_absneg_bit): Split out from expand_unop and
+ expand_abs_nojump and generalize. Use operand_subword and
+ emit_no_conflict_block. Support large modes.
+ (expand_abs_nojump): Use it. Use HONOR_SIGNED_ZEROS to fall
+ back to maximum.
+ (expand_unop): Likewise. Use HONOR_SIGNED_ZEROS to fall back
+ negation to subtraction.
+ (expand_copysign): Check that the format has signed zeros.
+ Use operand_subword and emit_no_conflict_block. Support large modes.
+
+2005-01-30 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/19624
+
+ * Makefile.in (tree-ssa-pre.o): Add CFGLOOP_H.
+ * tree-ssa-pre.c: Add cfgloop.h.
+ Update comment.
+ (pre_stats): New member, constified.
+ (inserted_exprs): New static variable.
+ (NECESSARY): New macro.
+ (create_expression_by_pieces): Fold the expression, and
+ mark it as defaulting to not necessary. Also put in
+ inserted_exprs.
+ (fully_constant_expression): New function.
+ (insert_into_preds_of_block): Modify to not insert phis when we
+ are playing with induction variables.
+ Push phis onto the inserted_exprs vector, and mark them as not
+ necessary by default.
+ (insert_aux): Call fully_constant_expression on eprime.
+ If all edges produce the same value, mark it constant.
+ (mark_operand_necessary): New function.
+ (remove_dead_inserted_code): New function.
+ (init_pre): Init loop optimizer to get loop info.
+ (fini_pre): Free loop_optimizer, and inserted_exprs vec.
+ (execute_pre): Commit edge inserts, then remove dead code.
+
+2005-01-30 Richard Henderson <rth@redhat.com>
+
+ * rtl.c (rtx_equal_p): No early exit for CONST_VECTOR.
+ * varasm.c (const_rtx_hash_1): Handle CONST_VECTOR.
+
+2005-01-30 Richard Henderson <rth@redhat.com>
+
+ PR target/19700
+ * config/i386/i386.c (ix86_expand_copysign): New.
+ (ix86_split_copysign_const): New.
+ (ix86_split_copysign_var): Rename from ix86_split_copysign,
+ rearrange op1/nmask operands.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (copysignsf3): Use ix86_expand_copysign.
+ (copysigndf3): Likewise.
+ (copysignsf3_const, copysigndf3_const): New.
+ (copysignsf3_var): Rename from copysignsf3, split out splitter
+ and fix split predicate for X constraint.
+ (copysigndf3_var): Similarly.
+
+2005-01-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * optabs.c, doc/c-tree.texi, doc/install.texi, doc/md.texi,
+ doc/passes.texi, doc/rtl.texi, doc/sourcebuild.texi,
+ doc/tm.texi, doc/tree-ssa.texi: Update copyright.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR target/19690
+ * config/i386/i386.md (movdf_nointeger, movdf_integer): Fix ordering
+ of # and * in constraints.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19689
+ * expr.c (store_field): Don't strip sub-mode cast when the input
+ data is even smaller.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/19687
+ * expr.c (categorize_ctor_elements_1): Check for CONSTRUCTOR of a
+ union being empty.
+
+2005-01-29 Richard Henderson <rth@redhat.com>
+
+ * combine.c (make_field_assignment): Fix argument order
+ to gen_int_mode.
+
+2005-01-29 Richard Guenther <richard.guenther@uni-tuebingen.de>
+
+ PR tree-optimization/15791
+ * fold-const.c (extract_array_ref): New function.
+ (fold): Fold comparisons between &a[i] and &a[j] or
+ semantically equivalent trees.
+
+2005-01-29 Jeff Law <law@redhat.com>
+
+ * gcse.c (insert_expr_in_table): Revamp handling of available
+ and anticipatable occurrence lists to avoid unnecessary list
+ walking.
+ (insert_set_in_table): Similarly.
+
+2005-01-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.c (fix_string_type): Just use c_build_qualified_type to
+ build string type.
+ (c_build_qualified_type): Build qualified array types with
+ TYPE_MAIN_VARIANT pointing to corresponding unqualified type.
+ * c-decl.c (c_make_fname_decl): Build unqualified array type
+ before qualified type.
+ (grokdeclarator): Use TYPE_MAIN_VARIANT of typedef type if element
+ type is qualified, not just if type itself is. Don't apply
+ qualifiers to array type when declarator is processed. Apply
+ qualifiers to field type whether or not it is an array type.
+ Don't handle array types specially for applying qualifiers to
+ variables.
+ * c-typeck.c (composite_type): Build unqualified element type and
+ array type when forming composite of array types.
+ (common_pointer_type, comptypes, comp_target_types,
+ type_lists_compatible_p, build_indirect_ref, build_array_ref,
+ convert_for_assignment): Don't apply TYPE_MAIN_VARIANT to array
+ types.
+ (type_lists_compatible_p): Cache TREE_VALUE (args1) and TREE_VALUE
+ (args2) in variables a1 and a2.
+
+2005-01-29 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (n_elements_made, max_elements_made): Remove.
+ (insert): Don't touch n_elements_made.
+ (cse_main): Don't touch n_elements_made or max_elements_made.
+
+2005-01-28 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR target/15384
+ * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
+ configuration part of dp-bit.c to be lost.
+
+2005-01-28 Roger Sayle <roger@eyesopen.com>
+
+ * expmed.c (expand_mult_highpart_optab): When attempting to use
+ a non-widening multiplication in a wider mode, the operands need
+ to be converted (zero or sign extended) to that mode.
+
+2005-01-28 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/16558
+ PR middle-end/19583
+ * gimple-low.c (block_may_fallthru): TRY_FINALLY_EXPR only falls
+ through if both operands fall through.
+
+2005-01-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (fold_rtx) <PC>: Don't optimize.
+
+2005-01-28 Jeff Law <law@redhat.com>
+
+ * fold-const.c (fold, case CEIL_MOD_EXPR): Optimize 0 % X.
+ (case FLOOR_MOD_EXPR, ROUND_MOD_EXPR, TRUNC_MOD_EXPR): Similarly.
+
+2005-01-28 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c (cse_reg_info_free_list, cse_reg_info_used_list,
+ cse_reg_info_used_list_end): Remove.
+ (cse_reg_info_list, cse_reg_info_list_free): New.
+ (get_cse_reg_info): When allocating an instance of
+ cse_reg_info, add it to the beginning of the cse_reg_info_list
+ list. Remove code to maintain cse_reg_info_used_list.
+ (new_basic_block): Reset the free list to the beginning of
+ cse_reg_info_list.
+
+2005-01-28 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.c (bdesc_2arg): Remove __MDPACKH.
+ (frv_init_builtins): Change its prototype to take 4 uhalf arguments.
+ (frv_expand_mdpackh_builtin): New function.
+ (frv_expand_builtin): Use it to expand __MDPACKH.
+ * doc/extend.texi (__MDPACKH): Update documentation.
+
+2005-01-28 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.c (ix86_expand_fp_absneg_operator): Use
+ SSE_FLOAT_MODE_P for use_sse computation.
+
+2005-01-28 Ralf Corsepius <ralf.corsepius@rtems.org>
+
+ PR target/19663
+ * config/sparc/rtemself.h (LINK_GCC_C_SEQUENCE_SPEC): undefine.
+
+2005-01-27 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_copysign): New.
+ (expand_builtin): Call it.
+ * genopinit.c (optabs): Add copysign_optab.
+ * optabs.c (init_optabs): Initialize it.
+ (expand_copysign): New.
+ * optabs.h (OTI_copysign, copysign_optab): New.
+ (expand_copysign): Declare.
+
+ * config/alpha/alpha.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, ncopysignsf3, copysigndf3, ncopysigndf3): New.
+
+ * config/i386/i386.c (ix86_build_signbit_mask): Split from ...
+ (ix86_expand_fp_absneg_operator): ... here.
+ (ix86_split_copysign): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/i386.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, copysigndf3): New.
+
+ * config/ia64/ia64.md (UNSPEC_COPYSIGN): New.
+ (copysignsf3, ncopysignsf3): New.
+ (copysigndf3, ncopysigndf3): New.
+ (copysignxf3, ncopysignxf3): New.
+ * config/ia64/ia64.c (rtx_needs_barrier): Handle UNSPEC_COPYSIGN.
+
+2005-01-27 Arend Bayer <arend.bayer@web.de>
+ Kazu Hirata <kazu@cs.umass.edu>
+
+ * cse.c: (find_best_addr): Don't call copy_rtx before calling
+ fold_rtx. Save cost recomputation if fold_rtx did nothing.
+ (fold_rtx) <ASM_OPERANDS>: Don't do anything if INSN is
+ NULL_RTX.
+
+2005-01-27 Jeff Law <law@redhat.com>
+
+ * tree-into-ssa.c (ssa_rewrite_initialize_block): Do not register
+ definitions of SSA_NAMEs which are not being rewritten.
+ (rewrite_ssa_into_ssa): Only initialize the current definition
+ of an SSA_NAME if that SSA_NAME has been marked for rewriting.
+ If checking is enabled, assert that SSA_NAME_AUX is clear for all
+ SSA_NAMEs before returning.
+
+2005-01-27 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-common.def, c-dump.c, c-gimplify.c, c-objc-common.c,
+ cfgexpand.c, dbxout.c, function.h, opts.c, tree-flow-inline.h,
+ tree-ssa-operands.h, tree-ssa-threadupdate.c, tree-tailcall.c,
+ config/avr/avr.md, config/cris/aout.h, config/cris/cris.h,
+ config/mips/iris6.h, config/sh/sh.c: Update copyright.
+
+2005-01-27 Steven Bosscher <stevenb@suse.de>
+
+ PR middle-end/17278
+ * opts.c (decode_options): Move flag_thread_jumps from -O1 and
+ higher to -O2 and higher. Likewise for tree PRE.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
+ and better.
+
+2005-01-27 Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/19583
+ * gimple-low.c (try_catch_may_fallthru): New static function.
+ (block_may_fallthru): Handle TRY_CATCH_EXPR.
+ * tree-inline.c (expand_call_inline): Don't warn about reaching
+ the end of a non-void function being inlined if the function uses
+ a return slot.
+
2005-01-27 Jakub Jelinek <jakub@redhat.com>
+ * config/i386/i386.h (CALL_USED_REGISTERS): Fix comment pastos.
+
PR c/18946
* c-decl.c (warn_if_shadowing): Handle old_decl error_mark_node.
(pushdecl): Only use DECL_FILE_SCOPE_P if DECL_P.
2005-01-26 Stuart Hastings <stuart@apple.com>
- * gcc/gimplify.c (shortcut_cond_expr): Re-compute side-effects.
- * gcc/testsuite/gcc.c-torture/execute/20050125-1.c: New.
+ * gimplify.c (shortcut_cond_expr): Re-compute side-effects.
2005-01-26 Richard Henderson <rth@redhat.com>