OSDN Git Service

* config/rs6000/rs6000.c (rs6000_emit_epilogue): Correct
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d275fbb..86eec53 100644 (file)
@@ -1,3 +1,419 @@
+2007-10-17  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_emit_epilogue): Correct
+       altivec sp_offset.  Rearrange sp_offset assignments to
+       correspond to stack adjustments.  Use frame_reg_rtx for
+       SPE register restores.  Correct SPE stack adjustment.
+
+2007-10-17  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * builtins.c (gimplify_va_arg_expr): Use inform for help message.
+       * toplev.c (check_global_declaration_1): Use appropriate warning
+       option instead of unnamed warning.
+       * stor-layout.c (layout_decl): Likewise.
+       * c-typeck.c (build_conditional_expr): Likewise.
+       (build_compound_expr): Fix wrong comment.
+       (build_binary_op): Use appropriate warning option instead of
+       unnamed warning.
+       * cfgexpand.c (tree_expand_cfg): Likewise.
+       * tree-optimize.c (tree_rest_of_compilation): Likewise.
+       * tree-cfg.c (remove_useless_stmts_warn_notreached): Likewise.
+       (execute_warn_function_return): Likewise.
+       * stmt.c (warn_if_unused_value): Likewise.
+
+2007-10-16  Eric B. Weddington  <eweddington@cso.atmel.com>
+
+       * config/avr/avr.c (avr_mcu_types): Add at90pwm216, at90pwm316.
+       * config/avr/avr.h (LINK_SPEC): Likewise and remove regex for
+       similar devices.
+       (CRT_BINUTILS_SPECS): Likewsie.
+       * config/avr/t-avr (MULTILIB_MATCHES): Likewise.
+
+2007-10-16  Amruth Laxman  <amruth.laxman@nsn.com>
+
+       PR target/33594
+       * config/sparc/sparc.h (LOCAL_ALIGNMENT): Define.
+
+2007-10-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * dce.c (init_dce): Only initialize the obstacks for the fast pass.
+       (fini_dce): Only release them for the fast pass.
+       (end_ud_dce): Delete.
+       (rest_of_handle_ud_dce): Do not modify df_in_progress.
+       Call fini_dce instead of end_ud_dce.
+       (rest_of_handle_fast_dce): Do not modify df_in_progress.
+       (run_fast_df_dce): Reset df_in_progress to false on exit.
+
+2007-10-16  Paolo Bonzini  <bonzini@gnu.org>
+           Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * target.h (unspec_may_trap_p): New target hook.
+       * target-def.h (TARGET_UNSPEC_MAY_TRAP_P): New macro.
+       * targhooks.c (default_unspec_may_trap_p): Default implementation of
+       the hook.
+       * targhooks.h (default_unspec_may_trap_p): Declare it.
+       * doc/tm.texi (TARGET_UNSPEC_MAY_TRAP_P): Document new hook.
+       * rtlanal.c (may_trap_p_1): Use new hook.  Make global.
+       * rtl.h (may_trap_p_1): Declare.
+       
+       * config/ia64/ia64.c (ia64_unspec_may_trap_p): New function to
+       override default hook implementation.
+       (TARGET_UNSPEC_MAY_TRAP_P): Override default implementation of the
+       hook.
+
+2007-10-16  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * doc/invoke.texi (Wextra): Move it just after Wall, list the
+       options enabled by Wextra and mention Wuninitialized.
+       
+2007-10-15  Nigel Stephens  <nigel@mips.com>
+
+       * config/mips/mips.h (LOCAL_ALIGNMENT): Define.
+
+2007-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33136
+       * opts.c (decode_options): Don't enable flag_ipa_type_escape.
+
+2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/33735
+       PR tree-optimization/33572
+       * tree-inline.c (update_ssa_across_abnormal_edges): Revert
+       2007-10-09's change.
+       * except.c (duplicate_eh_regions): Don't look for prev_try
+       beyond ERT_ALLOWED_EXCEPTIONS with an empty list.
+
+2007-10-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/33706
+       * tree-inline.c (copy_bb): Use bsi_replace to replace a
+       __builtin_va_arg_pack-containing call stmt.
+
+2007-10-15  Razya Ladelsky  <razya@il.ibm.com>
+
+        * matrix-reorg.c (gate_matrix_reorg): Don't comment out whole
+        program flag.
+
+2007-10-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33619
+       * tree-ssa-ter.c (is_replaceable_p): Return false for all
+       calls.
+
+2007-10-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * config.gcc (powerpc-ibm-aix5*): Install altivec.h.
+
+2007-10-15  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (extract_array_ref): Remove.
+       (fold_comparison): Handle POINTER_PLUS_EXPR with the
+       generic address expression comparison folding.  Remove
+       the folding that used extract_array_ref.
+
+2007-10-15  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       PR target/33133
+       * haifa-sched.c (process_insn_forw_deps_be_in_spec): Check if
+       speculation type of insn can be changed before trying to do that.
+
+2007-10-15  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * dse.c (struct insn_info): Add 'frame_read' field.
+       (scan_insn): For the call to a const function, set frame_read if
+       reload has been run.
+       If the insn reads the frame, kill the frame related stores.
+       (scan_reads_nospill): Likewise.
+
+2007-10-14  Jason Merrill  <jason@redhat.com>
+
+       * tree-eh.c (optimize_double_finally): Don't assume that the
+       cleanup we're duplicating is only one statement.
+
+2007-10-14  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/fixed-bit.c, config/i386/cpuid.h, config/i386/i386.c,
+       config/i386/i386.md, config/i386/sse.md, function.c, jump.c,
+       modulo-sched.c, ra-conflict.c, toplev.c, tree-eh.c, tree-sra.c,
+       tree-ssa-dse.c, tree-vect-analyze.c, tree-vect-patterns.c,
+       tree-vect-transform.c: Fix comment typos.
+       * doc/extend.texi: Fix a typo.
+
+       * c-common.h: Remove the prototype for c_expand_body.
+       * c-tree.h: Remove the prototype for c_disregard_inline_limits.
+       * tree.h: Remove the prototype for fold_build_call_expr.
+
+       * c-objc-common.h (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN):
+       Remove.
+       * c-tree.h: Remove the prototype for c_cannot_inline_tree_fn.
+
+2007-10-13  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/aix53.h: New file.
+       * config/rs6000/aix{41,43,51,52}.h (TARGET_ALTIVEC): Define to 0.
+       (TARGET_ALTIVEC_ABI): Same.
+       * config/rs6000/aix.h (TARGET_ALTIVEC): Delete.
+       (TARGET_ALTIVEC_ABI): Delete.
+       * config.gcc (powerpc-ibm-aix5*): Rename to aix5.2.  Add new
+       stanza defaulting to aix5.3.
+
+2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/i386/i386.md (SI_REG, DI_REG): New constants.
+       (strmov): Use defined constants.
+       (cmpstrnsi): Likewise.
+       * config/i386/i386.c (decide_alg): Use defined constants.
+       (ix86_expand_strlen): Likewise.
+
+2007-10-12  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       * dse.c (find_shift_sequence): Reinstate "<= UNITS_PER_WORD" condition.
+       * var-tracking.c (micro_operation_def): Update comment on u.loc.
+       (mode_for_reg_attrs, var_lowpart): New functions.
+       (add_uses): Consider recording a lowpart of LOC for MO_USE.
+       (add_stores): Likewise MO_SET and MO_COPY.  If the source of a set
+       or copy is known, set LOC to the SET that performs the set, instead
+       of the destination.
+       (find_src_status, find_src_set_src): Remove LOC parameter.
+       Replace INSN with the source value.
+       (compute_bb_dataflow, emit_notes_in_bb): Check for a SET u.loc when
+       handling MO_SET and MO_COPY.  Update the calls to find_src_status
+       and find_src_set_src.
+
+2007-10-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR 11001
+       * config/i386/i386.md (strmov): Check for esi and edi usage.
+       * config/i386/i386.c (decide_alg): Check whether we can use a
+       rep prefix and adjust algorithm choice accordingly.
+       (ix86_expand_strlen): Check for eax, ecx, and edi usage.
+
+2007-10-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/c4x/c4x.md (mulqi3, mulhi3): Use optab_libfunc.
+
+2007-10-12  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       * global.c (build_insn_chain): Formatting fixes.
+
+2007-10-12  Richard Guenther <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_into_cond): For
+       combining both operands require either both have single uses
+       or combining to a constant.
+
+2007-10-12  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/26198
+       * tree-ssa-forwprop.c (can_propagate_from): Do not propagate from
+       a rhs with side-effects or which is a load.
+       (forward_propagate_into_cond): Also try combining both operands.
+
+2007-10-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/33742
+       * tree-vect-transform.c (vectorizable_operation): Return false
+       if get_vectype_for_scalar_type for scalar_dest can't be determined.
+       (vectorizable_call): Same for rhs_type and lhs_type.
+
+2007-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/33645
+       * tree-ssa-live.c (mark_all_vars_used): Add data argument,
+       pass it to walk_tree.
+       (mark_all_vars_used_1): Pass data through to mark_all_vars_used.
+       When calling set_is_used on a VAR_DECL, if data is not NULL and
+       its DECL_UID is in the bitmap, call mark_all_vars_used on its
+       DECL_INITIAL after clearing the bit in bitmap.
+       (remove_unused_locals): Adjust mark_all_vars_used callers.
+       Instead of removing unused global vars from unexpanded_var_list
+       immediately record them in bitmap, call mark_all_vars_used on
+       all used global vars from unexpanded_var_list and only purge
+       global vars that weren't found used even during that step.
+2007-10-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * gthr-posix.h (__gthread_active_init): Create detached instead of
+       joinable thread when testing whether threads are active on hppa-hpux.
+       * gthr-posix95.h (__gthread_active_init): Likewise.
+
+2007-10-11  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       PR middle-end/33676
+       * global.c (build_insn_chain): Include insn that occur between
+       basic blocks.
+       
+2007-10-11  Tom Tromey  <tromey@redhat.com>
+
+       * gengtype-yacc.y: Delete.
+
+2007-10-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (AX_REG, DX_REG, CX_REG): New constants.
+       * config/i386/i386.c (ix86_function_arg_regno_p, function_arg_32,
+       function_value_32, function_value_64, function_value_ms_64,
+       setup_incoming_varargs_64, ix86_expand_prologue, ix86_expand_call,
+       legitimize_tls_address, x86_this_parameter, x86_output_mi_thunk):
+       Use new constants.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+       * gcse.c (hash_scan_set): If the next nonnote insn is in
+       a different basic block insert the set.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33724
+       * tree-cfg.c (one_pointer_to_useless_type_conversion_p): New function.
+       (verify_gimple_expr): Use it to verify pointer-to types for
+       ADDR_EXPRs.
+
+2007-10-11  Richard Guenther  <rguenther@suse.de>
+
+       PR c/33726
+       * c-typeck.c (build_array_ref): Do not strip qualifiers from
+       the array element type.
+
+2007-10-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/33638
+       * dse.c (struct insn_info): Remove 'stack_read' field,
+       add 'stack_pointer_based' field.
+       (record_store): For a store with non-constant base, record
+       whether it is stack pointer based.
+       (scan_insn): For the call to a const function, remove stack
+       pointer based stores from the list of local active stores.
+       (scan_reads_nospill): Delete code dealing with const functions.
+
+2007-10-10  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * ra-conflict.c (partial_bitnum, max_bitnum): Change type of variables
+       to HOST_WIDE_INT.
+       (conflict_p, set_conflict, set_conflicts): Likewise.
+       * global.c (global_alloc): Likewise.
+       * ra.h: Update prototypes.
+
+2007-10-10  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       * opth-gen.awk: Fixed generation of comment stating the origin
+          of options.h
+
+2007-10-10  Kazu Hirata  <kazu@codesourcery.com>
+
+       Revert:
+       2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+       * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+       and '%}', respectively.
+
+       Revert:
+       2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+       * config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+       * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+       and '}'.
+       * config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+       meant to be output.
+
+       Revert:
+       2007-10-07  Kazu Hirata  <kazu@codesourcery.com>
+       * config/m68k/m68k.c, config/m68k/m68k.md: Use the assembly
+       syntax for ASSEMBLER_DIALECT.
+       * config/m68k/m68k.h (ASSEMBLER_DIALECT): New.
+
+2007-10-10  Revital Eres  <eres@il.ibm.com>
+
+       * modulo-sched.c (check_nodes_order): Dump the final order of
+       the nodes.
+       (get_sched_window): Add dump info.
+       (calculate_order_params): Dump order params of the nodes.
+
+2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       PR middle-end/33669
+       * ra-conflict.c (record_one_conflict_between_regnos, 
+       set_conflicts_for_earlyclobber, global_conflicts): Improved logging.
+       (global_conflicts): Enhanced incorrect check.
+       
+2007-10-09  Geoffrey Keating  <geoffk@apple.com>
+
+       * dwarf2out.c (output_call_frame_info): FDEs are always emitted
+       if flag_exceptions is not set.
+       * config/darwin.c (darwin_emit_unwind_label): Rewrite to use
+       assemble_name rather than incorrectly emulating it.
+
+       * doc/extend.texi (Deprecated Features): Mention that <? and >? and
+       friends are removed from G++.
+
+2007-10-09  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
+
+       * c-opts.c (c_common_handle_option): -Wnontemplate-friend,
+       -Wwrite-strings and -Wmultichar are enabled by default, so Wall
+       enabling them is redundant. Don't check two times for
+       c_dialect_cxx.
+       
+2007-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * ra-conflict.c (record_one_conflict_between_regnos): Revert
+       the last change.
+       (set_conflicts_for_earlyclobber): Likewise.
+       (global_conflicts): Likewise.
+
+2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+
+       * longlong.h (count_leading_zeros): Replace '{' and '}' with '%{'
+       and '%}', respectively.
+
+2007-10-09  Kazu Hirata  <kazu@codesourcery.com>
+
+       * config/m68k/m68k.c (print_operand): Handle '{' and '}'.
+       * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '{'
+       and '}'.
+       * config/m68k/m68k.md: Replace '{' with '%{' where '{' is
+       meant to be output.
+
+2007-10-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/33692
+       * gimplify.c (canonicalize_component_ref): Honor qualifiers
+       of referenced structure and component.
+
+2007-10-09  Kenneth Zadeck <zadeck@naturalbridge.com>
+
+       PR middle-end/33669
+       * ra-conflict.c (record_one_conflict_between_regnos,
+       set_conflicts_for_earlyclobber, global_conflicts): Improved
+       logging.
+       (global_conflicts): Removed incorrect check.
+
+2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR tree-optimization/33615
+       * tree-ssa-pre.c (compute_avail): Don't call make_values_for_stmt
+       if the statement might throw.  Fix formatting.
+
+2007-10-09  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR tree-optimization/33615
+       * tree-ssa-loop-im.c (movement_possibility): Return MOVE_IMPOSSIBLE
+       if the rhs might throw.
+
+2007-10-09  Jan Hubicka  <jh@suse.cz>
+
+       * invoke.texi (align-threshold, align-loop-iterations): Document.
+       * final.c: Include cfgloop.h, params.h
+       (compute_alignments): Dump decisions and compare them with loop
+       structure; honor given parameters.
+       (pass_compute_alignments): New dump file.
+       * params.def (PARAM_ALIGN_THRESHOLD, PARAM_ALIGN_LOOP_ITERATIONS): New.
+       * Makefile.in (final.o): Add dependency on cfgloop.h and params.h
+
+2007-10-09  James E. Wilson  <wilson@specifix.com>
+
+       PR tree-optimization/33655
+       PR middle-end/22156
+       * tree-sra.c (bitfield_overlaps_p): When fld->element is INTEGER_CST,
+       convert it to bitsizetype before size_binop call.
+
 2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
 
        PR tree-optimization/33572
        * ra.h: New file.
        * reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
        usage to DF_LIVE usage.
+       (reload): Remove reference to df_get_live_top.
        * rtlanal.c (subreg_nregs_with_regno): New function.  
        * df-scan.c (df_def_record_1, df_uses_record): Add code to set
        DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.