OSDN Git Service

2006-12-02 H.J. Lu <hongjiu.lu@intel.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5145756..eebf3f8 100644 (file)
@@ -1,3 +1,341 @@
+2006-12-02  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/30040
+       * config/i386/driver-i386.c: Include "coretypes.h" and "tm.h".
+       (bit_SSSE3): New.
+       (host_detect_local_cpu): Check -mtune= vs. -march=. Rewrite
+       processor detection.
+
+       * config/i386/i386.h (CC1_CPU_SPEC): Add -mtune=native for
+       -march=native if there is no -mtune=*.
+
+       * config/i386/x-i386 (driver-i386.o): Also depend on $(TM_H)
+       coretypes.h.
+
+2006-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/install.texi: Update recommended MPFR version.  Remove
+       obsolete reference to cumulative patch.
+
+2006-12-02  Lee Millward  <lee.millward@codesourcery.com>
+
+       PR c/27953
+       * c-decl.c (store_parm_decls_oldstyle): Robustify.
+       
+2006-11-30  Jan Hubicka  <jh@suse.cz>
+           Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (pentium4_cost, nocona_cost): Update
+       32bit memcpy/memset decriptors.
+       (decide_alg): With -minline-all-stringops and sizes that are best
+       to be copied via libcall still work hard enough to pick non-libcall
+       strategy.
+
+2006-12-02  Kazu Hirata  <kazu@codesourcery.com>
+
+       * doc/extend.texi, doc/invoke.texi, doc/md.texi: Fix typos.
+
+       * builtins.c, cfgloop.h, cgraph.h, config/arm/arm.c,
+       config/i386/i386.c, config/i386/i386.h, config/mips/mips.h,
+       config/rs6000/cell.md, config/rs6000/rs6000.c, config/sh/sh.c,
+       config/sh/sh4-300.md, config/spu/spu-builtins.def,
+       config/spu/spu-c.c, config/spu/spu-modes.def,
+       config/spu/spu.c, config/spu/spu.md,
+       config/spu/spu_internals.h, config/spu/vmx2spu.h,
+       fold-const.c, fwprop.c, predict.c, tree-data-ref.h,
+       tree-flow.h, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
+       tree-ssa-pre.c, tree-vect-analyze.c, tree-vect-transform.c,
+       tree-vectorizer.c, tree-vrp.c: Fix comment typos.  Follow
+       spelling conventions.
+
+       * config/i386/i386.c: Fix a comment typo.
+
+2006-12-01  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/spu.c (spu_immediate): Remove trailing comma.
+       (reloc_diagnostic): Call warning when -mwarn-reloc is specified.
+       * config/spu/spu.md: (zero_extendhisi2): Expand instead of split for
+       better optimization.
+       (floatv4siv4sf2): New.
+       (fix_truncv4sfv4si2): New.
+       (floatunsv4siv4sf2): New.
+       (fixuns_truncv4sfv4si2): New.
+       (addv16qi3): New.
+       (subv16qi3): New.
+       (negv16qi2): New.
+       (mulv8hi3): New.
+       (mulsi3): Remove.
+       (mul<mode>3): New.
+       (_mulv4si3): New.
+       (cmp<mode>): Don't accept constant arguments for DI, TI and SF.
+       * config/spu/spu_internals.h: Handle overloaded intrinsics in C++ with
+       spu_resolve_overloaded_builtin instead of static inline functions.
+
+2006-12-01  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (fold_binary) <LT_EXPR>: Use the precision of the
+       type instead of the size of its mode to compute the highest and
+       lowest possible values.  Still check the size of the mode before
+       flipping the signedness of the comparison.
+
+2006-12-01  Trevor Smigiel  <trevor_smigiel@playstation.sony.com>
+
+       * config/spu/predicates.md (spu_mov_operand): Add.
+       * config/spu/spu.c (spu_expand_extv): Remove unused code.
+       (print_operand_address, print_operand): Handle addresses containing AND.
+       (spu_split_load, spu_split_store): Use updated movti pattern.
+       * config/spu/spu.md: (_mov<mode>, _movdi, _movti): Handle loads and
+       stores in mov patterns for correct operation of reload.
+       (lq, lq_<mode>, stq, stq_<mode>): Remove.
+
+2006-12-01  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c++/30021
+       * c-common.c (check_main_parameter_types): Check for error_mark_node.
+
+2006-12-01  Andrew MacLeod  <amacleod@redhat.com>
+
+       * common.opt (ftree-combine-temps): Remove.
+       * tree-outof-ssa.c (SSANORM_COMBINE_TEMPS): Remove.
+       (coalesce_ssa_name): Don't check for combine-temps.
+       (coalesce_vars): Remove.
+       (check_replaceable): Use num_imm_uses.
+       (remove_ssa_form, insert_backedge_copies, rewrite_out_of_ssa): Don't 
+       check for combine-temps.
+       (rewrite_out_of_ssa): Never create a ref_count in the var_map.
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Change parms
+       to register_ssa_partition calls.
+       * tree-ssa-live.c (register_ssa_partition): Remove prototype.
+       (init_var_map, delete_var_map): remove refernces to ref_count.
+       (create_ssa_var_map): Never calculate a ref count.
+       (type_var_init): Remove.
+       * tree-ssa-live.h (typedef struct _var_map): Remove ref_count.
+       (SSA_VAR_MAP_REF_COUNT): Delete.
+       (create_ssa_var_map): Change Prototype to have no parameters.
+       (version_ref_count): Delete.
+       (register_ssa_partition): Remove 'is_use' paramater and don't set the
+       ref_count vector.
+       (type_var_num, type_var, type_var_first_partition,
+       type_var_next_partition, type_var_dump, type_var_delete,
+       type_var_remove_partition, type_var_find, type_var_compact,
+       type_var_decompact): Remove.
+
+2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.md (pushsi_insn, popsi_insn): Set correct addrtype
+       attribute.
+
+2006-12-01  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/29433
+       * dwarf2out.c (struct pubname_struct): Make name const.
+       (add_pubtype): Do not xstrdup identifiers.
+
+2006-12-01  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/bfin.c (bfin_valid_add): Fix the logic that ensures
+       multiword accesses are in range.
+
+2006-12-01  Zdenek Dvorak <dvorakz@suse.cz>
+
+       PR tree-optimization/29921
+       * tree-ssa-ccp.c (canonicalize_float_value): New function.
+       (set_lattice_value): Use canonicalize_float_value.
+
+2006-11-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/spu/spu.c (spu_builtin_range): Move from spu-c.c
+       (TARGET_RESOLVE_OVERLOADED_BUILTIN): Delete.
+       (spu_cpu_cpp_builtins): Remove.
+       (spu_override_options): Don't set warn_main.
+       (spu_force_reg): Move from spu-c.c.
+       (spu_check_builtin_parm): Likewise.
+       (expand_builtin_args): Likewise.
+       (spu_expand_builtin_1): Likewise.
+       (spu_expand_builtin): Likewise.
+       * config/spu/spu.h (REGISTER_TARGET_PRAGMAS): Define, set
+       warn_main and targetm.resolve_overloaded_builtin.
+       * config/spu/spu-c.c (spu_builtin_range): Remove.
+       (spu_check_builtin_parm): Remove.
+       (expand_builtin_args): Remove.
+       (spu_expand_builtin_1): Remove.
+       (spu_expand_builtin): Remove.
+       (spu_cpu_cpp_builtins): Moved from spu.c
+       (spu_force_reg): Remove.
+
+2006-12-01  Joseph Myers  <joseph@codesourcery.com>
+            David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/24036
+       * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING,
+       HARD_REGNO_NREGS_WITH_PADDING): Document new target macros.
+       * defaults.h (HARD_REGNO_NREGS_HAS_PADDING,
+       HARD_REGNO_NREGS_WITH_PADDING): Define.
+       * config/i386/i386.h (HARD_REGNO_NREGS_HAS_PADDING,
+       HARD_REGNO_NREGS_WITH_PADDING): Define.
+       * rtlanal.c (subreg_regno_offset, subreg_offset_representable_p):
+       Use new macros to detect modes with holes; do not look at integer
+       units.
+       (subreg_offset_representable_p): Check for and disallow cases
+       where the modes use different numbers of bits from registers.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Handle TFmode
+       constant for soft-float.
+       (rs6000_hard_regno_nregs): Use UNITS_PER_FP_WORD for e500 GPRs
+       containing doubles.
+       (rs6000_split_multireg_move): Use DFmode reg_mode for TFmode moves
+       in E500 double case.
+       * config/rs6000/rs6000.md (movtf): Allow soft-float.
+       (movtf_softfloat): New.
+
+2006-11-30  Richard Sandiford  <richard@codesourcery.com>
+
+       * simplify-rtx.c (simplify_rtx): Use simplify_subreg rather than
+       simplify_gen_subreg.
+
+2006-11-30  Andrew Macleod  <amacleod@redhat.com>
+
+       * tree-ssa-live.c (create_coalesce_list): Create a hash table.
+       (COALESCE_HASH_FN): New.  Define hash function.
+       (partition_pair_map_hash): New.  Hash value for a partition pair.
+       (partition_pair_map_eq): New.  Equality for hash pairs.
+       (create_coalesce_list): Create hash table.
+       (delete_coalesce_list): Free hash table.
+       (find_partition_pair): Find/create pairs in hash table.
+       (compare_pairs):  Sort pairs in ascending order now.
+       (num_coalesce_pairs): New.  Number of pairs in hash table.
+       (struct partition_pair_iterator): Iterator struct for pair table.
+       (first_partition_pair): Iterator function for first pair.
+       (end_partition_pair_p): Iterator function for end of iteration.
+       (next_partition_pair): Iterator function for next pair.
+       (FOR_EACH_PARTITION_PAIR): Macro for iterating over pairs.
+       (sort_coalesce_list): Sort pairs from hash table into an array.
+       (pop_best_coalesce): Take pairs from the array.
+       (dump_coalesce_list): Update to use hash table or sorted array.
+       * tree-ssa-live.h (struct partition_pair_d): Remove next field.
+       (struct coalesce_list_d): Add hash table related fields.
+
+2006-11-30  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/30028
+       * builtins.c (fold_builtin_memory_op): Fix typo in the check for
+       memmove/bcopy->memcpy conversion.
+
+2006-11-30  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * doc/tm.texi (MAX_OFILE_ALIGNMENT): Document default.
+       * config/elfos.h [!MAX_OFILE_ALIGNMENT] (MAX_OFILE_ALIGNMENT): 
+       Default is the largest alignment supported for 32-bit ELF and 
+       representable on a 32-bit host.
+
+2006-11-30  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/dfp-bit.c (DFP_TO_INT): Use wider precision.
+
+2006-11-30  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-operands.h (struct ssa_operands): New.
+       * tree-flow-inline.h (gimple_ssa_operands): New function.
+       * tree-flow.h: (struct gimple_df): Add ssa_operands.
+       * Makefile.in: Remove gt-tree-ssa-operands.h
+       * tree-ssa-operands.c: Do not include gt-tree-ssa-operands.h
+       (free_defs, free_uses, free_vuses, free_maydefs, free_mustdefs,
+       operand_memory, operand_memory_index, ops_active): Remove statics.
+       (ALLOC_OPTYPE): Update.
+       (operand_build_sort_virtual): Update.
+       (ssa_operands_active): Update.
+       (init_ssa_operands): Update.
+       (fini_ssa_operands): Update.
+       (ssa_operand_alloc): Update.
+       (INITIALIZE_USE): Update.
+       (finalize_ssa_use_ops): Update.
+       (finalize_ssa_v_may_def_ops): Update.
+       (finalize_ssa_vuse_ops): Update.
+       (finalize_ssa_v_must_def_ops): Update.
+
+2006-11-30  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.h (vectorizable_function): Export.
+       * tree-vect-transform.c (vectorizable_function): Likewise.
+        * tree-vect-patterns.c (vect_recog_pow_pattern): Set
+        type_in to scalar type in recognition of squaring.
+       Make sure the target can vectorize sqrt in recognition
+       of sqrt, set type_in to vector type in this case.
+
+2006-11-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (R10_REG): New constant.
+       * config/i386/i386.c (pro_epilogue_adjust_stack): Use R11_REG.
+       (ix86_emit_restore_regs_using_mov): Ditto.
+       (ix86_expand_call): Ditto.
+       (x86_output_mi_thunk): Ditto. Also use R10_REG.
+
+2006-11-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cselib.c (cselib_init): Use special MEM rtx form for callmem.
+       * alias.c (canon_true_dependence): Update comment.
+
+2006-11-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * cgraphunit.c (cgraph_finalize_compilation_unit): Add a newline
+       at the end of a diagnostics message.
+
+       * alloc-pool.c (pool_free): Postpone clearing the pool entry
+       until after asserting that it was allocated in the right pool.
+
+       * cfgrtl.c (print_rtl_with_bb): Print predecessor and
+       successor edge information as well.  Make output of live regs
+       on exit consistent with live regs on entry.
+
+2006-11-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/29852
+       * config/i386/i386.md (*truncxfsf2_mixed, *truncxfdf2_mixed): Enable
+       insn patterns for TARGET_80387.
+       (*truncxfsf2_i387, *truncxfdf2_i387): Remove.
+       (*truncxfsf2_i387_1): Rename to *truncxfsf2_i387.
+       (*truncxfdf2_i387_1): Rename to *truncxfdf2_i387.
+       (fmod<mode>3, remainder<mode>3): Enable expaders for SSE math.
+       Generate truncxf<mode>2 insn patterns for strict SSE math.
+
+2006-11-30  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (movsf_1): Enable pattern for standard
+       80387 constants before reload when optimizing for size.
+       (*movdf_nointeger, *movdf_integer): Ditto.
+       (*movxf_nointeger, *movxf_integer): Disable patterns for standard
+       80387 constants before reload when not optimizing for size.
+
+       (*fop_xf_4_i387, *fop_xf_5_i387, *fop_xf_6_i387): Avoid float
+       extension of XFmode input operands.
+
+2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/spu/crt0.c (__dso_handle): Define.
+
+2006-11-30  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * emit-rtl.c (verify_rtl_sharing): Handle SEQUENCE specially
+       when clearing the used flags.
+
+2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       * config/spu/spu.md (extend_compare): Fix whitespace formatting.
+
+2006-11-29  Andrew Pinski  <andrew_pinski@playstation.sony.com>
+
+       PR target/29945
+       * config/spu/spu.md  (extend_compare<mode>): New pattern.
+       (extend_compare): Change to expand and use the above pattern.
+       
+2006-11-29  Janis Johnson  <janis187@us.ibm.com>
+
+       * config/dfp-bit.c (DFP_TO_INT): Fix rounding mode.
+
+       * config/dfp-bit.h (CONTEXT_ROUND): Delete.
+       (DFP_INIT_ROUNDMODE): Define.
+       * config/dfp-bit.c: Replace CONTEXT_ROUND with DFP_INIT_ROUNDMODE.
+       * mklibgcc.in: Fix dependencies for dfp-bit.c.
+
 2006-11-29  Tehila Meyzels  <tehila@il.ibm.com>
 
        * haifa-sched.c: Remove define LINE_NOTE(INSN).  Remove line_note_head.
 
 2006-11-27  Roger Sayle  <roger@eyesopen.com>
            Manuel Lopez-Ibanez <manu@gcc.gnu.org>
-           
+
        * c-common.c (constant_fits_type_p): Delete.
        (unsigned_conversion_warning): Delete.
        (conversion_warning): Integrate Wconversion warning from
        * doc/invoke.texi: Fixed typo.
 
 2006-11-27  Michael Matz  <matz@suse.de>
-            Andreas Krebbel  <krebbel1@de.ibm.com>
+           Andreas Krebbel  <krebbel1@de.ibm.com>
 
        PR target/29319
        * config/s390/predicates.md (larl_operand): Check addend of larl
        NOTE_FUNCTION_END.
 
 2006-11-27  Richard Guenther  <rguenther@suse.de>
-       Zdenek Dvorak <dvorakz@suse.cz>
+           Zdenek Dvorak <dvorakz@suse.cz>
 
        * target.h (struct gcc_target): Add builtin_vectorized_function
        target hook.