From: rguenth Date: Mon, 12 Sep 2011 06:01:15 +0000 (+0000) Subject: 2011-09-12 Richard Guenther X-Git-Tag: upstream/4.9.2~17786 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1991698ff992d129f294328e5421b2b556c657b6;p=platform%2Fupstream%2Flinaro-gcc.git 2011-09-12 Richard Guenther 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ae39c2..ad8f931 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-09-12 Richard Guenther + + 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. + 2011-09-11 Richard Sandiford * config/cris/cris.md: Use match_test rather than eq/ne symbol_ref diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c index 0d78882..7fc107c 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);