mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Correct fix for reuse of SCEV results in FORL.
This commit is contained in:
parent
19b69f21d4
commit
b293063eb8
@ -437,7 +437,7 @@ static LoopEvent rec_for(jit_State *J, const BCIns *fori, int isforl)
|
|||||||
IRType t;
|
IRType t;
|
||||||
if (isforl) { /* Handle FORL/JFORL opcodes. */
|
if (isforl) { /* Handle FORL/JFORL opcodes. */
|
||||||
TRef idx = tr[FORL_IDX];
|
TRef idx = tr[FORL_IDX];
|
||||||
if (mref(J->scev.pc, const BCIns) == fori) {
|
if (mref(J->scev.pc, const BCIns) == fori && tref_ref(idx) == J->scev.idx) {
|
||||||
t = J->scev.t.irt;
|
t = J->scev.t.irt;
|
||||||
stop = J->scev.stop;
|
stop = J->scev.stop;
|
||||||
idx = emitir(IRT(IR_ADD, t), idx, J->scev.step);
|
idx = emitir(IRT(IR_ADD, t), idx, J->scev.step);
|
||||||
|
Loading…
Reference in New Issue
Block a user