diff options
| -rw-r--r-- | gcc/ChangeLog.graphite | 5 | ||||
| -rw-r--r-- | gcc/graphite-interchange.c | 12 |
2 files changed, 12 insertions, 5 deletions
diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index a84404b..fb6b9ce 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,10 @@ 2009-10-17 Sebastian Pop <sebastian.pop@amd.com> + * graphite-interchange.c (memory_stride_in_loop): Delete p1, lma + and new_cstr. + +2009-10-17 Sebastian Pop <sebastian.pop@amd.com> + * graphite-dependences.c (dependence_polyhedron_1): Remove unused gdim dimensions from the DDR polyhedron. diff --git a/gcc/graphite-interchange.c b/gcc/graphite-interchange.c index 8926ac3..5107f91 100644 --- a/gcc/graphite-interchange.c +++ b/gcc/graphite-interchange.c @@ -168,6 +168,8 @@ memory_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr) ppl_set_coef (lma, dim_L1, -1); ppl_new_Constraint (&new_cstr, lma, PPL_CONSTRAINT_TYPE_EQUAL); ppl_Pointset_Powerset_C_Polyhedron_add_constraint (p1, new_cstr); + ppl_delete_Linear_Expression (lma); + ppl_delete_Constraint (new_cstr); } /* Now intersect all the parts to get the polyhedron P1: @@ -254,10 +256,7 @@ memory_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr) } /* P1 = P1 inter P2. */ - { - ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (p1, p2); - ppl_delete_Pointset_Powerset_C_Polyhedron (p2); - } + ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (p1, p2); /* Maximise the expression L2 - L1. */ { @@ -265,8 +264,11 @@ memory_stride_in_loop (Value stride, graphite_dim_t depth, poly_dr_p pdr) ppl_set_coef (le, dim_L2, 1); ppl_set_coef (le, dim_L1, -1); ppl_max_for_le_pointset (p1, le, stride); - ppl_delete_Linear_Expression (le); } + + ppl_delete_Pointset_Powerset_C_Polyhedron (p1); + ppl_delete_Pointset_Powerset_C_Polyhedron (p2); + ppl_delete_Linear_Expression (le); } /* Returns true when it is profitable to interchange time dimensions DEPTH1 |
