aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop-manip.c
diff options
context:
space:
mode:
authorIra Rosen <ira.rosen@linaro.org>2011-06-15 06:27:32 +0000
committerIra Rosen <irar@gcc.gnu.org>2011-06-15 06:27:32 +0000
commit9d5e7640c335a590cec4497fa64230f0b0e83465 (patch)
tree907668cbb2e8294a111bd06a50c65091ce15c360 /gcc/tree-vect-loop-manip.c
parentb273cdb17474d4d221fda93c6c9936bfd7d0a6ae (diff)
downloadgcc-9d5e7640c335a590cec4497fa64230f0b0e83465.zip
gcc-9d5e7640c335a590cec4497fa64230f0b0e83465.tar.gz
gcc-9d5e7640c335a590cec4497fa64230f0b0e83465.tar.bz2
tree-vect-loop-manip.c (remove_dead_stmts_from_loop): Remove.
* tree-vect-loop-manip.c (remove_dead_stmts_from_loop): Remove. (slpeel_tree_peel_loop_to_edge): Don't call remove_dead_stmts_from_loop. * tree-vect-loop.c (vect_determine_vectorization_factor): Don't remove irrelevant pattern statements. For irrelevant statements check if it is the last statement of a detected pattern, use corresponding pattern statement instead. (destroy_loop_vec_info): No need to remove pattern statements, only free stmt_vec_info. (vect_transform_loop): For irrelevant statements check if it is the last statement of a detected pattern, use corresponding pattern statement instead. * tree-vect-patterns.c (vect_pattern_recog_1): Don't insert pattern statements. Set basic block for the new statement. (vect_pattern_recog): Update documentation. * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Scan operands of pattern statements. (vectorizable_call): Fix printing. In case of a pattern statement use the lhs of the original statement when creating a dummy statement to replace the original call. (vect_analyze_stmt): For irrelevant statements check if it is the last statement of a detected pattern, use corresponding pattern statement instead. * tree-vect-slp.c (vect_schedule_slp_instance): For pattern statements use gsi of the original statement. From-SVN: r175074
Diffstat (limited to 'gcc/tree-vect-loop-manip.c')
-rw-r--r--gcc/tree-vect-loop-manip.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/gcc/tree-vect-loop-manip.c b/gcc/tree-vect-loop-manip.c
index 89b4574..a120fb1 100644
--- a/gcc/tree-vect-loop-manip.c
+++ b/gcc/tree-vect-loop-manip.c
@@ -1105,35 +1105,6 @@ set_prologue_iterations (basic_block bb_before_first_loop,
first_niters = PHI_RESULT (newphi);
}
-
-/* Remove dead assignments from loop NEW_LOOP. */
-
-static void
-remove_dead_stmts_from_loop (struct loop *new_loop)
-{
- basic_block *bbs = get_loop_body (new_loop);
- unsigned i;
- for (i = 0; i < new_loop->num_nodes; ++i)
- {
- gimple_stmt_iterator gsi;
- for (gsi = gsi_start_bb (bbs[i]); !gsi_end_p (gsi);)
- {
- gimple stmt = gsi_stmt (gsi);
- if (is_gimple_assign (stmt)
- && TREE_CODE (gimple_assign_lhs (stmt)) == SSA_NAME
- && has_zero_uses (gimple_assign_lhs (stmt)))
- {
- gsi_remove (&gsi, true);
- release_defs (stmt);
- }
- else
- gsi_next (&gsi);
- }
- }
- free (bbs);
-}
-
-
/* Function slpeel_tree_peel_loop_to_edge.
Peel the first (last) iterations of LOOP into a new prolog (epilog) loop
@@ -1445,13 +1416,6 @@ slpeel_tree_peel_loop_to_edge (struct loop *loop,
BITMAP_FREE (definitions);
delete_update_ssa ();
- /* Remove all pattern statements from the loop copy. They will confuse
- the expander if DCE is disabled.
- ??? The pattern recognizer should be split into an analysis and
- a transformation phase that is then run only on the loop that is
- going to be transformed. */
- remove_dead_stmts_from_loop (new_loop);
-
adjust_vec_debug_stmts ();
return new_loop;