summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-25 04:56:49 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-25 04:56:49 +0000
commit554eeadb3deaf0b920476ca425d034ca9dec4110 (patch)
treea95683f861b95768ae6ddd6d66f9d82eeea55009
parent301056220ef4394af32183a73290790929a8abfb (diff)
downloadgcc-554eeadb3deaf0b920476ca425d034ca9dec4110.tar.gz
2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.h (copy_lst): Do full copy of LST. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154566 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.graphite4
-rw-r--r--gcc/graphite-poly.h11
2 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite
index d6405051daa..6323d1d5944 100644
--- a/gcc/ChangeLog.graphite
+++ b/gcc/ChangeLog.graphite
@@ -1,3 +1,7 @@
+2009-10-09 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.h (copy_lst): Do full copy of LST.
+
2009-10-07 Sebastian Pop <sebastian.pop@amd.com>
* graphite-sese-to-poly.c (reduction_phi_p): Call remove_invariant_phi
diff --git a/gcc/graphite-poly.h b/gcc/graphite-poly.h
index b3541d6610a..6ae330ccdcd 100644
--- a/gcc/graphite-poly.h
+++ b/gcc/graphite-poly.h
@@ -678,7 +678,16 @@ copy_lst (lst_p lst)
return NULL;
if (LST_LOOP_P (lst))
- return new_lst_loop (VEC_copy (lst_p, heap, LST_SEQ (lst)));
+ {
+ int i;
+ lst_p l;
+ VEC (lst_p, heap) *seq = VEC_alloc (lst_p, heap, 5);
+
+ for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+ VEC_safe_push (lst_p, heap, seq, copy_lst (l));
+
+ return new_lst_loop (seq);
+ }
return new_lst_stmt (LST_PBB (lst));
}