summaryrefslogtreecommitdiff
path: root/gcc/graphite-poly.c
diff options
context:
space:
mode:
authorspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-25 05:05:22 +0000
committerspop <spop@138bc75d-0d04-0410-961f-82ee72b054a4>2009-11-25 05:05:22 +0000
commitd9e94834d95e153d2d2bd669b01b74b0a302d349 (patch)
tree8db7d9ae1c6f08eb6707ccc4a7b96a65d0d932f8 /gcc/graphite-poly.c
parent5e18ab2bde5ba840251f4e84ac0d24e2e5cb8fff (diff)
downloadgcc-d9e94834d95e153d2d2bd669b01b74b0a302d349.tar.gz
2009-10-14 Sebastian Pop <sebastian.pop@amd.com>
* graphite-poly.c (pbb_number_of_iterations_at_time): Cleanup comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154584 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/graphite-poly.c')
-rw-r--r--gcc/graphite-poly.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/gcc/graphite-poly.c b/gcc/graphite-poly.c
index af18afbf770..543a19313e5 100644
--- a/gcc/graphite-poly.c
+++ b/gcc/graphite-poly.c
@@ -790,28 +790,36 @@ pbb_number_of_iterations_at_time (poly_bb_p pbb,
ppl_Linear_Expression_t le;
ppl_dimension_type dim;
- value_set_si (niter, -1);
-
/* Takes together domain and scattering polyhedrons, and composes
them into the bigger polyhedron that has the following format:
- t0..t_{n-1} | l0..l_{nlcl-1} | i0..i_{niter-1} | g0..g_{nparm-1}.
- t0..t_{n-1} are time dimensions (scattering dimensions)
- l0..l_{nclc-1} are local variables in scattering function
- i0..i_{niter-1} are original iteration variables
- g0..g_{nparam-1} are global parameters. */
+ t0..t_{n-1} | l0..l_{nlcl-1} | i0..i_{niter-1} | g0..g_{nparm-1}
+
+ where
+ | t0..t_{n-1} are time dimensions (scattering dimensions)
+ | l0..l_{nclc-1} are local variables in scattering function
+ | i0..i_{niter-1} are original iteration variables
+ | g0..g_{nparam-1} are global parameters. */
+
+ ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (&sctr,
+ PBB_TRANSFORMED_SCATTERING (pbb));
+
+ /* Extend the iteration domain with the scattering dimensions:
+ 0..0 | 0..0 | i0..i_{niter-1} | g0..g_{nparm-1}. */
ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron
(&ext_domain, PBB_DOMAIN (pbb));
ppl_insert_dimensions_pointset (ext_domain, 0,
pbb_nb_scattering_transform (pbb)
+ pbb_nb_local_vars (pbb));
- ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron (&sctr,
- PBB_TRANSFORMED_SCATTERING (pbb));
+
+ /* Add to sctr the extended domain. */
ppl_Pointset_Powerset_C_Polyhedron_intersection_assign (sctr, ext_domain);
+ /* Extract the number of iterations. */
ppl_Pointset_Powerset_C_Polyhedron_space_dimension (sctr, &dim);
ppl_new_Linear_Expression_with_dimension (&le, dim);
ppl_set_coef (le, time_depth, 1);
+ value_set_si (niter, -1);
ppl_max_for_le_pointset (sctr, le, niter);
ppl_delete_Linear_Expression (le);