== test == fun test(b: Boolean) { while (true) { if (b) break; continue; } } --------------------- L0: 1 v(b: Boolean) magic[FAKE_INITIALIZER](b: Boolean) -> w(b|) 2 mark({ while (true) { if (b) break; continue; } }) L2 [loop entry point]: L6 [condition entry point]: r(true) -> PREV:[mark({ while (true) { if (b) break; continue; } }), jmp(L6)] mark(while (true) { if (b) break; continue; }) magic[VALUE_CONSUMER](true|) -> L4 [body entry point]: 3 mark({ if (b) break; continue; }) mark(if (b) break) r(b) -> jf(L7|) NEXT:[read (Unit), jmp(L3)] jmp(L3) NEXT:[read (Unit)] - jmp(L8) NEXT:[merge(if (b) break|!) -> ] PREV:[] L7 [else branch]: read (Unit) PREV:[jf(L7|)] L8 ['if' expression result]: merge(if (b) break|!) -> jmp(L6) NEXT:[r(true) -> ] - 2 jmp(L2) NEXT:[r(true) -> ] PREV:[] L3 [loop exit point]: L5 [body exit point]: read (Unit) PREV:[jmp(L3)] L1: 1 NEXT:[] error: PREV:[] sink: PREV:[, ] =====================