aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-12 06:01:15 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-12 06:01:15 +0000
commit1991698ff992d129f294328e5421b2b556c657b6 (patch)
tree119638fa11d90259709376f446de7ae86562ed34 /gcc/tree-vect-patterns.c
parent766a6efd4e86025c6f0649f95a98edffbfae34da (diff)
2011-09-12 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50343 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check that the reduction is over an SSA name before checking its definition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178775 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 0d788827513..7fc107cafa9 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -256,6 +256,8 @@ vect_recog_dot_prod_pattern (VEC (gimple, heap) **stmts, tree *type_in,
we know that oprnd1 is the reduction variable (defined by a loop-header
phi), and oprnd0 is an ssa-name defined by a stmt in the loop body.
Left to check that oprnd0 is defined by a (widen_)mult_expr */
+ if (TREE_CODE (oprnd0) != SSA_NAME)
+ return NULL;
prod_type = half_type;
stmt = SSA_NAME_DEF_STMT (oprnd0);