diff options
author | Mike Pall <mike> | 2014-01-05 16:57:51 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2014-01-05 16:57:51 +0100 |
commit | 6964a7752ae314dcae693abcb0c1175c95ad22e0 (patch) | |
tree | 995484f6ca6f66dc5489c14e46c39daf804715ee | |
parent | b779f31ca37bcb51dedf5b8d35f91e297e6a729d (diff) | |
download | luajit-6964a7752ae314dcae693abcb0c1175c95ad22e0.tar.gz luajit-6964a7752ae314dcae693abcb0c1175c95ad22e0.tar.bz2 luajit-6964a7752ae314dcae693abcb0c1175c95ad22e0.zip |
Fix ABC elimination.
-rw-r--r-- | src/lj_opt_fold.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c index 470b6d44..e595d512 100644 --- a/src/lj_opt_fold.c +++ b/src/lj_opt_fold.c | |||
@@ -1700,7 +1700,8 @@ LJFOLD(ABC any any) | |||
1700 | LJFOLDF(abc_invar) | 1700 | LJFOLDF(abc_invar) |
1701 | { | 1701 | { |
1702 | /* Invariant ABC marked as PTR. Drop if op1 is invariant, too. */ | 1702 | /* Invariant ABC marked as PTR. Drop if op1 is invariant, too. */ |
1703 | if (!irt_isint(fins->t) && fins->op1 < J->chain[IR_LOOP]) | 1703 | if (!irt_isint(fins->t) && fins->op1 < J->chain[IR_LOOP] && |
1704 | !irt_isphi(IR(fins->op1)->t)) | ||
1704 | return DROPFOLD; | 1705 | return DROPFOLD; |
1705 | return NEXTFOLD; | 1706 | return NEXTFOLD; |
1706 | } | 1707 | } |