pet_scop_from_pet_tree: extract pet_scop from the root down to the leaves
In particular, instead of adding constraints from outer constructs
to a pet_scop after it has been created, we now first collect
those constructs (or at least most of them) such that they are available
during the extraction of the pet_scop.
Having these constraints available will allow us to exploit them
during the extraction in future commits.
The loop iterators are now treated as iteration domain dimensions
from the start, rather than first being treated as parameters and
the converted to iteration domain dimensions as we embed the extracted
scop in a loop construct.
This means that during the construction of a pet_scop, the context
of a pet_scop is no longer a parameter set, but rather the domain
of outer loop iterators.
The constraints on the outer loop iterators are collected
in the pet_scop, the domain of which now corresponds to
the domain of outer loop iterators rather than always being
zero-dimensional.
Signed-off-by: Sven Verdoolaege <skimo@kotnet.org>