This patch replaces the second legacy part of the domain generation, namely
the ScalarEvolution part that was used to obtain loop bounds. Alternatively,
we iterate over the loops in the region and propagate the back edge condition
to the header blocks. Afterwards we propagate the new information once
through the whole region.
- This patch already identified a couple of broken unit tests we had for years. - We allow more loops already and the step to multiple exit and multiple back edges is minimal. - It allows to model the overflow checks properly as we actually visit every block in the SCoP and know where which condition is evaluated.
It seems you could drop some parts of TempScopInfo now, as they now become unused/dead-code.