summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Pall <mike>2013-09-14 12:52:51 +0200
committerMike Pall <mike>2013-09-14 12:52:51 +0200
commit474bb21af18505c0bdb47a383188d10ea0157fa5 (patch)
treeec41b4afa17280e41815d287daf2f04bd2500623
parentf1e7a4477ca4a5a8ef8c64135d9093d02451bb22 (diff)
downloadluajit2-474bb21af18505c0bdb47a383188d10ea0157fa5.tar.gz
Fix ABC elimination.
-rw-r--r--src/lj_opt_fold.c3
1 files changed, 2 insertions, 1 deletions
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;
}