diff options
author | Richard Biener <rguenther@suse.de> | 2019-10-14 11:47:15 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-10-14 11:47:15 +0000 |
commit | 7bd8bec53f0e43c7a7852c54650746e65324514b (patch) | |
tree | 1ddb5ca789a594ffed1ca723b008a0e0fea80450 | |
parent | 312f3fa49dd446fc42b3783102a7f956aa0856e7 (diff) | |
download | gcc-7bd8bec53f0e43c7a7852c54650746e65324514b.zip gcc-7bd8bec53f0e43c7a7852c54650746e65324514b.tar.gz gcc-7bd8bec53f0e43c7a7852c54650746e65324514b.tar.bz2 |
re PR tree-optimization/92069 (ice in vect_analyze_scalar_cycles_1, at tree-vect-loop.c:560)
2019-10-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/92069
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): For nested
cycles do not set vect_nested_cycle on the latch definition.
* gcc.dg/torture/pr92069.c: New testcase.
From-SVN: r276959
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr92069.c | 19 | ||||
-rw-r--r-- | gcc/tree-vect-loop.c | 1 |
4 files changed, 30 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e755803..c2cbd42 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/92069 + * tree-vect-loop.c (vect_analyze_scalar_cycles_1): For nested + cycles do not set vect_nested_cycle on the latch definition. + 2019-10-14 Richard Sandiford <richard.sandiford@arm.com> * function-abi.h (expr_callee_abi): Declare. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 13988f8..281da7f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-10-14 Richard Biener <rguenther@suse.de> + + PR tree-optimization/92069 + * gcc.dg/torture/pr92069.c: New testcase. + 2019-10-14 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/constexpr-union5.C: Test location(s) too. diff --git a/gcc/testsuite/gcc.dg/torture/pr92069.c b/gcc/testsuite/gcc.dg/torture/pr92069.c new file mode 100644 index 0000000..806ff5f --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr92069.c @@ -0,0 +1,19 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-ftree-vectorize" } */ + +unsigned int a, c, d; +double b; +void e() +{ + for (; d; d++) + { + double f; + a = 2; + for (; a; a++) + { + c = b; + b = f; + f = c; + } + } +} diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index cb95ea3..de018ac 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -584,7 +584,6 @@ vect_analyze_scalar_cycles_1 (loop_vec_info loop_vinfo, class loop *loop) "Detected vectorizable nested cycle.\n"); STMT_VINFO_DEF_TYPE (stmt_vinfo) = vect_nested_cycle; - STMT_VINFO_DEF_TYPE (reduc_stmt_info) = vect_nested_cycle; } else { |