OSDN Git Service

2006-09-11 Alexandre Oliva <aoliva@redhat.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 077b1c3..b1a92ec 100644 (file)
@@ -1,3 +1,393 @@
+2006-09-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR target/28672
+       * var-tracking.c (dump_dataflow_set): Start dumping at
+       register zero.
+       (clobber_variable_part): Kill only the variable part in
+       registers holding it, leaving other variables alone.
+
+2006-09-11  Josh Triplett  <josh@freedesktop.org>
+
+       * doc/extend.texi (Other Builtins): Actually use the macro
+       argument in the documentation example for
+       __builtin_types_compatible_p.
+
+2006-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28726
+       * sched-deps.c (sched_analyze_reg): New function extracted from...
+       (sched_analyze_1): ...here.  Call it to analyze references to
+       registers.  Treat again writes to a stack register as writing to the
+       register.
+       (sched_analyze_2): ...and here.  Call it to analyze references to
+       registers.  Treat again reads of a stack register as reading the
+       register.
+
+2006-09-11  Guenter Roeck  <guenter@roeck-us.net>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/27287
+       * config/rs6000/spe.md (frob_df_di): Remove %H.
+       (frob_di_df): Remove %H.  Change evmergelo to mr.
+       (frob_di_df_2): Remove %H.  Change evldd to two loads.
+
+2006-09-11  Hideki Iwamoto  <h-iwamoto@kit.hi-ho.ne.jp>
+
+       * doc/cpp.texi: Fix names of charset options.
+
+2006-09-10  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/29009
+       * config/i386/i386.c (override_options): Use 128-bit
+       stack boundary always for 64bits.
+
+2006-09-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/28636
+       * combine.c (force_to_mode): Test for side-effects before
+       substituting by zero.
+       (simplify_shift_const): Likewise for zero or other constants.
+
+2006-09-10  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR middle-end/26983
+       * builtins.c (expand_builtin_setjmp): Force next_lab to be
+       preserved.
+
+2006-09-10  Richard Sandiford  <richard@codesourcery.com>
+
+       PR target/29006
+       * config/mips/mips-protos.h (mips_mem_fits_mode_p): Declare.
+       * config/mips/mips.c (mips_expand_unaligned_store): Use the mode
+       returned by mode_for_size, rather than the mode of src itself,
+       to choose between 32-bit and 64-bit patterns.
+       (mips_mem_fits_mode_p): New function.
+       * config/mips/mips.md (mov_<load>l, mov_<load>r): Use it to check
+       that the size of the source matches the size of the destination.
+       (mov_<store>l, mov_<store>r): Likewise.
+
+2006-09-10  Eric Christopher  <echristo@apple.com>
+
+       * config/darwin.c (machopic_select_rtx_section): Add CONST_VECTOR
+       for literal16.
+
+2006-09-09  Eric Christopher  <echristo@apple.com>
+
+       PR target/28995
+       * config/darwin.c (machopic_select_rtx_section): Add TARGET_64BIT
+       for literal16.
+
+2006-09-09  Roger Sayle  <roger@eyesopen.com>
+           Nicolas Setton <setton@adacore.com>
+
+       * dwarf2out.c (convert_cfa_to_fb_loc_list): Handle DW_CFA_set_loc.
+
+2006-09-10  Andreas Schwab  <schwab@suse.de>
+
+       * config/m68k/m68k.md (bungt_rev): New pattern.
+
+2006-09-09  Paolo Bonzini  <bonzini@gnu.org>
+           Dale Johannesen  <dalej@apple.com>
+
+       PR target/26778
+       * regclass.c (struct reg_pref): Update documentation.
+       (regclass): Set prefclass to NO_REGS if memory is the best option.
+       (record_reg_classes): Cope with a prefclass set to NO_REGS.
+
+2006-09-08  Eric Christopher  <echristo@apple.com>
+
+       * config.gcc (i?86-*-darwin): Add 64-bit HWI support.
+       * config/t-slibgcc-darwin: Support x86_64 multilib.
+       * config/i386/i386.h (JUMP_TABLES_IN_TEXT_SECTION):
+       Return 1 for x86_64-darwin.
+       * config/i386/t-darwin: Add m64 multilib.
+       (LIB2_SIDITI_CONV_FUNCS): Use.
+       (LIB2FUNCS_EXTRA): Ditto.
+       * config/i386/darwin.h: Support x86_64.
+       * config/i386/i386.c (override_options): Turn on flag_pic
+       for x86_64-darwin. Disable flag_omit_pointer.
+       (get_pc_thunk_name): Assert !TARGET_64BIT.
+       (legitimate_address_p): Disable machopic addressing for
+       x86_64.
+       (legitimize_pic_address): Ditto.
+       (ix86_expand_move): Ditto.
+       (ix86_expand_call): Ditto.
+       (machopic_output_stub): Ditto.
+       * config/darwin.c (machopic_select_section): Support literal16.
+       (machopic_select_rtx_section): Ditto.
+       * config/darwin-sections.def: Ditto.
+       * config/darwin-64.c: New.
+
+2006-09-08  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/28504
+       * c-tree.h (struct c_arg_info): Add pending_sizes.
+       * c-parser.c (c_parser_parms_declarator,
+       c_parser_parms_list_declarator): Initialize pending_sizes.
+       * c-decl.c (get_parm_info): Initialize pending_sizes.
+       (get_parm_info): Set pending_sizes.
+       (grokdeclarator): Call put_pending_sizes for parameters for
+       function definition only.
+
+2006-09-07  Jason Merrill  <jason@redhat.com>
+
+       PR middle-end/27724
+       * varasm.c (output_constant): Only strip actual no-op conversions.
+
+       PR target/13685
+       * config/i386/i386.c (override_options): Use 128-bit
+       stack boundary if -msse.
+
+2006-09-07  Eric Christopher  <echristo@apple.com>
+
+       * config/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Update
+       comment.
+       * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE):
+       Redefine.
+
+2006-09-07  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c: Remove strange characters from comment above
+       dwarf2out_frame_debug_expr.
+
+2006-09-07  Eric Christopher  <echristo@apple.com>
+
+       * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Move from here...
+       * config/darwin.h: ... to here.
+
+2006-09-07  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (x86_partial_flag_reg_stall): New.
+
+       * config/i386/i386.h (x86_partial_flag_reg_stall): New.
+       (TARGET_PARTIAL_FLAG_REG_STALL): New.
+
+       * config/i386/i386.md (*ashldi3_cmp_rex64): Disabled for
+       TARGET_PARTIAL_FLAG_REG_STALL.
+       (*ashldi3_cconly_rex64): Likewise.
+       (*ashlsi3_cmp): Likewise.
+       (*ashlsi3_cconly): Likewise.
+       (*ashlsi3_cmp_zext): Likewise.
+       (*ashlhi3_cmp): Likewise.
+       (*ashlhi3_cconly): Likewise.
+       (*ashlqi3_cmp): Likewise.
+       (*ashlqi3_cconly): Likewise.
+       (*ashrdi3_cmp_rex64): Likewise.
+       (*ashrdi3_cconly_rex64): Likewise.
+       (*ashrsi3_cmp): Likewise.
+       (*ashrsi3_cconly): Likewise.
+       (*ashrsi3_cmp_zext): Likewise.
+       (*ashrhi3_cmp): Likewise.
+       (*ashrhi3_cconly): Likewise.
+       (*ashrqi3_cmp): Likewise.
+       (*ashrqi3_cconly): Likewise.
+       (*lshrdi3_cmp_rex64): Likewise.
+       (*lshrdi3_cconly_rex64): Likewise.
+       (*lshrsi3_cmp): Likewise.
+       (*lshrsi3_cconly): Likewise.
+       (*lshrsi3_cmp_zext): Likewise.
+       (*lshrhi3_cmp): Likewise.
+       (*lshrhi3_cconly): Likewise.
+       (*lshrqi2_cmp): Likewise.
+       (*lshrqi2_cconly): Likewise.
+
+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.
+       (stzx_16): Likewise.
+       ("stzx_24_<mode>"): Likewise.
+       ("stzx_reversed_<mode>"): Likewise, and make mode-specific.
+       ("cmp<mode>_op"): New.
+       (cmp<mode>): Change to expander; just save operands.
+       (b<code>_op): New.
+       (b<code>): Change to expander, emit compare here.
+       (s<code>_op): Change to use split and expander.
+       (s<code>_24_op): Likewise.
+       (s<code>_<mode>): New.
+       (s<code>_<mode>_24): New.
+       (movqicc_<code>_<mode): New.
+       (movhicc_<code>_<mode>): New.
+       (s<code>): New.
+       (s<code>_24): New.
+       * config/m32c/m32c.c (compare_op0, compare_op1): New.
+       (m32c_pend_compare): New.
+       (m32c_unpend_compare): New.
+       (m32c_expand_scc): New.
+       (m32c_expand_movcc): Emit the compare also.
+       * config/m32c/predicates.md (mra_nopp_operand): New.
+
 2006-09-01  J"orn Rennecke  <joern.rennecke@st.com>
        Richard Guenther  <rguenther@suse.de>
        Adam Nemet  <anemet@caviumnetworks.com>
 
        PR other/22313
        * dwarf2out.c (add_fde_cfi): Use a set_loc if the current label is
