[PATCH] gimple_{build_assign,assign_set_rhs}_with_ops* cleanup

2014-11-19 Thread Jakub Jelinek
Hi!

This patch:
1) adds unary op overload to gimple_build_assign_with_ops
   so that many callers don't need to pass NULL_TREE as the last
   argument explicitly
2) adds unary op overload to gimple_assign_set_rhs_with_ops for similar
   reasons
3) renames gimple_assign_set_rhs_with_ops_1 to
   gimple_assign_set_rhs_with_ops so it becomes ternary op overload
   to the existing binary op one and 2) added unary op
and adjusts all users that I found.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2014-11-19  Jakub Jelinek  ja...@redhat.com

* gimple.h (gimple_build_assign_with_ops): Add unary arg overload.
(gimple_assign_set_rhs_with_ops_1): Renamed to ...
(gimple_assign_set_rhs_with_ops): ... this.  Adjust binary arg
inline overload to use it.  Add unary arg overload.
* gimple.c (gimple_build_assign_with_ops): New unary arg overload.
(gimple_assign_set_rhs_from_tree): Use
gimple_assign_set_rhs_with_ops instead of
gimple_assign_set_rhs_with_ops_1.
(gimple_assign_set_rhs_with_ops_1): Renamed to ...
(gimple_assign_set_rhs_with_ops): ... this.
* ipa-split.c (split_function): Remove last NULL argument
from gimple_build_assign_with_ops call.
* tree-ssa-loop-im.c
(move_computations_dom_walker::before_dom_children): Likewise.
* tsan.c (instrument_builtin_call): Likewise.
* tree-vect-stmts.c (vect_init_vector, vectorizable_mask_load_store,
vectorizable_conversion, vectorizable_load): Likewise.
* tree-vect-loop.c (vect_is_simple_reduction_1,
get_initial_def_for_induction): Likewise.
* tree-loop-distribution.c (generate_memset_builtin): Likewise.
* tree-vect-patterns.c (vect_handle_widen_op_by_const,
vect_recog_widen_mult_pattern, vect_operation_fits_smaller_type,
vect_recog_over_widening_pattern, vect_recog_rotate_pattern,
vect_recog_vector_vector_shift_pattern, vect_recog_divmod_pattern,
vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
adjust_bool_pattern, vect_recog_bool_pattern): Likewise.
* tree-ssa-phiopt.c (conditional_replacement, abs_replacement,
neg_replacement): Likewise.
* asan.c (build_shadow_mem_access, maybe_create_ssa_name,
maybe_cast_to_ptrmode, asan_expand_check_ifn): Likewise.
* tree-vect-slp.c (vect_get_constant_vectors): Likewise.
* omp-low.c (lower_rec_input_clauses, expand_omp_for_generic,
expand_omp_for_static_nochunk, expand_omp_for_static_chunk,
simd_clone_adjust): Likewise.
* tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
* gimple-ssa-strength-reduction.c (introduce_cast_before_cand,
replace_one_candidate): Likewise.
* gimple-builder.c (build_type_cast): Likewise.
* tree-ssa-forwprop.c (simplify_rotate): Likewise.
(forward_propagate_addr_expr_1): Remove last NULL argument
from gimple_assign_set_rhs_with_ops call.
(simplify_vector_constructor): Use gimple_assign_set_rhs_with_ops
instead of gimple_assign_set_rhs_with_ops_1.
* tree-ssa-reassoc.c (maybe_optimize_range_tests): Remove last NULL
argument from gimple_build_assign_with_ops call.
(repropagate_negates): Remove last NULL argument from
gimple_assign_set_rhs_with_ops call.
* ubsan.c (ubsan_expand_null_ifn, ubsan_expand_objsize_ifn): Remove
last NULL argument from gimple_build_assign_with_ops call.
(instrument_bool_enum_load): Likewise.  Remove last NULL argument
from gimple_assign_set_rhs_with_ops call.
* tree-ssa-math-opts.c (build_and_insert_cast, convert_mult_to_fma):
Remove last NULL argument from gimple_build_assign_with_ops call.
(bswap_replace): Likewise.  Use gimple_assign_set_rhs_with_ops instead
of gimple_assign_set_rhs_with_ops_1.
(convert_plusminus_to_widen): Use gimple_assign_set_rhs_with_ops
instead of gimple_assign_set_rhs_with_ops_1.
* gimple-fold.c (replace_stmt_with_simplification): Likewise.
(rewrite_to_defined_overflow, gimple_build): Remove last NULL argument
from gimple_build_assign_with_ops call.
* tree-ssa-strlen.c (handle_pointer_plus): Remove last NULL argument
from gimple_assign_set_rhs_with_ops call.
* tree-vrp.c (simplify_truth_ops_using_ranges,
simplify_bit_ops_using_ranges): Remove last NULL argument from
gimple_assign_set_rhs_with_ops call.
(simplify_float_conversion_using_ranges,
simplify_internal_call_using_ranges): Remove last NULL argument from
gimple_build_assign_with_ops call.

--- gcc/gimple.h.jj 2014-11-19 10:45:17.780769013 +0100
+++ gcc/gimple.h2014-11-19 10:52:52.118574835 +0100
@@ -1180,6 +1180,8 @@ gimple gimple_build_assign_with_ops (enu
 tree, tree, 

Re: [PATCH] gimple_{build_assign,assign_set_rhs}_with_ops* cleanup

2014-11-19 Thread Richard Biener
On Wed, 19 Nov 2014, Jakub Jelinek wrote:

 Hi!
 
 This patch:
 1) adds unary op overload to gimple_build_assign_with_ops
