diff options
author | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-18 07:55:34 +0000 |
---|---|---|
committer | dorit <dorit@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-18 07:55:34 +0000 |
commit | a5e56906985aeef6c378426440237066ea0f5dd2 (patch) | |
tree | 0ad09efa2980fbea19fc13f434aa01aa5eac044f /gcc/tree-vectorizer.c | |
parent | 59be659eef35f28a6ee085b7bcc891480c2ef66e (diff) | |
download | gcc-a5e56906985aeef6c378426440237066ea0f5dd2.tar.gz |
* tree-vect-analyze.c (process_use): New function.
(vect_mark_stmts_to_be_vectorized): Factor out code to process_use.
Check phis in all bbs.
* tree-vectorizer.c (vect_is_simple_use): Remove a no longer relavant
assert.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123943 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index b0aedf74b2c..212b584991f 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -1714,15 +1714,6 @@ vect_is_simple_use (tree operand, loop_vec_info loop_vinfo, tree *def_stmt, return false; } - /* stmts inside the loop that have been identified as performing - a reduction operation cannot have uses in the loop. */ - if (*dt == vect_reduction_def && TREE_CODE (*def_stmt) != PHI_NODE) - { - if (vect_print_dump_info (REPORT_DETAILS)) - fprintf (vect_dump, "reduction used in loop."); - return false; - } - if (vect_print_dump_info (REPORT_DETAILS)) fprintf (vect_dump, "type of def: %d.",*dt); @@ -1731,12 +1722,11 @@ vect_is_simple_use (tree operand, loop_vec_info loop_vinfo, tree *def_stmt, case PHI_NODE: *def = PHI_RESULT (*def_stmt); gcc_assert (*dt == vect_induction_def || *dt == vect_reduction_def - || *dt == vect_invariant_def); + || *dt == vect_invariant_def); break; case GIMPLE_MODIFY_STMT: *def = GIMPLE_STMT_OPERAND (*def_stmt, 0); - gcc_assert (*dt == vect_loop_def || *dt == vect_invariant_def); break; default: |