See adjusted testcase, a lone break; in a do while loop was incorrectly disabling the exit test.
Comments only, no change to functionality
If a condition is always zero/non-zero we can omit the then or else code. This is complicated a bit by having to deal with labels that might make such code reachable without us yet knowing during parsing.