Fix single block loop optimization for function call in loop

This commit is contained in:
drmortalwombat 2022-07-12 14:50:55 +02:00
parent 0bd2ab9e3c
commit 4666e7a176

View File

@ -13787,6 +13787,10 @@ bool NativeCodeBasicBlock::JoinTailCodeSequences(NativeCodeProcedure* proc, bool
mFalseJump->mEntryRequiredRegs += CPU_REG_X;
pb->mExitProvidedRegs += CPU_REG_X;
mExitProvidedRegs += CPU_REG_Y;
ns = mIns.Size();
mIns[ns - 3] = mIns[ns - 2];
mIns[ns - 2].mType = ASMIT_INX; mIns[ns - 2].mMode = ASMIM_IMPLIED;
changed = true;
@ -13808,6 +13812,10 @@ bool NativeCodeBasicBlock::JoinTailCodeSequences(NativeCodeProcedure* proc, bool
mFalseJump->mEntryRequiredRegs += CPU_REG_Y;
pb->mExitProvidedRegs += CPU_REG_Y;
mExitProvidedRegs += CPU_REG_Y;
ns = mIns.Size();
mIns[ns - 3] = mIns[ns - 2];
mIns[ns - 2].mType = ASMIT_INY; mIns[ns - 2].mMode = ASMIM_IMPLIED;
changed = true;