OSDN Git Service

2007-11-14 Sebastian Pop <sebastian.pop@amd.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6dc7fed..cf9b33e 100644 (file)
@@ -1,3 +1,222 @@
+2007-11-14  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Remove
+       unused edges after loop duplication.
+
+2007-11-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.h (TARGET_CPU_DEFAULT_*): Substitute with ...
+       (enum target_cpu_default): ... this enum.
+       (TARGET_CPU_DEFAULT_NAMES): Remove macro.  Move initializer to ...
+       * config/i386/i386.c (override_options): ... here.
+       * config/i386/i386-interix.h (TARGET_CPU_DEFAULT): Use
+       TARGET_CPU_DEFAULT_i486.
+
+2007-11-14  Rask Ingemann Lambertsen  <rask@sygehus.dk>
+
+       * global.c (rest_of_handle_global_alloc): Fix comment typos.
+       * config/sh/sh.c (sh_rtx_costs): Likewise.
+       * ChangeLog: Likewise.
+
+2007-11-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-chrec.h (build_polynomial_chrec): RHS of a chrec
+       should not be of pointer type.
+
+2007-11-13  Michael Meissner  <michael.meissner@amd.com>
+
+       * config/i386/i386.c (ix86_sse5_valid_op_p): Put type on separate
+       line.
+
+2007-11-13  Sterling Augustine  <sterling@tensilica.com>
+           Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/unwind-dw2-xtensa.c: New.
+       * config/xtensa/unwind-dw2-xtensa.h: New.
+       * config/xtensa/xtensa.h (MUST_USE_SJLJ_EXCEPTIONS): Remove.
+       (DWARF2_UNWIND_INFO): Remove.
+       (DWARF_FRAME_REGISTERS): Define.
+       (EH_RETURN_DATA_REGNO): Define.
+       * config/xtensa/xtensa.md (UNSPECV_EH_RETURN): Define.
+       (eh_return): New.
+       * config/xtensa/t-xtensa (LIB2ADDEH): Define.
+       
+2007-11-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * doc/invoke.texi: Fix description of -fsched-stalled-insns=0,
+       -fsched-stalled-insns.
+
+       PR tree-optimization/34063
+       * tree-chrec.c (chrec_evaluate): Put CHREC_LEFT based argument
+       as first chrec_fold_plus operand rather than second.
+
+2007-11-13  Diego Novillo  <dnovillo@google.com>
+
+       PR tree-optimization/33870
+       * tree.h (strcut tree_memory_tag): add field unpartitionable.
+       remove field in_nested_struct.
+       (struct tree_struct_field_tag): add field nesting_level.
+       (sft_in_nested_struct): remove.
+       (sft_nesting_level): define.
+       (sft_unpartitionable_p): define.
+       * tree-ssa-alias.c (mem_sym_score): if mp->var is not
+       partitionable, return long_max.
+       (compute_memory_partitions): do not partition sfts marked
+       unpartitionable.
+       (create_sft): add argument nesting_level.  set
+       sft_nesting_level with it.  update all users.
+       (create_overlap_variables_for): show nesting level.
+       * tree-dfa.c (dump_subvars_for): likewise.
+       (dump_variable): likewise.
+       show whether the sft is partitionable or not.
+       * tree-flow.h (struct fieldoff): remove field
+       in_nested_struct.
+       add field nesting_level.
+       * tree-ssa-structalias.c (struct variable_info): remove
+       field in_nested_struct.
+       (push_fields_onto_fieldstack): add argument
+       nesting_level.  update all users.
+       update documentation.
+       update pair->nesting_level with nesting_level.
+       make recursive calls with nesting_level + 1.
+       (set_uids_in_ptset): if an sft is added to the points-to
+       set, mark it as unpartitionable.
+       * tree-ssa-operands.c (ref_nesting_level): new.
+       (add_vars_for_offset): call it.
+       add argument full_ref.  update
+       callers.
+       if var is inside a nested structure and the nesting level
+       of full_ref is lower than the nesting level of var,
+       adjust offset by the offset of var.
+
+2007-11-13  Victor Kaplansky  <victork@il.ibm.com>
+
+       PR tree-optimization/32582
+       * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-tree-vectorize
+
+2007-11-12  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * doc/extend.texi (dllimport): Document that pointers to dllimport'd
+       functions can be used as constant.
+
+2007-11-12  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/34035
+       * cse.c (cse_cfg_altered): New global variable.
+       (cse_jumps_altered): Make boolean.
+       (recorded_label_ref): Likewise.
+       (cse_insn): Adjust for above changes.
+       (cse_extended_basic_block): Likewise.  Set cse_cfg_altered
+       if dead edges have been purged.
+       (cse_main): Change return value specification and adjust code.
+       (rest_of_handle_cse): Adjust for above change.
+       (rest_of_handle_cse2): Likewise.
+       * gcse.c (rest_of_handle_gcse): Likewise.
+
+2007-11-12  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
+           Michael Meissner  <michael.meissner@amd.com>
+
+       * config/i386/i386.md (sse5_setcc<mode>): Use <ssemodefsuffix> to
+       get the appropriate suffix for the coms* instruction.
+       (sse5_pcmov_<mode>): Restrict operands of pcmov
+       for scalar case to be only xmm registers and not memory.
+
+       * config/i386/sse.md (sse5_pcmov_<mode>): Correct the operand
+       constraints to follow the mnemonics for the pcmov instruction   
+
+2007-11-12  Richard Sandiford  <rsandifo@nildram.co.uk>
+
+       PR target/34042
+       * config/mips/mips.c (mips_return_fpr_single): New function.
+       (mips_function_value): Use it when returning single-field
+       aggregates in FPRs.
+       (mips_expand_call): Handle the PARALLELs created by
+       mips_return_fpr_single.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34070
+       * fold-const.c (fold_binary): If testing for non-negative
+       operands with tree_expr_nonnegative_warnv_p make sure to
+       use op0 which has all (sign) conversions retained.
+
+2007-11-12  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/34027
+       * fold-const.c (fold_binary): Fold n - (n / m) * m to n % m.
+       (fold_binary): Fold unsinged FLOOR_DIV_EXPR to TRUNC_DIV_EXPR.
+
+2007-11-12  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/33953
+       * tree-vect-transform.c (vectorizable_operation): In case of SLP,
+       allocate vec_oprnds1 according to the number of created vector
+       statements. In case of shift with scalar argument, store scalar operand
+       for every vector statement to be created for the SLP node. Fix a
+       comment.
+
+2007-11-10  Steven Bosscher  <stevenb.gcc@gmail.com>
+
+       * gcse.c (CUID_INSN): Remove.
+       (cuid_insn): Ditto.
+       (alloc_gcse_mem): Don't allocate cuid_insn.
+       (free_gcse_mem): Don't free cuid_insn.
+
+2007-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/34020
+       * gimplify.c (goa_lhs_expr_p): Inside INDIRECT_REF handle unshared
+       nops.
+
+       PR middle-end/34018
+       * tree-inline.h (copy_body_data): Add regimplify field.
+       * tree-inline.c (copy_body_r): Set id->regimplify to true
+       if an TREE_INVARIANT ADDR_EXPR is no longer invariant after
+       substitutions.
+       (copy_bb): Clear id->regimplify before walk_tree, if it is
+       set afterwards, regimplify the whole statement.
+
+       PR tree-optimization/33680
+       * tree-data-ref.c (split_constant_offset) <case ADDR_EXPR>: Punt
+       if the added cast involves variable length types.
+
+2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
+           Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * sched-deps.c (sched_analyze_insn): Use MOVE_BARRIER
+       instead of TRUE_BARRIER for jumps.  Add register dependencies
+       even when reg_pending_barrier is set.
+
+2007-11-09  Alexander Monakov  <amonakov@ispras.ru>
+
+       * haifa-sched.c (haifa_classify_insn): Rename to ...
+       (haifa_classify_rtx): ...  this.  Improve handling of COND_EXECs,
+       handle PARALLELs by recursing.  Use it ...  
+       (haifa_classify_insn): ...  here.  Reimplement.
+
+2007-11-09  Richard Guenther  <rguenther@suse.de>
+
+       * bitmap.h (bitmap_single_bit_set_p): Declare.
+       * bitmap.c (bitmap_single_bit_set_p): New function.
+       * tree-ssa-alias.c (add_may_alias_for_new_tag): Use it.
+       (maybe_create_global_var): Use bitmap_empty_p.
+
+2007-11-09  Paolo Bonzini  <bonzini@gnu.org>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/34012
+       * fwprop.c (try_fwprop_subst): Do not replace if the new
+       SET_SRC has a higher cost than the old one.
+
+2007-11-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR rtl-optimization/33732
+       * reload.c (push_reload): Check that the REG_DEAD note was referring
+       to a hardreg or to a pseudo that has been assigned exactly one hardreg
+       before considering it in order to select the reload register.
+       (combine_reloads): Likewise.
+       (find_dummy_reload): Likewise.
+
 2007-11-09  Richard Guenther  <rguenther@suse.de>
 
        * tree-flow.h (struct ptr_info_def): Make escape_mask a
 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        PR middle-end/33826
