diff options
-rw-r--r-- | gcc/ChangeLog.graphite | 4 | ||||
-rw-r--r-- | gcc/graphite-poly.h | 11 |
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)); } |