-       NULL, otherwise use an advance_loc4 to adjust relative to the 
+       NULL, otherwise use an advance_loc4 to adjust relative to the
        current label.
        (output_cfi) <DW_CFA_set_loc>: Update the current label.
        (dwarf2out_switch_text_section): Reset the current label to avoid
 2006-08-24  Bill Wendling  <wendling@apple.com>
 
        * doc/tm.texi (TARGET_DEFAULT_PACK_STRUCT): Fixed English.
-       
+
 2006-08-24  Jan Hubicka  <jh@suse.cz>
 
        * reload1.c (emit_reload_insns): Fix yet another typo in my patch.
        * gimplify.c (gimplify_init_constructor) <RECORD,UNION,ARRAY types>:
        Arrange for the temporary captures of components overlapping the lhs
        to happen before the lhs is possibly cleared.
-       
+
 2006-08-21  Mark Shinwell  <shinwell@codesourcery.com>
 
        * config/arm/pr-support.c (__gnu_unwind_execute): Insert " + 1" in
 
        PR c++/28573
        * c-common.c (fold_offsetof_1): Add an argument and recurse down to it
-       or the INTEGER_CST.  Fail on a CALL_EXPR. 
+       or the INTEGER_CST.  Fail on a CALL_EXPR.
        (fold_offsetof): Pass new argument to fold_offsetof_1.
        * c-parser.c (c_parser_postfix_expression): Don't include a NULL
-       operand into an INDIRECT_REF. 
+       operand into an INDIRECT_REF.
        * c-typeck.c (build_unary_op): Adjust call to fold_offsetof.
 
 2006-08-16  Zdenek Dvorak <dvorakz@suse.cz>
        * rtl.h (UINTVAL) New.
        * config/rs6000/rs6000.c (SMALL_INT) Use it.
        * testsuite/gcc.dg/20060801-1.c: New.
-       
+
 2006-08-01  Daniel Jacobowitz  <dan@codesourcery.com>
 
        PR debug/23336