OSDN Git Service

PR bootstrap/51134
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 01694e2..bfc9461 100644 (file)
@@ -1,3 +1,164 @@
+2011-11-17  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/51134
+       * i386.c (atom_cost): Fix 32bit memset description.
+       (expand_set_or_movmem_via_loop_with_iter): Output proper bounds check for epilogue loops.
+       (expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing byte loop.
+       (decide_alg): sse_loop is not useable wthen SSE2 is disabled; when not optimizing always
+       use rep movsb or lincall; do not produce word sized loops when optimizing memset for
+       size (to avoid need for large constants).
+       (ix86_expand_movmem): Get into sync with ix86_expand_setmem; choose unroll factors
+       better; always do 128bit moves when producing SSE loops; do not produce loopy epilogue
+       when size is too small.
+       (promote_duplicated_reg_to_size): Do not look into desired alignments when
+       doing vector expansion.
+       (ix86_expand_setmem): Track better when promoted value is available; choose unroll factors
+       more sanely.; output loopy epilogue only when needed.
+
+2011-11-17  Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/51144
+       * output.h (fprint_w): Remove.
+       * final.c (fprint_w): Remove.
+       (output_addr_const): Change fprint_w back to fprintf.
+
+2011-11-17  Andrew Pinski  <apinski@cavium.com>
+
+       * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
+
+2011-11-17  Andrew MacLeod  <amacleod@redhat.com>
+
+       * builtins.c (expand_builtin): Remove 4th parameter representing 
+       weak/strong mode when __atomic_compare_exchange becomes a library call.
+
+2011-11-17  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
+       new pseudo for target after convert_modes.
+       (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.
+
+2011-11-17  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_mem_thread_fence): Remove.
+       (expand_builtin_mem_signal_fence): Remove.
+       (expand_builtin_atomic_thread_fence): Use expand_mem_thread_fence.
+       (expand_builtin_sync_synchronize): Likewise.
+       (expand_builtin_atomic_signal_fence): Use expand_mem_signal_fence.
+       * optabs.c (expand_asm_memory_barrier): Split out from
+       expand_builtin_mem_signal_fence.
+       (expand_mem_thread_fence): New, a combination of code from
+       expand_builtin_mem_thread_fence and expand_builtin_sync_synchronize.
+       (expand_mem_signal_fence): Moved and renamed from
+       expand_builtin_mem_signal_fence.
+       (expand_atomic_exchange): Use expand_mem_thread_fence.
+       (expand_atomic_load, expand_atomic_store): Likewise.
+       * expr.h, optabs.h: Update decls.
+
+2011-11-17  Bin Cheng  <bin.cheng@arm.com>
+
+       PR rtl-optimization/50663
+       * cprop.c (implicit_set_indexes): New global variable.
+       (insert_set_in_table): Add additional parameter and record implicit
+       set information.
+       (hash_scan_set): Add additional parameter and pass it to above.
+       (hash_scan_insn): Pass false to hash_scan_set.
+       (compute_hash_table_work): Pass true to hash_scan_set.
+       (compute_cprop_data): Add implicit set to AVIN of block which the
+       implicit set is recorded for.
+       (one_cprop_pass): Handle implicit_set_indexes array.
+
+2011-11-17  Michael Matz  <matz@suse.de>
+
+       PR middle-end/50644
+       PR middle-end/50741
+       * tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
+       current function.
+       (remove_unused_locals): Ditto.
+
+2011-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
+       ALIAS_SET_MEMORY_BARRIER when creating a new memory.
+       (alpha_split_atomic_exchange_12): Likewise.
+       * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.
+
+2011-11-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
+
+2011-11-16  David Edelsohn  <dje.gcc@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
+       Default to minimum alignment if decl is NULL.
+
+2011-11-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
+       sequence for AVX.
+       (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
+
+2011-11-16  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
+
+       * doc/invoke.texi: Document AMD bdver1 and btver1.
+
+2011-11-16  Richard Earnshaw  <rearnsha@arm.com>
+           Bernd Schmidt <bernds@coudesourcery.com>
+           Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       PR target/49641
+       * config/arm/arm.c (store_multiple_sequence): Avoid cases where
+       the base reg is stored iff compiling for Thumb1.
+
+2011-11-16  Razya Ladelsky  <razya@il.ibm.com>
+
+       PR tree-optimization/49960
+       * tree-data-ref.c (initialize_data_dependence_relation): Add
+       initializations.
+       Remove call to compute_self_dependence.
+       (compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
+       (compute_self_dependence): Remove old code. Add call to
+       compute_affine_dependence.
+       (compute_all_dependences): Remove call to compute_self_dependence.
+       Add call to compute_affine_dependence.
+
+2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       PR middle-end/50325
+       * expmed.c (store_bit_field_1): Use extract_bit_field on big
+       endian targets if the source cannot be exactly covered by word
+       mode chunks.
+
+2011-11-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
+       ELF_STRING_LIMIT.
+
+2011-11-15  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_pre_atomic_barrier): New.
+       (alpha_post_atomic_barrier): New.
+       (alpha_split_atomic_op): New memmodel argument; honor it.
+       (alpha_split_compare_and_swap): Take array of operands.  Honor
+       memmodel; always set bool output
+       (alpha_expand_compare_and_swap_12): Similarly.
+       (alpha_split_compare_and_swap_12): Similarly.
+       (alpha_split_atomic_exchange): Similarly.  Rename from
+       alpha_split_lock_test_and_set.
+       (alpha_expand_atomic_exchange_12): Similarly.  Rename from
+       alpha_expand_lock_test_and_set_12.
+       (alpha_split_atomic_exchange_12): Similarly.  Rename from
+       alpha_split_lock_test_and_set_12.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.md (UNSPECV_CMPXCHG): New.
+       * config/alpha/constraints.md ("w"): New.
+       * config/alpha/predicates.md (mem_noofs_operand): New.
+       * config/alpha/sync.md (atomic_compare_and_swap<mode>): Rename from
+       sync_compare_and_swap<mode>; add the new parameters.
+       (atomic_exchange<mode>): Update from sync_test_and_set<mode>.
+       (atomic_fetch_<op><mode>): Update from sync_old_<op><mode>.
+       (atomic_<op>_fetch<mode>): Update from sync_new_<op><mode>.
+       (atomic_<op><mode>): Update from sync_<op><mode>.
+
 2011-11-16  Tom de Vries  <tom@codesourcery.com>
 
        * tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
        * ipa.c (varpool_externally_visible_p): Export.
        * varpool.c (varpool_add_new_variable): New function.
 
-2011-11-14  Zolotukhin Michael  <michael.v.zolotukhin@gmail.com>
+2011-11-14  Michael Zolotukhin  <michael.v.zolotukhin@gmail.com>
            Jan Hubicka  <jh@suse.cz>
 
        * config/i386/i386.h (processor_costs): Add second dimension to