aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-07-16 13:26:20 +0200
committerRichard Biener <rguenther@suse.de>2021-07-16 14:29:06 +0200
commit650c70a9fe7198394d3bbe4c0b1a7a73dc0bdd4a (patch)
tree2309cf7bc3c35d8aed0853a76bfa6fa506edaf3f /gcc/tree-vect-patterns.c
parent8da8ed435e9f01b37bf4ee57fa62509d44121c7d (diff)
downloadgcc-650c70a9fe7198394d3bbe4c0b1a7a73dc0bdd4a.zip
gcc-650c70a9fe7198394d3bbe4c0b1a7a73dc0bdd4a.tar.gz
gcc-650c70a9fe7198394d3bbe4c0b1a7a73dc0bdd4a.tar.bz2
Remove more gimple_expr_type uses
This removes a few more uses. 2021-07-16 Richard Biener <rguenther@suse.de> * gimple-ssa-store-merging.c (verify_symbolic_number_p): Use the type of the LHS. (find_bswap_or_nop_1): Likewise. (find_bswap_or_nop): Likewise. * tree-vectorizer.h (vect_get_smallest_scalar_type): Adjust prototype. * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Remove unused parameters, pass in the scalar type. Fix internal store function handling. * tree-vect-stmts.c (vect_analyze_stmt): Remove assert. (vect_get_vector_types_for_stmt): Move down check for existing vector stmt after we've determined a scalar type. Pass down the used scalar type to vect_get_smallest_scalar_type. * tree-vect-generic.c (expand_vector_condition): Use the type of the LHS. (expand_vector_scalar_condition): Likewise. (expand_vector_operations_1): Likewise. * tree-vect-patterns.c (vect_widened_op_tree): Likewise. (vect_recog_dot_prod_pattern): Likewise. (vect_recog_sad_pattern): Likewise. (vect_recog_widen_op_pattern): Likewise. (vect_recog_widen_sum_pattern): Likewise. (vect_recog_mixed_size_cond_pattern): Likewise.
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 53ced5d..c249444 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -564,7 +564,7 @@ vect_widened_op_tree (vec_info *vinfo, stmt_vec_info stmt_info, tree_code code,
if (rhs_code != code && rhs_code != widened_code)
return 0;
- tree type = gimple_expr_type (assign);
+ tree type = TREE_TYPE (gimple_assign_lhs (assign));
if (!INTEGRAL_TYPE_P (type))
return 0;
@@ -1006,7 +1006,7 @@ vect_recog_dot_prod_pattern (vec_info *vinfo,
&oprnd0, &oprnd1))
return NULL;
- type = gimple_expr_type (last_stmt);
+ type = TREE_TYPE (gimple_get_lhs (last_stmt));
vect_unpromoted_value unprom_mult;
oprnd0 = vect_look_through_possible_promotion (vinfo, oprnd0, &unprom_mult);
@@ -1135,7 +1135,7 @@ vect_recog_sad_pattern (vec_info *vinfo,
&plus_oprnd0, &plus_oprnd1))
return NULL;
- tree sum_type = gimple_expr_type (last_stmt);
+ tree sum_type = TREE_TYPE (gimple_get_lhs (last_stmt));
/* Any non-truncating sequence of conversions is OK here, since
with a successful match, the result of the ABS(U) is known to fit
@@ -1258,7 +1258,7 @@ vect_recog_widen_op_pattern (vec_info *vinfo,
/* Pattern detected. */
vect_pattern_detected (name, last_stmt);
- tree type = gimple_expr_type (last_stmt);
+ tree type = TREE_TYPE (gimple_get_lhs (last_stmt));
tree itype = type;
if (TYPE_PRECISION (type) != TYPE_PRECISION (half_type) * 2
|| TYPE_UNSIGNED (type) != TYPE_UNSIGNED (half_type))
@@ -1653,7 +1653,7 @@ vect_recog_widen_sum_pattern (vec_info *vinfo,
&oprnd0, &oprnd1))
return NULL;
- type = gimple_expr_type (last_stmt);
+ type = TREE_TYPE (gimple_get_lhs (last_stmt));
/* So far so good. Since last_stmt was detected as a (summation) reduction,
we know that oprnd1 is the reduction variable (defined by a loop-header
@@ -3716,7 +3716,7 @@ vect_recog_mixed_size_cond_pattern (vec_info *vinfo,
if (comp_vectype == NULL_TREE)
return NULL;
- type = gimple_expr_type (last_stmt);
+ type = TREE_TYPE (gimple_assign_lhs (last_stmt));
if (types_compatible_p (type, comp_scalar_type)
|| ((TREE_CODE (then_clause) != INTEGER_CST
|| TREE_CODE (else_clause) != INTEGER_CST)