diff options
author | Cong Hou <congh@google.com> | 2014-02-03 13:15:56 -0500 |
---|---|---|
committer | Cong Hou <congh@gcc.gnu.org> | 2014-02-03 13:15:56 -0500 |
commit | cf5b2be2a4b13c3fb806033840581cd02080375c (patch) | |
tree | c169424d5d8cdcbdf3aa71e42ddf34256bc75463 /gcc/tree-vect-loop.c | |
parent | e3aaedd6bf3a5c7e7b88802bcb135fd842b3e655 (diff) | |
download | gcc-cf5b2be2a4b13c3fb806033840581cd02080375c.zip gcc-cf5b2be2a4b13c3fb806033840581cd02080375c.tar.gz gcc-cf5b2be2a4b13c3fb806033840581cd02080375c.tar.bz2 |
re PR tree-optimization/60000 (GCC trunk build failure caused by the vectorizer)
2014-02-03 Cong Hou <congh@google.com>
PR tree-optimization/60000
* tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
if the vectorized statement is a store. A store statement can only
appear at the end of pattern statements.
2014-02-03 Cong Hou <congh@google.com>
PR tree-optimization/60000
* g++.dg/vect/pr60000.cc: New test.
From-SVN: r207433
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 2bb9fbd..eb7ecb6 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -6054,7 +6054,6 @@ vect_transform_loop (loop_vec_info loop_vinfo) the chain. */ gsi_next (&si); vect_remove_stores (GROUP_FIRST_ELEMENT (stmt_info)); - continue; } else { @@ -6064,11 +6063,13 @@ vect_transform_loop (loop_vec_info loop_vinfo) unlink_stmt_vdef (store); gsi_remove (&si, true); release_defs (store); - continue; } - } - if (!transform_pattern_stmt && gsi_end_p (pattern_def_si)) + /* Stores can only appear at the end of pattern statements. */ + gcc_assert (!transform_pattern_stmt); + pattern_def_seq = NULL; + } + else if (!transform_pattern_stmt && gsi_end_p (pattern_def_si)) { pattern_def_seq = NULL; gsi_next (&si); |