From a18c5dd9c4a2c1851e7a31fbad638fc19b7e5bc7 Mon Sep 17 00:00:00 2001 From: bal Date: Wed, 18 Sep 1985 16:27:29 +0000 Subject: [PATCH] bug fixed: last instruction of first block in block fusion optimization can be a conditional branch. (bug detected by Ceriel). --- util/ego/bo/bo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util/ego/bo/bo.c b/util/ego/bo/bo.c index 693d67ed1..bcefd098d 100644 --- a/util/ego/bo/bo.c +++ b/util/ego/bo/bo.c @@ -192,7 +192,9 @@ STATIC mv_code(b1,b2) l = last_code(b2->b_start,TRUE); DLINK(l,b1->b_start); x = l->l_next; - if (INSTR(l) == op_bra) { + if (TYPE(l) == OPINSTRLAB) { + assert(INSTR(x) == op_lab); + assert(INSTRLAB(l) == INSTRLAB(x)); rm_line(l,b2); } if (INSTR(x) == op_lab) {