if (strcmp (tmp, "SCoP 1"))
{
- error ("The file is not in OpenScop format.\n");
+ error ("the file is not in OpenScop format");
return false;
}
if (strcmp (language, "Gimple"))
{
- error ("The language is not recognized\n");
+ error ("the language is not recognized");
return false;
}
if ((size_t) params != scop->nb_params)
{
- error ("Parameters number in the scop file is different from the"
- " internal scop parameter number.");
+ error ("parameters number in the scop file is different from the"
+ " internal scop parameter number");
return false;
}
if (nb_statements != VEC_length (poly_bb_p, SCOP_BBS (scop)))
{
- error ("Number of statements in the OpenScop file does not match"
- " the graphite internal statements number.");
+ error ("number of statements in the OpenScop file does not match"
+ " the graphite internal statements number");
return false;
}
transform_done |= scop_do_interchange (scop);
}
+ if (flag_loop_flatten)
+ transform_done |= flatten_all_loops (scop);
+
/* This feature is only enabled in the Graphite branch. */
if (0)
{
{
ppl_Pointset_Powerset_C_Polyhedron_t domain, sctr_lb, sctr_ub;
ppl_dimension_type domain_dim, sctr_dim;
+ graphite_dim_t dim_iter_domain = pbb_dim_iter_domain (pbb);
ppl_Linear_Expression_t le;
mpz_t lb, ub, diff, one;
int i;
(&domain, PBB_DOMAIN (pbb));
ppl_Pointset_Powerset_C_Polyhedron_space_dimension (domain, &domain_dim);
+
mpz_init (diff);
mpz_init (lb);
mpz_init (ub);
that upper bound to the scattering. */
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
(&sctr_ub, PBB_TRANSFORMED_SCATTERING (pbb));
- for (i = 0; i < (int) domain_dim; i++)
+ for (i = 0; i < (int) dim_iter_domain; i++)
{
ppl_Linear_Expression_t eq;
ppl_Constraint_t pc;
ppl_delete_Constraint_System (cs);
}
- /* Compute the lower bound on the original iteration domain. */
+ /* Compute the lower bound on the original iteration domain and add
+ it to the scattering. */
ppl_new_Pointset_Powerset_C_Polyhedron_from_C_Polyhedron
(&sctr_lb, PBB_TRANSFORMED_SCATTERING (pbb));
- for (i = 0; i < (int) domain_dim; i++)
+ for (i = 0; i < (int) dim_iter_domain; i++)
{
ppl_Linear_Expression_t eq;
ppl_Constraint_t pc;
mpz_clear (diff);
mpz_clear (lb);
mpz_clear (ub);
+ ppl_delete_Linear_Expression (le);
ppl_delete_Pointset_Powerset_C_Polyhedron (sctr_ub);
ppl_delete_Pointset_Powerset_C_Polyhedron (sctr_lb);
+ ppl_delete_Pointset_Powerset_C_Polyhedron (domain);
}
/* Translates LOOP to LST. */