~~This applies on top of !672, the last three commits belong here.~~
Here we compute additional "synthetic" loops that will be used to implement non-trivial forward edges using (possibly conditional) `break` instructions.
--
v3: vkd3d-shader/ir: Sort loop intervals.
vkd3d-shader/ir: Generate synthetic intervals for forward edges.
vkd3d-shader/ir: Compute loop as intervals of the block order.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/698