aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2017-07-21 11:32:01 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2017-07-21 11:32:01 +0000
commit9af7f3731b0ddffb3aa75b78a0ede411d36a3b09 (patch)
treee717addc450ca3667b9854cfe21f2530cd0b9686 /gcc/tree-vect-loop.c
parent8c38aed722cbd17db8bcab50087acb9e40493c73 (diff)
downloadgcc-9af7f3731b0ddffb3aa75b78a0ede411d36a3b09.zip
gcc-9af7f3731b0ddffb3aa75b78a0ede411d36a3b09.tar.gz
gcc-9af7f3731b0ddffb3aa75b78a0ede411d36a3b09.tar.bz2
re PR tree-optimization/81500 (ICE with -O3 in process_use, at tree-vect-stmts.c:506)
2017-06-21 Richard Biener <rguenther@suse.de> PR tree-optimization/81500 * tree-vect-loop.c (vect_is_simple_reduction): Properly fail if we didn't identify a reduction path. * gcc.dg/torture/pr81500.c: New testcase. From-SVN: r250423
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 64d8699..931f1b5 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -3243,7 +3243,7 @@ pop:
}
/* Check whether the reduction path detected is valid. */
- bool fail = false;
+ bool fail = path.length () == 0;
bool neg = false;
for (unsigned i = 1; i < path.length (); ++i)
{
@@ -3276,9 +3276,7 @@ pop:
if (dump_enabled_p ())
{
- report_vect_op (MSG_MISSED_OPTIMIZATION,
- SSA_NAME_DEF_STMT
- (USE_FROM_PTR (path[path.length ()-1].second)),
+ report_vect_op (MSG_MISSED_OPTIMIZATION, def_stmt,
"reduction: unknown pattern: ");
}