The current way that if lowering is done is completely broken. For one thing, nested if's don't work. For another the entire value of the SSAish only two possible outputs isn't really true. This work makes the IR slightly more complicated but more consistent. I've also commented some code that I couldn't remember how it worked, and tried to leave more useful comments this time.
The current way that if lowering is done is completely broken. For one thing, nested if's don't work. For another the entire value of the SSAish only two possible outputs isn't really true. This work makes the IR slightly more complicated but more consistent. I've also commented some code that I couldn't remember how it worked, and tried to leave more useful comments this time.