Most changes are mechanical, but in two places I changed the program semantics
by fixing bugs, which I'd like a review on.
The first is in Scop::buildSchedule(Region *, LoopStackTy &, LoopInfo &).
Before, we took a reference to LoopStack.back() which is a use after free,
since back is popped off further below. This didn't crash before by pure
chance, since LoopStack is actually a vector, and the memory isn't freed upon
pop. I turned this into an iterator-based algorithm.
The second is Scop::hasFeasibleRuntimeContext(), where I'm now explicitely
handling the error-case. Before, when the call to
addNonEmptyDomainConstraints() returned a null set, this (probably)
accidentally worked because isl_bool_error converts to true. I'm checking for
nullptr now.
How come we are dropping the copy for "Space"?