mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 23:24:09 +00:00
Fix PHI elimination: mark right PHI as used, too.
This commit is contained in:
parent
28cfccf748
commit
f28a42c923
@ -133,7 +133,11 @@ static void loop_emit_phi(jit_State *J, IRRef1 *subst, IRRef1 *phi, IRRef nphi)
|
|||||||
while (!irref_isk(ref) && ref != subst[ref]) {
|
while (!irref_isk(ref) && ref != subst[ref]) {
|
||||||
IRIns *ir = IR(ref);
|
IRIns *ir = IR(ref);
|
||||||
irt_clearmark(ir->t); /* Unmark potential uses, too. */
|
irt_clearmark(ir->t); /* Unmark potential uses, too. */
|
||||||
if (irt_isphi(ir->t) || irt_ispri(ir->t))
|
if (irt_isphi(ir->t)) {
|
||||||
|
irt_clearmark(IR(subst[ref])->t);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (irt_ispri(ir->t))
|
||||||
break;
|
break;
|
||||||
irt_setphi(ir->t);
|
irt_setphi(ir->t);
|
||||||
if (nphi >= LJ_MAX_PHI)
|
if (nphi >= LJ_MAX_PHI)
|
||||||
|
Loading…
Reference in New Issue
Block a user