-       * ipa-pure-const (static_execute): Added code to keep recursive
+       * ipa-pure-const.c (static_execute): Added code to keep recursive
        functions from being marked as pure or const.
-       * ipa-utils (searchc): Fixed comment.
+       * ipa-utils.c (searchc): Fixed comment.
                
 2007-11-08  Tom Tromey  <tromey@redhat.com>
 
 
 2007-11-07  Kenneth Zadeck <zadeck@naturalbridge.com>
 
-        * common.opt: Add pointer to doc/options.texi.
-        * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
-        -fipa-reference): Add or correct doc.  Sorted options list for -Os
-        -O, -O2.
-       
-2007-11-07  <aldot@gcc.gnu.org>  Bernhard Fischer
+       * common.opt: Add pointer to doc/options.texi.
+       * doc/invoke.texi (-fdse, -fdce, -fauto-inc-dec, -fipa-pure-const,
+       -fipa-reference): Add or correct doc.  Sorted options list for -Os
+       -O, -O2.
+
+2007-11-07  Bernhard Fischer  <aldot@gcc.gnu.org>
 
        PR target/16350
        * config.gcc: For arm*b-* define TARGET_BIG_ENDIAN_DEFAULT.
        * config/arm/linux-eabi.h (TARGET_LINKER_EMULATION): Set according
        to TARGET_BIG_ENDIAN_DEFAULT.
        (SUBTARGET_EXTRA_LINK_SPEC): Likewise.
