From e9dbe7bb252efef01651d46da119afcdea78a301 Mon Sep 17 00:00:00 2001 From: Ira Rosen Date: Mon, 1 Jun 2009 08:15:01 +0000 Subject: 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 --- gcc/tree-vect-stmts.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'gcc/tree-vect-stmts.c') 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)) -- cgit v1.1