gcc/gcc ChangeLog.autovect tree-vect-analyze.c ...

dorit@gcc.gnu.org dorit@gcc.gnu.org
Fri Jun 10 20:58:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	autovect-branch
Changes by:	dorit@gcc.gnu.org	2005-06-10 20:58:08

Modified files:
	gcc            : ChangeLog.autovect tree-vect-analyze.c 
	                 tree-vect-transform.c tree-vectorizer.c 
	                 tree-vectorizer.h tree.def 
	gcc/testsuite  : ChangeLog.autovect 
	gcc/testsuite/gcc.dg/vect: vect-103.c 
	gcc/testsuite/gcc.dg/vect/no_version: vect-99.c vect-reduc-3.c 
	gcc/testsuite/gfortran.dg/vect: vect-4.f90 
Added files:
	gcc/testsuite/gcc.dg/vect/no_version: vect-noreduc.c 

Log message:
	* tree-vect-analyze.c (vect_analyze_operations): Fail vectorization
	in case of a relevant phi.
	(vect_analyze_data_ref_dependence): Check if distance modulo VF is
	zero. Check if absolute distance is greater than 0. Updated debug
	printouts accordingly.
	(vect_mark_relevant): Phis may be marked as relevant.
	(vect_mark_stmts_to_be_vectorized): Last use of a reduction does not
	mark its defining phi as relevant. Update documentation accordingly.
	(vect_pattern_recog_1): Remove setting of STMT_VINFO_EXTERNAL_USE.
	(vect_can_advance_ivs_p): Skip reduction phis.
	* tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
	additional argument. Reduction is handled inside the switch. Return a
	vector def instead of a scalar def for reduction by calling
	get_initial_def_for_reduction. The scalar_def is returned in the new
	argument.
	(vectorizable_target_reduction_pattern, vectorizable_reduction)
	(vectorizable_assignment, vectorizable_operation, vectorizable_store)
	(vectorizable_select): Update call to vect_get_vec_def_for_operand.
	(get_initial_def_for_reduction): Last argument changed from bool* to
	tree*. Second argument name changed to init_val. Move ADJUST_IN_EPILOG
	ifdefs.
	(vect_create_epilog_for_reduction): Update call to
	vect_get_vec_def_for_operand. Call to get_initial_def_for_reduction
	moved to vect_get_vec_def_for_operand. Remove ifdef ADJUST_IN_EPILOG.
	Remove use of STMT_VINFO_EXTERNAL_USE, find immediate uses instead.
	(vect_update_ivs_after_vectorizer): Skip reduction phis.
	* tree-vectorizer.h (after_loop_use): Field removed from stmt_vec_info.
	(STMT_VINFO_EXTERNAL_USE): Macro removed.
	
	* tree-vect-analyze.c (vect_determine_vectorization_factor)
	(vect_analyze_operations, vect_enhance_data_refs_alignment)
	(vect_stmt_relevant_p): Remove ENABLE_CHECKING guard around gcc_assert.
	* tree-vect-transform (vect_finish_stmt_generation)
	(vectorizable_reduction, vectorizable_target_reduction_pattern)
	(vectorizable_target_reduction_pattern, vectorizable_assignment)
	(vectorizable_operation, vectorizable_select, vect_transform_loop)
	(vect_do_peeling_for_loop_bound, vect_do_peeling_for_alignment): Remove
	ENABLE_CHECKING guard around gcc_assert.
	(vect_create_cond_for_align_checks): Replace an abort with a gcc_assert.
	* tree-vectorizer.c (slpeel_update_phi_nodes_for_guard1)
	(new_stmt_vec_info): Remove setting of STMT_VINFO_EXTERNAL_USE.
	(vect_is_simple_use): Update documentation.
	(reduction_code_for_scalar_code): Update documentation. Swap operands
	if needed.
	* tree-vect-transform.c (vect_get_new_vect_var): Remove redundant code.
	* tree.def: Fix typo.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.autovect.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.66&r2=1.1.2.67
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-analyze.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.4.4.15&r2=2.4.4.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vect-transform.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.1.4.11&r2=2.1.4.12
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.25.2.26&r2=2.25.2.27
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-vectorizer.h.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=2.7.2.18&r2=2.7.2.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.def.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.103.14.7&r2=1.103.14.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.autovect.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.33&r2=1.1.2.34
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/vect-103.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.1&r2=1.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/no_version/vect-noreduc.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=NONE&r2=1.1.2.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/no_version/vect-99.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.1&r2=1.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/vect/no_version/vect-reduc-3.c.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gfortran.dg/vect/vect-4.f90.diff?cvsroot=gcc&only_with_tag=autovect-branch&r1=1.1.2.3&r2=1.1.2.4



More information about the Gcc-cvs mailing list