r124951 - in /branches/autovect-branch/gcc: Cha...
dorit@gcc.gnu.org
dorit@gcc.gnu.org
Tue May 22 17:35:00 GMT 2007
Author: dorit
Date: Tue May 22 17:35:10 2007
New Revision: 124951
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=124951
Log:
* tree-vectorizer.c (vect_is_simple_use): Remove multitypes check.
Moved to vectorizable_* functions.
* tree-vect-transform.c (vectorizable_reduction): Call
nested_in_vect_loop_p. Check for multitypes in the inner-loop.
(vectorizable_call): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_type_promotion): Likewise.
(vectorizable_type_demotion): Likewise.
(vectorizable_store): Likewise.
(vectorizable_live_operation): Likewise.
* tree-vectorizer.c (supportable_widening_operation): Also check if
used by an outer-loop reduction.
(vect_is_simple_reduction): Takes a loop_vec_info as argument instead
of struct loop. Call nested_in_vect_loop_p and don't require
flag_unsafe_math_optimizations if it returns true.
* tree-vectorizer.h (vect_is_simple_reduction): Takes a loop_vec_info
as argument instead of struct loop.
* tree-vect-analyze.c (vect_analyze_scalar_cycles_1): New function.
Same code as what used to be vect_analyze_scalar_cycles, only with
additional argument loop, and loop_info passed to
vect_is_simple_reduction instead of loop.
(vect_analyze_scalar_cycles): Codee factored out into
vect_analyze_scalar_cycles_1. Call it for each relevant loop-nest.
Updated documentation.
(vect_mark_stmts_to_be_vectorized): 'relevant' doen't change to
vect_used_by_reduction in case it is vect_used_in_outer*.
(vect_analyze_loop_1): Don't call vect_analyze_scalar_cycles.
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check if there
are uses in the loop.
* tree-vect-transform.c (vectorizable_reduction): pass loop_info to
vect_is_simple_reduction instead of loop.
* tree-vect-analyze.c (process_use): Remove printouts.
* tree-vect-transform.c (get_initial_def_for_induction): Fix
indentation.
* tree-vectorizer.h (nested_in_vect_loop_p): New function.
* tree-vect-transform.c (vect_init_vector): Call nested_in_vect_loop_p.
(get_initial_def_for_reduction): Likewise.
(vect_create_epilog_for_reduction): Likewise.
Modified:
branches/autovect-branch/gcc/ChangeLog.autovect
branches/autovect-branch/gcc/tree-vect-analyze.c
branches/autovect-branch/gcc/tree-vect-patterns.c
branches/autovect-branch/gcc/tree-vect-transform.c
branches/autovect-branch/gcc/tree-vectorizer.c
branches/autovect-branch/gcc/tree-vectorizer.h
More information about the Gcc-cvs
mailing list