I swear this was in there when i committed, but apparently not
[gcc.git] / gcc / ChangeLog
index 326c8609d6b8bb8e410d8c0c857b012cb749ecaf..ab3054559bbe6d1e1361dec182b18d3dba852b91 100644 (file)
+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.
-       * config/frv/media.h (__MDPACKH): Update prototype.
        * doc/extend.texi (__MDPACKH): Update documentation.
 
 2005-01-28  Uros Bizjak  <uros@kss-loka.si>
        * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only iterate at -O2
        and better.
 
-2005-01-27  Ian Lance Taylor  <ian@c2micro.com>
+2005-01-27  Ian Lance Taylor  <ian@airs.com>
 
        PR middle-end/19583
        * gimple-low.c (try_catch_may_fallthru): New static function.