Conor McCarthy (@cmccarthy) commented about libs/vkd3d-shader/ir.c:
+ + if (action == ACTION_DO_NOTHING) + continue; + + /* Ok, we have to decide where the new or replacing + * interval has to begin. These are the rules: 1. it must + * begin before `block'; 2. intervals must be correctly + * stacked (for any two intervals, either one is included + * in the other or they are disjoint); 3. the new interval + * should begin as late as possible, to limit control flow + * depth and extension. */ + begin = block->order_pos; + + /* Our candidate interval is always [begin, + * successor->order_pos), and we move `begin' backward + * until the candidate interval contains all the intervals But the earlier comment in `struct vsir_cfg` says, "which in practice means that \`begin' can be moved forward and not backward." Also, there is an opening `[` closed with `)`.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/698#note_64334