OSDN Git Service

2009-04-07 Uros Bizjak <ubizjak@gmail.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 730df1d..e52e732 100644 (file)
@@ -1,3 +1,276 @@
+2009-04-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/ia64/ia64.c (ia64_builtins): Add IA64_BUILTIN_HUGE_VALQ.
+       (ia64_init_builtins): Handle IA64_BUILTIN_HUGE_VALQ.
+       (ia64_expand_builtin): Likewise.
+
+2009-04-07  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-ssa-alias.c (refs_may_alias_p_1): Check for
+       is_gimple_min_invariant rather than CONSTANT_CLASS_P so that invariant
+       ADDR_EXPRS are include too.
+
+2009-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Non-aliased
+       decls are only used if passes as parameters or if they are
+       local statics and the call is not to a builtin.
+       (call_may_clobber_ref_p_1): Likewise.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (do_store_flag): Remove last argument.  Simplify code
+       to avoid duplication of tests already done by can_compare_p.
+       (expand_expr_real_1): Adjust caller.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * optabs.c (can_compare_p): Test the predicate of a
+       cbranch and cstore pattern.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * expr.c (convert_move): Use emit_store_flag instead of
+       "emulating" it.
+
+2009-04-07  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config/i386/i386.c (ix86_compare_emitted): Remove.
+       (ix86_expand_compare, ix86_expand_branch): Handle MODE_CC
+       ix86_compare_op0 like ix86_compare_emitted used to be handled.
+       * config/i386/i386.h (ix86_compare_emitted): Remove.
+       * config/i386/i386.md (stack_protect_test): Set ix86_compare_op0
+       instead of ix86_compare_emitted.
+       * config/i386/sync.md (sync_compare_and_swap_cc): Likewise.
+
+2009-04-07  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.gcc (sh-*-*): Add sysroot-suffix.h to tm_file.
+       Add t-sysroot-suffix to tmake_file.
+       * config/print-sysroot-suffix.sh: New file.
+       * config/t-sysroot-suffix: New file.
+
+2009-04-07  Ben Elliston  <bje@au.ibm.com>
+
+       * libgcc2.c (INFINITY): Use __builtin_huge_val, not __builtin_inf,
+       as the latter produces a warning when the target does not support
+       infinity.
+
+2009-04-07  Ben Elliston  <bje@au.ibm.com>
+
+       * dfp.c: Replace type punning assignments with memcpy throughout.
+       * Makefile.in (dfp.o-warn): Remove.
+       
+2009-04-07  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/39634
+       * config.gcc: Merge powerpc-*-linux* and powerpc64-*-linux*.
+       Include soft-fp/t-softfp after rs6000/t-linux64.
+
+2009-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (set_sizetype): Use the full precision of their
+       machine mode for bitsize types.
+
+2009-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.md: Revert 2 accidental checkins.
+
+2009-04-06  Joey Ye  <joey.ye@intel.com>
+           Xuepeng Guo <xuepeng.guo@intel.com>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       Atom pipeline model, tuning and insn selection.
+       * config.gcc (atom): Add atom config options and target.
+
+       * config/i386/atom.md: New.
+
+       * config/i386/i386.c (atom_cost): New cost.
+       (m_ATOM): New macro flag.
+       (initial_ix86_tune_features): Set m_ATOM.
+       (x86_accumulate_outgoing_args): Likewise.
+       (x86_arch_always_fancy_math_387): Likewise.
+       (processor_target): Add Atom cost.
+       (cpu_names): Add Atom cpu name.
+       (override_options): Set Atom ISA.
+       (ix86_issue_rate): New case PROCESSOR_ATOM.
+       (ix86_adjust_cost): Likewise.
+
+       * config/i386/i386.h (TARGET_ATOM): New target macro.
+       (ix86_tune_indices): Add X86_TUNE_OPT_AGU.
+       (TARGET_OPT_AGU): New target option.
+       (target_cpu_default): Add TARGET_CPU_DEFAULT_atom.
+       (processor_type): Add PROCESSOR_ATOM.
+
+       * config/i386/i386.md (cpu): Add new value "atom".
+       (use_carry, movu): New attr.
+       (atom.md): Include atom.md.
+       (adddi3_carry_rex64): Set attr "use_carry".
+       (addqi3_carry): Likewise.
+       (addhi3_carry): Likewise.
+       (addsi3_carry): Likewise.
+       (*addsi3_carry_zext): Likewise.
+       (subdi3_carry_rex64): Likewise.
+       (subqi3_carry): Likewise.
+       (subhi3_carry): Likewise.
+       (subsi3_carry): Likewise.
+       (x86_movdicc_0_m1_rex64): Likewise.
+       (*x86_movdicc_0_m1_se): Likewise.
+       (x86_movsicc_0_m1): Likewise.
+       (*x86_movsicc_0_m1_se): Likewise.
+       (*adddi_1_rex64): Emit add insn as much as possible.
+       (*addsi_1): Likewise.
+       (return_internal): Set atom_unit.
+       (return_internal_long): Likewise.
+       (return_pop_internal): Likewise.
+       (*rcpsf2_sse): Set atom_sse_attr attr.
+       (*qrt<mode>2_sse): Likewise.
+       (*prefetch_sse): Likewise.
+
+       * config/i386/i386-c.c (ix86_target_macros_internal): New case
+       PROCESSOR_ATOM.
+       (ix86_target_macros_internal): Likewise.
+
+       * config/i386/sse.md (cpu): Set attr "atom_sse_attr".
+       (*prefetch_sse_rex): Likewise.
+       (sse_rcpv4sf2): Likewise.
+       (sse_vmrcpv4sf2): Likewise.
+       (sse_sqrtv4sf2): Likewise.
+       (<sse>_vmsqrt<mode>2): Likewise.
+       (sse_ldmxcsr): Likewise.
+       (sse_stmxcsr): Likewise.
+       (*sse_sfence): Likewise.
+       (sse2_clflush): Likewise.
+       (*sse2_mfence): Likewise.
+       (*sse2_lfence): Likewise.
+       (avx_movup<avxmodesuffixf2c><avxmodesuffix>): Set attr "movu".
+       (<sse>_movup<ssemodesuffixf2c>): Likewise.
+       (avx_movdqu<avxmodesuffix>): Likewise.
+       (avx_lddqu<avxmodesuffix>): Likewise.
+       (sse2_movntv2di): Change attr "type" to "ssemov".
+       (sse2_movntsi): Likewise.
+       (rsqrtv8sf2): Change attr "type" to "sseadd".
+       (sse3_addsubv2df3): Set attr "atom_unit".
+       (sse3_h<plusminus_insn>v4sf3): Likewise.
+       (*sse2_pmaddwd): Likewise.
+       (*vec_extractv2di_1_rex64): Likewise.
+       (*vec_extractv2di_1_avx): Likewise.
+       (sse2_psadbw): Likewise.
+       (ssse3_phaddwv8hi3): Likewise.
+       (ssse3_phaddwv4hi3): Likewise.
+       (ssse3_phadddv4si3): Likewise.
+       (ssse3_phadddv2si3): Likewise.
+       (ssse3_phaddswv8hi3): Likewise.
+       (ssse3_phaddswv4hi3): Likewise.
+       (ssse3_phsubwv8hi3): Likewise.
+       (ssse3_phsubwv4hi3): Likewise.
+       (ssse3_phsubdv4si3): Likewise.
+       (ssse3_phsubdv2si3): Likewise.
+       (ssse3_phsubswv8hi3): Likewise.
+       (ssse3_phsubswv4hi3): Likewise.
+       (ssse3_pmaddubsw128): Likewise.
+       (sse3_pmaddubsw: Likewise.
+       (ssse3_palignrti): Likewise.
+       (ssse3_palignrdi): Likewise.
+
+2009-04-06  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/install.texi (Specific): Fix two cross-references to MinGW.
+
+2009-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28868
+       * tree-ssa-pre.c (inserted_phi_names): New bitmap to keep track
+       of which PHI results we inserted.
+       (insert_into_preds_of_block): Record inserted PHIs.
+       (eliminate): Eliminate redundant PHI nodes.
+       (init_pre): Init inserted_phi_names.
+
+2009-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/39643
+       * tree-ssa-ccp.c (ccp_fold): Fold REALPART_EXPRs and
+       IMAGPART_EXPRs of complex constants.
+       (execute_fold_all_builtins): If we folded a call queue
+       TODO_update_address_taken.
+
+2009-04-06  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/39659
+       * except.c (remove_unreachable_regions): Propagate may_contain_throw
+       flag.
+
+2009-04-06  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/sh/lib1funcs.asm (ic_invalidate): Move ICBI out of the
+       delay slot.
+       (ic_invalidate_array): Likewise.
+
+2009-04-06  Hariharan Sandanagobalane <hariharan@picochip.com>
+
+       * calls.c (emit_library_call_value_1): Fix a problem with parameter
+       alignment for library calls.
+
+2009-04-06  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config.gcc (mingw32 tm_file):  Add mingw-stdint.h.
+       (mingw32 tm clause use_gcc_stdint):  Set to wrap.
+       * config/i386/mingw-stdint.h:  New file.
+
+2009-04-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/39648
+       * tree-ssa-sccvn.c (vn_reference_fold_indirect): Work around
+       our &A vs. &A[0] IL deficiencies.
+
+2009-04-04  Jan Hubicka  <jh@suse.cz>
+
+       * except.c (sjlj_find_directly_reachable_regions): Be ready for
+       removed toplevel regions.
+       (sjlj_mark_call_sites): Likewise.
+
+2009-04-04  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config.gcc (cygwin tm_file):  Add cygwin-stdint.h.
+       (cygwin tm clause use_gcc_stdint):  Set to wrap.
+       * config/i386/cygwin-stdint.h:  New file.
+
+2009-04-04  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (tree-ssa-copy.o): Add $(CFGLOOP_H) dependency.
+       * tree-ssa-copy.c (init_copy_prop): Do not propagate through
+       single-argument PHIs if we are in loop-closed SSA form.
+       * tree-vect-loop-manip.c (slpeel_add_loop_guard): Pass extra guards
+       for the pre-condition.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+       (vect_build_loop_niters): Take an optional sequence to append stmts.
+       (vect_generate_tmps_on_preheader): Likewise.
+       (vect_do_peeling_for_loop_bound): Take extra guards for the
+       pre-condition.
+       (vect_do_peeling_for_alignment): Adjust.  Unconditionally apply
+       the cost model check.
+       (vect_loop_versioning): Take stmt and stmt list to put pre-condition
+       guards if we are going to peel.  Do not apply versioning in that
+       case.
+       * tree-vectorizer.h (vect_loop_versioning): Adjust declaration.
+       (vect_do_peeling_for_loop_bound): Likewise.
+       * tree-vect-loop.c (vect_transform_loop): If we are peeling for
+       loop bound only record extra pre-conditions, do not apply loop
+       versioning.
+
+2009-04-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-operands.c (pop_stmt_changes): Remove automatic
+       renaming code.
+
+2009-04-04  Jan Hubicka  <jh@suse.cz>
+
+       * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
+       last_basic_block for size of bb->index indexed array.
+       * bt-load.c (compute_defs_uses_and_gen, compute_kill,
+       compute_out, link_btr_uses, build_btr_def_use_webs,
+       build_btr_def_use_webs, migrate_btr_defs): Likewise.
+
 2009-04-04  Jan Hubicka  <jh@suse.cz>
 
        * except.c (remove_eh_handler_and_replace): Break out from ...
 
 2009-03-31  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
 
-        PR target/27237
+       PR target/27237
        * doc/invoke.texi (ARM Options): Update documentation for -mthumb.
        
 2009-03-31  Richard Guenther  <rguenther@suse.de>
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
-        * combine.c (simplify_comparison): Use have_insn_for.
-        * dojump.c (do_jump): Likewise.
+       * combine.c (simplify_comparison): Use have_insn_for.
+       * dojump.c (do_jump): Likewise.
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>
 
-        * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
-        Provide/destroy PROP_cfglayout respectively.
-        * gcse.c (pass_jump_bypass, pass_gcse): Require it.
-        * tree-pass.h (PROP_cfglayout): New.
+       * cfglayout.c (pass_into_cfg_layout_mode, pass_outof_cfg_layout_mode):
+       Provide/destroy PROP_cfglayout respectively.
+       * gcse.c (pass_jump_bypass, pass_gcse): Require it.
+       * tree-pass.h (PROP_cfglayout): New.
 
 2009-03-30  Paolo Bonzini  <bonzini@gnu.org>