+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.