diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-12-16 23:45:42 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-12-16 23:45:42 +0100 |
commit | 7470b8fc5ef3b74256ffe3ccc5d49bd003f375f9 (patch) | |
tree | 62c7310f14b47a35c409c8009d6c5ca5ed938cc5 /gcc | |
parent | 9c8cbc740a2c2314a28b739ad87a44b0341e18e3 (diff) | |
download | gcc-7470b8fc5ef3b74256ffe3ccc5d49bd003f375f9.zip gcc-7470b8fc5ef3b74256ffe3ccc5d49bd003f375f9.tar.gz gcc-7470b8fc5ef3b74256ffe3ccc5d49bd003f375f9.tar.bz2 |
re PR tree-optimization/46966 (ICE: in execute_cse_reciprocals, at tree-ssa-math-opts.c:474 with -floop-interchange -fno-tree-copy-prop -fno-tree-loop-im)
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.
From-SVN: r167960
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/graphite-sese-to-poly.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr46966.c | 13 |
4 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 476d31e..9083edc 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 5036fba..202f028 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 78ed8c6..a90d1ee 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 0000000..ce2a93c --- /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; +} |