-       * gcc/config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according
+       * config/arm/bpabi.h (TARGET_DEFAULT_MASK): Set according
        to TARGET_BIG_ENDIAN_DEFAULT.
 
 2007-11-07  Diego Novillo  <dnovillo@google.com>
        (struct data_arg): Remove.
        (add_field_for_reduction, create_stores_for_reduction): New functions.
        (add_field_for_name): Remove reduction handling.
-       (separate_decls_in_loop): Call add_field_for_reduction, 
+       (separate_decls_in_loop): Call add_field_for_reduction,
        create_stores_for_reduction.
 
 2007-11-06  Jakub Jelinek  <jakub@redhat.com>
        * modulo-sched.c (sms_schedule): Add DF_UD_CHAIN problem.
 
 2007-10-29  Razya Ladelsky  <razya@il.ibm.com>
-            Zdenek Dvorak  <ook@ucw.cz>
+           Zdenek Dvorak  <ook@ucw.cz>
 
        OMP_ATOMIC Changes,
        reduction support for automatic parallelization.
        * config/m68k/m68k.md (cmp<mode>, cmp<mode>_68881, cmp<mode>_cf):
        Cleanup predicates to relieve reload.
        (conditional_trap): Reject conditional trap with fp condition.
-       * gcc/config/m68k/predicates.md (fp_src_operand): New, reject
+       * config/m68k/predicates.md (fp_src_operand): New, reject
        certain constants early.
 
 2007-09-24  Roman Zippel <zippel@linux-m68k.org>
 
-       * gcc/final.c (final_scan_insn): Remove accidentally duplicated code.
+       * final.c (final_scan_insn): Remove accidentally duplicated code.
 
 2007-09-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>
 
 
 2007-09-19  Michael Meissner  <michael.meissner@amd.com>
 
-       * gcc/config/i386/i386.c: Delete trailing whitespace.
-       * gcc/config/i386/i386.h: Ditto.
-       * gcc/config/i386/bmmintrin.h: Ditto.
-       * gcc/config/i386/sync.md: Ditto.
-       * gcc/config/i386/ppro.md: Ditto.
-       * gcc/config/i386/mmx.md: Ditto.
-       * gcc/config/i386/constraints.md: Ditto.
-       * gcc/config/i386/sse.md: Ditto.
-       * gcc/config/i386/athlon.md: Ditto.
-       * gcc/config/i386/i386.md: Ditto.
+       * config/i386/i386.c: Delete trailing whitespace.
+       * config/i386/i386.h: Ditto.
+       * config/i386/bmmintrin.h: Ditto.
+       * config/i386/sync.md: Ditto.
+       * config/i386/ppro.md: Ditto.
+       * config/i386/mmx.md: Ditto.
+       * config/i386/constraints.md: Ditto.
+       * config/i386/sse.md: Ditto.
+       * config/i386/athlon.md: Ditto.
+       * config/i386/i386.md: Ditto.
 
 2007-09-21  Richard Guenther  <rguenther@suse.de>
 
 2007-09-10  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/33369
