summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-16 22:45:42 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2010-12-16 22:45:42 +0000
commitbf0d0e7647e57eee3cd81e8cd1205e95f42d4b80 (patch)
tree62c7310f14b47a35c409c8009d6c5ca5ed938cc5 /gcc
parenta7be40cc8fa8bbe383a8996fe9789b0217b73425 (diff)
downloadgcc-bf0d0e7647e57eee3cd81e8cd1205e95f42d4b80.tar.gz
PR tree-optimization/46966
* graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for for bbs that are removed from SCOP_BBS vector. * gcc.dg/graphite/pr46966.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@167960 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/graphite-sese-to-poly.c1
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/graphite/pr46966.c13
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 476d31ed83a..9083edc1a07 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46966
+ * graphite-sese-to-poly.c (build_scop_drs): Call free_gimple_bb for
+ for bbs that are removed from SCOP_BBS vector.
+
2010-12-16 Eric Botcazou <ebotcazou@adacore.com>
* tree-ssa-sccvn.c (vn_reference_lookup_3): Always punt if the call to
diff --git a/gcc/graphite-sese-to-poly.c b/gcc/graphite-sese-to-poly.c
index 5036fba4195..202f02861be 100644
--- a/gcc/graphite-sese-to-poly.c
+++ b/gcc/graphite-sese-to-poly.c
@@ -1971,6 +1971,7 @@ build_scop_drs (scop_p scop)
for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
if (VEC_empty (data_reference_p, GBB_DATA_REFS (PBB_BLACK_BOX (pbb))))
{
+ free_gimple_bb (PBB_BLACK_BOX (pbb));
VEC_ordered_remove (poly_bb_p, SCOP_BBS (scop), i);
i--;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 78ed8c6a589..a90d1ee4240 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46966
+ * gcc.dg/graphite/pr46966.c: New test.
+
2010-12-16 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/opt13.adb: New test.
diff --git a/gcc/testsuite/gcc.dg/graphite/pr46966.c b/gcc/testsuite/gcc.dg/graphite/pr46966.c
new file mode 100644
index 00000000000..ce2a93ca968
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/graphite/pr46966.c
@@ -0,0 +1,13 @@
+/* PR tree-optimization/46966 */
+/* { dg-do compile } */
+/* { dg-options "-O -floop-interchange -ffast-math -fno-tree-copy-prop -fno-tree-loop-im" } */
+
+int a[1000][1000];
+
+void foo ()
+{
+ int i, j;
+ for (i = 0; i < 1000; i++)
+ for (j = 0; j < 1000; j++)
+ a[i][j] = 0;
+}