From 1e3e0a40da889d83ed8f8952cb0e2462e5569b97 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Mon, 20 Nov 2017 13:08:06 +0000 Subject: :: Fix for vect_create_destination_var --- gcc/tree-vect-data-refs.c | 19 +++++++++++-------- 1 file 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; } -- cgit v1.2.1