+2016-05-19 Martin Liska <mliska@suse.cz>
+
+ * tree-vect-stmts.c (vectorizable_simd_clone_call): Utilize
+ auto_vec instead of vec.
+
2016-05-19 Martin Liska <mliska@suse.cz>
* tree-parloops.c (oacc_entry_exit_ok): Release a vector.
gimple *def_stmt;
gimple *new_stmt = NULL;
int ncopies, j;
- vec<simd_call_arg_info> arginfo = vNULL;
+ auto_vec<simd_call_arg_info> arginfo;
vec<tree> vargs = vNULL;
size_t i, nargs;
tree lhs, rtype, ratype;
if (nargs == 0)
return false;
- arginfo.create (nargs);
+ arginfo.reserve (nargs, true);
for (i = 0; i < nargs; i++)
{
if (dump_enabled_p ())
dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location,
"use not simple.\n");
- arginfo.release ();
return false;
}
}
if (bestn == NULL)
- {
- arginfo.release ();
- return false;
- }
+ return false;
for (i = 0; i < nargs; i++)
if ((arginfo[i].dt == vect_constant_def
if (arginfo[i].vectype == NULL
|| (TYPE_VECTOR_SUBPARTS (arginfo[i].vectype)
> bestn->simdclone->simdlen))
- {
- arginfo.release ();
- return false;
- }
+ return false;
}
fndecl = bestn->decl;
performed using SIMD instructions. */
if ((loop == NULL || (unsigned) loop->safelen < nunits)
&& gimple_vuse (stmt))
- {
- arginfo.release ();
- return false;
- }
+ return false;
/* Sanity check: make sure that at least one copy of the vectorized stmt
needs to be generated. */
dump_printf_loc (MSG_NOTE, vect_location,
"=== vectorizable_simd_clone_call ===\n");
/* vect_model_simple_cost (stmt_info, ncopies, dt, NULL, NULL); */
- arginfo.release ();
return true;
}