Commit 776bfcea by Richard Sandiford Committed by Richard Sandiford

Pass more vector types to append_pattern_def_seq

The PR85694 series added a vectype argument to append_pattern_def_seq.
This patch makes more callers use it.

2018-07-03  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vect-patterns.c (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): Pass the vector
	type to append_pattern_def_seq instead of creating a stmt_vec_info
	directly.
	(build_mask_conversion): Likewise.  Remove vinfo argument.
	(vect_add_conversion_to_patterm): Likewise, renaming to...
	(vect_add_conversion_to_pattern): ...this.
	(vect_recog_mask_conversion_pattern): Update call to
	build_mask_conversion.  Pass the vector type to
	append_pattern_def_seq here too.
	(vect_recog_gather_scatter_pattern): Update call to
	vect_add_conversion_to_pattern.

From-SVN: r262338
parent 9c58fb7a
2018-07-03 Richard Sandiford <richard.sandiford@arm.com> 2018-07-03 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-patterns.c (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): Pass the vector
type to append_pattern_def_seq instead of creating a stmt_vec_info
directly.
(build_mask_conversion): Likewise. Remove vinfo argument.
(vect_add_conversion_to_patterm): Likewise, renaming to...
(vect_add_conversion_to_pattern): ...this.
(vect_recog_mask_conversion_pattern): Update call to
build_mask_conversion. Pass the vector type to
append_pattern_def_seq here too.
(vect_recog_gather_scatter_pattern): Update call to
vect_add_conversion_to_pattern.
2018-07-03 Richard Sandiford <richard.sandiford@arm.com>
* tree-vect-patterns.c (new_pattern_def_seq): Delete. * tree-vect-patterns.c (new_pattern_def_seq): Delete.
(vect_recog_dot_prod_pattern, vect_recog_sad_pattern) (vect_recog_dot_prod_pattern, vect_recog_sad_pattern)
(vect_recog_widen_op_pattern, vect_recog_over_widening_pattern) (vect_recog_widen_op_pattern, vect_recog_over_widening_pattern)
......
...@@ -2090,7 +2090,6 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -2090,7 +2090,6 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
else else
{ {
tree vecstype = get_vectype_for_scalar_type (stype); tree vecstype = get_vectype_for_scalar_type (stype);
stmt_vec_info def_stmt_vinfo;
if (vecstype == NULL_TREE) if (vecstype == NULL_TREE)
return NULL; return NULL;
...@@ -2103,12 +2102,7 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -2103,12 +2102,7 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
gcc_assert (!new_bb); gcc_assert (!new_bb);
} }
else else
{ append_pattern_def_seq (stmt_vinfo, def_stmt, vecstype);
def_stmt_vinfo = new_stmt_vec_info (def_stmt, vinfo);
set_vinfo_for_stmt (def_stmt, def_stmt_vinfo);
STMT_VINFO_VECTYPE (def_stmt_vinfo) = vecstype;
append_pattern_def_seq (stmt_vinfo, def_stmt);
}
def2 = vect_recog_temp_ssa_var (stype, NULL); def2 = vect_recog_temp_ssa_var (stype, NULL);
tree mask = build_int_cst (stype, GET_MODE_PRECISION (smode) - 1); tree mask = build_int_cst (stype, GET_MODE_PRECISION (smode) - 1);
...@@ -2121,12 +2115,7 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -2121,12 +2115,7 @@ vect_recog_rotate_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
gcc_assert (!new_bb); gcc_assert (!new_bb);
} }
else else
{ append_pattern_def_seq (stmt_vinfo, def_stmt, vecstype);
def_stmt_vinfo = new_stmt_vec_info (def_stmt, vinfo);
set_vinfo_for_stmt (def_stmt, def_stmt_vinfo);
STMT_VINFO_VECTYPE (def_stmt_vinfo) = vecstype;
append_pattern_def_seq (stmt_vinfo, def_stmt);
}
} }
var1 = vect_recog_temp_ssa_var (type, NULL); var1 = vect_recog_temp_ssa_var (type, NULL);
...@@ -2252,12 +2241,8 @@ vect_recog_vector_vector_shift_pattern (stmt_vec_info stmt_vinfo, ...@@ -2252,12 +2241,8 @@ vect_recog_vector_vector_shift_pattern (stmt_vec_info stmt_vinfo,
TYPE_PRECISION (TREE_TYPE (oprnd1))); TYPE_PRECISION (TREE_TYPE (oprnd1)));
def = vect_recog_temp_ssa_var (TREE_TYPE (rhs1), NULL); def = vect_recog_temp_ssa_var (TREE_TYPE (rhs1), NULL);
def_stmt = gimple_build_assign (def, BIT_AND_EXPR, rhs1, mask); def_stmt = gimple_build_assign (def, BIT_AND_EXPR, rhs1, mask);
stmt_vec_info new_stmt_info tree vecstype = get_vectype_for_scalar_type (TREE_TYPE (rhs1));
= new_stmt_vec_info (def_stmt, vinfo); append_pattern_def_seq (stmt_vinfo, def_stmt, vecstype);
set_vinfo_for_stmt (def_stmt, new_stmt_info);
STMT_VINFO_VECTYPE (new_stmt_info)
= get_vectype_for_scalar_type (TREE_TYPE (rhs1));
append_pattern_def_seq (stmt_vinfo, def_stmt);
} }
} }
} }
...@@ -2688,11 +2673,9 @@ vect_recog_divmod_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -2688,11 +2673,9 @@ vect_recog_divmod_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
tree oprnd0, oprnd1, vectype, itype, cond; tree oprnd0, oprnd1, vectype, itype, cond;
gimple *pattern_stmt, *def_stmt; gimple *pattern_stmt, *def_stmt;
enum tree_code rhs_code; enum tree_code rhs_code;
vec_info *vinfo = stmt_vinfo->vinfo;
optab optab; optab optab;
tree q; tree q;
int dummy_int, prec; int dummy_int, prec;
stmt_vec_info def_stmt_vinfo;
if (!is_gimple_assign (last_stmt)) if (!is_gimple_assign (last_stmt))
return NULL; return NULL;
...@@ -2792,18 +2775,12 @@ vect_recog_divmod_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -2792,18 +2775,12 @@ vect_recog_divmod_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
def_stmt = gimple_build_assign (var, COND_EXPR, cond, def_stmt = gimple_build_assign (var, COND_EXPR, cond,
build_int_cst (utype, -1), build_int_cst (utype, -1),
build_int_cst (utype, 0)); build_int_cst (utype, 0));
def_stmt_vinfo = new_stmt_vec_info (def_stmt, vinfo); append_pattern_def_seq (stmt_vinfo, def_stmt, vecutype);
set_vinfo_for_stmt (def_stmt, def_stmt_vinfo);
STMT_VINFO_VECTYPE (def_stmt_vinfo) = vecutype;
append_pattern_def_seq (stmt_vinfo, def_stmt);
var = vect_recog_temp_ssa_var (utype, NULL); var = vect_recog_temp_ssa_var (utype, NULL);
def_stmt = gimple_build_assign (var, RSHIFT_EXPR, def_stmt = gimple_build_assign (var, RSHIFT_EXPR,
gimple_assign_lhs (def_stmt), gimple_assign_lhs (def_stmt),
shift); shift);
def_stmt_vinfo = new_stmt_vec_info (def_stmt, vinfo); append_pattern_def_seq (stmt_vinfo, def_stmt, vecutype);
set_vinfo_for_stmt (def_stmt, def_stmt_vinfo);
STMT_VINFO_VECTYPE (def_stmt_vinfo) = vecutype;
append_pattern_def_seq (stmt_vinfo, def_stmt);
signmask = vect_recog_temp_ssa_var (itype, NULL); signmask = vect_recog_temp_ssa_var (itype, NULL);
def_stmt def_stmt
= gimple_build_assign (signmask, NOP_EXPR, var); = gimple_build_assign (signmask, NOP_EXPR, var);
...@@ -3110,10 +3087,8 @@ vect_recog_mixed_size_cond_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3110,10 +3087,8 @@ vect_recog_mixed_size_cond_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
{ {
gimple *last_stmt = stmt_vinfo->stmt; gimple *last_stmt = stmt_vinfo->stmt;
tree cond_expr, then_clause, else_clause; tree cond_expr, then_clause, else_clause;
stmt_vec_info def_stmt_info;
tree type, vectype, comp_vectype, itype = NULL_TREE, vecitype; tree type, vectype, comp_vectype, itype = NULL_TREE, vecitype;
gimple *pattern_stmt, *def_stmt; gimple *pattern_stmt, *def_stmt;
vec_info *vinfo = stmt_vinfo->vinfo;
tree orig_type0 = NULL_TREE, orig_type1 = NULL_TREE; tree orig_type0 = NULL_TREE, orig_type1 = NULL_TREE;
gimple *def_stmt0 = NULL, *def_stmt1 = NULL; gimple *def_stmt0 = NULL, *def_stmt1 = NULL;
bool promotion; bool promotion;
...@@ -3218,10 +3193,7 @@ vect_recog_mixed_size_cond_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3218,10 +3193,7 @@ vect_recog_mixed_size_cond_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
pattern_stmt = gimple_build_assign (vect_recog_temp_ssa_var (type, NULL), pattern_stmt = gimple_build_assign (vect_recog_temp_ssa_var (type, NULL),
NOP_EXPR, gimple_assign_lhs (def_stmt)); NOP_EXPR, gimple_assign_lhs (def_stmt));
append_pattern_def_seq (stmt_vinfo, def_stmt); append_pattern_def_seq (stmt_vinfo, def_stmt, vecitype);
def_stmt_info = new_stmt_vec_info (def_stmt, vinfo);
set_vinfo_for_stmt (def_stmt, def_stmt_info);
STMT_VINFO_VECTYPE (def_stmt_info) = vecitype;
*type_out = vectype; *type_out = vectype;
vect_pattern_detected ("vect_recog_mixed_size_cond_pattern", last_stmt); vect_pattern_detected ("vect_recog_mixed_size_cond_pattern", last_stmt);
...@@ -3337,10 +3309,8 @@ adjust_bool_pattern_cast (tree type, tree var, stmt_vec_info stmt_info) ...@@ -3337,10 +3309,8 @@ adjust_bool_pattern_cast (tree type, tree var, stmt_vec_info stmt_info)
{ {
gimple *cast_stmt = gimple_build_assign (vect_recog_temp_ssa_var (type, NULL), gimple *cast_stmt = gimple_build_assign (vect_recog_temp_ssa_var (type, NULL),
NOP_EXPR, var); NOP_EXPR, var);
stmt_vec_info patt_vinfo = new_stmt_vec_info (cast_stmt, stmt_info->vinfo); append_pattern_def_seq (stmt_info, cast_stmt,
set_vinfo_for_stmt (cast_stmt, patt_vinfo); get_vectype_for_scalar_type (type));
STMT_VINFO_VECTYPE (patt_vinfo) = get_vectype_for_scalar_type (type);
append_pattern_def_seq (stmt_info, cast_stmt);
return gimple_assign_lhs (cast_stmt); return gimple_assign_lhs (cast_stmt);
} }
...@@ -3514,13 +3484,8 @@ adjust_bool_pattern (tree var, tree out_type, ...@@ -3514,13 +3484,8 @@ adjust_bool_pattern (tree var, tree out_type,
} }
gimple_set_location (pattern_stmt, loc); gimple_set_location (pattern_stmt, loc);
/* ??? Why does vect_mark_pattern_stmts set the vector type on all append_pattern_def_seq (stmt_info, pattern_stmt,
pattern def seq stmts instead of just letting auto-detection do get_vectype_for_scalar_type (itype));
its work? */
stmt_vec_info patt_vinfo = new_stmt_vec_info (pattern_stmt, stmt_info->vinfo);
set_vinfo_for_stmt (pattern_stmt, patt_vinfo);
STMT_VINFO_VECTYPE (patt_vinfo) = get_vectype_for_scalar_type (itype);
append_pattern_def_seq (stmt_info, pattern_stmt);
defs.put (var, gimple_assign_lhs (pattern_stmt)); defs.put (var, gimple_assign_lhs (pattern_stmt));
} }
...@@ -3718,7 +3683,6 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3718,7 +3683,6 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
gimple *last_stmt = stmt_vinfo->stmt; gimple *last_stmt = stmt_vinfo->stmt;
enum tree_code rhs_code; enum tree_code rhs_code;
tree var, lhs, rhs, vectype; tree var, lhs, rhs, vectype;
stmt_vec_info new_stmt_info;
vec_info *vinfo = stmt_vinfo->vinfo; vec_info *vinfo = stmt_vinfo->vinfo;
gimple *pattern_stmt; gimple *pattern_stmt;
...@@ -3777,10 +3741,7 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3777,10 +3741,7 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
if (!useless_type_conversion_p (type, TREE_TYPE (lhs))) if (!useless_type_conversion_p (type, TREE_TYPE (lhs)))
{ {
tree new_vectype = get_vectype_for_scalar_type (type); tree new_vectype = get_vectype_for_scalar_type (type);
new_stmt_info = new_stmt_vec_info (pattern_stmt, vinfo); append_pattern_def_seq (stmt_vinfo, pattern_stmt, new_vectype);
set_vinfo_for_stmt (pattern_stmt, new_stmt_info);
STMT_VINFO_VECTYPE (new_stmt_info) = new_vectype;
append_pattern_def_seq (stmt_vinfo, pattern_stmt);
lhs = vect_recog_temp_ssa_var (TREE_TYPE (lhs), NULL); lhs = vect_recog_temp_ssa_var (TREE_TYPE (lhs), NULL);
pattern_stmt = gimple_build_assign (lhs, CONVERT_EXPR, tmp); pattern_stmt = gimple_build_assign (lhs, CONVERT_EXPR, tmp);
...@@ -3857,11 +3818,7 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3857,11 +3818,7 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
rhs = vect_recog_temp_ssa_var (type, NULL); rhs = vect_recog_temp_ssa_var (type, NULL);
pattern_stmt = gimple_build_assign (rhs, COND_EXPR, var, cst1, cst0); pattern_stmt = gimple_build_assign (rhs, COND_EXPR, var, cst1, cst0);
append_pattern_def_seq (stmt_vinfo, pattern_stmt, new_vectype);
pattern_stmt_info = new_stmt_vec_info (pattern_stmt, vinfo);
set_vinfo_for_stmt (pattern_stmt, pattern_stmt_info);
STMT_VINFO_VECTYPE (pattern_stmt_info) = new_vectype;
append_pattern_def_seq (stmt_vinfo, pattern_stmt);
} }
lhs = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (vectype), lhs); lhs = build1 (VIEW_CONVERT_EXPR, TREE_TYPE (vectype), lhs);
...@@ -3897,20 +3854,15 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3897,20 +3854,15 @@ vect_recog_bool_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
Return converted mask. */ Return converted mask. */
static tree static tree
build_mask_conversion (tree mask, tree vectype, stmt_vec_info stmt_vinfo, build_mask_conversion (tree mask, tree vectype, stmt_vec_info stmt_vinfo)
vec_info *vinfo)
{ {
gimple *stmt; gimple *stmt;
tree masktype, tmp; tree masktype, tmp;
stmt_vec_info new_stmt_info;
masktype = build_same_sized_truth_vector_type (vectype); masktype = build_same_sized_truth_vector_type (vectype);
tmp = vect_recog_temp_ssa_var (TREE_TYPE (masktype), NULL); tmp = vect_recog_temp_ssa_var (TREE_TYPE (masktype), NULL);
stmt = gimple_build_assign (tmp, CONVERT_EXPR, mask); stmt = gimple_build_assign (tmp, CONVERT_EXPR, mask);
new_stmt_info = new_stmt_vec_info (stmt, vinfo); append_pattern_def_seq (stmt_vinfo, stmt, masktype);
set_vinfo_for_stmt (stmt, new_stmt_info);
STMT_VINFO_VECTYPE (new_stmt_info) = masktype;
append_pattern_def_seq (stmt_vinfo, stmt);
return tmp; return tmp;
} }
...@@ -3982,7 +3934,7 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -3982,7 +3934,7 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
TYPE_VECTOR_SUBPARTS (vectype2))) TYPE_VECTOR_SUBPARTS (vectype2)))
return NULL; return NULL;
tmp = build_mask_conversion (rhs1, vectype1, stmt_vinfo, vinfo); tmp = build_mask_conversion (rhs1, vectype1, stmt_vinfo);
if (load) if (load)
{ {
...@@ -4109,16 +4061,12 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -4109,16 +4061,12 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
tmp = vect_recog_temp_ssa_var (TREE_TYPE (rhs1), NULL); tmp = vect_recog_temp_ssa_var (TREE_TYPE (rhs1), NULL);
pattern_stmt = gimple_build_assign (tmp, rhs1); pattern_stmt = gimple_build_assign (tmp, rhs1);
rhs1 = tmp; rhs1 = tmp;
append_pattern_def_seq (stmt_vinfo, pattern_stmt, vectype2);
pattern_stmt_info = new_stmt_vec_info (pattern_stmt, vinfo);
set_vinfo_for_stmt (pattern_stmt, pattern_stmt_info);
STMT_VINFO_VECTYPE (pattern_stmt_info) = vectype2;
append_pattern_def_seq (stmt_vinfo, pattern_stmt);
} }
if (maybe_ne (TYPE_VECTOR_SUBPARTS (vectype1), if (maybe_ne (TYPE_VECTOR_SUBPARTS (vectype1),
TYPE_VECTOR_SUBPARTS (vectype2))) TYPE_VECTOR_SUBPARTS (vectype2)))
tmp = build_mask_conversion (rhs1, vectype1, stmt_vinfo, vinfo); tmp = build_mask_conversion (rhs1, vectype1, stmt_vinfo);
else else
tmp = rhs1; tmp = rhs1;
...@@ -4158,14 +4106,14 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out) ...@@ -4158,14 +4106,14 @@ vect_recog_mask_conversion_pattern (stmt_vec_info stmt_vinfo, tree *type_out)
vectype1 = get_mask_type_for_scalar_type (rhs1_type); vectype1 = get_mask_type_for_scalar_type (rhs1_type);
if (!vectype1) if (!vectype1)
return NULL; return NULL;
rhs2 = build_mask_conversion (rhs2, vectype1, stmt_vinfo, vinfo); rhs2 = build_mask_conversion (rhs2, vectype1, stmt_vinfo);
} }
else else
{ {
vectype1 = get_mask_type_for_scalar_type (rhs2_type); vectype1 = get_mask_type_for_scalar_type (rhs2_type);
if (!vectype1) if (!vectype1)
return NULL; return NULL;
rhs1 = build_mask_conversion (rhs1, vectype1, stmt_vinfo, vinfo); rhs1 = build_mask_conversion (rhs1, vectype1, stmt_vinfo);
} }
lhs = vect_recog_temp_ssa_var (TREE_TYPE (lhs), NULL); lhs = vect_recog_temp_ssa_var (TREE_TYPE (lhs), NULL);
...@@ -4237,7 +4185,7 @@ vect_convert_mask_for_vectype (tree mask, tree vectype, ...@@ -4237,7 +4185,7 @@ vect_convert_mask_for_vectype (tree mask, tree vectype,
if (mask_vectype if (mask_vectype
&& maybe_ne (TYPE_VECTOR_SUBPARTS (vectype), && maybe_ne (TYPE_VECTOR_SUBPARTS (vectype),
TYPE_VECTOR_SUBPARTS (mask_vectype))) TYPE_VECTOR_SUBPARTS (mask_vectype)))
mask = build_mask_conversion (mask, vectype, stmt_info, vinfo); mask = build_mask_conversion (mask, vectype, stmt_info);
} }
return mask; return mask;
} }
...@@ -4251,19 +4199,15 @@ vect_convert_mask_for_vectype (tree mask, tree vectype, ...@@ -4251,19 +4199,15 @@ vect_convert_mask_for_vectype (tree mask, tree vectype,
to STMT_INFO. */ to STMT_INFO. */
static tree static tree
vect_add_conversion_to_patterm (tree type, tree value, vect_add_conversion_to_pattern (tree type, tree value, stmt_vec_info stmt_info)
stmt_vec_info stmt_info,
vec_info *vinfo)
{ {
if (useless_type_conversion_p (type, TREE_TYPE (value))) if (useless_type_conversion_p (type, TREE_TYPE (value)))
return value; return value;
tree new_value = vect_recog_temp_ssa_var (type, NULL); tree new_value = vect_recog_temp_ssa_var (type, NULL);
gassign *conversion = gimple_build_assign (new_value, CONVERT_EXPR, value); gassign *conversion = gimple_build_assign (new_value, CONVERT_EXPR, value);
stmt_vec_info new_stmt_info = new_stmt_vec_info (conversion, vinfo); append_pattern_def_seq (stmt_info, conversion,
set_vinfo_for_stmt (conversion, new_stmt_info); get_vectype_for_scalar_type (type));
STMT_VINFO_VECTYPE (new_stmt_info) = get_vectype_for_scalar_type (type);
append_pattern_def_seq (stmt_info, conversion);
return new_value; return new_value;
} }
...@@ -4309,8 +4253,8 @@ vect_recog_gather_scatter_pattern (stmt_vec_info stmt_info, tree *type_out) ...@@ -4309,8 +4253,8 @@ vect_recog_gather_scatter_pattern (stmt_vec_info stmt_info, tree *type_out)
latter to the same width as the vector elements. */ latter to the same width as the vector elements. */
tree base = gs_info.base; tree base = gs_info.base;
tree offset_type = vect_get_gather_scatter_offset_type (&gs_info); tree offset_type = vect_get_gather_scatter_offset_type (&gs_info);
tree offset = vect_add_conversion_to_patterm (offset_type, gs_info.offset, tree offset = vect_add_conversion_to_pattern (offset_type, gs_info.offset,
stmt_info, loop_vinfo); stmt_info);
/* Build the new pattern statement. */ /* Build the new pattern statement. */
tree scale = size_int (gs_info.scale); tree scale = size_int (gs_info.scale);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment