qbe

Internal scc patchset buffer for QBE
Log | Files | Refs | README | LICENSE

commit eb3a5b4457b141f28346b1b284db28c4bde1a6a1
parent 3bb4f8a647e8d8c631fe128a0fca2d2bcacff7c7
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date:   Tue, 12 Apr 2016 14:22:06 -0400

simplify latmerge()

Diffstat:
Mfold.c | 5++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git 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];