From a9a88f29a0c747511814cabb83c5442915e344c2 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 693d67ed..bcefd098 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) {