OSDN Git Service

PR middle-end/51038
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 104de01..1f8a56a 100644 (file)
@@ -1,5 +1,121 @@
+2011-11-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR middle-end/51038
+       * builtins.c (expand_builtin_atomic_clear): New.  Expand atomic_clear.
+       (expand_builtin_atomic_test_and_set): New.  Expand atomic test_and_set.
+       (expand_builtin): Add cases for test_and_set and clear.
+       * sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
+       (BUILT_IN_ATOMIC_CLEAR): New.
+
+2011-11-10  Roberto Agostino Vitillo  <ravitillo@lbl.gov>
+
+       PR debug/50983
+       * dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
+       value in the current line table.
+
+2011-11-10  Nathan Sidwell  <nathan@acm.org>
+
+       * gcov.c (struct function_info): Make src an index, not a pointer.
+       (struct source_info): Remove index and next source fields.
+       (fn_end): New static var.
+       (sources_index): Remove.
+       (sources): Now a pointer to an array, not a list.
+       (n_sources, a_sources): New.
+       (process_file): Adjust for changes to read_graph_file. Insert
+       functions into source lists and check line numbers here.
+       (generate_results): Only allocate lines for sources with
+       contents.  Adjust for source array.
+       (release_structures): Likewise.
+       (find_source): Return source index, adjust for source array.
+       (read_graph_file): Return function list.  Don't insert into source
+       lists here.
+       (read_count_file): Take list of functions.
+       (solve_flow_graph): Reverse the arc lists here.
+       (add_line_counts): Adjust for source array.
+
+2011-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/51077
+       * tree-object-size.c (addr_object_size): Check TREE_CODE of
+       MEM_REF's operand rather than code of the MEM_REF itself.
+
+2011-11-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR rtl-optimization/51040
+       * optabs.c (expand_atomic_fetch_op): Patchup code for NAND should
+       be AND followed by NOT.
+       * builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
+       should be AND followed by NOT.
+
+2011-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * vec.h (VEC_BASE): If base is at offset 0 in the structure,
+       use &(P)->base even if P is NULL.
+
+       PR rtl-optimization/51023
+       * combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
+       val_signbit_known_clear_p for signed comparison narrowing
+       optimization.  Don't check for non-VOIDmode, use
+       HWI_COMPUTABLE_MODE_P macro.
+       <case ZERO_EXTEND>: Don't check for non-VOIDmode.
+       Optimize even when const_op is equal to GET_MODE_MASK (mode),
+       don't optimize if const_op is negative.
+
+2011-11-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51042
+       * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
+       self-referential expressions.  Refactor code to avoid duplication.
+
+2011-11-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51070
+       * tree-loop-distribution.c (generate_builtin): Do not replace
+       the loop with a builtin if the partition contains statements which
+       results are used outside of the loop.
+       (pass_loop_distribution): Verify and collect.
+
+2011-11-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51030
+       * tree-ssa-phiopt.c (jump_function_from_stmt): New function.
+       (value_replacement): Use it to handle trivial non-empty
+       intermediate blocks.
+
+2011-11-10  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/51071
+       * gimple.c (gimple_has_side_effects): Remove checking code
+       that doesn't belong here.
+
+2011-11-10  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/51058
+       * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.
+
+2011-11-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/51000
+       * tree-vect-patterns.c (vect_recog_bool_pattern): If adding
+       a pattern stmt for a bool store, adjust DR_STMT too.
+       Don't handle bool conversions to single bit precision lhs.
+       * tree-vect-stmts.c (vect_remove_stores): If next is a pattern
+       stmt, remove its related stmt and free its stmt_vinfo.
+       (free_stmt_vec_info): Free also pattern stmt's vinfo and
+       pattern def stmt's vinfo.
+       * tree-vect-loop.c (destroy_loop_vec_info): Don't try to
+       free pattern stmt's vinfo here.
+       (vect_transform_loop): When calling vect_remove_stores,
+       do gsi_next first and don't call gsi_remove.  If not strided
+       store, free stmt vinfo for gsi_stmt (si) rather than stmt.
+
 2011-11-09  Jakub Jelinek  <jakub@redhat.com>
 
+       PR target/50911
+       * config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
+       V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
+       to V4SFmode.
+
        * function.h (requires_stack_frame_p): New prototype.
        * function.c (requires_stack_frame_p): No longer static.
        * config/i386/i386.c (ix86_finalize_stack_realign_flags): If