re PR tree-optimization/43074 (ICE in vectorizable_reduction, at tree-vect-loop.c:3491)

PR tree-optimization/43074
	* tree-vect-analyze.c (vect_detect_hybrid_slp_stmts): Add
	vectorizable cycles in hybrid SLP check.

From-SVN: r156802
This commit is contained in:
Ira Rosen 2010-02-16 11:41:55 +00:00 committed by Ira Rosen
parent 995390d03c
commit 972e6a5a49
4 changed files with 30 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2010-02-16 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/43074
* tree-vect-analyze.c (vect_detect_hybrid_slp_stmts): Add
vectorizable cycles in hybrid SLP check.
2010-02-14 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/s390/s390.c (s390_sched_init): New function.

View File

@ -1,3 +1,8 @@
2010-02-16 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/43074
* gcc.dg/vect/fast-math-pr43074.c: New test.
2010-02-16 Tobias Burnus <burnus@net-b.de>
PR fortran/41869

View File

@ -0,0 +1,16 @@
/* { dg-do compile } */
float
pvslockprocess(float *fout, float *fin, int framesize)
{
int i;
float mag=0.0f, diff;
for (i = 0; i < framesize; i += 2) {
mag += fin[i];
fout[i] = fin[i];
fout[i+1] = fin[i+1];
}
return mag;
}
/* { dg-final { cleanup-tree-dump "vect" } } */

View File

@ -3508,7 +3508,9 @@ vect_detect_hybrid_slp_stmts (slp_tree node)
FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0))
if (vinfo_for_stmt (use_stmt)
&& !STMT_SLP_TYPE (vinfo_for_stmt (use_stmt))
&& STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt)))
&& (STMT_VINFO_RELEVANT (vinfo_for_stmt (use_stmt))
|| STMT_VINFO_DEF_TYPE (vinfo_for_stmt (use_stmt))
== vect_reduction_def))
vect_mark_slp_stmts (node, hybrid, i);
vect_detect_hybrid_slp_stmts (SLP_TREE_LEFT (node));