On Fri Jun 23 20:41:40 2023 +0000, Nikolay Sivov wrote:
It doesn't really change 'continue' semantics, but I agree the fact that extra work is needed to fix that stuff up later is not ideal. Now I think that maybe inserting iterator right in create_loop(), descending into 'if' blocks, is better. It will only need to handle 'if's, and 'switch'es when we have them.
My problem isn't so much with doing extra passes later, and in fact, given the complexity of this pass, I *probably* prefer this to be its own pass instead of something that's handled in create_loop(). My problem is that I want the IR to have a universally unambiguous meaning, so we can do things like dump it to stderr at any point, look at it, and check whether it's correct.