diff options
author | Ira Rosen <irar@il.ibm.com> | 2009-06-01 08:15:01 +0000 |
---|---|---|
committer | Ira Rosen <irar@gcc.gnu.org> | 2009-06-01 08:15:01 +0000 |
commit | e9dbe7bb252efef01651d46da119afcdea78a301 (patch) | |
tree | 456887f907250fda0da8266501593e5916fb59a6 /gcc/tree-vect-stmts.c | |
parent | a7ad6c2d616aff70b3ad1b17bae0d9fd9ba0478a (diff) | |
download | gcc-e9dbe7bb252efef01651d46da119afcdea78a301.zip gcc-e9dbe7bb252efef01651d46da119afcdea78a301.tar.gz gcc-e9dbe7bb252efef01651d46da119afcdea78a301.tar.bz2 |
re PR tree-optimization/39129 (The meaning of 'BB' in "too many BBs in loop")
PR tree-optimization/39129
* tree-vect-loop-manip.c (conservative_cost_threshold): Change the
printed message.
(vect_do_peeling_for_loop_bound): Use
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
(vect_loop_versioning): Likewise.
(vect_create_cond_for_alias_checks): Fix indentation.
* tree-vectorizer.h (struct _loop_vec_info): Fix indentation of the
macros.
(LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT): Define.
(LOOP_REQUIRES_VERSIONING_FOR_ALIAS): Likewise.
* tree-vect-loop.c (vect_analyze_loop_form): Change "too many BBs" to
"control flow in loop".
(vect_estimate_min_profitable_iters): Use
LOOP_REQUIRES_VERSIONING_FOR_ALIGNMENT and
LOOP_REQUIRES_VERSIONING_FOR_ALIAS macros.
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
(vect_create_data_ref_ptr): Don't mention array dimension in printing.
* tree-vect-stmts.c (vectorizable_store): Replace the check that the
statement belongs to a group of strided accesses with the exact code
check.
(vectorizable_load): Likewise.
* tree-vect-slp.c (vect_analyze_slp_instance): Spell out "basic block".
(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
From-SVN: r148036
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r-- | gcc/tree-vect-stmts.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 5ca8d94..be6e2c6 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -2903,7 +2903,9 @@ vectorizable_store (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt, scalar_dest = gimple_assign_lhs (stmt); if (TREE_CODE (scalar_dest) != ARRAY_REF && TREE_CODE (scalar_dest) != INDIRECT_REF - && !STMT_VINFO_STRIDED_ACCESS (stmt_info)) + && TREE_CODE (scalar_dest) != COMPONENT_REF + && TREE_CODE (scalar_dest) != IMAGPART_EXPR + && TREE_CODE (scalar_dest) != REALPART_EXPR) return false; gcc_assert (gimple_assign_single_p (stmt)); @@ -3285,7 +3287,9 @@ vectorizable_load (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt, code = gimple_assign_rhs_code (stmt); if (code != ARRAY_REF && code != INDIRECT_REF - && !STMT_VINFO_STRIDED_ACCESS (stmt_info)) + && code != COMPONENT_REF + && code != IMAGPART_EXPR + && code != REALPART_EXPR) return false; if (!STMT_VINFO_DATA_REF (stmt_info)) |