aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Carbonneaux <[email protected]>2016-04-12 14:22:06 -0400
committerQuentin Carbonneaux <[email protected]>2016-04-12 14:51:50 -0400
commiteb3a5b4457b141f28346b1b284db28c4bde1a6a1 (patch)
treeec1d64ec5be0f9134e18da098e8ed84951b42ac4
parent3bb4f8a647e8d8c631fe128a0fca2d2bcacff7c7 (diff)
simplify latmerge()
-rw-r--r--fold.c5
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];