r149806 - in /trunk/gcc: ChangeLog testsuite/Ch...

irar@gcc.gnu.org irar@gcc.gnu.org
Mon Jul 20 11:59:00 GMT 2009


Author: irar
Date: Mon Jul 20 11:59:10 2009
New Revision: 149806

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=149806
Log:

	* tree-vectorizer.h (vectorizable_condition): Add parameters.
	* tree-vect-loop.c (vect_is_simple_reduction): Support COND_EXPR.
	(get_initial_def_for_reduction): Likewise.
	(vectorizable_reduction): Skip the check of first operand in case
	of COND_EXPR. Add check that it is outer loop vectorization if
	nested cycle was detected. Call vectorizable_condition() for 
	COND_EXPR. If reduction epilogue cannot be created do not fail for
	nested cycles (if it is not double reduction). Assert that there
	is only one type in the loop in case of COND_EXPR. Call
	vectorizable_condition() to vectorize COND_EXPR.
	* tree-vect-stmts.c (vectorizable_condition): Update comment.
	Add parameters. Allow nested cycles if called from 
	vectorizable_reduction(). Use reduction vector variable if provided.
	(vect_analyze_stmt): Call vectorizable_reduction() before
	vectorizable_condition().
	(vect_transform_stmt): Update call to vectorizable_condition().


Added:
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-1.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-2.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-3.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-4.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-5.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-cond-6.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-stmts.c
    trunk/gcc/tree-vectorizer.h



More information about the Gcc-cvs mailing list