diff options
author | Mike Pall <mike> | 2012-07-17 21:47:45 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2012-07-17 21:47:45 +0200 |
commit | 2139c6791f4b802560ce62dc688293786803a9ca (patch) | |
tree | b5fbe554953df273ef9dde91492725bdb6ef7e18 /src | |
parent | c172e7aa30a820a11afbbed180115b81e2ea1411 (diff) | |
download | luajit-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.c | 2 |
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; |