aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2012-07-17 21:47:45 +0200
committerMike Pall <mike>2012-07-17 21:47:45 +0200
commit2139c6791f4b802560ce62dc688293786803a9ca (patch)
treeb5fbe554953df273ef9dde91492725bdb6ef7e18 /src
parentc172e7aa30a820a11afbbed180115b81e2ea1411 (diff)
downloadluajit-2139c6791f4b802560ce62dc688293786803a9ca.tar.gz
luajit-2139c6791f4b802560ce62dc688293786803a9ca.tar.bz2
luajit-2139c6791f4b802560ce62dc688293786803a9ca.zip
Fix FOLD rule (i-j)-i => 0-j.
Thanks to Thomas Schilling.
Diffstat (limited to 'src')
-rw-r--r--src/lj_opt_fold.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/lj_opt_fold.c b/src/lj_opt_fold.c
index e4818a92..156db426 100644
--- a/src/lj_opt_fold.c
+++ b/src/lj_opt_fold.c
@@ -1219,7 +1219,7 @@ LJFOLDF(simplify_intsubsub_leftcancel)
1219{ 1219{
1220 if (!irt_isnum(fins->t)) { 1220 if (!irt_isnum(fins->t)) {
1221 PHIBARRIER(fleft); 1221 PHIBARRIER(fleft);
1222 if (fins->op1 == fleft->op1) { /* (i - j) - i ==> 0 - j */ 1222 if (fins->op2 == fleft->op1) { /* (i - j) - i ==> 0 - j */
1223 fins->op1 = (IRRef1)lj_ir_kint(J, 0); 1223 fins->op1 = (IRRef1)lj_ir_kint(J, 0);
1224 fins->op2 = fleft->op2; 1224 fins->op2 = fleft->op2;
1225 return RETRYFOLD; 1225 return RETRYFOLD;