isl_basic_set_compute_vertices: add sanity check on full-dimensionality
The computation in compute_chambers assumes that the projection
of the entire parametric polytope onto the parameter space
is full-dimensional. The function can_intersect already checks
that the activity domains of the vertices are full-dimensional,
but if the entire projection is not full-dimensional, then no vertices
get added in the first place because their activity domains
are not full-dimensional.
Note that even though isl_basic_set_compute_vertices already handles
equality constraints that are explicitly available, it fails
to handle implicit equality constraints.
This means that the sanity check may fail in some cases,
but this is already an improvement over running into an infinite loop.
The failure itself will be handled in upcoming commits.
Signed-off-by:
Sven Verdoolaege <sven.verdoolaege@gmail.com>
Loading
Please register or sign in to comment