so that many callers don't need to pass NULL_TREE as the last
argument explicitly
 2) adds unary op overload to gimple_assign_set_rhs_with_ops for similar
reasons
 3) renames gimple_assign_set_rhs_with_ops_1 to
gimple_assign_set_rhs_with_ops so it becomes ternary op overload
to the existing binary op one and 2) added unary op
 and adjusts all users that I found.
 
 Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

Ok.

Thanks,
Richard.

 2014-11-19  Jakub Jelinek  ja...@redhat.com
 
   * gimple.h (gimple_build_assign_with_ops): Add unary arg overload.
   (gimple_assign_set_rhs_with_ops_1): Renamed to ...
   (gimple_assign_set_rhs_with_ops): ... this.  Adjust binary arg
   inline overload to use it.  Add unary arg overload.
   * gimple.c (gimple_build_assign_with_ops): New unary arg overload.
   (gimple_assign_set_rhs_from_tree): Use
   gimple_assign_set_rhs_with_ops instead of
   gimple_assign_set_rhs_with_ops_1.
   (gimple_assign_set_rhs_with_ops_1): Renamed to ...
   (gimple_assign_set_rhs_with_ops): ... this.
   * ipa-split.c (split_function): Remove last NULL argument
   from gimple_build_assign_with_ops call.
   * tree-ssa-loop-im.c
   (move_computations_dom_walker::before_dom_children): Likewise.
   * tsan.c (instrument_builtin_call): Likewise.
   * tree-vect-stmts.c (vect_init_vector, vectorizable_mask_load_store,
   vectorizable_conversion, vectorizable_load): Likewise.
   * tree-vect-loop.c (vect_is_simple_reduction_1,
   get_initial_def_for_induction): Likewise.
   * tree-loop-distribution.c (generate_memset_builtin): Likewise.
   * tree-vect-patterns.c (vect_handle_widen_op_by_const,
   vect_recog_widen_mult_pattern, vect_operation_fits_smaller_type,
   vect_recog_over_widening_pattern, vect_recog_rotate_pattern,
   vect_recog_vector_vector_shift_pattern, vect_recog_divmod_pattern,
   vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
   adjust_bool_pattern, vect_recog_bool_pattern): Likewise.
   * tree-ssa-phiopt.c (conditional_replacement, abs_replacement,
   neg_replacement): Likewise.
   * asan.c (build_shadow_mem_access, maybe_create_ssa_name,
   maybe_cast_to_ptrmode, asan_expand_check_ifn): Likewise.
   * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
   * omp-low.c (lower_rec_input_clauses, expand_omp_for_generic,
   expand_omp_for_static_nochunk, expand_omp_for_static_chunk,
   simd_clone_adjust): Likewise.
   * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise.
   * gimple-ssa-strength-reduction.c (introduce_cast_before_cand,
   replace_one_candidate): Likewise.
   * gimple-builder.c (build_type_cast): Likewise.
   * tree-ssa-forwprop.c (simplify_rotate): Likewise.
   (forward_propagate_addr_expr_1): Remove last NULL argument
   from gimple_assign_set_rhs_with_ops call.
   (simplify_vector_constructor): Use gimple_assign_set_rhs_with_ops
   instead of gimple_assign_set_rhs_with_ops_1.
   * tree-ssa-reassoc.c (maybe_optimize_range_tests): Remove last NULL
   argument from gimple_build_assign_with_ops call.
   (repropagate_negates): Remove last NULL argument from
   gimple_assign_set_rhs_with_ops call.
   * ubsan.c (ubsan_expand_null_ifn, ubsan_expand_objsize_ifn): Remove
   last NULL argument from gimple_build_assign_with_ops call.
   (instrument_bool_enum_load): Likewise.  Remove last NULL argument
   from gimple_assign_set_rhs_with_ops call.
   * tree-ssa-math-opts.c (build_and_insert_cast, convert_mult_to_fma):
   Remove last NULL argument from gimple_build_assign_with_ops call.
   (bswap_replace): Likewise.  Use gimple_assign_set_rhs_with_ops instead
   of gimple_assign_set_rhs_with_ops_1.
   (convert_plusminus_to_widen): Use gimple_assign_set_rhs_with_ops
   instead of gimple_assign_set_rhs_with_ops_1.
   * gimple-fold.c (replace_stmt_with_simplification): Likewise.
   (rewrite_to_defined_overflow, gimple_build): Remove last NULL argument
   from gimple_build_assign_with_ops call.
   * tree-ssa-strlen.c (handle_pointer_plus): Remove last NULL argument
   from gimple_assign_set_rhs_with_ops call.
   * tree-vrp.c (simplify_truth_ops_using_ranges,
   simplify_bit_ops_using_ranges): Remove last NULL argument from
   gimple_assign_set_rhs_with_ops call.
   (simplify_float_conversion_using_ranges,
   simplify_internal_call_using_ranges): Remove last NULL argument from
   gimple_build_assign_with_ops call.
 
 --- gcc/gimple.h.jj   2014-11-19 10:45:17.780769013 +0100
 +++ gcc/gimple.h  2014-11-19 10:52:52.118574835 +0100
 @@ -1180,6 +1180,8 @@ gimple gimple_build_assign_with_ops (enu