]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip...
authorRichard Biener <rguenther@suse.de>
Fri, 15 Jan 2016 15:43:48 +0000 (15:43 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 15 Jan 2016 15:43:48 +0000 (15:43 +0000)
commit78810bd35336529a133661a5e4f801ccda57fd74
treeac7638373fb51bc7a33745a33d9099a22b1b3b04
parent2bd847fed39669cfd021b9c3068ca84fd98593e4
re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)

2016-01-15  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66856
* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
(vect_create_new_slp_node): Increment stmt reference count.
(vect_get_and_check_slp_defs): Make sure stmts are nor already in
an SLP tree before swapping operands.
(vect_build_slp_tree): Likewise.
(destroy_bb_vec_info): Free stmt info after SLP instances.
* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
(STMT_VINFO_NUM_SLP_USES): New macro.

* gcc.dg/torture/pr66856-1.c: New testcase.
* gcc.dg/torture/pr66856-2.c: Likewise.

From-SVN: r232435
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr66856-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/torture/pr66856-2.c [new file with mode: 0644]
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h