summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-11-20 13:08:06 +0000
committerRichard Sandiford <richard.sandiford@linaro.org>2017-11-20 16:01:06 +0000
commit1e3e0a40da889d83ed8f8952cb0e2462e5569b97 (patch)
tree17b7ef2342e03fa88118d60173bec190f776a405
parent44e10175b6664f9174334186aa25c0c22f125990 (diff)
downloadgcc-1e3e0a40da889d83ed8f8952cb0e2462e5569b97.tar.gz
:: Fix for vect_create_destination_var
-rw-r--r--gcc/tree-vect-data-refs.c19
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;
}