- Swap ceiling and floor function with max and min in target bounds computation
- Add support for non-rectangular loops (bounds must still be affine transformations of loop indexes and parameters)
For example, this starting loop is now supported:
FOR i FROM 0 TO N {
FOR j FROM 1 TO i+2 {
[loop body]
}
}