aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2009-11-25 05:03:58 +0000
committerSebastian Pop <spop@gcc.gnu.org>2009-11-25 05:03:58 +0000
commitc0fe753b7d0ea84ffb3bc0f45612cfa965037faa (patch)
tree6a600321a4aff7f2d919d4443fc40bcfc79c34e1 /gcc
parent8d75ec872b04053bc814dccbf5b985406a33a9a5 (diff)
downloadgcc-c0fe753b7d0ea84ffb3bc0f45612cfa965037faa.zip
gcc-c0fe753b7d0ea84ffb3bc0f45612cfa965037faa.tar.gz
gcc-c0fe753b7d0ea84ffb3bc0f45612cfa965037faa.tar.bz2
graphite-poly.c (loop_to_lst): Fix LST creation.
2009-10-14 Sebastian Pop <sebastian.pop@amd.com> * graphite-poly.c (loop_to_lst): Fix LST creation. From-SVN: r154581
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog.graphite4
-rw-r--r--gcc/graphite-poly.c23
2 files changed, 14 insertions, 13 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index 5d53275..e58bf04 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,3 +1,7 @@
+2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (loop_to_lst): Fix LST creation.
+
2009-10-14 Tobias Grosser <grosser@fim.uni-passau.de>
* testsuite/gcc.dg/graphite/id-15.c: (8 * 8) replaced with
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index 659839d..6373337 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -834,22 +834,19 @@ loop_to_lst (loop_p loop, VEC (poly_bb_p, heap) *bbs, int *i)
if (bb->loop_father == loop)
stmt = new_lst_stmt (pbb);
- else
+ else if (flow_bb_inside_loop_p (loop, bb))
{
- if (flow_bb_inside_loop_p (loop, bb))
- stmt = loop_to_lst (loop->inner, bbs, i);
- else
- {
- loop_p next = loop;
+ loop_p next = loop->inner;
- while ((next = next->next)
- && !flow_bb_inside_loop_p (next, bb));
+ while (next && !flow_bb_inside_loop_p (next, bb))
+ next = next->next;
- if (!next)
- return new_lst_loop (seq);
-
- stmt = loop_to_lst (next, bbs, i);
- }
+ stmt = loop_to_lst (next, bbs, i);
+ }
+ else
+ {
+ (*i)--;
+ return new_lst_loop (seq);
}
VEC_safe_push (lst_p, heap, seq, stmt);