From 474bb21af18505c0bdb47a383188d10ea0157fa5 Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Sat, 14 Sep 2013 12:52:51 +0200 Subject: [PATCH] Fix ABC elimination. --- src/lj_opt_fold.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index fe37b98a..470b6d44 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c @@ -1699,7 +1699,8 @@ LJFOLDF(abc_k) LJFOLD(ABC any any) LJFOLDF(abc_invar) { - if (!irt_isint(fins->t) && J->chain[IR_LOOP]) /* Currently marked as PTR. */ + /* Invariant ABC marked as PTR. Drop if op1 is invariant, too. */ + if (!irt_isint(fins->t) && fins->op1 < J->chain[IR_LOOP]) return DROPFOLD; return NEXTFOLD; }