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

irar@gcc.gnu.org irar@gcc.gnu.org
Tue Jun 16 07:21:00 GMT 2009


Author: irar
Date: Tue Jun 16 07:21:12 2009
New Revision: 148518

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

	* tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction
	with additional parameter.
	* tree-vectorizer.h (enum vect_def_type): Add new value 
	vect_nested_cycle.
	(enum vect_relevant): Add comments.
	(vect_is_simple_reduction): Add new argument.
	* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Add comments.
	Detect nested cycles.
	(vect_is_simple_reduction): Update documentation, add an argument to
	distinguish inner-loop reduction from nested cycle, detect nested
	cycles, fix printings and indentation, don't swap operands in case
	of nested cycle.
	(get_initial_def_for_reduction): Handle subtraction.
	(vect_create_epilog_for_reduction): Add new argument to specify
	reduction variable.
	(vect_finalize_reduction): Handle subtraction, fix comments.
	(vectorizable_reduction): Handle nested cycles. In case of nested cycle
	keep track of the reduction variable position. Call 
	vect_is_simple_reduction with additional parameter. Use original 
	statement code in reduction epilogue for nested cycle. Call
	vect_create_epilog_for_reduction with additional parameter.
	* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Assert inner-loop
	vectorization.
	(vect_recog_widen_sum_pattern): Likewise.
	* tree-vect-stmts.c (process_use): Distinguish between nested cycles
	and reductions.
	(vect_mark_stmts_to_be_vectorized): Likewise.
	(vect_get_vec_def_for_operand): Handle nested cycles.


Added:
    trunk/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-1.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-2.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-nest-cycle-3.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-1a.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-4f.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-4g.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-4k.c
    trunk/gcc/testsuite/gcc.dg/vect/vect-outer-4l.c
    trunk/gcc/tree-parloops.c
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-patterns.c
    trunk/gcc/tree-vect-stmts.c
    trunk/gcc/tree-vectorizer.h



More information about the Gcc-cvs mailing list