From 94406344b56752b35b729e97a85ce2a922ad6338 Mon Sep 17 00:00:00 2001 From: Sebastian Pop Date: Thu, 16 Dec 2010 20:05:18 +0000 Subject: [PATCH] Fix PR46404: call scev_reset to reset the number of iterations as well. 2010-12-16 Sebastian Pop PR tree-optimization/46404 * graphite-clast-to-gimple.c (gloog): Call scev_reset. * gcc.dg/graphite/pr46404-1.c: New. From-SVN: r167954 --- gcc/ChangeLog | 5 +++++ gcc/graphite-clast-to-gimple.c | 2 +- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/graphite/pr46404-1.c | 27 +++++++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/graphite/pr46404-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 351bce86add..287d21efaa9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-12-16 Sebastian Pop + + PR tree-optimization/46404 + * graphite-clast-to-gimple.c (gloog): Call scev_reset. + 2010-12-16 Anatoly Sokolov * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Remove. diff --git a/gcc/graphite-clast-to-gimple.c b/gcc/graphite-clast-to-gimple.c index 4894b522e93..eef5ad16abd 100644 --- a/gcc/graphite-clast-to-gimple.c +++ b/gcc/graphite-clast-to-gimple.c @@ -1555,7 +1555,7 @@ gloog (scop_p scop, htab_t bb_pbb_mapping) &newivs, newivs_index, bb_pbb_mapping, 1, params_index); graphite_verify (); - scev_reset_htab (); + scev_reset (); recompute_all_dominators (); graphite_verify (); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index df48e936b24..8cfb516a2ab 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-12-16 Sebastian Pop + + PR tree-optimization/46404 + * gcc.dg/graphite/pr46404-1.c: New. + 2010-12-16 Jakub Jelinek PR debug/46893 diff --git a/gcc/testsuite/gcc.dg/graphite/pr46404-1.c b/gcc/testsuite/gcc.dg/graphite/pr46404-1.c new file mode 100644 index 00000000000..c3e620cbc07 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr46404-1.c @@ -0,0 +1,27 @@ +/* { dg-options "-O -fgraphite-identity -fno-tree-scev-cprop" } */ + +int +huft_build (unsigned *b) +{ + int k; + for (k = 0; k <= 10; k++) + if (foo ()); +} +int +inflate_fixed () +{ + int i; + unsigned l[288]; + for (i = 0; i < 144; i++) + l[i] = 8; + for (; i < 256; i++) + l[i] = 9; + for (; i < 280; i++) + l[i] = 7; + for (; i < 288; i++) + l[i] = 8; + if ((i = huft_build (l)) != 0) + return i; + for (i = 0; i < 30; i++) + l[i] = 5; +}