aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-11-20 12:20:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-11-20 12:20:40 +0000
commit8c944c97a2e5a264779ad1d448f97319f471275a (patch)
tree0dfa5c94aad808b798c312db34346c61b8c5e166 /gcc
parentc1d21cd17bce162e7afac5a1849d193952221ce8 (diff)
downloadgcc-8c944c97a2e5a264779ad1d448f97319f471275a.zip
gcc-8c944c97a2e5a264779ad1d448f97319f471275a.tar.gz
gcc-8c944c97a2e5a264779ad1d448f97319f471275a.tar.bz2
tree-vect-stmts.c (vectorizable_condition): Do not get at else_clause vect def for EXTRACT_LAST_REDUCTION.
2018-11-20 Richard Biener <rguenther@suse.de> * tree-vect-stmts.c (vectorizable_condition): Do not get at else_clause vect def for EXTRACT_LAST_REDUCTION. Remove pointless vect_is_simple_use calls. From-SVN: r266314
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-vect-stmts.c11
2 files changed, 9 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 45c7b75..5a18ba9 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2018-11-20 Richard Biener <rguenther@suse.de>
+ * tree-vect-stmts.c (vectorizable_condition): Do not get
+ at else_clause vect def for EXTRACT_LAST_REDUCTION. Remove
+ pointless vect_is_simple_use calls.
+
+2018-11-20 Richard Biener <rguenther@suse.de>
+
PR tree-optimization/88074
* tree-ssa-dom.c (pass_dominator::execute): Do not walk
backedges.
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index e41602d..80f6d2b 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -8911,26 +8911,21 @@ vectorizable_condition (stmt_vec_info stmt_info, gimple_stmt_iterator *gsi,
vec_cond_lhs
= vect_get_vec_def_for_operand (cond_expr, stmt_info,
comp_vectype);
- vect_is_simple_use (cond_expr, stmt_info->vinfo, &dts[0]);
}
else
{
vec_cond_lhs
= vect_get_vec_def_for_operand (cond_expr0,
stmt_info, comp_vectype);
- vect_is_simple_use (cond_expr0, loop_vinfo, &dts[0]);
-
vec_cond_rhs
= vect_get_vec_def_for_operand (cond_expr1,
stmt_info, comp_vectype);
- vect_is_simple_use (cond_expr1, loop_vinfo, &dts[1]);
}
vec_then_clause = vect_get_vec_def_for_operand (then_clause,
stmt_info);
- vect_is_simple_use (then_clause, loop_vinfo, &dts[2]);
- vec_else_clause = vect_get_vec_def_for_operand (else_clause,
- stmt_info);
- vect_is_simple_use (else_clause, loop_vinfo, &dts[3]);
+ if (reduction_type != EXTRACT_LAST_REDUCTION)
+ vec_else_clause = vect_get_vec_def_for_operand (else_clause,
+ stmt_info);
}
}
else