summary refs log tree commit diff
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-12 14:22:06 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2016-04-12 14:51:50 -0400
commiteb3a5b4457b141f28346b1b284db28c4bde1a6a1 (patch)
treeec1d64ec5be0f9134e18da098e8ed84951b42ac4
parent3bb4f8a647e8d8c631fe128a0fca2d2bcacff7c7 (diff)
downloadroux-eb3a5b4457b141f28346b1b284db28c4bde1a6a1.tar.gz
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];