diff options
Diffstat (limited to 'fold.c')
-rw-r--r-- | fold.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fold.c b/fold.c index 6d62841..c3cb48f 100644 --- a/fold.c +++ b/fold.c @@ -45,7 +45,7 @@ latval(Ref r) static int latmerge(int v, int m) { - return m == Top ? v : (v == Top || (v != Bot && m != Bot && v == m)) ? m : Bot; + return m == Top ? v : (v == Top || v == m) ? m : Bot; } static void @@ -122,8 +122,7 @@ visitjmp(Blk *b, int n, Fn *fn) switch (b->jmp.type) { case JJnz: l = latval(b->jmp.arg); - assert(l != Top); - if (l == Bot) { + if (l == Top || l == Bot) { edge[n][1].work = flowrk; edge[n][0].work = &edge[n][1]; flowrk = &edge[n][0]; |