summaryrefslogtreecommitdiff
path: root/gcc/tree-parloops.c
diff options
context:
space:
mode:
authorirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-16 07:21:12 +0000
committerirar <irar@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-16 07:21:12 +0000
commitade2ac53ff2f259a58eb2e3193d98d3595c21ea0 (patch)
treeaaaf3e70f41a000974285e5e7f0db250fa701499 /gcc/tree-parloops.c
parent6be7c32c59b3316dd4a5dd78913a24c5d18a44c9 (diff)
downloadgcc-ade2ac53ff2f259a58eb2e3193d98d3595c21ea0.tar.gz
* tree-parloops.c (loop_parallel_p): Call vect_is_simple_reduction
with additional parameter. * tree-vectorizer.h (enum vect_def_type): Add new value vect_nested_cycle. (enum vect_relevant): Add comments. (vect_is_simple_reduction): Add new argument. * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Add comments. Detect nested cycles. (vect_is_simple_reduction): Update documentation, add an argument to distinguish inner-loop reduction from nested cycle, detect nested cycles, fix printings and indentation, don't swap operands in case of nested cycle. (get_initial_def_for_reduction): Handle subtraction. (vect_create_epilog_for_reduction): Add new argument to specify reduction variable. (vect_finalize_reduction): Handle subtraction, fix comments. (vectorizable_reduction): Handle nested cycles. In case of nested cycle keep track of the reduction variable position. Call vect_is_simple_reduction with additional parameter. Use original statement code in reduction epilogue for nested cycle. Call vect_create_epilog_for_reduction with additional parameter. * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Assert inner-loop vectorization. (vect_recog_widen_sum_pattern): Likewise. * tree-vect-stmts.c (process_use): Distinguish between nested cycles and reductions. (vect_mark_stmts_to_be_vectorized): Likewise. (vect_get_vec_def_for_operand): Handle nested cycles. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148518 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-parloops.c')
-rw-r--r--gcc/tree-parloops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c
index fb4d1df7cdb..5f11fc77a1b 100644
--- a/gcc/tree-parloops.c
+++ b/gcc/tree-parloops.c
@@ -290,7 +290,7 @@ loop_parallel_p (struct loop *loop, htab_t reduction_list,
if (!is_gimple_reg (PHI_RESULT (phi)))
continue;
if (simple_loop_info)
- reduc_stmt = vect_is_simple_reduction (simple_loop_info, phi);
+ reduc_stmt = vect_is_simple_reduction (simple_loop_info, phi, true);
/* Create a reduction_info struct, initialize it and insert it to
the reduction list. */