diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2017-11-20 13:08:06 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@linaro.org> | 2017-11-20 16:01:06 +0000 |
commit | 1e3e0a40da889d83ed8f8952cb0e2462e5569b97 (patch) | |
tree | 17b7ef2342e03fa88118d60173bec190f776a405 | |
parent | 44e10175b6664f9174334186aa25c0c22f125990 (diff) | |
download | gcc-1e3e0a40da889d83ed8f8952cb0e2462e5569b97.tar.gz |
:: Fix for vect_create_destination_var
-rw-r--r-- | gcc/tree-vect-data-refs.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index dfb9468dfe5..3c7935609b3 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -5021,15 +5021,18 @@ vect_create_destination_var (tree scalar_dest, tree vectype) : vect_scalar_var; type = vectype ? vectype : TREE_TYPE (scalar_dest); - gcc_assert (TREE_CODE (scalar_dest) == SSA_NAME); - - name = get_name (scalar_dest); - if (name) - new_name = xasprintf ("%s_%u", name, SSA_NAME_VERSION (scalar_dest)); + if (TREE_CODE (scalar_dest) == SSA_NAME) + { + name = get_name (scalar_dest); + if (name) + new_name = xasprintf ("%s_%u", name, SSA_NAME_VERSION (scalar_dest)); + else + new_name = xasprintf ("_%u", SSA_NAME_VERSION (scalar_dest)); + vec_dest = vect_get_new_vect_var (type, kind, new_name); + free (new_name); + } else - new_name = xasprintf ("_%u", SSA_NAME_VERSION (scalar_dest)); - vec_dest = vect_get_new_vect_var (type, kind, new_name); - free (new_name); + vec_dest = vect_get_new_vect_var (type, kind, NULL); return vec_dest; } |