From f093a34a2f7a80b8a85880864dac2f3dad814f51 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Mon, 2 Jul 2012 22:50:03 +0200 Subject: Handle joining IR_HIOP in SPLIT pass. --- src/lj_opt_split.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lj_opt_split.c b/src/lj_opt_split.c index 77b8e2dd..b0da7f3a 100644 --- a/src/lj_opt_split.c +++ b/src/lj_opt_split.c @@ -365,6 +365,11 @@ static void split_ir(jit_State *J) split_emit(J, IRT(IR_PHI, IRT_SOFTFP), hisubst[ir->op1], hisubst[ir->op2]); break; + case IR_HIOP: + J->cur.nins--; /* Drop joining HIOP. */ + ir->prev = nir->op1; + hi = nir->op2; + break; default: lua_assert(ir->o <= IR_NE || ir->o == IR_MIN || ir->o == IR_MAX); hi = split_emit(J, IRTG(IR_HIOP, IRT_SOFTFP), @@ -469,6 +474,11 @@ static void split_ir(jit_State *J) split_emit(J, IRTI(IR_PHI), hiref, hiref2); break; } + case IR_HIOP: + J->cur.nins--; /* Drop joining HIOP. */ + ir->prev = nir->op1; + hi = nir->op2; + break; default: lua_assert(ir->o <= IR_NE); /* Comparisons. */ split_emit(J, IRTGI(IR_HIOP), hiref, hisubst[ir->op2]); -- cgit v1.2.3-55-g6feb