aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorCong Hou <congh@google.com>2014-04-24 20:20:44 -0400
committerCong Hou <congh@gcc.gnu.org>2014-04-24 20:20:44 -0400
commit56f8faaeddc1962326641374cfd3888b00706dac (patch)
tree6b19b1e15052fb164e0c0ddbd02376c4a36692e4 /gcc/tree-vect-patterns.c
parent9beb6f2b1db928682f33b45ab5dffaaf9320d9f1 (diff)
downloadgcc-56f8faaeddc1962326641374cfd3888b00706dac.zip
gcc-56f8faaeddc1962326641374cfd3888b00706dac.tar.gz
gcc-56f8faaeddc1962326641374cfd3888b00706dac.tar.bz2
re PR tree-optimization/60896 (ICE: in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1449)
2014-04-24 Cong Hou <congh@google.com> PR tree-optimization/60896 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Pick up all statements in PATTERN_DEF_SEQ in recognized widen-mult pattern. (vect_mark_pattern_stmts): Set the def type of all statements in PATTERN_DEF_SEQ as vect_internal_def. 2014-04-24 Cong Hou <congh@google.com> PR tree-optimization/60896 * g++.dg/vect/pr60896.cc: New test. From-SVN: r209773
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index 5daaf24..365cf01 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -392,6 +392,8 @@ vect_recog_dot_prod_pattern (vec<gimple> *stmts, tree *type_in,
gcc_assert (STMT_VINFO_DEF_TYPE (stmt_vinfo) == vect_internal_def);
oprnd00 = gimple_assign_rhs1 (stmt);
oprnd01 = gimple_assign_rhs2 (stmt);
+ STMT_VINFO_PATTERN_DEF_SEQ (vinfo_for_stmt (last_stmt))
+ = STMT_VINFO_PATTERN_DEF_SEQ (stmt_vinfo);
}
else
{
@@ -3065,8 +3067,7 @@ vect_mark_pattern_stmts (gimple orig_stmt, gimple pattern_stmt,
}
gimple_set_bb (def_stmt, gimple_bb (orig_stmt));
STMT_VINFO_RELATED_STMT (def_stmt_info) = orig_stmt;
- STMT_VINFO_DEF_TYPE (def_stmt_info)
- = STMT_VINFO_DEF_TYPE (orig_stmt_info);
+ STMT_VINFO_DEF_TYPE (def_stmt_info) = vect_internal_def;
if (STMT_VINFO_VECTYPE (def_stmt_info) == NULL_TREE)
STMT_VINFO_VECTYPE (def_stmt_info) = pattern_vectype;
}