From 1e6a7b01cca0a8efeeb0c6f008ab03098cfd5dce Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 27 Jul 2015 20:05:19 +0000 Subject: [PATCH] Simplify gather_scalar_reductions 2015-07-27 Tom de Vries * tree-parloops.c (gather_scalar_reductions): Simplify function structure. From-SVN: r226270 --- gcc/ChangeLog | 5 +++++ gcc/tree-parloops.c | 21 ++++++++++++--------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4ec512f9b7d..55897c75a7b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-07-27 Tom de Vries + + * tree-parloops.c (gather_scalar_reductions): Simplify function + structure. + 2015-07-27 Marek Polacek * ipa-devirt.c (types_same_for_odr): Fix typo. diff --git a/gcc/tree-parloops.c b/gcc/tree-parloops.c index 6e75cb13648..daf23f2532b 100644 --- a/gcc/tree-parloops.c +++ b/gcc/tree-parloops.c @@ -2370,6 +2370,8 @@ gather_scalar_reductions (loop_p loop, reduction_info_table_type *reduction_list loop_vec_info simple_loop_info; simple_loop_info = vect_analyze_loop_form (loop); + if (simple_loop_info == NULL) + return; for (gsi = gsi_start_phis (loop->header); !gsi_end_p (gsi); gsi_next (&gsi)) { @@ -2381,15 +2383,16 @@ gather_scalar_reductions (loop_p loop, reduction_info_table_type *reduction_list if (virtual_operand_p (res)) continue; - if (!simple_iv (loop, loop, res, &iv, true) - && simple_loop_info) - { - gimple reduc_stmt - = vect_force_simple_reduction (simple_loop_info, phi, true, - &double_reduc, true); - if (reduc_stmt && !double_reduc) - build_new_reduction (reduction_list, reduc_stmt, phi); - } + if (simple_iv (loop, loop, res, &iv, true)) + continue; + + gimple reduc_stmt + = vect_force_simple_reduction (simple_loop_info, phi, true, + &double_reduc, true); + if (!reduc_stmt || double_reduc) + continue; + + build_new_reduction (reduction_list, reduc_stmt, phi); } destroy_loop_vec_info (simple_loop_info, true); -- 2.30.2