OSDN Git Service

PR target/28946
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2478b45..8d02f20 100644 (file)
@@ -1,3 +1,175 @@
+2006-09-07 Uros Bizjak <uros@kss-loka.si>
+
+       PR target/28946
+       * config/i386/i386.md ("*ashldi3_cconly_rex64", "*ashlsi3_cconly",
+       "*ashlhi3_cconly", "*ashlqi3_cconly", "*ashrdi3_one_bit_cconly_rex64",
+       "*ashrdi3_cconly_rex64", "*ashrsi3_one_bit_cconly", "*ashrsi3_cconly",
+       "*ashrhi3_one_bit_cconly", "*ashrhi3_cconly",
+       "*ashrqi3_one_bit_cconly", "*ashrqi3_cconly",
+       "*lshrdi3_cconly_one_bit_rex64", "*lshrdi3_cconly_rex64",
+       "*lshrsi3_one_bit_cconly", "*lshrsi3_cconly",
+       "*lshrhi3_one_bit_cconly", "*lshrhi3_cconly",
+       "*lshrqi2_one_bit_cconly", "*lshrqi2_cconly": New patterns to
+       implement only CC setting effects of shift instructions.
+
+2006-09-07  Martin Michlmayr  <tbm@cyrius.com>
+
+       * doc/contrib.texi: Add myself.
+
+2006-09-07  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/28862
+       * stor-layout.c (relayout_decl): Don't zero the alignment if it
+       was set by the user.
+
+2006-09-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/27117
+       * config/sh/sh.md (divsi_inv_qitable, divsi_inv_hitable): New patterns.
+       (divsi_inv_m1): Use them.
+       (UNSPEC_DIV_INV_TABLE): New constant.
+
+2006-09-06  James E Wilson  <wilson@specifix.com>
+
+       PR rtl-opt/27883
+       * flow.c (update_life_info): If UPDATE_LIFE_LOCAL and PROP_DEATH_NOTES
+       then call count_or_remove_death_notes.
+
+2006-09-06  Jason Merrill  <jason@redhat.com>
+
+       PR c++/27371
+       * tree-inline.c (copy_result_decl_to_var): New fn.
+       (declare_return_variable): Use it.  Call declare_inline_vars here.
+       (expand_call_inline): Not here.
+
+2006-09-06  Diego Novillo  <dnovillo@redhat.com>
+
+       * doc/contrib.texi: Update my entry.
+
+2006-09-06  Nick Clifton  <nickc@redhat.com>
+
+       * config/frv/frv.h (EXTRA_MEMORY_CONSTRAINT): Define.
+
+2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/28937
+       * tree-flow.h (tree_ssa_unswitch_loops): Return unsigned int.
+       (canonicalize_induction_variables): Likewise.
+       (tree_unroll_loops_completely): Likewise.
+       (tree_ssa_prefetch_arrays): Likewise.
+       (remove_empty_loops): Likewise.
+       * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Return
+       TODO_cleanup_cfg instead of directly calling
+       cleanup_tree_cfg_loop.
+       * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables):
+       Likewise.
+       (tree_unroll_loops_completely): Likewise.
+       (remove_empty_loops): Likewise.
+       * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Likewise.
+       * tree-ssa-loop.c (tree_ssa_loop_unswitch): Use the return value
+       of tree_ssa_unswitch_loops.
+       (tree_ssa_loop_ivcanon): Use the return value of
+       canonicalize_induction_variables.
+       (tree_ssa_empty_loop): Use the return value of
+       remove_empty_loops.
+       (tree_complete_unroll): Use the return value of
+       tree_unroll_loops_completely.
+       (tree_ssa_loop_prefetch): Use the return value of
+       tree_ssa_prefetch_arrays.
+       * passes.c (execute_todo): Before Cleanup CFG, set
+       updating_used_alone and after cleanup CFG, call
+       recalculate_used_alone.
+
+2006-09-05  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/28952
+       * tree-vect-transform.c (vectorizable_condition): Move the check
+       for the type after the check for simple condition.
+
+2006-09-05  J"orn Rennecke  <joern.rennecke@st.com>
+           Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/28764
+       * mode-switching.c (optimize_mode_switching): Make the destination
+       block of an abnormal edge have no anticipatable mode.  Don't
+       insert mode switching code at the end of the source block of
+       an abnormal edge.
+
+2006-09-05  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR rtl-optimization/26847
+       * simplify-rtx.c (struct simplify_plus_minus_op_data): Remove ix.
+       (simplify_plus_minus_op_data_cmp): For REGs, break ties on the regno.
+       (simplify_plus_minus): Count n_constants while filling ops.  Replace
+       qsort with insertion sort.  Before going through the array to simplify
+       pairs, sort it.  Delay early exit until after the first sort, exiting
+       only if no swaps occurred.  Simplify pairs in reversed order, without
+       special-casing the first iteration.  Pack ops after simplifying pairs.
+
+2006-09-05  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.c (avr_mcu_types): Add support for at90pwm1 device.
+       * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+       (avr_rtx_costs): Mark 'outer_code' argument with ATTRIBUTE_UNUSED.
+
+2006-09-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28900
+       * tree-if-conv.c (find_phi_replacement_condition): Gimplify
+       compound conditional before creating COND_EXPR condition.
+
+2006-09-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28905
+       * tree-vrp.c (fix_equivalence_set): Manually implement
+       !value_ranges_intersect_p to also handle symbolic ranges.
+
+2006-09-05  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/28935
+       * tree-ssa-ccp.c (fold_stmt_r): Make sure to fold the condition
+       of a COND_EXPR.
+
+2006-09-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/27616
+       * cse.c (table_size): New static variable.
+       (new_basic_block): Initialize it to 0.
+       (remove_from_table): Decrement it.
+       (insert): Increment it.
+       (fold_rtx_mem_1): New function, renamed from fold_rtx_mem.
+       (fold_rtx_mem): Enforce a cap on the recursion depth.  Call
+       fold_rtx_mem_1 if under the cap.
+       (fold_rtx) <RTX_COMM_ARITH>: In the associative case, delay a little
+       the lookup of the equivalent expression and test for equality of the
+       first operand of the equivalent expression before in turn looking up
+       an equivalent constant for the second operand.
+
+2006-09-02  Geoffrey Keating  <geoffk@apple.com>
+
+       Revert this change:
+       2006-03-17  Alexandre Oliva  <aoliva@redhat.com>
+       * dwarf2out.c (dwarf2out_stack_adjust): Always track the stack
+       pointer, instead of assuming it is possible to derive the
+       correct args size from a call insn.
+
+2006-09-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/27567
+       * builtins.c (fold_builtin_memcpy, fold_builtin_memmove): Remove.
+       (fold_builtin_mempcpy): Rename to...
+       (fold_builtin_memory_op): ... this.  Optimize one element copy
+       into an assignment.
+       (fold_builtin_memset, fold_builtin_bzero, fold_builtin_bcopy): New
+       functions.
+       (expand_builtin_strcpy, expand_builtin_strncpy): Handle COMPOUND_EXPR.
+       (expand_builtin_memcpy, expand_builtin_mempcpy,
+       expand_builtin_memmove): Likewise.  Use fold_builtin_memory_op.
+       (fold_builtin_1): Handle BUILT_IN_MEMSET, BUILT_IN_BZERO and
+       BUILT_IN_BCOPY.  Use fold_builtin_memory_op for
+       BUILT_IN_MEM{CPY,PCPY,MOVE}.
+
 2006-09-01  DJ Delorie  <dj@redhat.com>
 
        * config/m32c/cond.md (cbranch<mode>4): Defer splitting until after reload.