-       * gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
+       * config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
        Use 'N' operand constraint for op2.
        (lshr<mode>3): Ditto.
        (ashl<mode>3): Ditto.
        (vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
        (vec_shr_<mode>): Ditto.
-       * gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
+       * config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
        IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.
 
 2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
 
 2007-09-05  Uros Bizjak  <ubizjak@gmail.com>
 
-       * gcc/config/i386/cpuid.h: New file.
-       * gcc/config/i386/driver-i386.c: Include cpuid.h.
+       * config/i386/cpuid.h: New file.
+       * config/i386/driver-i386.c: Include cpuid.h.
        (describe_cache): Shrink size and line strings to 100 bytes.
        (detect_caches_amd): Return "" for unsupported max_ext_level.
        Use __cpuid function.
        [PROCESSOR_K8]: Add k8-sse3 architecture.
        [PROCESSOR_NOCONA]: Remove.
        [PROCESSOR_GENERIC64]: Ditto.
-       * gcc/config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
-       * gcc/config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
+       * config/i386/x-i386 (driver-i386.o): Depend on cpuid.h.
+       * config/i386/crtfastmath.c: Include cpuid.h.  Use __get_cpuid
        to check for SSE and FXSAVE support.
-       * gcc/config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
+       * config/i386/t-crtfm (crtfastmath.o): Depend on cpuid.h.
        Add -minline-all-stringops.
-       * gcc/config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
+       * config.gcc (i[34567]86-*-*): Add cpuid.h to extra_headers.
        (x86_64-*-*): Ditto.
 
 2007-09-05  Jie Zhang  <jie.zhang@analog.com>
 
 2007-08-29  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
-       * gcc/builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
-       * gcc/builtins.def (BUILT_IN_REALLOC): New builtin.
+       * builtin-types.def (BT_FN_PTR_PTR_SIZE): New type.
+       * builtins.def (BUILT_IN_REALLOC): New builtin.
 
 2007-08-29  Douglas Gregor  <doug.gregor@gmail.com>
 
 2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>
            Kazu Hirata  <kazu@codesourcery.com>
 
-       * gcc/config/m68k/linux.h
+       * config/m68k/linux.h
        (M68K_HONOR_TARGET_STRICT_ALIGNMENT): Redefine as 0.
        * config/m68k/m68k.c (TARGET_RETURN_IN_MEMORY): New.
        (m68k_return_in_memory): New.
-       * gcc/config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
+       * config/m68k/m68k.h (M68K_HONOR_TARGET_STRICT_ALIGNMENT):
        New.
 
 2007-08-28  Uros Bizjak  <ubizjak@gmail.com>
        * params.def (PARAM_VECT_MAX_VERSION_FOR_ALIGNMENT_CHECKS):
        Rename.
        (PARAM_VECT_MAX_VERSION_FOR_ALIAS_CHECKS): Define.
-       * gcc/doc/invoke.texi
+       * doc/invoke.texi
        (vect-max-version-for-alignment-checks): Document.
        (vect-max-version-for-alias-checks): Document.
        (vect-max-version-checks): Remove.
-     
+
 2007-08-16  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (*rep_movdi_rex64): Emit "rep" prefix on
 
 2007-07-27  Douglas Gregor  <doug.gregor@gmail.com>
        
-       * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
+       * c-common.h (enum rid): Add RID_DECLTYPE, update RID_LAST_CXX0X.
 
 2007-07-26  Kenneth Zadeck <zadeck@naturalbridge.com>
 
        and adjust recursive call accordingly.
        (prescan_insns_for_dce): Update call to delete_insn_p.
 
-2007-06-30  Rask Ingemann Lambertsen <rask@sygehus.dk>
+2007-06-30  Rask Ingemann Lambertsen  <rask@sygehus.dk>
 
        * combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
        (try_combine): Move potential calls to undo_all() so they happen
        before we commit to using the combined insns.
 
-2006-06-30  Jan Hubicka  <jh@suse.cz>
+2007-06-30  Jan Hubicka  <jh@suse.cz>
 
        * loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit
        code.
 
-2006-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
+2007-06-30  Thomas Neumann  <tneumann@users.sourceforge.net>
 
        * ipa.c (cgraph_postorder): Cast according to the coding conventions.
        (cgraph_remove_unreachable_nodes): Likewise.
 
 2007-06-13  Dave Korn  <dave.korn@artimi.com>
 
-       * config/i386/i386.c (ix86_eax_live_at_start_p): Use
-       df_get_live_out.
+       * config/i386/i386.c (ix86_eax_live_at_start_p): Use df_get_live_out.
 
 2007-06-13  Kazu Hirata  <kazu@codesourcery.com>
 
 
 2007-06-12  Seongbae Park  <seongbae.park@gmail.com>
 
-       * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
-       to the exit block use set.
-       (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
-       * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
-       * config/sparc/sparc.c (sparc_check_64): Check df != NULL.
+       * df-scan.c (df_get_exit-block_use_set): Always add the stack pointer
+       to the exit block use set.
+       (df_insn_delete, df_insn_rescan): Fixed spelling of "deferring". 
+       * gcse.c (cpro_jump): Don't emit barrier in cfglayout mode.
+       * config/sparc/sparc.c (sparc_check_64): Check df != NULL.
 
 2007-06-12  Seongbae Park  <seongbae.park@gmail.com>