OSDN Git Service

2011-10-18 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 19f851d..d026022 100644 (file)
@@ -1,5 +1,105 @@
 2011-10-18  Richard Guenther  <rguenther@suse.de>
 
+       PR tree-optimization/50767
+       * tree-ssa-pre.c (create_expression_by_pieces): Update the
+       folded statement.
+
+2011-10-18  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.c (arm_block_move_unaligned_straight)
+       (arm_adjust_block_mem, arm_block_move_unaligned_loop)
+       (arm_movmemqi_unaligned): New.
+       (arm_gen_movmemqi): Support unaligned block copies.
+
+2011-10-18  Ira Rosen  <ira.rosen@linaro.org>
+
+       * doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
+       vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
+       * tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       (op_code_prio): Likewise.
+       (op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
+       * optabs.c (optab_for_tree_code): Handle
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       (init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
+       * optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
+       * genopinit.c (optabs): Initialize the new optabs.
+       * expr.c (expand_expr_real_2): Handle
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       * gimple-pretty-print.c (dump_binary_rhs): Likewise.
+       * tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
+       * tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
+       VEC_WIDEN_LSHIFT_LO_EXPR): New.
+       * cfgexpand.c (expand_debug_expr): Handle new tree codes.
+       * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+       vect_recog_widen_shift_pattern.
+       (vect_handle_widen_mult_by_const): Rename...
+       (vect_handle_widen_op_by_const): ...to this.  Handle shifts.
+       Add a new argument, update documentation.
+       (vect_recog_widen_mult_pattern): Assume that only second
+       operand can be constant.  Update call to
+       vect_handle_widen_op_by_const.
+       (vect_recog_over_widening_pattern): Fix typo.
+       (vect_recog_widen_shift_pattern): New.
+       * tree-vect-stmts.c (vectorizable_type_promotion): Handle
+       widening shifts.
+       (supportable_widening_operation): Likewise.
+       * tree-inline.c (estimate_operator_cost): Handle new tree codes.
+       * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+       * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+       * config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
+       (vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
+       vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
+       Likewise.
+       * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
+       New.
+       * config/arm/iterators.md (V_innermode): New.
+       * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
+       for widening shift.
+
+2011-10-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.h (struct pt_solution): Remove
+       vars_contains_restrict member.
+       (pt_solutions_same_restrict_base): Remove.
+       (pt_solution_set): Adjust.
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
+       vars_contains_restrict handling.
+       (dump_points_to_solution): Likewise.
+       (ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
+       * tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
+       field.
+       (new_var_info): Do not initialize it.
+       (ipa_escaped_pt): Adjust.
+       (make_constraint_from_restrict): Make the tag global.
+       (make_constraint_from_global_restrict): New function.
+       (make_constraint_from_heapvar): Remove.
+       (create_variable_info_for): Do not make restrict vars point
+       to NONLOCAL.
+       (intra_create_variable_infos): Likewise.
+       (find_what_var_points_to): Remove vars_contains_restrict handling.
+       (pt_solution_set): Adjust.
+       (pt_solution_ior_into): Likewise.
+       (pt_solutions_same_restrict_base): Remove.
+       (compute_points_to_sets): Do not test is_restrict_var.
+       * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+       * gimple-pretty-print.c (pp_points_to_solution): Likewise.
+
+2011-10-18  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/50672
+       * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
+       factored out of ...
+       (mark_virtual_phi_result_for_renaming): Use
+       mark_virtual_operand_for_renaming.
+       * tree-flow.h (mark_virtual_operand_for_renaming): Declare.
+       * tree-ssa-tail-merge.c (release_last_vdef): New function.
+       (purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
+       deleted basic block.
+       (tail_merge_optimize): Add argument to call to purge_bbs.
+
+2011-10-18  Richard Guenther  <rguenther@suse.de>
+
        PR middle-end/50716
        * expr.c (get_object_or_type_alignment): New function.
        (expand_assignment): Use it.
 
        * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
 
-2011-10-17  Michael Spertus  <mike_spertus@symantec.com>
-
-       * gcc/c-family/c-common.c (c_common_reswords): Add __bases,
-       __direct_bases.
-       * gcc/c-family/c-common.h: Add RID_BASES and RID_DIRECT_BASES.
-
 2011-10-17  Simon Baldwin  <simonb@google.com>
            Ian Lance Taylor  <iant@google.com>
 
 2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/50757
-       * c-family/c.opt ([Wnonnull]): Add C++ and Objective-C++.
-       * doc/invoke.texi: Update.
+       * doc/invoke.texi ([Wnonnull]): Update.
 
 2011-10-17  Richard Henderson  <rth@redhat.com>
 
 2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/17212
-       * c-family/c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
-       * doc/invoke.texi: Update.
+       * doc/invoke.texi ([Wformat-zero-length]): Update.
 
 2011-10-14  Iain Sandoe  <iains@gcc.gnu.org>
 
        (get_continuation_for_phi): ... here.  Handle arbitrary number
        of PHI args.
 
-2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
-
-       PR c++/33067
-       * c-family/c-pretty-print.c (pp_c_floating_constant): Output
-       max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
-
 2011-10-11  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * modulo-sched.c: Fix comment typo.  Mention the possibility