diff options
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; } |