From 1f88cc260c67c8492ac15490184b8faead4b6f62 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Tue, 9 Jul 2019 13:26:43 +0000 Subject: [PATCH] re PR tree-optimization/91114 (ICE in vect_analyze_loop, at tree-vect-loop.c:2415) 2019-07-09 Richard Biener PR tree-optimization/91114 * tree-vect-data-refs.c (vect_analyze_data_refs): Failure to find a vector type isn't fatal. * gcc.dg/vect/pr91114.c: New testcase. From-SVN: r273306 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/vect/pr91114.c | 12 ++++++++++++ gcc/tree-vect-data-refs.c | 2 ++ 4 files changed, 25 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/vect/pr91114.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25959b9453c..63f50e89b9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-07-09 Richard Biener + + PR tree-optimization/91114 + * tree-vect-data-refs.c (vect_analyze_data_refs): Failure to + find a vector type isn't fatal. + 2019-07-09 Sylvia Taylor * config/aarch64/aarch64-simd.md diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3e36c0a2f4d..31e8a8312b5 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-07-09 Richard Biener + + PR tree-optimization/91114 + * gcc.dg/vect/pr91114.c: New testcase. + 2019-07-09 Sylvia Taylor * gcc.target/aarch64/crypto-fuse-1.c: Remove. diff --git a/gcc/testsuite/gcc.dg/vect/pr91114.c b/gcc/testsuite/gcc.dg/vect/pr91114.c new file mode 100644 index 00000000000..3343d1e0d2d --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr91114.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-fopenmp-simd" } */ + +void +ne (double *zu) +{ + int h3; + +#pragma omp simd simdlen (4) + for (h3 = 0; h3 < 4; ++h3) + zu[h3] = 0; +} diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index cf9cee5deb8..1af36d8ecbd 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -4360,6 +4360,8 @@ vect_analyze_data_refs (vec_info *vinfo, poly_uint64 *min_vf, bool *fatal) STMT_VINFO_VECTORIZABLE (stmt_info) = false; continue; } + if (fatal) + *fatal = false; return opt_result::failure_at (stmt_info->stmt, "not vectorized:" " no vectype for stmt: %G" -- 2.30.2