diff options
author | Richard Biener <rguenther@suse.de> | 2018-03-05 12:49:07 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2018-03-05 12:49:07 +0000 |
commit | 144a822fec6d680b2847f2bd35a6d6ebefd2d885 (patch) | |
tree | a3b1c0df15e0b9d583902ba357ce356d29776a8b /gcc | |
parent | a0445a5fb136ba2328998385fc42988c512d447e (diff) | |
download | gcc-144a822fec6d680b2847f2bd35a6d6ebefd2d885.zip gcc-144a822fec6d680b2847f2bd35a6d6ebefd2d885.tar.gz gcc-144a822fec6d680b2847f2bd35a6d6ebefd2d885.tar.bz2 |
re PR tree-optimization/84650 ([graphite] ICE: Segmentation fault (in create_new_iv))
2018-03-05 Richard Biener <rguenther@suse.de>
PR tree-optimization/84650
* tree-ssa-loop-im.c (pass_lim::execute): Reset the SCEV cache
if executed in the loop pipeline.
* gcc.dg/graphite/pr84650.c: New testcase.
From-SVN: r258242
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr84650.c | 18 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 2 |
4 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd2c768..ba2a9c4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-03-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84650 + * tree-ssa-loop-im.c (pass_lim::execute): Reset the SCEV cache + if executed in the loop pipeline. + 2018-03-05 Sandra Loosemore <sandra@codesourcery.com> * doc/configfiles.texi (Configuration Files): Move info about diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8e7e53b..48c40fa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-03-05 Richard Biener <rguenther@suse.de> + + PR tree-optimization/84650 + * gcc.dg/graphite/pr84650.c: New testcase. + 2018-03-05 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82022 diff --git a/gcc/testsuite/gcc.dg/graphite/pr84650.c b/gcc/testsuite/gcc.dg/graphite/pr84650.c new file mode 100644 index 0000000..e59d161 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr84650.c @@ -0,0 +1,18 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -fgraphite-identity -fno-tree-copy-prop --param lim-expensive=3" } */ + +unsigned int dj; + +void +np (void) +{ + const unsigned int uw = 2; + unsigned int eu; + + for (eu = 0; eu < uw; ++eu) + { + for (dj = 0; dj < uw; ++dj) + ; + eu -= !!(dj - uw - 1); + } +} diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 4655766..030aac0 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -2616,6 +2616,8 @@ pass_lim::execute (function *fun) if (!in_loop_pipeline) loop_optimizer_finalize (); + else + scev_reset (); return todo; } |