This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[autovect] [patch] Fix a bug in loop-aware SLP
- From: Ira Rosen <IRAR at il dot ibm dot com>
- To: gcc-patches at gnu dot org
- Date: Tue, 3 Jul 2007 11:57:50 +0300
- Subject: [autovect] [patch] Fix a bug in loop-aware SLP
Bootstrapped with vectorization enabled and tested on ppc-linux.
Committed to autovect branch.
Ira
ChangeLog:
* tree-vect-transform.c (vect_get_slp_defs): Don't return after
getting
left node defs.
Index: tree-vect-transform.c
===================================================================
--- tree-vect-transform.c (revision 126247)
+++ tree-vect-transform.c (working copy)
@@ -1870,7 +1870,8 @@ vect_get_slp_defs (slp_tree slp_node, VE
vect_get_slp_vect_defs (SLP_TREE_LEFT (slp_node), vec_oprnds0);
else
/* Build vectors from scalar defs. */
- return vect_get_constant_vectors (slp_node, vec_oprnds0, 0);
+ if (!vect_get_constant_vectors (slp_node, vec_oprnds0, 0))
+ return false;
first_stmt = VEC_index (tree, SLP_TREE_SCALAR_STMTS (slp_node), 0);
if (STMT_VINFO_DATA_REF (vinfo_for_stmt (first_stmt)))