]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c...
authorJakub Jelinek <jakub@redhat.com>
Thu, 10 Nov 2011 08:29:52 +0000 (09:29 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 10 Nov 2011 08:29:52 +0000 (09:29 +0100)
commit78048b1c66c31b87770b8a29fa44fc291213fd9b
tree17a0e0e6943fabe7f2cd14633582a9f31eb0a0ed
parent136a1c15d70712b65429ca8028fb2fe2d38df501
re PR tree-optimization/51000 (ICE: in vect_get_store_cost, at tree-vect-stmts.c:923 on powerpc-apple-darwin9)

PR tree-optimization/51000
* tree-vect-patterns.c (vect_recog_bool_pattern): If adding
a pattern stmt for a bool store, adjust DR_STMT too.
Don't handle bool conversions to single bit precision lhs.
* tree-vect-stmts.c (vect_remove_stores): If next is a pattern
stmt, remove its related stmt and free its stmt_vinfo.
(free_stmt_vec_info): Free also pattern stmt's vinfo and
pattern def stmt's vinfo.
* tree-vect-loop.c (destroy_loop_vec_info): Don't try to
free pattern stmt's vinfo here.
(vect_transform_loop): When calling vect_remove_stores,
do gsi_next first and don't call gsi_remove.  If not strided
store, free stmt vinfo for gsi_stmt (si) rather than stmt.

* gcc.dg/vect/pr51000.c: New test.

From-SVN: r181250
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/pr51000.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-patterns.c
gcc/tree-vect-stmts.c