r123310 - in /branches/autovect-branch/gcc: Cha...
dorit@gcc.gnu.org
dorit@gcc.gnu.org
Wed Mar 28 19:43:00 GMT 2007
Author: dorit
Date: Wed Mar 28 20:43:01 2007
New Revision: 123310
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=123310
Log:
* tree-vectorizer.h (_loop_vec_info): Remove unused field exit_cond.
(stmt_vec_info_type): Add enum value loop_exit_ctrl_vec_info_type.
* tree-vectorizer.c (new_loop_vec_info): Remove setting of
LOOP_VINFO_EXIT_COND.
* tree-vect-analyze.c (vect_stmt_relevant_p): Replace use of
LOOP_VINFO_EXIT_COND with use of loop_exit_ctrl_vec_info_type.
(vect_analyze_loop_form): Likewise.
* tree-vectorizer.h (stmt_vec_info_type): Add enum value
induc_vec_info_type.
(vectorizable_induction): New function declaration.
* tree-vect-transform.c (get_initial_def_for_induction): No need to
check if already vectorized. Find first place in BB where nre stmts
can be inserted.
(vectorizable_induction): New function.
(vect_transform_stmt): Add case for induc_vec_info_type to call
vectorizable_induction.
(vect_transform_loop): Consider phis for vectorization.
* tree-vect-analyze.c (analyze_operations): Call
vectorizable_induction when analyzing phis and when analyzing
stmts.
* tree-vectorizer.c (vect_is_simple_use): Remove redundant check.
(destroy_loop_vec_info): Set loop->aux to NULL.
* tree-vect-analyze.c (vect_determine_vectorization_factor): Simplify
condition. Add dump print.
(vect_analyze_operations): Fix indenetation. Fix a comment. Fix a
print message.
(vect_analyze_scalar_cycles): Fix indentation.
(vect_enhance_data_refs_alignment): Fix check in case of peeling.
(vect_mark_relevant): Include phis in relevance analysis.
(process_use): New function.
(vect_mark_stmts_to_be_vectorized): Factor out code to process_use.
Check phis in all bbs.
* tree-vect-patterns.c (widened_name_p): Remove redundant check.
* tree-vect-analyze.c (vect_analyze_operations): Reorganize calls to
vectorizable_* functions.
* tree-vect-transform.c (vectorizable_call): Add check for
STMT_VINFO_RELEVANT_P, STMT_VINFO_DEF_TYPE and STMT_VINFO_LIVE_P.
(vectorizable_store): likewise.
(vectorizable_conversion): Add check for STMT_VINFO_DEF_TYPE.
Add comments.
(vectorizable_operation, vectorizable_type_demotion): Likewise.
(vectorizable_type_promotion, vectorizable_load): Likewise.
(vectorizable_live_operation, vectorizable_condition): Likewise.
(vectorizable_assignment): Add check for STMT_VINFO_DEF_TYPE and
STMT_VINFO_LIVE_P.
(vect_transform_stmt): Reorganize calls to vectorizable_* functions.
(vect_analyze_loop_form): Use the new NITERS_KNOWN_P macro so that
this check could be done without creating a loop_vinfo first. Record
loop_vinfo in loop->aux.
* tree-vect-transform.c (get_initial_def_for_reduction): Clean away
the unused code for reduction without adjust-in-epilog to simplify the
function.
* tree-vect-transform.c (vect_transform_loop): Add an assert.
* tree-ssa-reassoc.c (gate_reassoc): New function.
* common.opt (tree-reassoc): New flag.
(pass_reassoc): Add gate.
Modified:
branches/autovect-branch/gcc/ChangeLog.autovect
branches/autovect-branch/gcc/common.opt
branches/autovect-branch/gcc/testsuite/ChangeLog.autovect
branches/autovect-branch/gcc/testsuite/gcc.dg/vect/vect-1.c
branches/autovect-branch/gcc/testsuite/gcc.dg/vect/vect.exp
branches/autovect-branch/gcc/tree-ssa-reassoc.c
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